[Project64] Add ability to change defaults
This commit is contained in:
parent
a22512c9ca
commit
d531abc885
|
@ -200,6 +200,7 @@
|
|||
#409# "Keyboard Shortcuts"
|
||||
#410# "Status"
|
||||
#411# "Recompiler"
|
||||
#412# "Defaults"
|
||||
|
||||
//Plugin Dialog
|
||||
#420# "About"
|
||||
|
|
|
@ -229,7 +229,8 @@ enum LanguageStringID
|
|||
TAB_ROMNOTES = 408,
|
||||
TAB_SHORTCUTS = 409,
|
||||
TAB_ROMSTATUS = 410,
|
||||
TAB_RECOMPILER = 411, //Added in 1.7.0.50
|
||||
TAB_RECOMPILER = 411,
|
||||
TAB_DEFAULTS = 412,
|
||||
|
||||
//Plugin Dialog
|
||||
PLUG_ABOUT = 420,
|
||||
|
|
|
@ -198,6 +198,7 @@ void CLanguage::LoadDefaultStrings(void)
|
|||
DEF_STR(TAB_SHORTCUTS, "Keyboard Shortcuts");
|
||||
DEF_STR(TAB_ROMSTATUS, "Status");
|
||||
DEF_STR(TAB_RECOMPILER, "Recompiler");
|
||||
DEF_STR(TAB_DEFAULTS, "Defaults");
|
||||
|
||||
//Plugin Dialog
|
||||
DEF_STR(PLUG_ABOUT, "About");
|
||||
|
|
|
@ -128,6 +128,16 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
|||
AddHandler(Setting_LanguageDirDefault, new CSettingTypeRelativePath("Lang", ""));
|
||||
AddHandler(Setting_LanguageDir, new CSettingTypeApplicationPath("Lang Directory", "Directory", Setting_LanguageDirDefault));
|
||||
|
||||
AddHandler(Default_RDRamSize, new CSettingTypeApplication("Defaults", "RDRAM Size", 0x400000u));
|
||||
AddHandler(Default_UseHleGfx, new CSettingTypeApplication("Defaults", "HLE GFX", true));
|
||||
AddHandler(Default_UseTlb, new CSettingTypeApplication("Defaults", "Use TLB", true));
|
||||
AddHandler(Default_ViRefreshRate, new CSettingTypeApplication("Defaults", "ViRefresh", 1500u));
|
||||
AddHandler(Default_AiCountPerBytes, new CSettingTypeApplication("Defaults", "AiCountPerBytes", 0u));
|
||||
AddHandler(Default_CounterFactor, new CSettingTypeApplication("Defaults", "Counter Factor", 2u));
|
||||
AddHandler(Default_32Bit, new CSettingTypeApplication("Defaults", "32bit", true));
|
||||
AddHandler(Default_SyncViaAudio, new CSettingTypeApplication("Defaults", "Audio-Sync Audio", true));
|
||||
AddHandler(Default_FixedAudio, new CSettingTypeApplication("Defaults", "Fixed Audio", true));
|
||||
|
||||
AddHandler(Rdb_GoodName, new CSettingTypeRomDatabase("Good Name", Game_GameName));
|
||||
AddHandler(Rdb_SaveChip, new CSettingTypeRDBSaveChip("Save Type", (uint32_t)SaveChip_Auto));
|
||||
#ifdef _DEBUG
|
||||
|
@ -135,15 +145,15 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
|||
#else
|
||||
AddHandler(Rdb_CpuType, new CSettingTypeRDBCpuType("CPU Type", CPU_Recompiler));
|
||||
#endif
|
||||
AddHandler(Rdb_RDRamSize, new CSettingTypeRDBRDRamSize("RDRAM Size", 0x400000));
|
||||
AddHandler(Rdb_CounterFactor, new CSettingTypeRomDatabase("Counter Factor", (uint32_t)2));
|
||||
AddHandler(Rdb_UseTlb, new CSettingTypeRDBYesNo("Use TLB", true));
|
||||
AddHandler(Rdb_RDRamSize, new CSettingTypeRDBRDRamSize("RDRAM Size", Default_RDRamSize));
|
||||
AddHandler(Rdb_CounterFactor, new CSettingTypeRomDatabase("Counter Factor", Default_CounterFactor));
|
||||
AddHandler(Rdb_UseTlb, new CSettingTypeRDBYesNo("Use TLB", Default_UseTlb));
|
||||
AddHandler(Rdb_DelayDP, new CSettingTypeRDBYesNo("Delay DP", true));
|
||||
AddHandler(Rdb_DelaySi, new CSettingTypeRDBYesNo("Delay SI", false));
|
||||
AddHandler(Rdb_32Bit, new CSettingTypeRDBYesNo("32bit", true));
|
||||
AddHandler(Rdb_32Bit, new CSettingTypeRDBYesNo("32bit", Default_32Bit));
|
||||
AddHandler(Rdb_FastSP, new CSettingTypeRDBYesNo("Fast SP", true));
|
||||
AddHandler(Rdb_FixedAudio, new CSettingTypeRomDatabase("Fixed Audio", true));
|
||||
AddHandler(Rdb_SyncViaAudio, new CSettingTypeRomDatabase("Audio-Sync Audio", true));
|
||||
AddHandler(Rdb_FixedAudio, new CSettingTypeRomDatabase("Fixed Audio", Default_FixedAudio));
|
||||
AddHandler(Rdb_SyncViaAudio, new CSettingTypeRomDatabase("Audio-Sync Audio", Default_SyncViaAudio));
|
||||
AddHandler(Rdb_RspAudioSignal, new CSettingTypeRDBYesNo("Audio Signal", false));
|
||||
AddHandler(Rdb_TLB_VAddrStart, new CSettingTypeRomDatabase("TLB: Vaddr Start", (uint32_t)0));
|
||||
AddHandler(Rdb_TLB_VAddrLen, new CSettingTypeRomDatabase("TLB: Vaddr Len", (uint32_t)0));
|
||||
|
@ -163,8 +173,8 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
|||
AddHandler(Rdb_SMM_ValidFunc, new CSettingTypeRomDatabase("SMM-FUNC", true));
|
||||
AddHandler(Rdb_GameCheatFix, new CSettingTypeRomDatabaseIndex("Cheat", "", ""));
|
||||
AddHandler(Rdb_GameCheatFixPlugin, new CSettingTypeRomDatabaseIndex("CheatPlugin", "", ""));
|
||||
AddHandler(Rdb_ViRefreshRate, new CSettingTypeRomDatabase("ViRefresh", (uint32_t)1500));
|
||||
AddHandler(Rdb_AiCountPerBytes, new CSettingTypeRomDatabase("AiCountPerBytes", (uint32_t)0));
|
||||
AddHandler(Rdb_ViRefreshRate, new CSettingTypeRomDatabase("ViRefresh", Default_ViRefreshRate));
|
||||
AddHandler(Rdb_AiCountPerBytes, new CSettingTypeRomDatabase("AiCountPerBytes", Default_AiCountPerBytes));
|
||||
AddHandler(Rdb_AudioResetOnLoad, new CSettingTypeRDBYesNo("AudioResetOnLoad", false));
|
||||
AddHandler(Rdb_AllowROMWrites, new CSettingTypeRDBYesNo("AllowROMWrites", false));
|
||||
AddHandler(Rdb_CRC_Recalc, new CSettingTypeRDBYesNo("CRC-Recalc", false));
|
||||
|
@ -370,7 +380,7 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
|||
AddHandler(Plugin_AUDIO_CurVer, new CSettingTypeApplication("Plugin", "Audio Dll Ver", ""));
|
||||
AddHandler(Plugin_CONT_CurVer, new CSettingTypeApplication("Plugin", "Controller Dll Ver", ""));
|
||||
|
||||
AddHandler(Plugin_UseHleGfx, new CSettingTypeApplication("RSP", "HLE GFX", true));
|
||||
AddHandler(Plugin_UseHleGfx, new CSettingTypeApplication("RSP", "HLE GFX", Default_UseHleGfx));
|
||||
AddHandler(Plugin_UseHleAudio, new CSettingTypeApplication("RSP", "HLE Audio", false));
|
||||
AddHandler(Plugin_EnableAudio, new CSettingTypeApplication("Audio", "Enable Audio", true));
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ bool CSettingTypeRDBRDRamSize::Load (uint32_t Index, uint32_t & Value ) const
|
|||
LoadDefault(Index,ulValue);
|
||||
}
|
||||
Value = 0x400000;
|
||||
if (ulValue == 8 || !existsInRdb) //default to 8MB if ROM is not in the RDB
|
||||
if (ulValue == 8 || ulValue == 0x800000 || !existsInRdb) //default to 8MB if ROM is not in the RDB
|
||||
{
|
||||
Value = 0x800000;
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ void CSettingTypeRDBRDRamSize::LoadDefault (uint32_t /*Index*/, bool & /*Value*/
|
|||
|
||||
void CSettingTypeRDBRDRamSize::LoadDefault (uint32_t /*Index*/, uint32_t & Value ) const
|
||||
{
|
||||
Value = m_DefaultValue;
|
||||
Value = m_DefaultSetting == Default_Constant ? m_DefaultValue : g_Settings->LoadDword(m_DefaultSetting);
|
||||
}
|
||||
|
||||
void CSettingTypeRDBRDRamSize::LoadDefault (uint32_t /*Index*/, std::string & /*Value*/ ) const
|
||||
|
|
|
@ -135,34 +135,44 @@ void CSettingTypeRomDatabase::GameChanged(void * /*Data */)
|
|||
}
|
||||
}
|
||||
|
||||
bool CSettingTypeRomDatabase::Load(uint32_t & Value) const
|
||||
{
|
||||
bool bRes = false;
|
||||
if (m_VideoSetting)
|
||||
{
|
||||
bRes = m_VideoIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
else if (m_AudioSetting)
|
||||
{
|
||||
bRes = m_AudioIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
bRes = m_SettingsIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
return bRes;
|
||||
}
|
||||
|
||||
bool CSettingTypeRomDatabase::Load(uint32_t Index, bool & Value) const
|
||||
{
|
||||
uint32_t temp_value = Value;
|
||||
bool bRes = Load(Index, temp_value);
|
||||
Value = temp_value != 0;
|
||||
return bRes;
|
||||
if (Load(temp_value))
|
||||
{
|
||||
Value = temp_value != 0;
|
||||
true;
|
||||
}
|
||||
LoadDefault(Index, Value);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CSettingTypeRomDatabase::Load(uint32_t Index, uint32_t & Value) const
|
||||
{
|
||||
bool bRes = false;
|
||||
if (m_VideoSetting)
|
||||
{
|
||||
bRes = m_VideoIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
else if (m_AudioSetting)
|
||||
{
|
||||
bRes = m_AudioIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
bRes = m_SettingsIniFile->GetNumber(Section(), m_KeyName.c_str(), Value, Value);
|
||||
}
|
||||
if (!bRes)
|
||||
if (!Load(Value))
|
||||
{
|
||||
LoadDefault(Index, Value);
|
||||
}
|
||||
return bRes;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CSettingTypeRomDatabase::Load(uint32_t Index, std::string & Value) const
|
||||
|
@ -211,13 +221,7 @@ void CSettingTypeRomDatabase::LoadDefault(uint32_t /*Index*/, uint32_t & Value)
|
|||
{
|
||||
if (m_DefaultSetting != Default_None)
|
||||
{
|
||||
if (m_DefaultSetting == Default_Constant)
|
||||
{
|
||||
Value = m_DefaultValue;
|
||||
}
|
||||
else {
|
||||
g_Settings->LoadDword(m_DefaultSetting, Value);
|
||||
}
|
||||
Value = m_DefaultSetting == Default_Constant ? m_DefaultValue : g_Settings->LoadDword(m_DefaultSetting);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -76,4 +76,6 @@ private:
|
|||
CSettingTypeRomDatabase(); // Disable default constructor
|
||||
CSettingTypeRomDatabase(const CSettingTypeRomDatabase&); // Disable copy constructor
|
||||
CSettingTypeRomDatabase& operator=(const CSettingTypeRomDatabase&); // Disable assignment
|
||||
|
||||
bool Load(uint32_t & Value) const;
|
||||
};
|
||||
|
|
|
@ -61,6 +61,17 @@ enum SettingID
|
|||
Setting_CurrentLanguage,
|
||||
Setting_EnableDisk,
|
||||
|
||||
//Default Settings
|
||||
Default_RDRamSize,
|
||||
Default_UseHleGfx,
|
||||
Default_UseTlb,
|
||||
Default_ViRefreshRate,
|
||||
Default_AiCountPerBytes,
|
||||
Default_CounterFactor,
|
||||
Default_32Bit,
|
||||
Default_SyncViaAudio,
|
||||
Default_FixedAudio,
|
||||
|
||||
//RDB Settings
|
||||
Rdb_GoodName,
|
||||
Rdb_SaveChip,
|
||||
|
|
|
@ -111,6 +111,7 @@
|
|||
<ClCompile Include="UserInterface\RomInformationClass.cpp" />
|
||||
<ClCompile Include="UserInterface\SettingsConfig.cpp" />
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-AdvancedOptions.cpp" />
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Defaults.cpp" />
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Directories.cpp" />
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-General.cpp" />
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-Plugin.cpp" />
|
||||
|
@ -174,6 +175,7 @@
|
|||
<ClInclude Include="UserInterface\RomInformationClass.h" />
|
||||
<ClInclude Include="UserInterface\SettingsConfig.h" />
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-AdvancedOptions.h" />
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Defaults.h" />
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Directories.h" />
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-General.h" />
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-Plugin.h" />
|
||||
|
|
|
@ -216,6 +216,9 @@
|
|||
<ClCompile Include="UserInterface\Notification.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Defaults.cpp">
|
||||
<Filter>Source Files\User Interface Source\Settings Source</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="UserInterface\resource.h">
|
||||
|
@ -413,6 +416,9 @@
|
|||
<ClInclude Include="UserInterface\Notification.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Defaults.h">
|
||||
<Filter>Header Files\User Interface Headers\Settings Header</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\divider.cur">
|
||||
|
|
|
@ -27,7 +27,6 @@ class CAdvancedOptionsPage :
|
|||
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
|
||||
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
|
||||
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
|
||||
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD = IDD_Settings_Advanced };
|
||||
|
@ -35,12 +34,12 @@ class CAdvancedOptionsPage :
|
|||
public:
|
||||
CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay );
|
||||
|
||||
LanguageStringID PageTitle ( void ) { return TAB_ADVANCED; }
|
||||
void HidePage ( void );
|
||||
void ShowPage ( void );
|
||||
void ApplySettings ( bool UpdateScreen );
|
||||
bool EnableReset ( void );
|
||||
void ResetPage ( void );
|
||||
LanguageStringID PageTitle ( void ) { return TAB_ADVANCED; }
|
||||
void HidePage ( void );
|
||||
void ShowPage ( void );
|
||||
void ApplySettings ( bool UpdateScreen );
|
||||
bool EnableReset ( void );
|
||||
void ResetPage ( void );
|
||||
|
||||
private:
|
||||
void SelectIplDir(UINT Code, int id, HWND ctl);
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
/****************************************************************************
|
||||
* *
|
||||
* 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"
|
||||
|
||||
CDefaultsOptionsPage::CDefaultsOptionsPage(HWND hParent, const RECT & rcDispay)
|
||||
{
|
||||
if (!Create(hParent, rcDispay))
|
||||
{
|
||||
return;
|
||||
}
|
||||
UpdatePageSettings();
|
||||
|
||||
SetDlgItemTextW(m_hWnd, IDC_MEMORY_SIZE_TEXT, wGS(ROM_MEM_SIZE).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_HLE_GFX, wGS(PLUG_HLE_GFX).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_USE_TLB, wGS(ROM_USE_TLB).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_VIREFESH_TEXT, wGS(ROM_VIREFRESH).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_COUNTPERBYTE_TEXT, wGS(ROM_COUNTPERBYTE).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_COUNTFACT_TEXT, wGS(ROM_COUNTER_FACTOR).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_ROM_32BIT, wGS(ROM_32BIT).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_ROM_FIXEDAUDIO, wGS(ROM_FIXED_AUDIO).c_str());
|
||||
SetDlgItemTextW(m_hWnd, IDC_SYNC_AUDIO, wGS(ROM_SYNC_AUDIO).c_str());
|
||||
|
||||
CModifiedComboBox * ComboBox;
|
||||
ComboBox = AddModComboBox(GetDlgItem(IDC_RDRAM_SIZE), Default_RDRamSize);
|
||||
if (ComboBox)
|
||||
{
|
||||
ComboBox->SetTextField(GetDlgItem(IDC_MEMORY_SIZE_TEXT));
|
||||
ComboBox->AddItemW(wGS(RDRAM_4MB).c_str(), 0x400000);
|
||||
ComboBox->AddItemW(wGS(RDRAM_8MB).c_str(), 0x800000);
|
||||
}
|
||||
|
||||
ComboBox = AddModComboBox(GetDlgItem(IDC_COUNTFACT), Default_CounterFactor);
|
||||
if (ComboBox)
|
||||
{
|
||||
ComboBox->SetTextField(GetDlgItem(IDC_COUNTFACT_TEXT));
|
||||
ComboBox->AddItemW(wGS(NUMBER_1).c_str(), 1);
|
||||
ComboBox->AddItemW(wGS(NUMBER_2).c_str(), 2);
|
||||
ComboBox->AddItemW(wGS(NUMBER_3).c_str(), 3);
|
||||
ComboBox->AddItemW(wGS(NUMBER_4).c_str(), 4);
|
||||
ComboBox->AddItemW(wGS(NUMBER_5).c_str(), 5);
|
||||
ComboBox->AddItemW(wGS(NUMBER_6).c_str(), 6);
|
||||
}
|
||||
|
||||
CModifiedEditBox * TxtBox = AddModTextBox(GetDlgItem(IDC_VIREFRESH), Default_ViRefreshRate, false);
|
||||
TxtBox->SetTextField(GetDlgItem(IDC_VIREFESH_TEXT));
|
||||
TxtBox = AddModTextBox(GetDlgItem(IDC_COUNTPERBYTE), Default_AiCountPerBytes, false);
|
||||
TxtBox->SetTextField(GetDlgItem(IDC_COUNTPERBYTE_TEXT));
|
||||
|
||||
AddModCheckBox(GetDlgItem(IDC_HLE_GFX), Default_UseHleGfx);
|
||||
AddModCheckBox(GetDlgItem(IDC_USE_TLB), Default_UseTlb);
|
||||
AddModCheckBox(GetDlgItem(IDC_ROM_32BIT), Default_32Bit);
|
||||
AddModCheckBox(GetDlgItem(IDC_SYNC_AUDIO), Default_SyncViaAudio);
|
||||
AddModCheckBox(GetDlgItem(IDC_ROM_FIXEDAUDIO), Default_FixedAudio);
|
||||
|
||||
UpdatePageSettings();
|
||||
}
|
||||
|
||||
void CDefaultsOptionsPage::HidePage()
|
||||
{
|
||||
ShowWindow(SW_HIDE);
|
||||
}
|
||||
|
||||
void CDefaultsOptionsPage::ShowPage()
|
||||
{
|
||||
ShowWindow(SW_SHOW);
|
||||
}
|
||||
|
||||
void CDefaultsOptionsPage::ApplySettings(bool UpdateScreen)
|
||||
{
|
||||
CSettingsPageImpl<CDefaultsOptionsPage>::ApplySettings(UpdateScreen);
|
||||
}
|
||||
|
||||
bool CDefaultsOptionsPage::EnableReset(void)
|
||||
{
|
||||
if (CSettingsPageImpl<CDefaultsOptionsPage>::EnableReset()) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
void CDefaultsOptionsPage::ResetPage()
|
||||
{
|
||||
CSettingsPageImpl<CDefaultsOptionsPage>::ResetPage();
|
||||
}
|
||||
|
||||
void CDefaultsOptionsPage::UpdatePageSettings(void)
|
||||
{
|
||||
m_InUpdateSettings = true;
|
||||
CSettingsPageImpl<CDefaultsOptionsPage>::UpdatePageSettings();
|
||||
m_InUpdateSettings = false;
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
/****************************************************************************
|
||||
* *
|
||||
* 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 *
|
||||
* *
|
||||
****************************************************************************/
|
||||
#pragma once
|
||||
|
||||
class CDefaultsOptionsPage :
|
||||
public CSettingsPageImpl<CDefaultsOptionsPage>,
|
||||
public CSettingsPage
|
||||
{
|
||||
BEGIN_MSG_MAP_EX(CDefaultsOptionsPage)
|
||||
COMMAND_ID_HANDLER_EX(IDC_HLE_GFX, CheckBoxChanged)
|
||||
COMMAND_ID_HANDLER_EX(IDC_USE_TLB, CheckBoxChanged)
|
||||
COMMAND_ID_HANDLER_EX(IDC_ROM_32BIT, CheckBoxChanged)
|
||||
COMMAND_ID_HANDLER_EX(IDC_SYNC_AUDIO, CheckBoxChanged)
|
||||
COMMAND_ID_HANDLER_EX(IDC_ROM_FIXEDAUDIO, CheckBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_RDRAM_SIZE, LBN_SELCHANGE, ComboBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_COUNTFACT, LBN_SELCHANGE, ComboBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_VIREFRESH, EN_UPDATE, EditBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_COUNTPERBYTE, EN_UPDATE, EditBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_RDRAM_SIZE, EN_UPDATE, EditBoxChanged)
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD = IDD_Settings_Defaults };
|
||||
|
||||
public:
|
||||
CDefaultsOptionsPage(HWND hParent, const RECT & rcDispay );
|
||||
|
||||
LanguageStringID PageTitle ( void ) { return TAB_DEFAULTS; }
|
||||
void HidePage ( void );
|
||||
void ShowPage ( void );
|
||||
void ApplySettings ( bool UpdateScreen );
|
||||
bool EnableReset ( void );
|
||||
void ResetPage ( void );
|
||||
|
||||
private:
|
||||
void UpdatePageSettings(void);
|
||||
|
||||
bool m_InUpdateSettings;
|
||||
};
|
|
@ -31,7 +31,7 @@ class CGameGeneralPage :
|
|||
COMMAND_HANDLER_EX(IDC_VIREFRESH, EN_UPDATE, EditBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_COUNTPERBYTE, EN_UPDATE, EditBoxChanged)
|
||||
COMMAND_HANDLER_EX(IDC_OVER_CLOCK_MODIFIER, EN_UPDATE, EditBoxChanged)
|
||||
END_MSG_MAP()
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD = IDD_Settings_GameGeneral };
|
||||
|
||||
|
|
|
@ -582,6 +582,7 @@ public:
|
|||
};
|
||||
|
||||
#include "SettingsPage-AdvancedOptions.h"
|
||||
#include "SettingsPage-Defaults.h"
|
||||
#include "SettingsPage-Directories.h"
|
||||
#include "SettingsPage-Game-General.h"
|
||||
#include "SettingsPage-Game-Plugin.h"
|
||||
|
|
|
@ -8,6 +8,7 @@ CSettingConfig::CSettingConfig(bool bJustGameSetting /* = false */) :
|
|||
m_CurrentPage(NULL),
|
||||
m_GeneralOptionsPage(NULL),
|
||||
m_AdvancedPage(NULL),
|
||||
m_DefaultsPage(NULL),
|
||||
m_GameConfig(bJustGameSetting)
|
||||
{
|
||||
}
|
||||
|
@ -55,7 +56,7 @@ bool CSettingConfig::UpdateAdvanced(bool AdvancedMode, HTREEITEM hItem)
|
|||
while (hItem)
|
||||
{
|
||||
CSettingsPage * Page = (CSettingsPage *)m_PagesTreeList.GetItemData(hItem);
|
||||
if (!AdvancedMode && Page == m_AdvancedPage)
|
||||
if (!AdvancedMode && (Page == m_AdvancedPage || Page == m_DefaultsPage))
|
||||
{
|
||||
m_PagesTreeList.DeleteItem(hItem);
|
||||
return true;
|
||||
|
@ -63,6 +64,7 @@ bool CSettingConfig::UpdateAdvanced(bool AdvancedMode, HTREEITEM hItem)
|
|||
if (AdvancedMode && Page == m_GeneralOptionsPage)
|
||||
{
|
||||
m_PagesTreeList.InsertItemW(TVIF_TEXT | TVIF_PARAM, wGS(m_AdvancedPage->PageTitle()).c_str(), 0, 0, 0, 0, (ULONG)m_AdvancedPage, hItem, TVI_FIRST);
|
||||
m_PagesTreeList.InsertItemW(TVIF_TEXT | TVIF_PARAM, wGS(m_DefaultsPage->PageTitle()).c_str(), 0, 0, 0, 0, (ULONG)m_DefaultsPage, hItem, TVI_FIRST);
|
||||
return true;
|
||||
}
|
||||
if (UpdateAdvanced(AdvancedMode, m_PagesTreeList.GetChildItem(hItem)))
|
||||
|
@ -127,10 +129,12 @@ LRESULT CSettingConfig::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*
|
|||
|
||||
m_GeneralOptionsPage = new CGeneralOptionsPage(this, this->m_hWnd, rcSettingInfo);
|
||||
m_AdvancedPage = new CAdvancedOptionsPage(this->m_hWnd, rcSettingInfo);
|
||||
m_DefaultsPage = new CDefaultsOptionsPage(this->m_hWnd, rcSettingInfo);
|
||||
|
||||
SettingsSection = new CConfigSettingSection(wGS(TAB_OPTIONS).c_str());
|
||||
SettingsSection->AddPage(m_GeneralOptionsPage);
|
||||
SettingsSection->AddPage(m_AdvancedPage);
|
||||
SettingsSection->AddPage(m_DefaultsPage);
|
||||
SettingsSection->AddPage(new COptionsDirectoriesPage(this->m_hWnd, rcSettingInfo));
|
||||
m_Sections.push_back(SettingsSection);
|
||||
|
||||
|
@ -177,7 +181,7 @@ LRESULT CSettingConfig::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*
|
|||
for (size_t i = 0; i < Section->GetPageCount(); i++)
|
||||
{
|
||||
CSettingsPage * Page = Section->GetPage(i);
|
||||
if (HideAdvanced && Page == m_AdvancedPage)
|
||||
if (HideAdvanced && (Page == m_AdvancedPage || Page == m_DefaultsPage))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,6 @@ private:
|
|||
|
||||
CTreeViewCtrl m_PagesTreeList;
|
||||
SETTING_SECTIONS m_Sections;
|
||||
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage;
|
||||
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage, *m_DefaultsPage;
|
||||
bool m_GameConfig;
|
||||
};
|
||||
|
|
|
@ -1256,6 +1256,26 @@ BEGIN
|
|||
EDITTEXT IDC_DD48_EDIT,87,226,39,10,ES_UPPERCASE | ES_AUTOHSCROLL,WS_EX_RIGHT
|
||||
END
|
||||
|
||||
IDD_Settings_Defaults DIALOGEX 0, 0, 218, 169
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
|
||||
EXSTYLE WS_EX_CONTROLPARENT
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Memory Size:",IDC_MEMORY_SIZE_TEXT,6,8,91,10
|
||||
COMBOBOX IDC_RDRAM_SIZE,102,6,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Use High Level GFX",IDC_HLE_GFX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,81,91,10
|
||||
CONTROL "Use TLB",IDC_USE_TLB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,58,91,10
|
||||
LTEXT "Vi Refresh Rate:",IDC_VIREFESH_TEXT,6,32,91,10
|
||||
EDITTEXT IDC_VIREFRESH,102,30,109,12,ES_AUTOHSCROLL | ES_NUMBER
|
||||
LTEXT "AI Count Per Byte:",IDC_COUNTPERBYTE_TEXT,6,45,91,10
|
||||
EDITTEXT IDC_COUNTPERBYTE,102,44,109,12,ES_AUTOHSCROLL | ES_NUMBER
|
||||
LTEXT "Counter Factor:",IDC_COUNTFACT_TEXT,6,19,91,10
|
||||
COMBOBOX IDC_COUNTFACT,102,18,109,49,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "32 Bit Engine",IDC_ROM_32BIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,58,91,10
|
||||
CONTROL "Fixed Audio Timing",IDC_ROM_FIXEDAUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,69,91,10
|
||||
CONTROL "Sync using Audio",IDC_SYNC_AUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,69,91,10
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
@ -1669,6 +1689,14 @@ BEGIN
|
|||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 219
|
||||
END
|
||||
|
||||
IDD_Settings_Defaults, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 4
|
||||
RIGHTMARGIN, 216
|
||||
TOPMARGIN, 4
|
||||
BOTTOMMARGIN, 163
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
@ -1848,6 +1876,11 @@ BEGIN
|
|||
0, 0, 0, 0
|
||||
END
|
||||
|
||||
IDD_Settings_Defaults AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
#define IDD_Debugger_RegRDRAM 198
|
||||
#define IDD_Debugger_RegVI 199
|
||||
#define IDD_Debugger_RegDD 200
|
||||
#define IDD_Settings_Defaults 201
|
||||
#define IDC_MENU_ITEM_TEXT 1000
|
||||
#define IDC_CLOSE_BUTTON 1001
|
||||
#define IDC_LIST2 1003
|
||||
|
@ -637,7 +638,7 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 194
|
||||
#define _APS_NEXT_RESOURCE_VALUE 195
|
||||
#define _APS_NEXT_COMMAND_VALUE 40043
|
||||
#define _APS_NEXT_CONTROL_VALUE 1445
|
||||
#define _APS_NEXT_SYMED_VALUE 102
|
||||
|
|
|
@ -10,3 +10,4 @@ Windows 2.4
|
|||
- Add Shygoo's debugger code
|
||||
- New audio plugin
|
||||
- large address aware
|
||||
- Ability to change defaults
|
||||
|
|
Loading…
Reference in New Issue