115 lines
4.3 KiB
C++
115 lines
4.3 KiB
C++
/****************************************************************************
|
|
* *
|
|
* Project64 - A Nintendo 64 emulator. *
|
|
* http://www.pj64-emu.com/ *
|
|
* Copyright (C) 2012 Project64. All rights reserved. *
|
|
* *
|
|
* License: *
|
|
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
|
|
* *
|
|
****************************************************************************/
|
|
#include "stdafx.h"
|
|
|
|
#include "SettingsPage.h"
|
|
#include "SettingsPage-Game-General.h"
|
|
|
|
CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay)
|
|
{
|
|
if (!Create(hParent, rcDispay))
|
|
{
|
|
return;
|
|
}
|
|
|
|
//Set the text for all gui Items
|
|
SetDlgItemTextW(m_hWnd, IDC_GOOD_NAME_TEXT, GS(RB_GOODNAME));
|
|
|
|
SetDlgItemTextW(m_hWnd, IDC_MEMORY_SIZE_TEXT, GS(ROM_MEM_SIZE));
|
|
SetDlgItemTextW(m_hWnd, IDC_SAVE_TYPE_TEXT, GS(ROM_SAVE_TYPE));
|
|
SetDlgItemTextW(m_hWnd, IDC_COUNTFACT_TEXT, GS(ROM_COUNTER_FACTOR));
|
|
SetDlgItemTextW(m_hWnd, IDC_VIREFESH_TEXT, GS(ROM_VIREFRESH));
|
|
SetDlgItemTextW(m_hWnd, IDC_COUNTPERBYTE_TEXT, GS(ROM_COUNTPERBYTE));
|
|
|
|
SetDlgItemTextW(m_hWnd, IDC_ROM_32BIT, GS(ROM_32BIT));
|
|
SetDlgItemTextW(m_hWnd, IDC_ROM_FIXEDAUDIO, GS(ROM_FIXED_AUDIO));
|
|
SetDlgItemTextW(m_hWnd, IDC_DELAY_DP, GS(ROM_DELAY_DP));
|
|
SetDlgItemTextW(m_hWnd, IDC_SYNC_AUDIO, GS(ROM_SYNC_AUDIO));
|
|
SetDlgItemTextW(m_hWnd, IDC_USE_TLB, GS(ROM_USE_TLB));
|
|
SetDlgItemTextW(m_hWnd, IDC_DELAY_SI, GS(ROM_DELAY_SI));
|
|
SetDlgItemTextW(m_hWnd, IDC_AUDIO_SIGNAL, GS(ROM_AUDIO_SIGNAL));
|
|
|
|
AddModCheckBox(GetDlgItem(IDC_ROM_32BIT), Game_32Bit);
|
|
AddModCheckBox(GetDlgItem(IDC_SYNC_AUDIO), Game_SyncViaAudio);
|
|
AddModCheckBox(GetDlgItem(IDC_ROM_FIXEDAUDIO), Game_FixedAudio);
|
|
AddModCheckBox(GetDlgItem(IDC_USE_TLB), Game_UseTlb);
|
|
AddModCheckBox(GetDlgItem(IDC_DELAY_DP), Game_DelayDP);
|
|
AddModCheckBox(GetDlgItem(IDC_DELAY_SI), Game_DelaySI);
|
|
AddModCheckBox(GetDlgItem(IDC_AUDIO_SIGNAL), Game_RspAudioSignal);
|
|
|
|
CModifiedComboBox * ComboBox;
|
|
ComboBox = AddModComboBox(GetDlgItem(IDC_RDRAM_SIZE), Game_RDRamSize);
|
|
if (ComboBox)
|
|
{
|
|
ComboBox->SetTextField(GetDlgItem(IDC_MEMORY_SIZE_TEXT));
|
|
ComboBox->AddItemW(GS(RDRAM_4MB), 0x400000);
|
|
ComboBox->AddItemW(GS(RDRAM_8MB), 0x800000);
|
|
}
|
|
|
|
ComboBox = AddModComboBox(GetDlgItem(IDC_SAVE_TYPE), Game_SaveChip);
|
|
if (ComboBox)
|
|
{
|
|
ComboBox->SetTextField(GetDlgItem(IDC_SAVE_TYPE_TEXT));
|
|
ComboBox->AddItemW(GS(SAVE_FIRST_USED), (WPARAM)SaveChip_Auto);
|
|
ComboBox->AddItemW(GS(SAVE_4K_EEPROM), SaveChip_Eeprom_4K);
|
|
ComboBox->AddItemW(GS(SAVE_16K_EEPROM), SaveChip_Eeprom_16K);
|
|
ComboBox->AddItemW(GS(SAVE_SRAM), SaveChip_Sram);
|
|
ComboBox->AddItemW(GS(SAVE_FLASHRAM), SaveChip_FlashRam);
|
|
}
|
|
|
|
ComboBox = AddModComboBox(GetDlgItem(IDC_COUNTFACT), Game_CounterFactor);
|
|
if (ComboBox)
|
|
{
|
|
ComboBox->SetTextField(GetDlgItem(IDC_COUNTFACT_TEXT));
|
|
ComboBox->AddItemW(GS(NUMBER_1), 1);
|
|
ComboBox->AddItemW(GS(NUMBER_2), 2);
|
|
ComboBox->AddItemW(GS(NUMBER_3), 3);
|
|
ComboBox->AddItemW(GS(NUMBER_4), 4);
|
|
ComboBox->AddItemW(GS(NUMBER_5), 5);
|
|
ComboBox->AddItemW(GS(NUMBER_6), 6);
|
|
}
|
|
|
|
SetDlgItemText(IDC_GOOD_NAME, g_Settings->LoadStringVal(Game_GoodName).c_str());
|
|
|
|
CModifiedEditBox * TxtBox = AddModTextBox(GetDlgItem(IDC_VIREFRESH), Game_ViRefreshRate, false);
|
|
TxtBox->SetTextField(GetDlgItem(IDC_VIREFESH_TEXT));
|
|
|
|
TxtBox = AddModTextBox(GetDlgItem(IDC_COUNTPERBYTE), Game_AiCountPerBytes, false);
|
|
TxtBox->SetTextField(GetDlgItem(IDC_COUNTPERBYTE_TEXT));
|
|
|
|
UpdatePageSettings();
|
|
}
|
|
|
|
void CGameGeneralPage::ShowPage()
|
|
{
|
|
ShowWindow(SW_SHOW);
|
|
}
|
|
|
|
void CGameGeneralPage::HidePage()
|
|
{
|
|
ShowWindow(SW_HIDE);
|
|
}
|
|
|
|
void CGameGeneralPage::ApplySettings(bool UpdateScreen)
|
|
{
|
|
CSettingsPageImpl<CGameGeneralPage>::ApplySettings(UpdateScreen);
|
|
}
|
|
|
|
bool CGameGeneralPage::EnableReset(void)
|
|
{
|
|
if (CSettingsPageImpl<CGameGeneralPage>::EnableReset()) { return true; }
|
|
return false;
|
|
}
|
|
|
|
void CGameGeneralPage::ResetPage()
|
|
{
|
|
CSettingsPageImpl<CGameGeneralPage>::ResetPage();
|
|
} |