diff --git a/Source/Project64-core/Multilanguage/LanguageClass.cpp b/Source/Project64-core/Multilanguage/LanguageClass.cpp index 602e7fa74..2cce8c19b 100644 --- a/Source/Project64-core/Multilanguage/LanguageClass.cpp +++ b/Source/Project64-core/Multilanguage/LanguageClass.cpp @@ -293,7 +293,7 @@ void CLanguage::LoadDefaultStrings(void) DEF_STR(ROM_COUNTPERBYTE, "AI count per byte:"); DEF_STR(ROM_32BIT, "32-bit engine:"); DEF_STR(ROM_DELAY_DP, "Delay DP interrupt:"); - DEF_STR(ROM_OVER_CLOCK_MODIFIER, "Over Clock Modifier:"); + DEF_STR(ROM_OVER_CLOCK_MODIFIER, "Overclock modifier:"); DEF_STR(ROM_UNALIGNED_DMA, "Unaligned DMA"); //Core Styles diff --git a/Source/Project64-core/Settings.cpp b/Source/Project64-core/Settings.cpp index 107bad459..28898cbad 100644 --- a/Source/Project64-core/Settings.cpp +++ b/Source/Project64-core/Settings.cpp @@ -250,6 +250,7 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory) AddHandler(Game_Transferpak_ROM, new CSettingTypeGame("Tpak-ROM-dir", Default_None)); AddHandler(Game_Transferpak_Sav, new CSettingTypeGame("Tpak-Sav-dir", Default_None)); AddHandler(Game_LoadSaveAtStart, new CSettingTypeTempBool(false)); + AddHandler(Game_OverClockModifier, new CSettingTypeGame("OverClockModifier", (uint32_t)1)); AddHandler(Game_FullSpeed, new CSettingTypeTempBool(true, "Full Speed")); AddHandler(Game_UnalignedDMA, new CSettingTypeGame("Unaligned DMA", Rdb_UnalignedDMA)); diff --git a/Source/Project64-core/Settings/GameSettings.cpp b/Source/Project64-core/Settings/GameSettings.cpp index e34430dfd..e33ef0f9e 100644 --- a/Source/Project64-core/Settings/GameSettings.cpp +++ b/Source/Project64-core/Settings/GameSettings.cpp @@ -71,11 +71,11 @@ void CGameSettings::RefreshGameSettings() m_LookUpMode = g_Settings->LoadDword(Game_FuncLookupMode); m_SystemType = (SYSTEM_TYPE)g_Settings->LoadDword(Game_SystemType); m_CpuType = (CPU_TYPE)g_Settings->LoadDword(Game_CpuType); + m_OverClockModifier = g_Settings->LoadDword(Game_OverClockModifier); if (m_CountPerOp == 0) { m_CountPerOp = 2; } - m_OverClockModifier = 1; if (g_Settings->LoadBool(Setting_Enhancement)) { for (int i = 0; i < CCheats::MaxCheats; i++) diff --git a/Source/Project64-core/Settings/SettingsID.h b/Source/Project64-core/Settings/SettingsID.h index 6c05094a1..c96a97399 100644 --- a/Source/Project64-core/Settings/SettingsID.h +++ b/Source/Project64-core/Settings/SettingsID.h @@ -168,6 +168,7 @@ enum SettingID Game_Transferpak_ROM, Game_Transferpak_Sav, Game_LoadSaveAtStart, + Game_OverClockModifier, Game_FullSpeed, Game_UnalignedDMA, diff --git a/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.cpp b/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.cpp index f8b590a00..1c9bbc985 100644 --- a/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.cpp +++ b/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.cpp @@ -28,6 +28,7 @@ CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay) SetDlgItemTextW(m_hWnd, IDC_COUNTFACT_TEXT, wGS(ROM_COUNTER_FACTOR).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_OVER_CLOCK_MODIFIER_TEXT, wGS(ROM_OVER_CLOCK_MODIFIER).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()); @@ -87,6 +88,9 @@ CGameGeneralPage::CGameGeneralPage(HWND hParent, const RECT & rcDispay) TxtBox = AddModTextBox(GetDlgItem(IDC_COUNTPERBYTE), Game_AiCountPerBytes, false); TxtBox->SetTextField(GetDlgItem(IDC_COUNTPERBYTE_TEXT)); + TxtBox = AddModTextBox(GetDlgItem(IDC_OVER_CLOCK_MODIFIER), Game_OverClockModifier, false); + TxtBox->SetTextField(GetDlgItem(IDC_OVER_CLOCK_MODIFIER_TEXT)); + if (!g_Settings->LoadBool(Setting_SyncViaAudioEnabled)) { GetDlgItem(IDC_SYNC_AUDIO).EnableWindow(false); diff --git a/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.h b/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.h index 46be06945..45ff60a71 100644 --- a/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.h +++ b/Source/Project64/UserInterface/Settings/SettingsPage-Game-General.h @@ -31,6 +31,7 @@ class CGameGeneralPage : COMMAND_ID_HANDLER_EX(IDC_UNALIGNED_DMA, CheckBoxChanged) 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() enum { IDD = IDD_Settings_GameGeneral }; diff --git a/Source/Project64/UserInterface/UIResources.rc b/Source/Project64/UserInterface/UIResources.rc index 24feaea9a..dbe2151bd 100644 --- a/Source/Project64/UserInterface/UIResources.rc +++ b/Source/Project64/UserInterface/UIResources.rc @@ -217,15 +217,17 @@ BEGIN EDITTEXT IDC_VIREFRESH,102,75,109,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "AI Count Per Byte:",IDC_COUNTPERBYTE_TEXT,6,90,91,10 EDITTEXT IDC_COUNTPERBYTE,102,88,109,12,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,3,103,208,1 - CONTROL "32 Bit Engine",IDC_ROM_32BIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,108,91,10 - CONTROL "Use TLB",IDC_USE_TLB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,108,91,10 - CONTROL "Fixed Audio Timing",IDC_ROM_FIXEDAUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,119,91,10 - CONTROL "Sync using Audio",IDC_SYNC_AUDIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,119,91,10 - CONTROL "Delay DP Interrupt",IDC_DELAY_DP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,130,91,10 - CONTROL "Delay SI Interrupt",IDC_DELAY_SI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,130,91,10 - CONTROL "RSP Audio Signal",IDC_AUDIO_SIGNAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,141,91,10 - CONTROL "Unaligned DMA",IDC_UNALIGNED_DMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,141,91,10 + LTEXT "Overclock Modifier", IDC_OVER_CLOCK_MODIFIER_TEXT, 6, 103, 91, 10 + EDITTEXT IDC_OVER_CLOCK_MODIFIER, 102, 101, 109, 12, ES_AUTOHSCROLL | ES_NUMBER + CONTROL "", IDC_STATIC, "Static", SS_BLACKFRAME | SS_SUNKEN, 3, 116, 208, 1 + CONTROL "32 Bit Engine", IDC_ROM_32BIT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 6, 121, 91, 10 + CONTROL "Use TLB", IDC_USE_TLB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 102, 121, 91, 10 + CONTROL "Fixed Audio Timing", IDC_ROM_FIXEDAUDIO, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 6, 132, 91, 10 + CONTROL "Sync using Audio", IDC_SYNC_AUDIO, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 102, 132, 91, 10 + CONTROL "Delay DP Interrupt", IDC_DELAY_DP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 6, 143, 91, 10 + CONTROL "Delay SI Interrupt", IDC_DELAY_SI, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 102, 143, 91, 10 + CONTROL "RSP Audio Signal", IDC_AUDIO_SIGNAL, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 6, 154, 91, 10 + CONTROL "Unaligned DMA", IDC_UNALIGNED_DMA, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 102, 154, 91, 10 END IDD_Settings_Accelerator DIALOGEX 0, 0, 218, 183 @@ -1294,7 +1296,7 @@ BEGIN EDITTEXT IDC_CODE_NAME,37,7,162,12,ES_AUTOHSCROLL CONTROL "Game Shark Code",IDC_GAMESHARK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,20,74,10 PUSHBUTTON "Edit",IDC_BTN_GAMESHARK,90,20,51,10 - CONTROL "Overclock Modifier:",IDC_OVERCLOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,31,74,10 + CONTROL "Overclock modifier:",IDC_OVERCLOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,31,74,10 EDITTEXT IDC_OVER_CLOCK_MODIFIER,90,31,109,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "On by default",IDC_AUTOON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,42,74,10 GROUPBOX "Notes",IDC_ENHANCEMENTNOTES,7,139,192,43 diff --git a/Source/Project64/UserInterface/resource.h b/Source/Project64/UserInterface/resource.h index a7e4a9163..952bd3718 100644 --- a/Source/Project64/UserInterface/resource.h +++ b/Source/Project64/UserInterface/resource.h @@ -269,6 +269,7 @@ #define IDC_DIR_FRAME1 1101 #define IDC_ROM_FASTSP 1101 #define IDC_INFO 1101 +#define IDC_OVER_CLOCK_MODIFIER_TEXT 1101 #define IDC_AUDIO_SIGNAL 1102 #define IDC_DIR_TEXTURE_FRAME 1102 #define IDC_ENTER_CODE 1102