Beispiel #1
0
void CStartMenuView::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein, und/oder benutzen Sie den Standard.
	m_nLogoTimer++;
	if (m_nLogoTimer < 2)
	{
		this->SetTimer(1,25,NULL);
		CIniLoader* pIni = CIniLoader::GetInstance();
		AssertBotE(pIni);
		bool bUseMusic;
		pIni->ReadValue("Audio", "MUSIC", bUseMusic);
		if (bUseMusic)
		{
			CSoundManager* pSoundManager = CSoundManager::GetInstance();
			AssertBotE(pSoundManager);
			float fMusicVolume;
			pIni->ReadValue("Audio", "MUSICVOLUME", fMusicVolume);
			pSoundManager->StartMusic(network::RACE_1, fMusicVolume);
		}
		return;
	}

	m_nTimeCounter++;
	m_nTimeCounter *= 1.025;
	if (m_nTimeCounter >= 255)
	{
		this->KillTimer(1);

		ShowMPButtons(false);
	}

	Invalidate(false);

	__super::OnTimer(nIDEvent);
}
Beispiel #2
0
void CStartMenuView::OnBnClickedOptions()
{
	CIniLoader* pIni = CIniLoader::GetInstance();
	int nOldSeed = -1;
	pIni->ReadValue("Special", "RANDOMSEED", nOldSeed);

	CSettingsDlg dlg;
	if (dlg.DoModal() == IDOK)
		CBotEDoc::RandomSeed(&nOldSeed);
}
Beispiel #3
0
void CSettingsDlg::OnOK()
{
	// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
	// neue Werte in die Ini-Datei schreiben
	UpdateData(true);

	CIniLoader* pIni = CIniLoader::GetInstance();
	AssertBotE(pIni);

	CString s;
	// General
	m_bAutoave == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("General", "AUTOSAVE", s);
	pIni->WriteValue("General", "DIFFICULTY", m_sDifficulty);

	// Audio
	m_bHardwaresound == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Audio", "HARDWARESOUND", s);
	m_bSound == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Audio", "SOUND", s);
	m_bMusic == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Audio", "MUSIC", s);
	s.Format("%.2lf", (float)m_ctrlMusicvolume.GetPos() / 100.0f);
	pIni->WriteValue("Audio", "MUSICVOLUME", s);

	// Video
	m_bShowTraderoutes == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Video", "SHOWTRADEROUTES", s);
	m_bAnimatedIcon == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Video", "ANIMATEDICON", s);
	m_bShowMiniMap == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Video", "SHOWMINIMAP", s);
	m_bShowEventPictures == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Video", "SHOWEVENTPICTURES", s);
	s.Format("%d", m_ctrlTooltipDelay.GetPos());
	pIni->WriteValue("Video", "TOOLTIPDELAY", s);

	// Control
	m_bShowScrollBars == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Control", "SHOWSCROLLBARS", s);
	m_bInvertMouse == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Control", "INVERTMOUSE", s);
	m_bHideMenu == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Control", "HIDEMENUBAR", s);

	// Special (Ingame)
	m_edtRandomSeed.GetWindowText(s);
	pIni->WriteValue("Special", "RANDOMSEED", s);
	s.Format("%d", m_ctrlStarDensity.GetPos());
	pIni->WriteValue("Special", "STARDENSITY", s);
	s.Format("%d", m_ctrlMinorDensity.GetPos());
	pIni->WriteValue("Special", "MINORDENSITY", s);
	s.Format("%d", m_ctrlAnomalyDensity.GetPos());
	pIni->WriteValue("Special", "ANOMALYDENSITY", s);
	s.Format("%d", m_ctrlAlienFrequency.GetPos());
	pIni->WriteValue("Special", "ALIENENTITIES", s);
	m_bRandomEvents == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Special", "RANDOMEVENTS", s);
	s.Format("%d", m_comboGalaxyshape.GetCurSel());
	pIni->WriteValue("Special", "GENERATIONMODE", s);

	//Galaxysize
	int choosen=m_comboGalaxysize.GetCurSel();
	if(choosen==0)
	{
		s.Format("%d",15);
		pIni->WriteValue("Special", "MAPSIZEH", s);//Tiny
		s.Format("%d",10);
		pIni->WriteValue("Special", "MAPSIZEV", s);
	}
	else if(choosen==1)
	{
		s.Format("%d",20);
		pIni->WriteValue("Special", "MAPSIZEH", s);//Small
		s.Format("%d",15);
		pIni->WriteValue("Special", "MAPSIZEV", s);
	}
	else if(choosen==2)
	{
		s.Format("%d",30);
		pIni->WriteValue("Special", "MAPSIZEH", s);//Classic
		s.Format("%d",20);
		pIni->WriteValue("Special", "MAPSIZEV", s);
	}
	else if(choosen==3)
	{
		s.Format("%d",40);
		pIni->WriteValue("Special", "MAPSIZEH", s);//Huge
		s.Format("%d",30);
		pIni->WriteValue("Special", "MAPSIZEV", s);
	}

	// Victory Conditions
	m_bVCElimination == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Elimination", s);
	m_bVCDiplomacy == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Diplomacy", s);
	m_bVCConquest == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Conquest", s);
	m_bVCResearch == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Research", s);
	m_bVCCombat == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Combat", s);
	m_bVCSabotage == TRUE ? s = "ON" : s = "OFF";
	pIni->WriteValue("Victory_Conditions", "Sabotage", s);

	CDialog::OnOK();
}
Beispiel #4
0
BOOL CSettingsDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  hier zusätzliche Initialisierung hinzufügen.
	m_ctrlDifficultySlider.SetRange(0,4);
	m_ctrlDifficultySlider.SetTicFreq(1);
	m_ctrlMusicvolume.SetRange(0,100);
	m_ctrlMusicvolume.SetTicFreq(1);
	m_ctrlTooltipDelay.SetRange(0,2000);
	m_ctrlTooltipDelay.SetTicFreq(50);
	m_ctrlStarDensity.SetRange(0,100);
	m_ctrlStarDensity.SetTicFreq(1);
	m_ctrlMinorDensity.SetRange(0,100);
	m_ctrlMinorDensity.SetTicFreq(1);
	m_ctrlAnomalyDensity.SetRange(0,100);
	m_ctrlAnomalyDensity.SetTicFreq(1);
	m_ctrlAlienFrequency.SetRange(0, max_alien_frequency);
	m_ctrlAlienFrequency.SetTicFreq(1);

	CIniLoader* pIni = CIniLoader::GetInstance();
	AssertBotE(pIni);

	// General
	bool bAutosave = true;
	if (!pIni->ReadValue("General", "AUTOSAVE", bAutosave))
		AssertBotE(false);
	m_bAutoave = bAutosave;

	if (!pIni->ReadValue("General", "DIFFICULTY", m_sDifficulty))
		AssertBotE(false);
	m_sDifficulty.MakeUpper();
	if (m_sDifficulty == "BABY")
		m_ctrlDifficultySlider.SetPos(0);
	else if (m_sDifficulty == "EASY")
		m_ctrlDifficultySlider.SetPos(1);
	else if (m_sDifficulty == "NORMAL")
		m_ctrlDifficultySlider.SetPos(2);
	else if (m_sDifficulty == "HARD")
		m_ctrlDifficultySlider.SetPos(3);
	else if (m_sDifficulty == "IMPOSSIBLE")
		m_ctrlDifficultySlider.SetPos(4);

	CWnd* pCtrl = GetDlgItem(IDC_STATIC_DIFFICULTY);
	if (pCtrl)
		pCtrl->SetWindowText(m_sDifficulty);

	//Galaxysize
	m_comboGalaxysize.AddString("TINY 15x10");
	m_comboGalaxysize.AddString("SMALL 20x15");
	m_comboGalaxysize.AddString("CLASSIC 30x20");
	m_comboGalaxysize.AddString("HUGE 40x30");
	int sizeh=30,sizev=20;
	pIni->ReadValue("Special", "MAPSIZEH", sizeh);
	pIni->ReadValue("Special", "MAPSIZEV", sizev);
	if(sizeh==15&&sizev==10)
	{
		m_comboGalaxysize.SetCurSel(0);
	}
	else if(sizeh==20&&sizev==15)
	{
		m_comboGalaxysize.SetCurSel(1);
	}
	else if(sizeh==30&&sizev==20)
	{
		m_comboGalaxysize.SetCurSel(2);
	}
	else if(sizeh==40&&sizev==30)
	{
		m_comboGalaxysize.SetCurSel(3);
	}
	else
	{
		CString s;
		s.Format("Custom %dx%d",sizeh,sizev);
		m_comboGalaxysize.AddString(s);
		m_comboGalaxysize.SetCurSel(3);
	}

	//Galaxyshape
	m_comboGalaxyshape.AddString("irregular");
	m_comboGalaxyshape.AddString("elliptic");
	m_comboGalaxyshape.AddString("spiral");
	m_comboGalaxyshape.AddString("ring");
	m_comboGalaxyshape.AddString("lenticular");
	m_comboGalaxyshape.AddString("islands");
    int genMode=0;
	pIni->ReadValue("Special", "GENERATIONMODE", genMode);
	m_comboGalaxyshape.SetCurSel(genMode);




	// Audio
	bool bHardwareSound = true;
	if (!pIni->ReadValue("Audio", "HARDWARESOUND", bHardwareSound))
		AssertBotE(false);
	m_bHardwaresound = bHardwareSound;

	bool bSound = true;
	if (!pIni->ReadValue("Audio", "SOUND", bSound))
		AssertBotE(false);
	m_bSound = bSound;

	bool bMusic = true;
	if (!pIni->ReadValue("Audio", "MUSIC", bMusic))
		AssertBotE(false);
	m_bMusic = bMusic;

	float fMusicVolume = 0.3f;
	if (!pIni->ReadValue("Audio", "MUSICVOLUME", fMusicVolume))
		AssertBotE(false);
	m_ctrlMusicvolume.SetPos(fMusicVolume * 100);

	// Video
	bool bShowTraderoutes = true;
	if (!pIni->ReadValue("Video", "SHOWTRADEROUTES", bShowTraderoutes))
		AssertBotE(false);
	m_bShowTraderoutes = bShowTraderoutes;

	bool bAnimatedIcon = true;
	if (!pIni->ReadValue("Video", "ANIMATEDICON", bAnimatedIcon))
		AssertBotE(false);
	m_bAnimatedIcon = bAnimatedIcon;

	bool bShowMiniMap = true;
	if (!pIni->ReadValue("Video", "SHOWMINIMAP", bShowMiniMap))
		AssertBotE(false);
	m_bShowMiniMap = bShowMiniMap;

	bool bShowEventPictures = true;
	if (!pIni->ReadValue("Video", "SHOWEVENTPICTURES", bShowEventPictures))
		AssertBotE(false);
	m_bShowEventPictures = bShowEventPictures;

	int nTooltipDelay = 750;
	if (!pIni->ReadValue("Video", "TOOLTIPDELAY", nTooltipDelay))
		AssertBotE(false);
	m_ctrlTooltipDelay.SetPos(nTooltipDelay);

	// Control
	bool bShowScrollbars = false;
	if (!pIni->ReadValue("Control", "SHOWSCROLLBARS", bShowScrollbars))
		AssertBotE(false);
	m_bShowScrollBars = bShowScrollbars;

	bool bInvertMouse = false;
	if (!pIni->ReadValue("Control", "INVERTMOUSE", bInvertMouse))
		AssertBotE(false);
	m_bInvertMouse = bInvertMouse;

	bool bHideMenu = false;
	if (!pIni->ReadValue("Control", "HIDEMENUBAR", bHideMenu))
		AssertBotE(false);
	m_bHideMenu = bHideMenu;

	// Special (Ingame)
	int nRandomSeed = -1;
	if (!pIni->ReadValue("Special", "RANDOMSEED", nRandomSeed))
		AssertBotE(false);
	if (nRandomSeed < -1)
		nRandomSeed = -1;
	CString sRandomSeed;
	sRandomSeed.Format("%d", nRandomSeed);
	m_edtRandomSeed.SetWindowText(sRandomSeed);

	int nStarDensity = 35;
	if (!pIni->ReadValue("Special", "STARDENSITY", nStarDensity))
		AssertBotE(false);
	m_ctrlStarDensity.SetPos(nStarDensity);

	int nMinorDensity = 30;
	if (!pIni->ReadValue("Special", "MINORDENSITY", nMinorDensity))
		AssertBotE(false);
	m_ctrlMinorDensity.SetPos(nMinorDensity);

	int nAnomalyDensity = 9;
	if (!pIni->ReadValue("Special", "ANOMALYDENSITY", nAnomalyDensity))
		AssertBotE(false);
	m_ctrlAnomalyDensity.SetPos(nAnomalyDensity);

	float nAlienFrequency = 0;
	if (!pIni->ReadValue("Special", "ALIENENTITIES", nAlienFrequency))
		AssertBotE(false);
	m_ctrlAlienFrequency.SetPos(nAlienFrequency);

	bool bRandomEvents = true;
	if (!pIni->ReadValue("Special", "RANDOMEVENTS", bRandomEvents))
		AssertBotE(false);
	m_bRandomEvents = bRandomEvents;

	// Victory Conditions
	bool bVCElimination = true;
	if (!pIni->ReadValue("Victory_Conditions", "Elimination", bVCElimination))
		AssertBotE(false);
	m_bVCElimination = bVCElimination;

	bool bVCDiplomacy = false;
	if (!pIni->ReadValue("Victory_Conditions", "Diplomacy", bVCDiplomacy))
		AssertBotE(false);
	m_bVCDiplomacy = bVCDiplomacy;

	bool bVCConquest = false;
	if (!pIni->ReadValue("Victory_Conditions", "Conquest", bVCConquest))
		AssertBotE(false);
	m_bVCConquest = bVCConquest;

	bool bVCResearch = false;
	if (!pIni->ReadValue("Victory_Conditions", "Research", bVCResearch))
		AssertBotE(false);
	m_bVCResearch = bVCResearch;

	bool bVCCombat = false;
	if (!pIni->ReadValue("Victory_Conditions", "Combat", bVCCombat))
		AssertBotE(false);
	m_bVCCombat = bVCCombat;

	bool bVCSabotage = false;
	if (!pIni->ReadValue("Victory_Conditions", "Sabotage", bVCSabotage))
		AssertBotE(false);
	m_bVCSabotage = bVCSabotage;

	// alle nicht während des Spiels änderbaren Einstellungen deaktivieren
	if (m_bDisable)
	{
		CWnd* pWnd = GetDlgItem(IDC_SLIDER_STARDENSITY);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_SLIDER_MINORDENSITY);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_SLIDER_ANOMALYDENSITY);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_ELIMINATION);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_DIPLOMACY);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_CONQUEST);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_RESEARCH);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_COMBAT);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_VC_SABOTAGE);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_COMBOGALAXYSIZE);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_COMBOGALAXYSHAPE);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_EDIT_RANDOMSEED);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
		pWnd = GetDlgItem(IDC_CHECK_RANDOMEVENTS);
		if (pWnd)
			pWnd->EnableWindow(FALSE);
	}

	UpdateData(false);

	return TRUE;  // return TRUE unless you set the focus to a control
	// AUSNAHME: OCX-Eigenschaftenseite muss FALSE zurückgeben.
}
Beispiel #5
0
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;
    /*if (!m_wndToolBar.CreateEx(this) ||
    	!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
    	TRACE0("Symbolleiste konnte nicht erstellt werden\n");
    	return -1;      // Fehler bei Erstellung
    }
    if (!m_wndDlgBar.Create(this, IDR_MAINFRAME,
    	CBRS_ALIGN_TOP, AFX_IDW_DIALOGBAR))
    {
    	TRACE0("Dialogleiste konnte nicht erstellt werden\n");
    	return -1;		// Fehler bei Erstellung
    }

    if (!m_wndReBar.Create(this) ||
    	!m_wndReBar.AddBar(&m_wndToolBar) ||
    	!m_wndReBar.AddBar(&m_wndDlgBar))
    {
    	TRACE0("Infoleiste konnte nicht erstellt werden\n");
    	return -1;      // Fehler bei Erstellung
    }*/

    /*	if (!m_wndStatusBar.Create(this) ||
    		!m_wndStatusBar.SetIndicators(indicators,
    		  sizeof(indicators)/sizeof(UINT)))
    	{
    		TRACE0("Statusleiste konnte nicht erstellt werden\n");
    		return -1;      // Fehler bei Erstellung
    	}
    */
    // ZU ERLEDIGEN: Entfernen, wenn Sie keine QuickInfos wünschen
//	m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
//		CBRS_TOOLTIPS | CBRS_FLYBY);

    m_CPPToolTip.Create(this);

    ///////////////////////////
    // Behaviour
    m_CPPToolTip.SetNotify();
    m_CPPToolTip.SetBehaviour(PPTOOLTIP_MULTIPLE_SHOW);

    CIniLoader* pIni = CIniLoader::GetInstance();
    AssertBotE(pIni);
    int nDelayTime = 750;
    pIni->ReadValue("Video", "TOOLTIPDELAY", nDelayTime);
    // Times (in ms)
    m_CPPToolTip.SetDelayTime(PPTOOLTIP_TIME_INITIAL, nDelayTime);	// nach 750ms wird es angezeigt
    m_CPPToolTip.SetDelayTime(PPTOOLTIP_TIME_AUTOPOP, 200000);		// how long it stays

    //m_CPPToolTip.SetDefaultSizes(FALSE);
    m_CPPToolTip.SetTransparency(20);
    m_CPPToolTip.SetColorBk(RGB(20,20,20));
    m_CPPToolTip.SetBorder(RGB(250,250,250), 1, 1);
    m_CPPToolTip.SetMaxTipWidth(300);
    // EFFECT_SOFTBUMP
    // EFFECT_DIAGSHADE
    //m_CPPToolTip.SetEffectBk(CPPDrawManager::EFFECT_SOFTBUMP,10);

    m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_ROUNDED_CX, 1);
    m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_ROUNDED_CY, 1);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_MARGIN_CX, 5);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_MARGIN_CY, 5);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_WIDTH_ANCHOR, 0);
    m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_HEIGHT_ANCHOR, 0);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_MARGIN_ANCHOR, 0);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_OFFSET_ANCHOR_CX, 0);
    //m_CPPToolTip.SetSize(CPPToolTip::PPTTSZ_OFFSET_ANCHOR_CY, 0);
    ///////////////////////////

    return 0;
}