standard enums for some preference types

This commit is contained in:
Glenn Maynard
2006-10-07 07:43:18 +00:00
parent 44bd9f7582
commit 4bb479a445
17 changed files with 173 additions and 64 deletions
+4 -4
View File
@@ -413,7 +413,7 @@ bool BackgroundImpl::Layer::CreateBackground( const Song *pSong, const Backgroun
BackgroundDef BackgroundImpl::Layer::CreateRandomBGA( const Song *pSong, const RString &sEffect, deque<BackgroundDef> &RandomBGAnimations )
{
if( PREFSMAN->m_RandomBackgroundMode == PrefsManager::BGMODE_OFF )
if( PREFSMAN->m_RandomBackgroundMode == BGMODE_OFF )
return BackgroundDef();
if( RandomBGAnimations.empty() )
@@ -504,12 +504,12 @@ void BackgroundImpl::LoadFromSong( const Song* pSong )
default:
ASSERT_M( 0, ssprintf("Invalid RandomBackgroundMode: %i", int(PREFSMAN->m_RandomBackgroundMode)) );
break;
case PrefsManager::BGMODE_OFF:
case BGMODE_OFF:
break;
case PrefsManager::BGMODE_ANIMATIONS:
case BGMODE_ANIMATIONS:
BackgroundUtil::GetGlobalBGAnimations( pSong, "", vsThrowAway, vsNames );
break;
case PrefsManager::BGMODE_RANDOMMOVIES:
case BGMODE_RANDOMMOVIES:
BackgroundUtil::GetGlobalRandomMovies( pSong, "", vsThrowAway, vsNames, true, true );
break;
}
+8 -8
View File
@@ -65,7 +65,7 @@ void BannerCache::Demand()
if( g_iDemandRefcount > 1 )
return;
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_LOAD_ON_DEMAND )
if( PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_LOAD_ON_DEMAND )
return;
FOREACH_Child( &BannerData, p )
@@ -93,7 +93,7 @@ void BannerCache::Undemand()
if( g_iDemandRefcount != 0 )
return;
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_LOAD_ON_DEMAND )
if( PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_LOAD_ON_DEMAND )
return;
UnloadAllBanners();
@@ -107,8 +107,8 @@ void BannerCache::LoadBanner( RString BannerPath )
{
if( BannerPath == "" )
return; // nothing to do
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_PRELOAD &&
PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_LOAD_ON_DEMAND )
if( PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_PRELOAD &&
PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_LOAD_ON_DEMAND )
return;
/* Load it. */
@@ -334,8 +334,8 @@ static inline int closest( int num, int n1, int n2 )
* load the cache file, too. (This is done at startup.) */
void BannerCache::CacheBanner( RString BannerPath )
{
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_PRELOAD &&
PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_LOW_RES_LOAD_ON_DEMAND )
if( PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_PRELOAD &&
PREFSMAN->m_BannerCache != BNCACHE_LOW_RES_LOAD_ON_DEMAND )
return;
CHECKPOINT_M( BannerPath );
@@ -359,7 +359,7 @@ void BannerCache::CacheBanner( RString BannerPath )
if( bCacheUpToDate )
{
/* It's identical. Just load it, if in preload. */
if( PREFSMAN->m_BannerCache == PrefsManager::BNCACHE_LOW_RES_PRELOAD )
if( PREFSMAN->m_BannerCache == BNCACHE_LOW_RES_PRELOAD )
LoadBanner( BannerPath );
return;
@@ -491,7 +491,7 @@ void BannerCache::CacheBannerInternal( RString BannerPath )
g_BannerPathToImage.erase(BannerPath);
}
if( PREFSMAN->m_BannerCache == PrefsManager::BNCACHE_LOW_RES_PRELOAD )
if( PREFSMAN->m_BannerCache == BNCACHE_LOW_RES_PRELOAD )
{
/* Keep it; we're just going to load it anyway. */
g_BannerPathToImage[BannerPath] = img;
+5 -5
View File
@@ -714,29 +714,29 @@ RageColor Course::GetColor() const
switch( PREFSMAN->m_CourseSortOrder )
{
case PrefsManager::COURSE_SORT_PREFERRED:
case COURSE_SORT_PREFERRED:
return SORT_PREFERRED_COLOR; //This will also be used for autogen'd courses in some cases.
case PrefsManager::COURSE_SORT_SONGS:
case COURSE_SORT_SONGS:
if( m_vEntries.size() >= 7 ) return SORT_LEVEL2_COLOR;
else if( m_vEntries.size() >= 4 ) return SORT_LEVEL4_COLOR;
else return SORT_LEVEL5_COLOR;
case PrefsManager::COURSE_SORT_METER:
case COURSE_SORT_METER:
if( !AllSongsAreFixed() ) return SORT_LEVEL1_COLOR;
else if( iMeter > 9 ) return SORT_LEVEL2_COLOR;
else if( iMeter >= 7 ) return SORT_LEVEL3_COLOR;
else if( iMeter >= 5 ) return SORT_LEVEL4_COLOR;
else return SORT_LEVEL5_COLOR;
case PrefsManager::COURSE_SORT_METER_SUM:
case COURSE_SORT_METER_SUM:
if( !AllSongsAreFixed() ) return SORT_LEVEL1_COLOR;
if( m_SortOrder_TotalDifficulty >= 40 ) return SORT_LEVEL2_COLOR;
if( m_SortOrder_TotalDifficulty >= 30 ) return SORT_LEVEL3_COLOR;
if( m_SortOrder_TotalDifficulty >= 20 ) return SORT_LEVEL4_COLOR;
else return SORT_LEVEL5_COLOR;
case PrefsManager::COURSE_SORT_RANK:
case COURSE_SORT_RANK:
if( m_SortOrder_Ranking == 3 ) return SORT_LEVEL1_COLOR;
else if( m_SortOrder_Ranking == 2 ) return SORT_LEVEL3_COLOR;
else if( m_SortOrder_Ranking == 1 ) return SORT_LEVEL5_COLOR;
+1 -1
View File
@@ -114,7 +114,7 @@ bool FadingBanner::LoadFromCachedBanner( const RString &path )
* which will cause the fade-in to be further delayed. */
RageTextureID ID;
bool bLowRes = (PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_FULL);
bool bLowRes = (PREFSMAN->m_BannerCache != BNCACHE_FULL);
if( !bLowRes )
{
ID = Sprite::SongBannerTexture( path );
+4
View File
@@ -89,7 +89,9 @@ static const char *PlayerControllerNames[] = {
"Cpu",
};
XToString( PlayerController, NUM_PlayerController );
StringToX( PlayerController );
XToLocalizedString( PlayerController );
LuaXType( PlayerController );
static const char *CoinModeNames[] = {
@@ -98,6 +100,7 @@ static const char *CoinModeNames[] = {
"Free",
};
XToString( CoinMode, NUM_CoinMode );
StringToX( CoinMode );
LuaXType( CoinMode );
@@ -107,6 +110,7 @@ static const char *PremiumNames[] = {
"Joint",
};
XToString( Premium, NUM_Premium );
StringToX( Premium );
LuaXType( Premium );
+2 -1
View File
@@ -263,7 +263,8 @@ enum PlayerController
PC_HUMAN,
PC_AUTOPLAY,
PC_CPU,
NUM_PlayerController
NUM_PlayerController,
PlayerController_Invalid
};
const RString& PlayerControllerToString( PlayerController pc );
+2 -2
View File
@@ -270,7 +270,7 @@ void GameState::Reset()
FOREACH_PlayerNumber(p)
{
if( PREFSMAN->m_ShowDancingCharacters == PrefsManager::SDC_Random )
if( PREFSMAN->m_ShowDancingCharacters == SDC_Random )
m_pCurCharacters[p] = CHARMAN->GetRandomCharacter();
else
m_pCurCharacters[p] = CHARMAN->GetDefaultCharacter();
@@ -1590,7 +1590,7 @@ bool GameState::IsTimeToPlayAttractSounds() const
if( m_iNumTimesThroughAttract == -1 )
return true;
if( PREFSMAN->m_AttractSoundFrequency == PrefsManager::ASF_NEVER )
if( PREFSMAN->m_AttractSoundFrequency == ASF_NEVER )
return false;
// play attract sounds once every m_iAttractSoundFrequency times through
+6 -6
View File
@@ -573,7 +573,7 @@ void MusicWheel::BuildWheelItemDatas( vector<WheelItemData *> &arrayWheelItemDat
case SORT_ONI_COURSES:
case SORT_ENDLESS_COURSES:
{
bool bOnlyPreferred = PREFSMAN->m_CourseSortOrder == PrefsManager::COURSE_SORT_PREFERRED;
bool bOnlyPreferred = PREFSMAN->m_CourseSortOrder == COURSE_SORT_PREFERRED;
vector<CourseType> vct;
switch( so )
@@ -604,7 +604,7 @@ void MusicWheel::BuildWheelItemDatas( vector<WheelItemData *> &arrayWheelItemDat
SONGMAN->GetCourses( *ct, apCourses, PREFSMAN->m_bAutogenGroupCourses );
}
if( PREFSMAN->m_CourseSortOrder == PrefsManager::COURSE_SORT_SONGS )
if( PREFSMAN->m_CourseSortOrder == COURSE_SORT_SONGS )
{
CourseUtil::SortCoursePointerArrayByDifficulty( apCourses );
}
@@ -612,15 +612,15 @@ void MusicWheel::BuildWheelItemDatas( vector<WheelItemData *> &arrayWheelItemDat
{
switch( PREFSMAN->m_CourseSortOrder )
{
case PrefsManager::COURSE_SORT_PREFERRED:
case COURSE_SORT_PREFERRED:
break;
case PrefsManager::COURSE_SORT_METER:
case COURSE_SORT_METER:
CourseUtil::SortCoursePointerArrayByAvgDifficulty( apCourses );
break;
case PrefsManager::COURSE_SORT_METER_SUM:
case COURSE_SORT_METER_SUM:
CourseUtil::SortCoursePointerArrayByTotalDifficulty( apCourses );
break;
case PrefsManager::COURSE_SORT_RANK:
case COURSE_SORT_RANK:
CourseUtil::SortCoursePointerArrayByRanking( apCourses );
break;
default: ASSERT(0);
+64 -4
View File
@@ -82,6 +82,66 @@ XToString2( GetRankingName );
StringToX( GetRankingName );
LuaXType( GetRankingName );
static const char *RandomBackgroundModeNames[] = {
"Off",
"Animations",
"RandomMovies",
};
XToString2( RandomBackgroundMode );
StringToX( RandomBackgroundMode );
LuaXType( RandomBackgroundMode );
static const char *ShowDancingCharactersNames[] = {
"Off",
"Random",
"Select",
};
XToString2( ShowDancingCharacters );
StringToX( ShowDancingCharacters );
LuaXType( ShowDancingCharacters );
static const char *BannerCacheModeNames[] = {
"Off",
"LowResPreload",
"LowResLoadOnDemand",
"Full"
};
XToString2( BannerCacheMode );
StringToX( BannerCacheMode );
LuaXType( BannerCacheMode );
static const char *AttractSoundFrequencyNames[] = {
"NEver",
"EveryTime",
"Every2Times",
"Every3Times",
"Every4Times",
"Every5Times",
};
XToString2( AttractSoundFrequency );
StringToX( AttractSoundFrequency );
LuaXType( AttractSoundFrequency );
static const char *CourseSortOrdersNames[] = {
"Preferred",
"Songs",
"Meter",
"MeterSum",
"MeterRank",
};
XToString2( CourseSortOrders );
StringToX( CourseSortOrders );
LuaXType( CourseSortOrders );
static const char *ScoringTypeNames[] = {
"New",
"Old",
};
XToString2( ScoringType );
StringToX( ScoringType );
LuaXType( ScoringType );
bool g_bAutoRestart = false;
#ifdef DEBUG
# define TRUE_IF_DEBUG true
@@ -191,14 +251,14 @@ void ValidateSongsPerPlay( int &val )
CLAMP(val,0,MAX_SONGS_PER_PLAY);
}
void ValidateRandomBackgroundMode( PrefsManager::RandomBackgroundMode &val )
void ValidateRandomBackgroundMode( RandomBackgroundMode &val )
{
CLAMP((int&)val,0,PrefsManager::NUM_RandomBackgroundMode-1);
CLAMP((int&)val,0,NUM_RandomBackgroundMode-1);
}
void ValidateCourseSortOrder( PrefsManager::CourseSortOrders &val )
void ValidateCourseSortOrder( CourseSortOrders &val )
{
CLAMP((int&)val,0,PrefsManager::NUM_COURSE_SORT_ORDER-1);
CLAMP((int&)val,0,NUM_CourseSortOrders-1);
}
+67 -23
View File
@@ -15,6 +15,60 @@ enum AllowW1 { ALLOW_W1_NEVER, ALLOW_W1_COURSES_ONLY, ALLOW_W1_EVERYWHERE, NUM_A
enum Maybe { Maybe_ASK, Maybe_NO, Maybe_YES, NUM_Maybe, Maybe_Invalid };
enum GetRankingName { RANKING_OFF, RANKING_ON, RANKING_LIST, NUM_GetRankingName, GetRankingName_Invalid };
enum RandomBackgroundMode
{
BGMODE_OFF,
BGMODE_ANIMATIONS,
BGMODE_RANDOMMOVIES,
NUM_RandomBackgroundMode,
RandomBackgroundMode_Invalid
};
enum ShowDancingCharacters
{
SDC_Off,
SDC_Random,
SDC_Select,
NUM_ShowDancingCharacters,
ShowDancingCharacters_Invalid
};
enum BannerCacheMode
{
BNCACHE_OFF,
BNCACHE_LOW_RES_PRELOAD, // preload low-res on start
BNCACHE_LOW_RES_LOAD_ON_DEMAND, // preload low-res on screen load
BNCACHE_FULL,
NUM_BannerCacheMode,
BannerCacheMode_Invalid
};
enum AttractSoundFrequency
{
ASF_NEVER,
ASF_EVERY_TIME,
ASF_EVERY_2_TIMES,
ASF_EVERY_3_TIMES,
ASF_EVERY_4_TIMES,
ASF_EVERY_5_TIMES,
NUM_AttractSoundFrequency,
AttractSoundFrequency_Invalid
};
enum CourseSortOrders
{
COURSE_SORT_PREFERRED,
COURSE_SORT_SONGS,
COURSE_SORT_METER,
COURSE_SORT_METER_SUM,
COURSE_SORT_RANK,
NUM_CourseSortOrders,
CourseSortOrders_Invalid
};
enum ScoringType
{
SCORING_NEW,
SCORING_OLD,
NUM_ScoringType,
ScoringType_Invalid
};
class PrefsManager
{
public:
@@ -59,8 +113,7 @@ public:
Preference<bool> m_bShowBanners;
Preference<bool> m_bSongBackgrounds;
enum RandomBackgroundMode { BGMODE_OFF, BGMODE_ANIMATIONS, BGMODE_RANDOMMOVIES, NUM_RandomBackgroundMode };
Preference<RandomBackgroundMode,int> m_RandomBackgroundMode;
Preference<RandomBackgroundMode> m_RandomBackgroundMode;
Preference<int> m_iNumBackgrounds;
Preference<float> m_fBGBrightness;
Preference<bool> m_bHiddenSongs;
@@ -69,12 +122,7 @@ public:
Preference<bool> m_bPAL;
Preference<bool> m_bDelayedTextureDelete;
Preference<bool> m_bDelayedModelDelete;
enum BannerCache {
BNCACHE_OFF,
BNCACHE_LOW_RES_PRELOAD, // preload low-res on start
BNCACHE_LOW_RES_LOAD_ON_DEMAND, // preload low-res on screen load
BNCACHE_FULL };
Preference<BannerCache,int> m_BannerCache;
Preference<BannerCacheMode> m_BannerCache;
Preference<bool> m_bPalettedBannerCache;
Preference<bool> m_bFastLoad;
Preference<bool> m_bFastLoadAdditionalSongs;
@@ -114,29 +162,29 @@ public:
// time meter used in survival
Preference1D<float> m_fTimeMeterSecondsChange;
Preference<PlayerController,int> m_AutoPlay;
Preference<PlayerController> m_AutoPlay;
Preference<bool> m_bDelayedBack;
Preference<bool> m_bShowInstructions;
Preference<bool> m_bShowSelectGroup;
Preference<bool> m_bShowCaution;
Preference<bool> m_bShowNativeLanguage;
Preference<bool> m_bArcadeOptionsNavigation;
Preference<MusicWheelUsesSections,int> m_MusicWheelUsesSections;
Preference<MusicWheelUsesSections> m_MusicWheelUsesSections;
Preference<int> m_iMusicWheelSwitchSpeed;
Preference<AllowW1,int> m_AllowW1;
Preference<AllowW1> m_AllowW1;
Preference<bool> m_bEventMode;
Preference<int> m_iCoinsPerCredit;
Preference<int> m_iSongsPerPlay;
// These options have weird interactions depending on m_bEventMode,
// so wrap them in GameState.
Preference<CoinMode,int> m_CoinMode;
Preference<Premium,int> m_Premium;
Preference<CoinMode> m_CoinMode;
Preference<Premium> m_Premium;
Preference<bool> m_bDelayedCreditsReconcile;
Preference<bool> m_bPickExtraStage;
Preference<bool> m_bComboContinuesBetweenSongs;
Preference<Maybe,int> m_ShowSongOptions;
Preference<Maybe> m_ShowSongOptions;
Preference<bool> m_bDancePointsForOni;
Preference<bool> m_bPercentageScoring;
Preference<float> m_fMinPercentageForMachineSongHighScore;
@@ -146,8 +194,7 @@ public:
Preference<bool> m_bAutogenGroupCourses;
Preference<bool> m_bBreakComboToGetItem;
Preference<bool> m_bLockCourseDifficulties;
enum ShowDancingCharacters { SDC_Off = 0, SDC_Random = 1, SDC_Select = 2};
Preference<ShowDancingCharacters,int> m_ShowDancingCharacters;
Preference<ShowDancingCharacters> m_ShowDancingCharacters;
Preference<bool> m_bUseUnlockSystem;
Preference<float> m_fGlobalOffsetSeconds;
Preference<int> m_iProgressiveLifebar;
@@ -162,8 +209,7 @@ public:
Preference<int> m_iCenterImageTranslateY;
Preference<int> m_fCenterImageAddWidth;
Preference<int> m_fCenterImageAddHeight;
enum AttractSoundFrequency { ASF_NEVER, ASF_EVERY_TIME, ASF_EVERY_2_TIMES, ASF_EVERY_3_TIMES, ASF_EVERY_4_TIMES, ASF_EVERY_5_TIMES };
Preference<AttractSoundFrequency,int> m_AttractSoundFrequency;
Preference<AttractSoundFrequency> m_AttractSoundFrequency;
Preference<bool> m_bAllowExtraStage;
Preference<bool> m_bHideDefaultNoteSkin;
Preference<int> m_iMaxHighScoresPerListForMachine;
@@ -191,13 +237,11 @@ public:
Preference<bool> m_bSignProfileData;
// course ranking
enum CourseSortOrders { COURSE_SORT_PREFERRED, COURSE_SORT_SONGS, COURSE_SORT_METER, COURSE_SORT_METER_SUM, COURSE_SORT_RANK, NUM_COURSE_SORT_ORDER };
Preference<CourseSortOrders,int> m_CourseSortOrder;
Preference<CourseSortOrders> m_CourseSortOrder;
Preference<bool> m_bSubSortByNumSteps;
Preference<GetRankingName,int> m_GetRankingName;
Preference<GetRankingName> m_GetRankingName;
enum ScoringType { SCORING_NEW, SCORING_OLD };
Preference<ScoringType,int> m_ScoringType;
Preference<ScoringType> m_ScoringType;
Preference<RString> m_sAdditionalSongFolders;
Preference<RString> m_sAdditionalCourseFolders;
+4 -4
View File
@@ -95,10 +95,10 @@ void ScoreKeeperNormal::Load(
memset( m_ComboBonusFactor, 0, sizeof(m_ComboBonusFactor) );
switch( PREFSMAN->m_ScoringType )
{
case PrefsManager::SCORING_NEW:
case SCORING_NEW:
m_iRoundTo = 1;
break;
case PrefsManager::SCORING_OLD:
case SCORING_OLD:
m_iRoundTo = 5;
if (!GAMESTATE->IsCourseMode())
{
@@ -168,10 +168,10 @@ void ScoreKeeperNormal::OnNextSong( int iSongInCourseIndex, const Steps* pSteps,
int iLengthMultiplier = SongManager::GetNumStagesForSong( GAMESTATE->m_pCurSong );
switch( PREFSMAN->m_ScoringType )
{
case PrefsManager::SCORING_NEW:
case SCORING_NEW:
m_iMaxPossiblePoints = iMeter * 10000000 * iLengthMultiplier;
break;
case PrefsManager::SCORING_OLD:
case SCORING_OLD:
m_iMaxPossiblePoints = (iMeter * iLengthMultiplier + 1) * 5000000;
break;
DEFAULT_FAIL( int(PREFSMAN->m_ScoringType) );
+1 -1
View File
@@ -209,7 +209,7 @@ void ScreenEvaluation::Init()
}
*/
if( PREFSMAN->m_ScoringType == PrefsManager::SCORING_OLD )
if( PREFSMAN->m_ScoringType == SCORING_OLD )
{
FOREACH_PlayerNumber( p )
{
+1 -1
View File
@@ -70,7 +70,7 @@ void ScreenSelectCharacter::Init()
default:
/* Non Rave/Battle mode, just skip this screen if disabled. */
if( PREFSMAN->m_ShowDancingCharacters != PrefsManager::SDC_Select )
if( PREFSMAN->m_ShowDancingCharacters != SDC_Select )
{
this->PostScreenMessage( SM_GoToNextScreen, 0 );
return;
+1 -1
View File
@@ -90,7 +90,7 @@ void ScreenSelectMusic::Init()
m_TexturePreload.Load( m_sFallbackCDTitlePath );
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_OFF )
if( PREFSMAN->m_BannerCache != BNCACHE_OFF )
{
m_TexturePreload.Load( Banner::SongBannerTexture(THEME->GetPathG("Banner","all music")) );
m_TexturePreload.Load( Banner::SongBannerTexture(THEME->GetPathG("Common","fallback banner")) );
+1 -1
View File
@@ -269,7 +269,7 @@ bool Song::LoadFromSongDir( RString sDir )
}
/* Load the cached banners, if it's not loaded already. */
if( PREFSMAN->m_BannerCache == PrefsManager::BNCACHE_LOW_RES_PRELOAD && m_bHasBanner )
if( PREFSMAN->m_BannerCache == BNCACHE_LOW_RES_PRELOAD && m_bHasBanner )
BANNERCACHE->LoadBanner( GetBannerPath() );
/* Add AutoGen pointers. (These aren't cached.) */
+1 -1
View File
@@ -300,7 +300,7 @@ void SongManager::LoadGroupSymLinks(RString sDir, RString sGroupFolder)
void SongManager::PreloadSongImages()
{
if( PREFSMAN->m_BannerCache != PrefsManager::BNCACHE_FULL )
if( PREFSMAN->m_BannerCache != BNCACHE_FULL )
return;
/* Load textures before unloading old ones, so we don't reload textures
+1 -1
View File
@@ -353,7 +353,7 @@ static void CheckSettings()
/* Preloaded banners takes about 9k per song. Although it's smaller than the
* actual song data, it still adds up with a lot of songs. Disable it for 64-meg
* systems. */
PREFSMAN->m_BannerCache.Set( LowMemory ? PrefsManager::BNCACHE_OFF:PrefsManager::BNCACHE_LOW_RES_PRELOAD );
PREFSMAN->m_BannerCache.Set( LowMemory ? BNCACHE_OFF:BNCACHE_LOW_RES_PRELOAD );
PREFSMAN->SavePrefsToDisk();
#endif