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
}
示例#2
0
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());
}
示例#3
0
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;
}
示例#4
0
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);
}
示例#5
0
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);
}
示例#6
0
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;
}
示例#7
0
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);
}
示例#9
0
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;
}