From 48cec4a7862f40de2d0a31c065b1b24cf52d3548 Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 18 Feb 2021 22:40:32 +0100 Subject: [PATCH] add NoMovies ini option, rename gDrawVersionText, always save ini after loading --- src/core/Frontend.cpp | 7 +++---- src/core/config.h | 3 ++- src/core/main.cpp | 7 +++++-- src/core/main.h | 8 ++++++++ src/core/re3.cpp | 15 +++++++++------ src/skel/win/win.cpp | 12 +++++++++--- 6 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 7d378e7f..4f3f31a4 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -3825,11 +3825,10 @@ CMenuManager::LoadSettings() #ifdef LOAD_INI_SETTINGS if (LoadINISettings()) { LoadINIControllerSettings(); - } else { - // no re3.ini, create it - SaveINISettings(); - SaveINIControllerSettings(); } + // if no re3.ini, create it, or update it with new values + SaveINISettings(); + SaveINIControllerSettings(); #endif m_PrefsVsync = m_PrefsVsyncDisp; diff --git a/src/core/config.h b/src/core/config.h index 6619be68..ebb26b39 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -223,7 +223,6 @@ enum Config { // not in master builds #define VALIDATE_SAVE_SIZE - #define NO_MOVIES // disable intro videos #define DEBUGMENU #endif @@ -241,6 +240,8 @@ enum Config { #define COMPATIBLE_SAVES // this allows changing structs while keeping saves compatible #define LOAD_INI_SETTINGS // as the name suggests. fundamental for CUSTOM_FRONTEND_OPTIONS +#define NO_MOVIES // add option to disable intro videos + #if defined(__LP64__) || defined(_WIN64) #define FIX_BUGS_64 // Must have fixes to be able to run 64 bit build #endif diff --git a/src/core/main.cpp b/src/core/main.cpp index 5eccf759..7d59307c 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -92,7 +92,10 @@ bool gbModelViewer; bool gbShowTimebars; #endif #ifdef DRAW_GAME_VERSION_TEXT -bool gDrawVersionText; // Our addition, we think it was always enabled on !MASTER builds +bool gbDrawVersionText; // Our addition, we think it was always enabled on !MASTER builds +#endif +#ifdef NO_MOVIES +bool gbNoMovies; #endif volatile int32 frameCount; @@ -1109,7 +1112,7 @@ DisplayGameDebugText() #ifdef DRAW_GAME_VERSION_TEXT wchar ver[200]; - if(gDrawVersionText) // This realtime switch is our thing + if(gbDrawVersionText) // This realtime switch is our thing { #ifdef USE_OUR_VERSIONING diff --git a/src/core/main.h b/src/core/main.h index 311c0302..803afb14 100644 --- a/src/core/main.h +++ b/src/core/main.h @@ -66,3 +66,11 @@ void SaveINIControllerSettings(); extern bool gbNewRenderer; bool FredIsInFirstPersonCam(void); #endif + +#ifdef DRAW_GAME_VERSION_TEXT +extern bool gbDrawVersionText; +#endif + +#ifdef NO_MOVIES +extern bool gbNoMovies; +#endif diff --git a/src/core/re3.cpp b/src/core/re3.cpp index e0f9c5c2..9d5ee8e6 100644 --- a/src/core/re3.cpp +++ b/src/core/re3.cpp @@ -517,8 +517,10 @@ bool LoadINISettings() ReadIniIfExists("Draw", "FixSprites", &CDraw::ms_bFixSprites); #endif #ifdef DRAW_GAME_VERSION_TEXT - extern bool gDrawVersionText; - ReadIniIfExists("General", "DrawVersionText", &gDrawVersionText); + ReadIniIfExists("General", "DrawVersionText", &gbDrawVersionText); +#endif +#ifdef NO_MOVIES + ReadIniIfExists("General", "NoMovies", &gbNoMovies); #endif #ifdef CUSTOM_FRONTEND_OPTIONS @@ -608,8 +610,10 @@ void SaveINISettings() StoreIni("Draw", "FixSprites", CDraw::ms_bFixSprites); #endif #ifdef DRAW_GAME_VERSION_TEXT - extern bool gDrawVersionText; - StoreIni("General", "DrawVersionText", gDrawVersionText); + StoreIni("General", "DrawVersionText", gbDrawVersionText); +#endif +#ifdef NO_MOVIES + StoreIni("General", "NoMovies", gbNoMovies); #endif #ifdef CUSTOM_FRONTEND_OPTIONS for (int i = 0; i < MENUPAGES; i++) { @@ -990,8 +994,7 @@ extern bool gbRenderWorld2; #ifdef DRAW_GAME_VERSION_TEXT - extern bool gDrawVersionText; - DebugMenuAddVarBool8("Debug", "Version Text", &gDrawVersionText, nil); + DebugMenuAddVarBool8("Debug", "Version Text", &gbDrawVersionText, nil); #endif DebugMenuAddVarBool8("Debug", "Show DebugStuffInRelease", &gbDebugStuffInRelease, nil); #ifdef TIMEBARS diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp index 86b0b214..baf9fdde 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -2275,7 +2275,7 @@ WinMain(HINSTANCE instance, case GS_START_UP: { #ifdef NO_MOVIES - gGameState = GS_INIT_ONCE; + gGameState = gbNoMovies ? GS_INIT_ONCE : GS_INIT_LOGO_MPEG; #else gGameState = GS_INIT_LOGO_MPEG; #endif @@ -2314,8 +2314,11 @@ WinMain(HINSTANCE instance, case GS_INIT_INTRO_MPEG: { -#ifndef NO_MOVIES +#ifdef NO_MOVIES + if (!gbNoMovies) +#endif CloseClip(); +#ifndef FIX_BUGS CoUninitialize(); #endif @@ -2351,8 +2354,11 @@ WinMain(HINSTANCE instance, case GS_INIT_ONCE: { -#ifndef NO_MOVIES +#ifdef NO_MOVIES + if (!gbNoMovies) +#endif CloseClip(); +#ifndef FIX_BUGS CoUninitialize(); #endif