diff --git a/Lang/English.pj.Lang b/Lang/English.pj.Lang index 4c58cc557..e0f335f57 100644 --- a/Lang/English.pj.Lang +++ b/Lang/English.pj.Lang @@ -248,6 +248,7 @@ #472# "Disk Save Type:" #473# "Enable Enhancements" #474# "Show Status Bar" +#475# "Exit full screen on lose focus" //ROM Browser Tab #480# "Max # of ROMs remembered (0-10):" diff --git a/Source/Project64-core/Multilanguage.h b/Source/Project64-core/Multilanguage.h index 87c0b9c3f..21c90a06c 100644 --- a/Source/Project64-core/Multilanguage.h +++ b/Source/Project64-core/Multilanguage.h @@ -271,6 +271,7 @@ enum LanguageStringID OPTION_DISKSAVETYPE = 472, OPTION_ENABLE_ENHANCEMENTS = 473, OPTION_SHOW_STATUS_BAR = 474, + OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS = 475, //Rom Browser Tab RB_MAX_ROMS = 480, diff --git a/Source/Project64-core/Multilanguage/LanguageClass.cpp b/Source/Project64-core/Multilanguage/LanguageClass.cpp index 8bcb429cb..e43268fd0 100644 --- a/Source/Project64-core/Multilanguage/LanguageClass.cpp +++ b/Source/Project64-core/Multilanguage/LanguageClass.cpp @@ -237,6 +237,7 @@ void CLanguage::LoadDefaultStrings(void) DEF_STR(OPTION_DISKSAVETYPE, "Disk Save Type:"); DEF_STR(OPTION_ENABLE_ENHANCEMENTS, "Enable Enhancements"); DEF_STR(OPTION_SHOW_STATUS_BAR, "Show Status Bar"); + DEF_STR(OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS, "Exit full screen on lose focus"); //ROM Browser Tab DEF_STR(RB_MAX_ROMS, "Max # of ROMs remembered (0-10):"); diff --git a/Source/Project64/Settings/UISettings.cpp b/Source/Project64/Settings/UISettings.cpp index c7cb826b2..396bb4e61 100644 --- a/Source/Project64/Settings/UISettings.cpp +++ b/Source/Project64/Settings/UISettings.cpp @@ -40,6 +40,7 @@ void RegisterUISettings (void) AddUISetting(UserInterface_MainWindowLeft, new CSettingTypeApplication("Main Window", "Left", Default_None)); AddUISetting(UserInterface_AlwaysOnTop, new CSettingTypeApplication("Settings", "Always on top", (uint32_t)false)); AddUISetting(UserInterface_ShowStatusBar, new CSettingTypeApplication("Settings", "Show Status Bar", true)); + AddUISetting(UserInterface_ExitFullscreenOnLoseFocus, new CSettingTypeApplication("Settings", "Exit Full Screen On Lose Focus", true)); AddUISetting(RomBrowser_Enabled, new CSettingTypeApplication("Rom Browser", "Rom Browser", true)); AddUISetting(RomBrowser_ColoumnsChanged, new CSettingTypeTempBool(false)); diff --git a/Source/Project64/Settings/UISettings.h b/Source/Project64/Settings/UISettings.h index 36c06dd47..24eae5e47 100644 --- a/Source/Project64/Settings/UISettings.h +++ b/Source/Project64/Settings/UISettings.h @@ -31,6 +31,7 @@ enum UISettingID UserInterface_MainWindowLeft, UserInterface_AlwaysOnTop, UserInterface_ShowStatusBar, + UserInterface_ExitFullscreenOnLoseFocus, RomBrowser_Enabled, RomBrowser_ColoumnsChanged, diff --git a/Source/Project64/UserInterface/MainWindow.cpp b/Source/Project64/UserInterface/MainWindow.cpp index aeb2361a0..eff550257 100644 --- a/Source/Project64/UserInterface/MainWindow.cpp +++ b/Source/Project64/UserInterface/MainWindow.cpp @@ -843,7 +843,7 @@ LRESULT CALLBACK CMainGui::MainGui_Proc(HWND hWnd, DWORD uMsg, DWORD wParam, DWO } if (_this->m_bMainWindow && bCPURunning()) { - if (!fActive && UISettingsLoadBool(UserInterface_InFullScreen)) + if (!fActive && UISettingsLoadBool(UserInterface_InFullScreen) && UISettingsLoadBool(UserInterface_ExitFullscreenOnLoseFocus)) { Notify().WindowMode(); if (bAutoSleep() && g_BaseSystem) diff --git a/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.cpp b/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.cpp index 4dc73c09d..010300b78 100644 --- a/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.cpp +++ b/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.cpp @@ -19,6 +19,7 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay) SetDlgItemText(IDC_ENABLE_ENHANCEMENTS, wGS(OPTION_ENABLE_ENHANCEMENTS).c_str()); SetDlgItemText(IDC_DISPLAY_FRAMERATE, wGS(OPTION_CHANGE_FR).c_str()); SetDlgItemText(IDC_SHOW_STATUS_BAR, wGS(OPTION_SHOW_STATUS_BAR).c_str()); + SetDlgItemText(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS, wGS(OPTION_EXIT_FULLSCREEN_ON_LOSE_FOCUS).c_str()); AddModCheckBox(GetDlgItem(IDC_START_ON_ROM_OPEN), Setting_AutoStart); AddModCheckBox(GetDlgItem(IDC_ZIP), Setting_AutoZipInstantSave); @@ -30,6 +31,7 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay) AddModCheckBox(GetDlgItem(IDC_ENABLE_ENHANCEMENTS), Setting_Enhancement); AddModCheckBox(GetDlgItem(IDC_DISPLAY_FRAMERATE), UserInterface_DisplayFrameRate); AddModCheckBox(GetDlgItem(IDC_SHOW_STATUS_BAR), (SettingID)UserInterface_ShowStatusBar); + AddModCheckBox(GetDlgItem(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS), (SettingID)UserInterface_ExitFullscreenOnLoseFocus); CModifiedComboBox * ComboBox; ComboBox = AddModComboBox(GetDlgItem(IDC_FRAME_DISPLAY_TYPE), UserInterface_FrameDisplayType); diff --git a/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.h b/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.h index 6463f4015..64c32cbf3 100644 --- a/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.h +++ b/Source/Project64/UserInterface/Settings/SettingsPage-AdvancedOptions.h @@ -16,6 +16,7 @@ class CAdvancedOptionsPage : COMMAND_ID_HANDLER_EX(IDC_UNIQUE_SAVE_DIR, CheckBoxChanged) COMMAND_ID_HANDLER_EX(IDC_DISPLAY_FRAMERATE, CheckBoxChanged) COMMAND_ID_HANDLER_EX(IDC_SHOW_STATUS_BAR, CheckBoxChanged) + COMMAND_ID_HANDLER_EX(IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS, CheckBoxChanged) COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged) END_MSG_MAP() diff --git a/Source/Project64/UserInterface/UIResources.rc b/Source/Project64/UserInterface/UIResources.rc index ad0e0e48f..be0a2840e 100644 --- a/Source/Project64/UserInterface/UIResources.rc +++ b/Source/Project64/UserInterface/UIResources.rc @@ -348,7 +348,8 @@ BEGIN CONTROL "Unique Game Save Directory",IDC_UNIQUE_SAVE_DIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,113,189,10 CONTROL "Frame rate display",IDC_DISPLAY_FRAMERATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,128,86,10 COMBOBOX IDC_FRAME_DISPLAY_TYPE,101,129,99,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - CONTROL "Show Status Bar",IDC_SHOW_STATUS_BAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,144,189,10 + CONTROL "Show Status Bar",IDC_SHOW_STATUS_BAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,142,189,10 + CONTROL "Exit Fullscreen on Lose Focus",IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,156,189,10 END IDD_Settings_ShellInt DIALOGEX 0, 0, 231, 206 diff --git a/Source/Project64/UserInterface/resource.h b/Source/Project64/UserInterface/resource.h index 1a2d5ff94..912ea5af0 100644 --- a/Source/Project64/UserInterface/resource.h +++ b/Source/Project64/UserInterface/resource.h @@ -335,6 +335,7 @@ #define IDC_R14_EDIT 1147 #define IDC_SHOW_STATUS_BAR 1147 #define IDC_R15_EDIT 1148 +#define IDC_EXIT_FULLSCREEN_ON_LOSE_FOCUS 1148 #define IDC_SHELL_INT_TEXT 1149 #define IDC_COUNTFACT 1151 #define IDC_MEMORY_SIZE_TEXT 1153