void CPropPageOptionsControls::OnApplyStyle() { //need to apply the style. Get the name of the style first CString sStyle = GetStyleName(); //now try and create it (we do this first before warning, just in //case the style is bad, then we don't need to warn the user) CKeyDefaultAggregate* pAggregate = CKeyDefaultFactory::CreateDefault(sStyle); if(pAggregate == NULL) { CString sStyleError; sStyleError.LoadString(IDS_APPLY_STYLE_FAILED); MessageBox(sStyleError, "Error", MB_OK | MB_ICONEXCLAMATION); return; } //first warn the user of their actions. CString sWarning; CString sWarningTitle; sWarningTitle.LoadString(IDS_APPLY_STYLE_WARNING_TITLE); sWarning.Format(IDS_APPLY_STYLE_WARNING, GetStyleName()); if(MessageBox(sWarning, sWarningTitle, MB_OK | MB_YESNO | MB_ICONQUESTION) == IDNO) { //the user aborted delete pAggregate; return; } //the user actually wants to apply this style //add the aggregate CGlobalHotKeyDB::ClearAggregateList(); CGlobalHotKeyDB::AddAggregate(pAggregate); //reset the keys to reflect these defaults CHotKeyDB NewDB; CGlobalHotKeyDB::SetDefaults(NewDB); //now set this to the app (this resets internal state, etc) GetApp()->SetHotKeyDB(NewDB); //now give the configuration a chance to modify the global options CKeyDefaultFactory::UpdateGlobalOptions(sStyle); //now that they have done that, we need to refresh this dialog LoadOptions(); //for the last thing, we need to save this setting so that it can be loaded up //the next time we run GetApp()->GetOptions().GetControlsOptions()->SetStringValue("ControlStyle", sStyle); // success }
void ModeSwitcher::ChangeMode(PlayerNumber pn, int dir) { if( !strcmp(GAMESTATE->m_pCurGame->m_szName,"pump") ) { if(GAMESTATE->IsPlayerEnabled(pn)) { if(GAMESTATE->m_PreferredDifficulty[pn] != DIFFICULTY_CHALLENGE) { switch(GAMESTATE->m_PreferredDifficulty[pn]) { case DIFFICULTY_BEGINNER: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_EASY; break; case DIFFICULTY_EASY: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_MEDIUM; break; case DIFFICULTY_MEDIUM: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_HARD; break; case DIFFICULTY_HARD: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_CHALLENGE; break; } m_Stylename.SetText(GetStyleName()); m_Nextmode.SetText(GetNextStyleName()); m_Prevmode.SetText(GetPrevStyleName()); return; } else { if(GAMESTATE->IsPlayerEnabled(PLAYER_1)) GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_CHALLENGE; if(GAMESTATE->IsPlayerEnabled(PLAYER_2)) GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_CHALLENGE; } } // Make a list of all styles for the current Game. vector<const Style*> vPossibleStyles; GAMEMAN->GetStylesForGame( GAMESTATE->m_pCurGame, vPossibleStyles ); ASSERT( !vPossibleStyles.empty() ); int index = 0; vector<const Style*>::const_iterator iter = find(vPossibleStyles.begin(), vPossibleStyles.end(), GAMESTATE->m_pCurStyle ); if( iter != vPossibleStyles.end() ) { index = iter - vPossibleStyles.begin(); index += dir; wrap( index, vPossibleStyles.size() ); } GAMESTATE->m_pCurStyle = vPossibleStyles[index]; } m_Stylename.SetText(GetStyleName()); m_Nextmode.SetText(GetNextStyleName()); m_Prevmode.SetText(GetPrevStyleName()); }
const char* CModelButeMgr::GetHandsSkinFilename(ModelStyle eModelStyle) { _ASSERT(eModelStyle >= 0 && eModelStyle < m_cStyles); sprintf(s_szBuffer, "guns\\skins_pv\\%sHands_pv.dtx", GetStyleName(eModelStyle)); return s_szBuffer; }
ModeSwitcher::ModeSwitcher() { const CString sStyleNamesFontPath = THEME->GetPathToF("ModeSwitcher stylenames"); m_Nextmode.LoadFromFont( sStyleNamesFontPath ); m_Nextmode.SetXY(NEXTMODE_X,NEXTMODE_Y); m_Nextmode.SetZoom(NEXTMODE_ZOOM); m_Nextmode.SetText(GetNextStyleName()); m_Prevmode.LoadFromFont( sStyleNamesFontPath ); m_Prevmode.SetXY(PREVMODE_X,PREVMODE_Y); m_Prevmode.SetText(GetPrevStyleName()); m_Prevmode.SetZoom(PREVMODE_ZOOM); m_Stylename.LoadFromFont( sStyleNamesFontPath ); m_Stylename.SetXY(CURRMODE_X,CURRMODE_Y); m_Stylename.SetText(GetStyleName()); m_Stylename.SetZoom(CURRMODE_ZOOM); m_NextIcon.Load( THEME->GetPathToG("ModeSwitcher nexticon")); m_NextIcon.SetXY( NEXTICON_X, NEXTICON_Y); m_PrevIcon.Load( THEME->GetPathToG("ModeSwitcher previcon")); m_PrevIcon.SetXY( PREVICON_X, PREVICON_Y); this->AddChild( &m_NextIcon ); this->AddChild( &m_PrevIcon ); this->AddChild(&m_Stylename); this->AddChild(&m_Nextmode); this->AddChild(&m_Prevmode); }
ModeSwitcher::ModeSwitcher() { m_Nextmode.LoadFromFont( THEME->GetPathF("ModeSwitcher","stylenames") ); m_Nextmode.SetXY(NEXTMODE_X,NEXTMODE_Y); m_Nextmode.SetZoom(NEXTMODE_ZOOM); m_Nextmode.SetText(GetNextStyleName()); m_Prevmode.LoadFromFont( THEME->GetPathF("ModeSwitcher","stylenames") ); m_Prevmode.SetXY(PREVMODE_X,PREVMODE_Y); m_Prevmode.SetText(GetPrevStyleName()); m_Prevmode.SetZoom(PREVMODE_ZOOM); m_Stylename.LoadFromFont( THEME->GetPathF("ModeSwitcher","stylenames") ); m_Stylename.SetXY(CURRMODE_X,CURRMODE_Y); m_Stylename.SetText(GetStyleName()); m_Stylename.SetZoom(CURRMODE_ZOOM); m_NextIcon.Load( THEME->GetPathG("ModeSwitcher","nexticon")); m_NextIcon.SetXY( NEXTICON_X, NEXTICON_Y); m_PrevIcon.Load( THEME->GetPathG("ModeSwitcher","previcon")); m_PrevIcon.SetXY( PREVICON_X, PREVICON_Y); this->AddChild( &m_NextIcon ); this->AddChild( &m_PrevIcon ); this->AddChild(&m_Stylename); this->AddChild(&m_Nextmode); this->AddChild(&m_Prevmode); }
const char* CModelButeMgr::GetHeadSkinFilename(ModelId eModelId, ModelStyle eModelStyle, const char* szHeadOverride /* = LTNULL */) { _ASSERT(eModelId >= 0 && eModelId < m_cModels); _ASSERT(eModelStyle >= 0 && eModelStyle < m_cStyles); sprintf(s_szBuffer, "chars\\skins\\%s_%s%s.dtx", GetModelName(eModelId), GetStyleName(eModelStyle), szHeadOverride ? szHeadOverride : "_head"); return s_szBuffer; }
const char* CModelButeMgr::GetBodySkinFilename(ModelId eModelId, ModelStyle eModelStyle, const char* szBodySkinExtension /* = LTNULL */) { _ASSERT(eModelId >= 0 && eModelId < m_cModels); _ASSERT(eModelStyle >= 0 && eModelStyle < m_cStyles); sprintf(s_szBuffer, "chars\\skins\\%s_%s%s.dtx", GetModelName(eModelId), GetStyleName(eModelStyle), szBodySkinExtension ? szBodySkinExtension : ""); return s_szBuffer; }
//updates the edit box to reflect the description of the selected style void CPropPageOptionsControls::UpdateStyleText() { //now get the appropriate text CString sText = CKeyDefaultFactory::GetDefaultText(GetStyleName()); //apply that text to the edit control CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT_STYLE_DESCRIPTION); pEdit->SetWindowText(sText); }
const char* CModelButeMgr::GetMultiModelFilename(ModelId eModelId, ModelStyle eModelStyle) { _ASSERT(eModelId >= 0 && eModelId < m_cModels); _ASSERT(eModelStyle >= 0 && eModelStyle < m_cStyles); sprintf(s_szBuffer, "chars\\models\\multi\\%s_%s_multi.abc", GetModelName(eModelId), GetStyleName(eModelStyle)); return s_szBuffer; }