From b6a08130ab311e4451c0e9b35a7dab369b39c67f Mon Sep 17 00:00:00 2001 From: Crash Cringle <30600688+CrashCringle12@users.noreply.github.com> Date: Tue, 31 Dec 2024 16:03:51 -0500 Subject: [PATCH] When using auto set style we need to ensure that we're showing all the songs that we're telling the user that they're able to see. - 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) --- src/MusicWheel.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 6a5e1f48b3..5a15cba5f2 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -504,8 +504,14 @@ void MusicWheel::GetSongList( std::vector &arraySongs, SortOrder so ) if( pSong->HasStepsTypeAndDifficulty( GAMESTATE->GetCurrentStyle(PLAYER_INVALID)->m_StepsType,GAMESTATE->m_PreferredDifficulty[GAMESTATE->GetFirstHumanPlayer()] ) ) arraySongs.push_back( pSong ); } - else + else if( CommonMetrics::AUTO_SET_STYLE || GAMESTATE->GetCurrentStyle(PLAYER_INVALID) == nullptr ) { + if (SongUtil::IsSongPlayable(pSong)) + arraySongs.push_back( pSong ); + + } else + { + // If the song has at least one steps, add it. if( pSong->HasStepsType(GAMESTATE->GetCurrentStyle(PLAYER_INVALID)->m_StepsType) ) arraySongs.push_back( pSong );