-
Notifications
You must be signed in to change notification settings - Fork 6
diff_sort
DiffSortSelect is the overlay that lets a player filter the song list by difficulty course and level. It is shown on the song_select screen when the player enters a folder whose box.def declares the DIFFICULTY collection type.
The selector operates in two phases: first the player chooses a course (Easy, Normal, Hard, Oni), then a level (1–10). Statistics for each combination are shown alongside the selection to help the player find appropriately ranked songs.
DiffSortSelect(Statistics statistics, int prev_diff, int prev_level);Initialises with pre-computed navigator, and restores selected_box and selected_level from the previous filter (prev_diff, prev_level) so the selector remembers the last choice. Retrieves all skin animations.
void update(double current_ms);Advances all animations: background resize, the fade-in, box flicker, bounce animations, and the blue arrow indicator.
void input_left();
void input_right();Navigate within the current phase. In course-select phase, cycles between courses. In level-select phase, cycles between levels 1–10, wrapping around.
optional<pair<int,int>> input_select();Confirms the current selection. On first call, advances from course-select into level-select. On second call, returns the selected {course, level} pair. Returns nullopt while still navigating.
void draw();Draws the full overlay: background panel, course boxes (with flicker on the selected one), level selector, statistics readout, and navigation arrows.
void draw_statistics();Renders the CourseStats for the selected combination: total songs, full combos, and clears.
void draw_diff_select();Draws the course selection row.
void draw_level_select();Draws the level 1–10 number row, shown only after a course has been confirmed.
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