add RANDOM_PICKS_LOCKED_SONGS
This commit is contained in:
@@ -230,6 +230,7 @@ void MusicWheel::LoadFromMetrics( CString sType )
|
|||||||
SHOW_ROULETTE .Load(sType,"ShowRoulette");
|
SHOW_ROULETTE .Load(sType,"ShowRoulette");
|
||||||
SHOW_RANDOM .Load(sType,"ShowRandom");
|
SHOW_RANDOM .Load(sType,"ShowRandom");
|
||||||
SHOW_PORTAL .Load(sType,"ShowPortal");
|
SHOW_PORTAL .Load(sType,"ShowPortal");
|
||||||
|
RANDOM_PICKS_LOCKED_SONGS .Load(sType,"RandomPicksLockedSongs");
|
||||||
MOST_PLAYED_SONGS_TO_SHOW .Load(sType,"MostPlayedSongsToShow");
|
MOST_PLAYED_SONGS_TO_SHOW .Load(sType,"MostPlayedSongsToShow");
|
||||||
MODE_MENU_CHOICE_NAMES .Load(sType,"ModeMenuChoiceNames");
|
MODE_MENU_CHOICE_NAMES .Load(sType,"ModeMenuChoiceNames");
|
||||||
vector<CString> vsModeChoiceNames;
|
vector<CString> vsModeChoiceNames;
|
||||||
@@ -407,8 +408,9 @@ void MusicWheel::GetSongList(vector<Song*> &arraySongs, SortOrder so, CString sP
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're using unlocks, check it here to prevent from being shown
|
/* Hide locked songs. If RANDOM_PICKS_LOCKED_SONGS, hide in Roulette and Random,
|
||||||
if( so!=SORT_ROULETTE && UNLOCKMAN->SongIsLocked(pSong) )
|
* too. */
|
||||||
|
if( (so!=SORT_ROULETTE || !RANDOM_PICKS_LOCKED_SONGS) && UNLOCKMAN->SongIsLocked(pSong) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// If the song has at least one steps, add it.
|
// If the song has at least one steps, add it.
|
||||||
@@ -1152,11 +1154,17 @@ void MusicWheel::StartRoulette()
|
|||||||
|
|
||||||
void MusicWheel::StartRandom()
|
void MusicWheel::StartRandom()
|
||||||
{
|
{
|
||||||
/* Shuffle the roulette wheel. */
|
/* If RANDOM_PICKS_LOCKED_SONGS is disabled, pick a song from the active sort and
|
||||||
|
* section. If enabled, picking from the section makes it too easy to trick the
|
||||||
|
* game into picking a locked song, so pick from SORT_ROULETTE. */
|
||||||
|
if( RANDOM_PICKS_LOCKED_SONGS )
|
||||||
|
{
|
||||||
|
/* Shuffle and use the roulette wheel. */
|
||||||
RandomGen rnd;
|
RandomGen rnd;
|
||||||
random_shuffle( m_WheelItemDatas[SORT_ROULETTE].begin(), m_WheelItemDatas[SORT_ROULETTE].end(), rnd );
|
random_shuffle( m_WheelItemDatas[SORT_ROULETTE].begin(), m_WheelItemDatas[SORT_ROULETTE].end(), rnd );
|
||||||
|
|
||||||
SetOpenGroup( "", SortOrder(SORT_ROULETTE) );
|
SetOpenGroup( "", SortOrder(SORT_ROULETTE) );
|
||||||
|
}
|
||||||
|
|
||||||
m_Moving = -1;
|
m_Moving = -1;
|
||||||
m_TimeBeforeMovingBegins = 0;
|
m_TimeBeforeMovingBegins = 0;
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ protected:
|
|||||||
ThemeMetric<bool> SHOW_ROULETTE;
|
ThemeMetric<bool> SHOW_ROULETTE;
|
||||||
ThemeMetric<bool> SHOW_RANDOM;
|
ThemeMetric<bool> SHOW_RANDOM;
|
||||||
ThemeMetric<bool> SHOW_PORTAL;
|
ThemeMetric<bool> SHOW_PORTAL;
|
||||||
|
ThemeMetric<bool> RANDOM_PICKS_LOCKED_SONGS;
|
||||||
ThemeMetric<int> MOST_PLAYED_SONGS_TO_SHOW;
|
ThemeMetric<int> MOST_PLAYED_SONGS_TO_SHOW;
|
||||||
ThemeMetric<CString> MODE_MENU_CHOICE_NAMES;
|
ThemeMetric<CString> MODE_MENU_CHOICE_NAMES;
|
||||||
ThemeMetricMap<CString> CHOICE;
|
ThemeMetricMap<CString> CHOICE;
|
||||||
|
|||||||
Reference in New Issue
Block a user