diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 5b201dff9d..14914cf7bf 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -78,7 +78,8 @@ PrefsManager::PrefsManager() m_iCoinsPerCredit = 1; m_bJointPremium = false; m_iBoostAppPriority = -1; - + m_iPolygonRadar = -1; + /* I'd rather get occasional people asking for support for this even though it's * already here than lots of people asking why songs aren't being displayed. */ m_bHiddenSongs = false; @@ -148,6 +149,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame ) ini.GetValueI( "Options", "CoinsPerCredit", m_iCoinsPerCredit ); ini.GetValueB( "Options", "JointPremium", m_bJointPremium ); ini.GetValueI( "Options", "BoostAppPriority", m_iBoostAppPriority ); + ini.GetValueI( "Options", "PolygonRadar", m_iPolygonRadar ); m_asAdditionalSongFolders.clear(); CString sAdditionalSongFolders; @@ -213,6 +215,7 @@ void PrefsManager::SaveGlobalPrefsToDisk() ini.SetValueI( "Options", "CoinsPerCredit", m_iCoinsPerCredit ); ini.SetValueB( "Options", "JointPremium", m_bJointPremium ); ini.SetValueI( "Options", "BoostAppPriority", m_iBoostAppPriority ); + ini.SetValueI( "Options", "PolygonRadar", m_iPolygonRadar ); /* Only write these if they aren't the default. This ensures that we can change * the default and have it take effect for everyone (except people who diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index 395226e0f4..29101bca6d 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -63,9 +63,13 @@ public: bool m_bJointPremium; + /* 0 = no; 1 = yes; -1 = auto (do whatever is appropriate for the arch). */ int m_iBoostAppPriority; + /* 0 = no; 1 = yes; -1 = auto (turn on for known-bad drivers) */ + int m_iPolygonRadar; + CStringArray m_asAdditionalSongFolders; CString m_DWIPath; diff --git a/stepmania/src/RageDisplay.cpp b/stepmania/src/RageDisplay.cpp index e3ee74edce..163daa3ce4 100644 --- a/stepmania/src/RageDisplay.cpp +++ b/stepmania/src/RageDisplay.cpp @@ -23,6 +23,8 @@ #include "RageTypes.h" #include "GameConstantsAndTypes.h" #include "StepMania.h" +/* XXX: remove this once we add oglspecs_t::DisableAALines */ +#include "PrefsManager.h" #include @@ -576,9 +578,11 @@ void RageDisplay::DrawLoop_LinesAndPoints( const RageVertex v[], int iNumVerts, void RageDisplay::DrawLoop( const RageVertex v[], int iNumVerts, float LineWidth ) { - /* XXX: need to autodetect voodoo 3500 (and any others that need this) */ -// DrawLoop_LinesAndPoints(v, iNumVerts, LineWidth); - DrawLoop_Polys(v, iNumVerts, LineWidth); + /* XXX: -1, 0, 1 */ + if(PREFSMAN->m_iPolygonRadar == 1) + DrawLoop_Polys(v, iNumVerts, LineWidth); + else + DrawLoop_LinesAndPoints(v, iNumVerts, LineWidth); } void RageDisplay::PushMatrix()