add RANDOM_PICKS_LOCKED_SONGS

This commit is contained in:
Glenn Maynard
2005-05-09 01:26:30 +00:00
parent 2d5a280c53
commit 7c2ab0d0a2
2 changed files with 15 additions and 6 deletions
+14 -6
View File
@@ -230,6 +230,7 @@ void MusicWheel::LoadFromMetrics( CString sType )
SHOW_ROULETTE .Load(sType,"ShowRoulette");
SHOW_RANDOM .Load(sType,"ShowRandom");
SHOW_PORTAL .Load(sType,"ShowPortal");
RANDOM_PICKS_LOCKED_SONGS .Load(sType,"RandomPicksLockedSongs");
MOST_PLAYED_SONGS_TO_SHOW .Load(sType,"MostPlayedSongsToShow");
MODE_MENU_CHOICE_NAMES .Load(sType,"ModeMenuChoiceNames");
vector<CString> vsModeChoiceNames;
@@ -407,8 +408,9 @@ void MusicWheel::GetSongList(vector<Song*> &arraySongs, SortOrder so, CString sP
continue;
}
// If we're using unlocks, check it here to prevent from being shown
if( so!=SORT_ROULETTE && UNLOCKMAN->SongIsLocked(pSong) )
/* Hide locked songs. If RANDOM_PICKS_LOCKED_SONGS, hide in Roulette and Random,
* too. */
if( (so!=SORT_ROULETTE || !RANDOM_PICKS_LOCKED_SONGS) && UNLOCKMAN->SongIsLocked(pSong) )
continue;
// If the song has at least one steps, add it.
@@ -1152,11 +1154,17 @@ void MusicWheel::StartRoulette()
void MusicWheel::StartRandom()
{
/* Shuffle the roulette wheel. */
RandomGen rnd;
random_shuffle( m_WheelItemDatas[SORT_ROULETTE].begin(), m_WheelItemDatas[SORT_ROULETTE].end(), rnd );
/* 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;
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_TimeBeforeMovingBegins = 0;
+1
View File
@@ -95,6 +95,7 @@ protected:
ThemeMetric<bool> SHOW_ROULETTE;
ThemeMetric<bool> SHOW_RANDOM;
ThemeMetric<bool> SHOW_PORTAL;
ThemeMetric<bool> RANDOM_PICKS_LOCKED_SONGS;
ThemeMetric<int> MOST_PLAYED_SONGS_TO_SHOW;
ThemeMetric<CString> MODE_MENU_CHOICE_NAMES;
ThemeMetricMap<CString> CHOICE;