From 93eea974771baa506a508da56ce6e0b2a7420c8b Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 7 Mar 2020 20:14:03 +0100 Subject: [PATCH] - allow selecting frontend for Duke3D in gameinfo.txt --- source/common/gamecontrol.cpp | 6 +++++- source/common/gamecontrol.h | 1 + source/common/initfs.cpp | 5 +++++ source/common/version.h | 20 ++++++++++---------- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/source/common/gamecontrol.cpp b/source/common/gamecontrol.cpp index f046601cc..44ce618e6 100644 --- a/source/common/gamecontrol.cpp +++ b/source/common/gamecontrol.cpp @@ -333,10 +333,14 @@ void CheckFrontend(int flags) { gi = Powerslave::CreateInterface(); } - else if (flags & GAMEFLAG_FURY) + else if ((flags & GAMEFLAG_FURY) || RazeStartupInfo.modern > 0) { gi = Duke::CreateInterface(); } + else if (RazeStartupInfo.modern < 0) + { + gi = Redneck::CreateInterface(); + } else { gi = *duke_compatibility_15 ? Redneck::CreateInterface() : Duke::CreateInterface(); diff --git a/source/common/gamecontrol.h b/source/common/gamecontrol.h index 09da6ac18..289c720e7 100644 --- a/source/common/gamecontrol.h +++ b/source/common/gamecontrol.h @@ -170,6 +170,7 @@ struct FStartupInfo FString Name; uint32_t FgColor; // Foreground color for title banner uint32_t BkColor; // Background color for title banner + int modern; //FString Song; //int Type; //int LoadLights = -1; diff --git a/source/common/initfs.cpp b/source/common/initfs.cpp index d4a210148..0c508a1c5 100644 --- a/source/common/initfs.cpp +++ b/source/common/initfs.cpp @@ -361,6 +361,11 @@ static FString ParseGameInfo(TArray& pwads, const char* fn, const char* sc.MustGetString(); RazeStartupInfo.BkColor = V_GetColor(NULL, sc); } + else if (!nextKey.CompareNoCase("MODERN")) + { + sc.MustGetNumber(); + RazeStartupInfo.modern = sc.Number ? 1 : -1; + } else { // Silently ignore unknown properties diff --git a/source/common/version.h b/source/common/version.h index 15ee6a98a..c271b2bde 100644 --- a/source/common/version.h +++ b/source/common/version.h @@ -66,17 +66,17 @@ const char *GetVersionString(); #define SAVESIG_SW GAMENAME ".ShadowWarrior" #define SAVESIG_PS GAMENAME ".Exhumed" -#define MINSAVEVER_DN3D 4 -#define MINSAVEVER_BLD 5 -#define MINSAVEVER_RR 5 -#define MINSAVEVER_SW 3 -#define MINSAVEVER_PS 3 +#define MINSAVEVER_DN3D 6 +#define MINSAVEVER_BLD 6 +#define MINSAVEVER_RR 6 +#define MINSAVEVER_SW 6 +#define MINSAVEVER_PS 6 -#define SAVEVER_DN3D 4 -#define SAVEVER_BLD 5 -#define SAVEVER_RR 5 -#define SAVEVER_SW 3 -#define SAVEVER_PS 3 +#define SAVEVER_DN3D 6 +#define SAVEVER_BLD 6 +#define SAVEVER_RR 6 +#define SAVEVER_SW 6 +#define SAVEVER_PS 6 #if defined(__APPLE__) || defined(_WIN32) #define GAME_DIR GAMENAME