Added LLE flags to EmuShared

This commit is contained in:
PatrickvL 2016-12-29 15:57:18 +01:00
parent 5b40e9adfe
commit 8e4a9397bc
3 changed files with 33 additions and 5 deletions

View File

@ -47,7 +47,17 @@
FILE _iob[] = { *stdin, *stdout, *stderr };
extern "C" FILE * __cdecl __iob_func(void) { return _iob; }
WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m_Xbe(0), m_bXbeChanged(false), m_bCanStart(true), m_hwndChild(NULL), m_KrnlDebug(DM_NONE), m_CxbxDebug(DM_NONE), m_dwRecentXbe(0)
WndMain::WndMain(HINSTANCE x_hInstance) :
Wnd(x_hInstance),
m_bCreated(false),
m_Xbe(0),
m_bXbeChanged(false),
m_bCanStart(true),
m_hwndChild(NULL),
m_KrnlDebug(DM_NONE),
m_CxbxDebug(DM_NONE),
m_FlagsLLE(0),
m_dwRecentXbe(0)
{
// initialize members
{
@ -83,10 +93,13 @@ WndMain::WndMain(HINSTANCE x_hInstance) : Wnd(x_hInstance), m_bCreated(false), m
if(RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Cxbx-Reloaded", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_QUERY_VALUE, NULL, &hKey, &dwDisposition) == ERROR_SUCCESS)
{
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegQueryValueEx(hKey, "CxbxDebug", NULL, &dwType, (PBYTE)&m_CxbxDebug, &dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegQueryValueEx(hKey, "LLEFLAGS", NULL, &dwType, (PBYTE)&m_FlagsLLE, &dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegQueryValueEx(hKey, "CxbxDebug", NULL, &dwType, (PBYTE)&m_CxbxDebug, &dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegQueryValueEx(hKey, "KrnlDebug", NULL, &dwType, (PBYTE)&m_KrnlDebug, &dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
@ -143,7 +156,10 @@ WndMain::~WndMain()
free(m_szRecentXbe[v]);
}
dwType = REG_DWORD; dwSize = sizeof(DWORD);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegSetValueEx(hKey, "LLEFLAGS", 0, dwType, (PBYTE)&m_FlagsLLE, dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);
RegSetValueEx(hKey, "CxbxDebug", 0, dwType, (PBYTE)&m_CxbxDebug, dwSize);
dwType = REG_DWORD; dwSize = sizeof(DWORD);

View File

@ -158,6 +158,11 @@ class WndMain : public Wnd
DebugMode m_CxbxDebug;
DebugMode m_KrnlDebug;
// ******************************************************************
// * LLE flags
// ******************************************************************
int m_FlagsLLE;
// ******************************************************************
// * debug output filenames
// ******************************************************************

View File

@ -80,6 +80,12 @@ class EmuShared : public Mutex
CXBXKRNL_API void GetXbePath( char *path) { Lock(); strcpy(path, m_XbePath); Unlock(); }
CXBXKRNL_API void SetXbePath(const char *path) { Lock(); strcpy(m_XbePath, path); Unlock(); }
// ******************************************************************
// * LLE Flags Accessors
// ******************************************************************
CXBXKRNL_API void GetFlagsLLE( int *flags) { Lock(); *flags = m_FlagsLLE; Unlock(); }
CXBXKRNL_API void SetFlagsLLE(const int *flags) { Lock(); m_FlagsLLE = *flags; Unlock(); }
private:
// ******************************************************************
// * Shared configuration
@ -87,6 +93,7 @@ class EmuShared : public Mutex
XBController m_XBController;
XBVideo m_XBVideo;
char m_XbePath[MAX_PATH];
int m_FlagsLLE;
};
// ******************************************************************