Merge pull request #1871 from RadWolfie/enable-loader-ui

LOADER: Enable Loader's UI and Set to Default
This commit is contained in:
PatrickvL 2020-04-15 09:02:26 +02:00 committed by GitHub
commit 10b7d06be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 10 deletions

View File

@ -59,7 +59,7 @@ uint16_t g_LibVersion_DSOUND = 0;
// * 4: (LukeUsher), added network settings
// * 5: (ergo720), added new input gui settings and revision to core
///////////////////////////
const unsigned int settings_version = 5;
const unsigned int settings_version = 6;
Settings* g_Settings = nullptr;
@ -89,7 +89,7 @@ static struct {
const char* AllowAdminPrivilege = "AllowAdminPrivilege";
const char* LoggedModules = "LoggedModules";
const char* LogLevel = "LogLevel";
const char* LoaderExperiment = "LoaderExperiment";
const char* LoaderExecutable = "LoaderExecutable";
} sect_core_keys;
static const char* section_video = "video";
@ -351,7 +351,7 @@ bool Settings::LoadConfig()
index++;
}
m_core.loaderExperiment = m_si.GetBoolValue(section_core, sect_core_keys.LoaderExperiment, /*Default=*/false);
m_core.bUseLoaderExec = m_si.GetBoolValue(section_core, sect_core_keys.LoaderExecutable, /*Default=*/true);
// ==== Core End ============
@ -528,7 +528,7 @@ bool Settings::Save(std::string file_path)
m_si.SetValue(section_core, sect_core_keys.LoggedModules, stream.str().c_str(), nullptr, false);
}
m_si.SetBoolValue(section_core, sect_core_keys.LoaderExperiment, m_core.loaderExperiment, nullptr, true);
m_si.SetBoolValue(section_core, sect_core_keys.LoaderExecutable, m_core.bUseLoaderExec, nullptr, true);
// ==== Core End ============
@ -872,6 +872,9 @@ void Settings::RemoveLegacyConfigs(unsigned int CurrentRevision)
m_si.Delete(section_controller_port, nullptr, true);
break;
case 5:
m_si.Delete(section_core, "LoaderExperiment", true);
break;
case 6:
default:
break;
}

View File

@ -97,7 +97,7 @@ public:
bool allowAdminPrivilege;
unsigned int LoggedModules[NUM_INTEGERS_LOG];
int LogLevel = 1;
bool loaderExperiment;
bool bUseLoaderExec;
bool Reserved3 = 0;
bool Reserved4 = 0;
int Reserved99[10] = { 0 };

View File

@ -1242,6 +1242,13 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
}
break;
#endif
case ID_USELOADEREXEC:
{
g_Settings->m_core.bUseLoaderExec = !g_Settings->m_core.bUseLoaderExec;
RefreshMenus();
}
break;
case ID_EMULATION_START:
if (m_Xbe != nullptr)
{
@ -1718,8 +1725,8 @@ void WndMain::RefreshMenus()
//chk_flag = (g_Settings->m_core.FlagsLLE & LLE_USB) ? MF_CHECKED : MF_UNCHECKED; // Reenable this when LLE USB actually works
//CheckMenuItem(settings_menu, ID_EMULATION_LLE_USB, chk_flag);
chk_flag = g_Settings->m_core.loaderExperiment ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_EXPERIMENTAL_LOADERPROJECT, chk_flag);
chk_flag = g_Settings->m_core.bUseLoaderExec ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_USELOADEREXEC, chk_flag);
chk_flag = (g_Settings->m_hacks.DisablePixelShaders) ? MF_CHECKED : MF_UNCHECKED;
CheckMenuItem(settings_menu, ID_HACKS_DISABLEPIXELSHADERS, chk_flag);
@ -2235,7 +2242,7 @@ void WndMain::StartEmulation(HWND hwndParent, DebuggerState LocalDebuggerState /
char szExeFileName[MAX_PATH];
GetModuleFileName(GetModuleHandle(nullptr), szExeFileName, MAX_PATH);
if (g_Settings->m_core.loaderExperiment) {
if (g_Settings->m_core.bUseLoaderExec) {
PathRemoveFileSpec(szExeFileName);
PathAppend(szExeFileName, "\\cxbxr-ldr.exe");
}

View File

@ -667,7 +667,6 @@ BEGIN
BEGIN
MENUITEM "LLE &GPU", ID_EMULATION_LLE_GPU,MFT_STRING,MFS_GRAYED
END
MENUITEM "Loader Project", ID_EXPERIMENTAL_LOADERPROJECT,MFT_STRING,MFS_GRAYED
END
POPUP "Hacks", 65535,MFT_STRING,MFS_ENABLED
BEGIN
@ -678,6 +677,7 @@ BEGIN
MENUITEM "Disable Pixel Shaders", ID_HACKS_DISABLEPIXELSHADERS,MFT_STRING,MFS_ENABLED
MENUITEM "Skip rdtsc patching", ID_HACKS_SKIPRDTSCPATCHING,MFT_STRING,MFS_ENABLED
END
MENUITEM "Use Loader Executable", ID_USELOADEREXEC,MFT_STRING,MFS_ENABLED
MENUITEM "Allow Admin Privilege", ID_SETTINGS_ALLOWADMINPRIVILEGE,MFT_STRING,MFS_ENABLED
MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "Reset To Defaults", ID_SETTINGS_INITIALIZE,MFT_STRING,MFS_ENABLED

View File

@ -362,7 +362,7 @@
#define ID_SETTINGS_CONFIG_NETWORK 40111
#define ID_SYNC_CONFIG_INPUT 40112
#define ID_SETTINGS_EXPERIMENTAL 40113
#define ID_EXPERIMENTAL_LOADERPROJECT 40114
#define ID_USELOADEREXEC 40114
#define IDC_STATIC -1
// Next default values for new objects