mirror of
https://github.com/halpz/re3.git
synced 2025-07-14 22:38:12 +00:00
Merge pull request #499 from aap/master
Better handling of video modes, windowed mode, fixes to glfw
This commit is contained in:
@ -3045,7 +3045,24 @@ CMenuManager::LoadSettings()
|
||||
if (strncmp(Ver, TopLineEmptyFile, sizeof(TopLineEmptyFile) - 1)) {
|
||||
CFileMgr::Seek(fileHandle, 0, 0);
|
||||
ControlsManager.LoadSettings(fileHandle);
|
||||
#ifdef IMPROVED_VIDEOMODE
|
||||
CFileMgr::Read(fileHandle, (char*)&m_nPrefsWidth, sizeof(m_nPrefsWidth));
|
||||
CFileMgr::Read(fileHandle, (char*)&m_nPrefsHeight, sizeof(m_nPrefsHeight));
|
||||
CFileMgr::Read(fileHandle, (char*)&m_nPrefsDepth, sizeof(m_nPrefsDepth));
|
||||
CFileMgr::Read(fileHandle, (char*)&m_nPrefsWindowed, sizeof(m_nPrefsWindowed));
|
||||
CFileMgr::Read(fileHandle, (char*)&m_nPrefsSubsystem, sizeof(m_nPrefsSubsystem));
|
||||
if(m_nPrefsWindowed != 0 && m_nPrefsWindowed != 1){
|
||||
// garbage data from vanilla settings file
|
||||
// let skeleton find something
|
||||
m_nPrefsWidth = 0;
|
||||
m_nPrefsHeight = 0;
|
||||
m_nPrefsDepth = 0;
|
||||
m_nPrefsWindowed = 0;
|
||||
m_nPrefsSubsystem = 0;
|
||||
}
|
||||
#else
|
||||
CFileMgr::Read(fileHandle, gString, 20);
|
||||
#endif
|
||||
CFileMgr::Read(fileHandle, gString, 20);
|
||||
CFileMgr::Read(fileHandle, gString, 4);
|
||||
CFileMgr::Read(fileHandle, gString, 4);
|
||||
@ -3127,7 +3144,15 @@ CMenuManager::SaveSettings()
|
||||
int fileHandle = CFileMgr::OpenFile("gta3.set", "w+");
|
||||
if (fileHandle) {
|
||||
ControlsManager.SaveSettings(fileHandle);
|
||||
#ifdef IMPROVED_VIDEOMODE
|
||||
CFileMgr::Write(fileHandle, (char*)&m_nPrefsWidth, sizeof(m_nPrefsWidth));
|
||||
CFileMgr::Write(fileHandle, (char*)&m_nPrefsHeight, sizeof(m_nPrefsHeight));
|
||||
CFileMgr::Write(fileHandle, (char*)&m_nPrefsDepth, sizeof(m_nPrefsDepth));
|
||||
CFileMgr::Write(fileHandle, (char*)&m_nPrefsWindowed, sizeof(m_nPrefsWindowed));
|
||||
CFileMgr::Write(fileHandle, (char*)&m_nPrefsSubsystem, sizeof(m_nPrefsSubsystem));
|
||||
#else
|
||||
CFileMgr::Write(fileHandle, RubbishString, 20);
|
||||
#endif
|
||||
CFileMgr::Write(fileHandle, RubbishString, 20);
|
||||
CFileMgr::Write(fileHandle, RubbishString, 4);
|
||||
CFileMgr::Write(fileHandle, RubbishString, 4);
|
||||
|
@ -533,6 +533,14 @@ public:
|
||||
int32 m_nCurrSaveSlot;
|
||||
int32 m_nScreenChangeDelayTimer;
|
||||
|
||||
#ifdef IMPROVED_VIDEOMODE
|
||||
int32 m_nPrefsWidth;
|
||||
int32 m_nPrefsHeight;
|
||||
int32 m_nPrefsDepth;
|
||||
int32 m_nPrefsWindowed;
|
||||
int32 m_nPrefsSubsystem;
|
||||
#endif
|
||||
|
||||
public:
|
||||
bool GetIsMenuActive() {return !!m_bMenuActive;}
|
||||
|
||||
@ -645,7 +653,9 @@ public:
|
||||
// uint8 GetNumberOfMenuOptions();
|
||||
};
|
||||
|
||||
#ifndef IMPROVED_VIDEOMODE
|
||||
static_assert(sizeof(CMenuManager) == 0x564, "CMenuManager: error");
|
||||
#endif
|
||||
|
||||
extern CMenuManager FrontEndMenuManager;
|
||||
extern unsigned long _dwOperatingSystemVersion;
|
@ -192,6 +192,7 @@ enum Config {
|
||||
#define MORE_LANGUAGES // Add more translations to the game
|
||||
#define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch)
|
||||
#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
||||
#define IMPROVED_VIDEOMODE // save and load videomode parameters instead of a magic number
|
||||
//#define USE_TEXTURE_POOL
|
||||
//#define OPENAL
|
||||
|
||||
|
Reference in New Issue
Block a user