#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: PrefsManager Desc: See Header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "PrefsManager.h" #include "IniFile.h" #include "GameManager.h" PrefsManager* PREFSMAN = NULL; // global and accessable from anywhere in our program PrefsManager::PrefsManager() { m_bWindowed = false; m_bHighDetail = true; m_bHighTextureDetail = false; m_bIgnoreJoyAxes = false; m_bShowFPS = false; m_BackgroundMode = BGMODE_ANIMATIONS; m_fBGBrightness = 0.8f; m_bMenuTimer = true; m_bEventMode = false; m_iNumArcadeStages = 3; m_bAutoPlay = false; m_fJudgeWindow = 0.18f; for( int p=0; pm_bEventMode ) return false; return m_iCurrentStageIndex == m_iNumArcadeStages-1; } bool PrefsManager::IsExtraStage() { if( PREFSMAN->m_bEventMode ) return false; return m_iCurrentStageIndex == m_iNumArcadeStages; } bool PrefsManager::IsExtraStage2() { if( PREFSMAN->m_bEventMode ) return false; return m_iCurrentStageIndex == m_iNumArcadeStages+1; } CString PrefsManager::GetStageText() { if( IsFinalStage() ) return "Final"; else if( IsExtraStage() ) return "Extra"; else if( IsExtraStage2() ) return "Extra 2"; int iStageNo = m_iCurrentStageIndex+1; CString sNumberSuffix; if( ( (iStageNo/10) % 10 ) == 1 ) // in the teens (e.g. 19, 213) { sNumberSuffix = "th"; } else // not in the teens { const int iLastDigit = iStageNo%10; switch( iLastDigit ) { case 1: sNumberSuffix = "st"; break; case 2: sNumberSuffix = "nd"; break; case 3: sNumberSuffix = "rd"; break; default:sNumberSuffix = "th"; break; } } return ssprintf( "%d%s", iStageNo, sNumberSuffix ); } D3DXCOLOR PrefsManager::GetStageColor() { if( IsFinalStage() ) return D3DXCOLOR(1,0.1f,0.1f,1); // red else if( IsExtraStage() || IsExtraStage2() ) return D3DXCOLOR(1,1,0.3f,1); // yellow else return D3DXCOLOR(0.3f,1,0.3f,1); // green }