- Adjust the variable scope of group attributes
- Remove the now redundant GroupBannerPaths vector and replace its usage.
- Migrate ini loading logic to Group class
- Better clarity on comments for Group
- Remove GetTotalSongs in favor of GetSongs.
- Add Year as a value to Group.ini
- Ensure new group and song maps are cleared properly when freeing songs
- If AutoSetStyle is true then we're showing all compatible styles at once (compatible styles determined by number of players joined)
- Sooooo if 1 player is joined then we'd see Singles, Doubles, & 3-panel charts. (Maybe solo as well?)
- If 2 players are joined we'll see Singles (versus), Routine, and couples charts.
This needs to be reflected in the music wheel so that we're seeing songs with compatible styles. Previously it was checking if the song had steps in the current style which doesnt really apply for AutoSetStyle being toggled.
(cherry picked from commit 1fc4a805b497aa93a965547c688844a30018527a)
This commit properly returns you to the correct pack when leaving a folder or returning from another screen.
This is achieved by returning you to your last open section. Previously behavior searched for the first instance of the song in your sort and put you in that section.
The songs for each sort are not updated despite changes that might occur during the session. This commit ensures that the music wheel will be rebuilt when setting the sort to PREFERRED. This is needed because the songs in this particular sort are prone to change during a session because two players can have different preferred songs. Additionally, profiles can change during a session. This commit will properly rebuild the music wheel when the sort is changed to SORT_PREFERRED.
This commit fixes a bug that causes the music wheel to freak out when a song is placed in multiple sections.
This can occur when a user's preferred songs have a song located in two different sections.
This is only applied to Preferred Sorting because Preferred sorting is the only sort where it is possible for a song to be a part of multiple sections (e.g. A song only has 1 Title therefore it would only appear in 1 section of the SORT_TITLE).
Preferred sorting allows users to create custom groups/sections by creating a file that defines the songs and their respective sections as they should appear in the sorting. Players are now able to include a song in multiple sections. Themers are now able to display the Preferred Sort of two players on 1 screen (This previously would have caused duplicate section names to occur)
The present implementation adds 2 new sorts for this, TOP_P1_Grades and TOP_P2_GRADES following the naming convention of TOP_GRADES which returns the machine grades.
I named the sort TopP1Grades rather than TopGradesP1 to prevent the "conflicting" banner error.
Eventually, I'd like to condense this to be 1 sort fed a playernumber or profile parameter in the future.
(cherry picked from commit 731ae501d8a14a196984bf7578afaa9351c22c5c)
- Remove checking for standard functions from the build system
- Prefix all invocations with std::
- Replace suffixed functions with unprefixed versions
- Include <cmath> in all files that use it and remove the global include
e.g. floorf(x) -> std::floor(x)
IIDX hides inactive sections, but unlike the current behavior of our
OnlyShowActiveSection metric (based on certain Pumps according to
DaisukeMaster's comment), it retains the section title so that the
section can be closed normally.
New metric: MusicWheel.HideActiveSectionTitle, defaulting to true in
_fallback. A bit unfortunate, but keeps backward compatibility with the
existing behavior of OnlyShowActiveSection.
If neither metric is true, wheel displays all titles plus the contents
of the active section (if any).
If OSAS is true but HAST is false, wheel displays the active section
title plus its contents, or all titles if no section is active.
If both are true, wheel displays only the active section's contents, or
all titles if no section is active.
Moves all of the wheel-entry-hiding logic into SetOpenSection rather
than prematurely throwing out section headings. Now when we close the
active section with OnlyShowActiveSection in effect, the headings are
shown rather than an empty wheel.