[Project64] Add ability to change defaults
This commit is contained in:
parent
a22512c9ca
commit
d531abc885
|
@ -200,6 +200,7 @@
|
||||||
#409# "Keyboard Shortcuts"
|
#409# "Keyboard Shortcuts"
|
||||||
#410# "Status"
|
#410# "Status"
|
||||||
#411# "Recompiler"
|
#411# "Recompiler"
|
||||||
|
#412# "Defaults"
|
||||||
|
|
||||||
//Plugin Dialog
|
//Plugin Dialog
|
||||||
#420# "About"
|
#420# "About"
|
||||||
|
|
|
@ -229,7 +229,8 @@ enum LanguageStringID
|
||||||
TAB_ROMNOTES = 408,
|
TAB_ROMNOTES = 408,
|
||||||
TAB_SHORTCUTS = 409,
|
TAB_SHORTCUTS = 409,
|
||||||
TAB_ROMSTATUS = 410,
|
TAB_ROMSTATUS = 410,
|
||||||
TAB_RECOMPILER = 411, //Added in 1.7.0.50
|
TAB_RECOMPILER = 411,
|
||||||
|
TAB_DEFAULTS = 412,
|
||||||
|
|
||||||
//Plugin Dialog
|
//Plugin Dialog
|
||||||
PLUG_ABOUT = 420,
|
PLUG_ABOUT = 420,
|
||||||
|
|
|
@ -198,6 +198,7 @@ void CLanguage::LoadDefaultStrings(void)
|
||||||
DEF_STR(TAB_SHORTCUTS, "Keyboard Shortcuts");
|
DEF_STR(TAB_SHORTCUTS, "Keyboard Shortcuts");
|
||||||
DEF_STR(TAB_ROMSTATUS, "Status");
|
DEF_STR(TAB_ROMSTATUS, "Status");
|
||||||
DEF_STR(TAB_RECOMPILER, "Recompiler");
|
DEF_STR(TAB_RECOMPILER, "Recompiler");
|
||||||
|
DEF_STR(TAB_DEFAULTS, "Defaults");
|
||||||
|
|
||||||
//Plugin Dialog
|
//Plugin Dialog
|
||||||
DEF_STR(PLUG_ABOUT, "About");
|
DEF_STR(PLUG_ABOUT, "About");
|
||||||
|
|
|
@ -128,6 +128,16 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
||||||
AddHandler(Setting_LanguageDirDefault, new CSettingTypeRelativePath("Lang", ""));
|
AddHandler(Setting_LanguageDirDefault, new CSettingTypeRelativePath("Lang", ""));
|
||||||
AddHandler(Setting_LanguageDir, new CSettingTypeApplicationPath("Lang Directory", "Directory", Setting_LanguageDirDefault));
|
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_GoodName, new CSettingTypeRomDatabase("Good Name", Game_GameName));
|
||||||
AddHandler(Rdb_SaveChip, new CSettingTypeRDBSaveChip("Save Type", (uint32_t)SaveChip_Auto));
|
AddHandler(Rdb_SaveChip, new CSettingTypeRDBSaveChip("Save Type", (uint32_t)SaveChip_Auto));
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
@ -135,15 +145,15 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
|
||||||
#else
|
#else
|
||||||
AddHandler(Rdb_CpuType, new CSettingTypeRDBCpuType("CPU Type", CPU_Recompiler));
|
AddHandler(Rdb_CpuType, new CSettingTypeRDBCpuType("CPU Type", CPU_Recompiler));
|
||||||
#endif
|
#endif
|
||||||
AddHandler(Rdb_RDRamSize, new CSettingTypeRDBRDRamSize("RDRAM Size", 0x400000));
|
AddHandler(Rdb_RDRamSize, new CSettingTypeRDBRDRamSize("RDRAM Size", Default_RDRamSize));
|
||||||
AddHandler(Rdb_CounterFactor, new CSettingTypeRomDatabase("Counter Factor", (uint32_t)2));
|
AddHandler(Rdb_CounterFactor, new CSettingTypeRomDatabase("Counter Factor", Default_CounterFactor));
|
||||||
AddHandler(Rdb_UseTlb, new CSettingTypeRDBYesNo("Use TLB", true));
|
AddHandler(Rdb_UseTlb, new CSettingTypeRDBYesNo("Use TLB", Default_UseTlb));
|
||||||
AddHandler(Rdb_DelayDP, new CSettingTypeRDBYesNo("Delay DP", true));
|
AddHandler(Rdb_DelayDP, new CSettingTypeRDBYesNo("Delay DP", true));
|
||||||
AddHandler(Rdb_DelaySi, new CSettingTypeRDBYesNo("Delay SI", false));
|
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_FastSP, new CSettingTypeRDBYesNo("Fast SP", true));
|
||||||
AddHandler(Rdb_FixedAudio, new CSettingTypeRomDatabase("Fixed Audio", true));
|
AddHandler(Rdb_FixedAudio, new CSettingTypeRomDatabase("Fixed Audio", Default_FixedAudio));
|
||||||
AddHandler(Rdb_SyncViaAudio, new CSettingTypeRomDatabase("Audio-Sync Audio", true));
|
AddHandler(Rdb_SyncViaAudio, new CSettingTypeRomDatabase("Audio-Sync Audio", Default_SyncViaAudio));
|
||||||
AddHandler(Rdb_RspAudioSignal, new CSettingTypeRDBYesNo("Audio Signal", false));
|
AddHandler(Rdb_RspAudioSignal, new CSettingTypeRDBYesNo("Audio Signal", false));
|
||||||
AddHandler(Rdb_TLB_VAddrStart, new CSettingTypeRomDatabase("TLB: Vaddr Start", (uint32_t)0));
|
AddHandler(Rdb_TLB_VAddrStart, new CSettingTypeRomDatabase("TLB: Vaddr Start", (uint32_t)0));
|
||||||
AddHandler(Rdb_TLB_VAddrLen, new CSettingTypeRomDatabase("TLB: Vaddr Len", (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_SMM_ValidFunc, new CSettingTypeRomDatabase("SMM-FUNC", true));
|
||||||
AddHandler(Rdb_GameCheatFix, new CSettingTypeRomDatabaseIndex("Cheat", "", ""));
|
AddHandler(Rdb_GameCheatFix, new CSettingTypeRomDatabaseIndex("Cheat", "", ""));
|
||||||
AddHandler(Rdb_GameCheatFixPlugin, new CSettingTypeRomDatabaseIndex("CheatPlugin", "", ""));
|
AddHandler(Rdb_GameCheatFixPlugin, new CSettingTypeRomDatabaseIndex("CheatPlugin", "", ""));
|
||||||
AddHandler(Rdb_ViRefreshRate, new CSettingTypeRomDatabase("ViRefresh", (uint32_t)1500));
|
AddHandler(Rdb_ViRefreshRate, new CSettingTypeRomDatabase("ViRefresh", Default_ViRefreshRate));
|
||||||
AddHandler(Rdb_AiCountPerBytes, new CSettingTypeRomDatabase("AiCountPerBytes", (uint32_t)0));
|
AddHandler(Rdb_AiCountPerBytes, new CSettingTypeRomDatabase("AiCountPerBytes", Default_AiCountPerBytes));
|
||||||
AddHandler(Rdb_AudioResetOnLoad, new CSettingTypeRDBYesNo("AudioResetOnLoad", false));
|
AddHandler(Rdb_AudioResetOnLoad, new CSettingTypeRDBYesNo("AudioResetOnLoad", false));
|
||||||
AddHandler(Rdb_AllowROMWrites, new CSettingTypeRDBYesNo("AllowROMWrites", false));
|
AddHandler(Rdb_AllowROMWrites, new CSettingTypeRDBYesNo("AllowROMWrites", false));
|
||||||
AddHandler(Rdb_CRC_Recalc, new CSettingTypeRDBYesNo("CRC-Recalc", 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_AUDIO_CurVer, new CSettingTypeApplication("Plugin", "Audio Dll Ver", ""));
|
||||||
AddHandler(Plugin_CONT_CurVer, new CSettingTypeApplication("Plugin", "Controller 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_UseHleAudio, new CSettingTypeApplication("RSP", "HLE Audio", false));
|
||||||
AddHandler(Plugin_EnableAudio, new CSettingTypeApplication("Audio", "Enable Audio", true));
|
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);
|
LoadDefault(Index,ulValue);
|
||||||
}
|
}
|
||||||
Value = 0x400000;
|
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;
|
Value = 0x800000;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ void CSettingTypeRDBRDRamSize::LoadDefault (uint32_t /*Index*/, bool & /*Value*/
|
||||||
|
|
||||||
void CSettingTypeRDBRDRamSize::LoadDefault (uint32_t /*Index*/, uint32_t & Value ) const
|
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
|
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
|
bool CSettingTypeRomDatabase::Load(uint32_t Index, bool & Value) const
|
||||||
{
|
{
|
||||||
uint32_t temp_value = Value;
|
uint32_t temp_value = Value;
|
||||||
bool bRes = Load(Index, temp_value);
|
if (Load(temp_value))
|
||||||
Value = temp_value != 0;
|
{
|
||||||
return bRes;
|
Value = temp_value != 0;
|
||||||
|
true;
|
||||||
|
}
|
||||||
|
LoadDefault(Index, Value);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSettingTypeRomDatabase::Load(uint32_t Index, uint32_t & Value) const
|
bool CSettingTypeRomDatabase::Load(uint32_t Index, uint32_t & Value) const
|
||||||
{
|
{
|
||||||
bool bRes = false;
|
if (!Load(Value))
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
LoadDefault(Index, Value);
|
LoadDefault(Index, Value);
|
||||||
}
|
return false;
|
||||||
return bRes;
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSettingTypeRomDatabase::Load(uint32_t Index, std::string & Value) const
|
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_None)
|
||||||
{
|
{
|
||||||
if (m_DefaultSetting == Default_Constant)
|
Value = m_DefaultSetting == Default_Constant ? m_DefaultValue : g_Settings->LoadDword(m_DefaultSetting);
|
||||||
{
|
|
||||||
Value = m_DefaultValue;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
g_Settings->LoadDword(m_DefaultSetting, Value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,4 +76,6 @@ private:
|
||||||
CSettingTypeRomDatabase(); // Disable default constructor
|
CSettingTypeRomDatabase(); // Disable default constructor
|
||||||
CSettingTypeRomDatabase(const CSettingTypeRomDatabase&); // Disable copy constructor
|
CSettingTypeRomDatabase(const CSettingTypeRomDatabase&); // Disable copy constructor
|
||||||
CSettingTypeRomDatabase& operator=(const CSettingTypeRomDatabase&); // Disable assignment
|
CSettingTypeRomDatabase& operator=(const CSettingTypeRomDatabase&); // Disable assignment
|
||||||
|
|
||||||
|
bool Load(uint32_t & Value) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -61,6 +61,17 @@ enum SettingID
|
||||||
Setting_CurrentLanguage,
|
Setting_CurrentLanguage,
|
||||||
Setting_EnableDisk,
|
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 Settings
|
||||||
Rdb_GoodName,
|
Rdb_GoodName,
|
||||||
Rdb_SaveChip,
|
Rdb_SaveChip,
|
||||||
|
|
|
@ -111,6 +111,7 @@
|
||||||
<ClCompile Include="UserInterface\RomInformationClass.cpp" />
|
<ClCompile Include="UserInterface\RomInformationClass.cpp" />
|
||||||
<ClCompile Include="UserInterface\SettingsConfig.cpp" />
|
<ClCompile Include="UserInterface\SettingsConfig.cpp" />
|
||||||
<ClCompile Include="UserInterface\Settings\SettingsPage-AdvancedOptions.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-Directories.cpp" />
|
||||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-General.cpp" />
|
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-General.cpp" />
|
||||||
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-Plugin.cpp" />
|
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-Plugin.cpp" />
|
||||||
|
@ -174,6 +175,7 @@
|
||||||
<ClInclude Include="UserInterface\RomInformationClass.h" />
|
<ClInclude Include="UserInterface\RomInformationClass.h" />
|
||||||
<ClInclude Include="UserInterface\SettingsConfig.h" />
|
<ClInclude Include="UserInterface\SettingsConfig.h" />
|
||||||
<ClInclude Include="UserInterface\Settings\SettingsPage-AdvancedOptions.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-Directories.h" />
|
||||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-General.h" />
|
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-General.h" />
|
||||||
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-Plugin.h" />
|
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-Plugin.h" />
|
||||||
|
|
|
@ -216,6 +216,9 @@
|
||||||
<ClCompile Include="UserInterface\Notification.cpp">
|
<ClCompile Include="UserInterface\Notification.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="UserInterface\Settings\SettingsPage-Defaults.cpp">
|
||||||
|
<Filter>Source Files\User Interface Source\Settings Source</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="UserInterface\resource.h">
|
<ClInclude Include="UserInterface\resource.h">
|
||||||
|
@ -413,6 +416,9 @@
|
||||||
<ClInclude Include="UserInterface\Notification.h">
|
<ClInclude Include="UserInterface\Notification.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="UserInterface\Settings\SettingsPage-Defaults.h">
|
||||||
|
<Filter>Header Files\User Interface Headers\Settings Header</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="res\divider.cur">
|
<None Include="res\divider.cur">
|
||||||
|
|
|
@ -27,7 +27,6 @@ class CAdvancedOptionsPage :
|
||||||
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
|
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
|
||||||
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
|
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
|
||||||
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
|
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
|
||||||
|
|
||||||
END_MSG_MAP()
|
END_MSG_MAP()
|
||||||
|
|
||||||
enum { IDD = IDD_Settings_Advanced };
|
enum { IDD = IDD_Settings_Advanced };
|
||||||
|
@ -35,12 +34,12 @@ class CAdvancedOptionsPage :
|
||||||
public:
|
public:
|
||||||
CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay );
|
CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay );
|
||||||
|
|
||||||
LanguageStringID PageTitle ( void ) { return TAB_ADVANCED; }
|
LanguageStringID PageTitle ( void ) { return TAB_ADVANCED; }
|
||||||
void HidePage ( void );
|
void HidePage ( void );
|
||||||
void ShowPage ( void );
|
void ShowPage ( void );
|
||||||
void ApplySettings ( bool UpdateScreen );
|
void ApplySettings ( bool UpdateScreen );
|
||||||
bool EnableReset ( void );
|
bool EnableReset ( void );
|
||||||
void ResetPage ( void );
|
void ResetPage ( void );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void SelectIplDir(UINT Code, int id, HWND ctl);
|
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_VIREFRESH, EN_UPDATE, EditBoxChanged)
|
||||||
COMMAND_HANDLER_EX(IDC_COUNTPERBYTE, EN_UPDATE, EditBoxChanged)
|
COMMAND_HANDLER_EX(IDC_COUNTPERBYTE, EN_UPDATE, EditBoxChanged)
|
||||||
COMMAND_HANDLER_EX(IDC_OVER_CLOCK_MODIFIER, EN_UPDATE, EditBoxChanged)
|
COMMAND_HANDLER_EX(IDC_OVER_CLOCK_MODIFIER, EN_UPDATE, EditBoxChanged)
|
||||||
END_MSG_MAP()
|
END_MSG_MAP()
|
||||||
|
|
||||||
enum { IDD = IDD_Settings_GameGeneral };
|
enum { IDD = IDD_Settings_GameGeneral };
|
||||||
|
|
||||||
|
|
|
@ -582,6 +582,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "SettingsPage-AdvancedOptions.h"
|
#include "SettingsPage-AdvancedOptions.h"
|
||||||
|
#include "SettingsPage-Defaults.h"
|
||||||
#include "SettingsPage-Directories.h"
|
#include "SettingsPage-Directories.h"
|
||||||
#include "SettingsPage-Game-General.h"
|
#include "SettingsPage-Game-General.h"
|
||||||
#include "SettingsPage-Game-Plugin.h"
|
#include "SettingsPage-Game-Plugin.h"
|
||||||
|
|
|
@ -8,6 +8,7 @@ CSettingConfig::CSettingConfig(bool bJustGameSetting /* = false */) :
|
||||||
m_CurrentPage(NULL),
|
m_CurrentPage(NULL),
|
||||||
m_GeneralOptionsPage(NULL),
|
m_GeneralOptionsPage(NULL),
|
||||||
m_AdvancedPage(NULL),
|
m_AdvancedPage(NULL),
|
||||||
|
m_DefaultsPage(NULL),
|
||||||
m_GameConfig(bJustGameSetting)
|
m_GameConfig(bJustGameSetting)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -55,7 +56,7 @@ bool CSettingConfig::UpdateAdvanced(bool AdvancedMode, HTREEITEM hItem)
|
||||||
while (hItem)
|
while (hItem)
|
||||||
{
|
{
|
||||||
CSettingsPage * Page = (CSettingsPage *)m_PagesTreeList.GetItemData(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);
|
m_PagesTreeList.DeleteItem(hItem);
|
||||||
return true;
|
return true;
|
||||||
|
@ -63,6 +64,7 @@ bool CSettingConfig::UpdateAdvanced(bool AdvancedMode, HTREEITEM hItem)
|
||||||
if (AdvancedMode && Page == m_GeneralOptionsPage)
|
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_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;
|
return true;
|
||||||
}
|
}
|
||||||
if (UpdateAdvanced(AdvancedMode, m_PagesTreeList.GetChildItem(hItem)))
|
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_GeneralOptionsPage = new CGeneralOptionsPage(this, this->m_hWnd, rcSettingInfo);
|
||||||
m_AdvancedPage = new CAdvancedOptionsPage(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 = new CConfigSettingSection(wGS(TAB_OPTIONS).c_str());
|
||||||
SettingsSection->AddPage(m_GeneralOptionsPage);
|
SettingsSection->AddPage(m_GeneralOptionsPage);
|
||||||
SettingsSection->AddPage(m_AdvancedPage);
|
SettingsSection->AddPage(m_AdvancedPage);
|
||||||
|
SettingsSection->AddPage(m_DefaultsPage);
|
||||||
SettingsSection->AddPage(new COptionsDirectoriesPage(this->m_hWnd, rcSettingInfo));
|
SettingsSection->AddPage(new COptionsDirectoriesPage(this->m_hWnd, rcSettingInfo));
|
||||||
m_Sections.push_back(SettingsSection);
|
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++)
|
for (size_t i = 0; i < Section->GetPageCount(); i++)
|
||||||
{
|
{
|
||||||
CSettingsPage * Page = Section->GetPage(i);
|
CSettingsPage * Page = Section->GetPage(i);
|
||||||
if (HideAdvanced && Page == m_AdvancedPage)
|
if (HideAdvanced && (Page == m_AdvancedPage || Page == m_DefaultsPage))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,6 @@ private:
|
||||||
|
|
||||||
CTreeViewCtrl m_PagesTreeList;
|
CTreeViewCtrl m_PagesTreeList;
|
||||||
SETTING_SECTIONS m_Sections;
|
SETTING_SECTIONS m_Sections;
|
||||||
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage;
|
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage, *m_DefaultsPage;
|
||||||
bool m_GameConfig;
|
bool m_GameConfig;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1256,6 +1256,26 @@ BEGIN
|
||||||
EDITTEXT IDC_DD48_EDIT,87,226,39,10,ES_UPPERCASE | ES_AUTOHSCROLL,WS_EX_RIGHT
|
EDITTEXT IDC_DD48_EDIT,87,226,39,10,ES_UPPERCASE | ES_AUTOHSCROLL,WS_EX_RIGHT
|
||||||
END
|
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
|
TOPMARGIN, 7
|
||||||
BOTTOMMARGIN, 219
|
BOTTOMMARGIN, 219
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_Settings_Defaults, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 4
|
||||||
|
RIGHTMARGIN, 216
|
||||||
|
TOPMARGIN, 4
|
||||||
|
BOTTOMMARGIN, 163
|
||||||
|
END
|
||||||
END
|
END
|
||||||
#endif // APSTUDIO_INVOKED
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
@ -1848,6 +1876,11 @@ BEGIN
|
||||||
0, 0, 0, 0
|
0, 0, 0, 0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_Settings_Defaults AFX_DIALOG_LAYOUT
|
||||||
|
BEGIN
|
||||||
|
0
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
|
|
@ -72,6 +72,7 @@
|
||||||
#define IDD_Debugger_RegRDRAM 198
|
#define IDD_Debugger_RegRDRAM 198
|
||||||
#define IDD_Debugger_RegVI 199
|
#define IDD_Debugger_RegVI 199
|
||||||
#define IDD_Debugger_RegDD 200
|
#define IDD_Debugger_RegDD 200
|
||||||
|
#define IDD_Settings_Defaults 201
|
||||||
#define IDC_MENU_ITEM_TEXT 1000
|
#define IDC_MENU_ITEM_TEXT 1000
|
||||||
#define IDC_CLOSE_BUTTON 1001
|
#define IDC_CLOSE_BUTTON 1001
|
||||||
#define IDC_LIST2 1003
|
#define IDC_LIST2 1003
|
||||||
|
@ -637,7 +638,7 @@
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#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_COMMAND_VALUE 40043
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1445
|
#define _APS_NEXT_CONTROL_VALUE 1445
|
||||||
#define _APS_NEXT_SYMED_VALUE 102
|
#define _APS_NEXT_SYMED_VALUE 102
|
||||||
|
|
|
@ -10,3 +10,4 @@ Windows 2.4
|
||||||
- Add Shygoo's debugger code
|
- Add Shygoo's debugger code
|
||||||
- New audio plugin
|
- New audio plugin
|
||||||
- large address aware
|
- large address aware
|
||||||
|
- Ability to change defaults
|
||||||
|
|
Loading…
Reference in New Issue