From bc7488c8d066a0f604d45eeab96117e67379bc36 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Wed, 14 Sep 2022 19:33:20 +0200 Subject: [PATCH] Read version from file --- SKSE/Plugins/EnderalVersion.ini | 1 + source/Enderal DLL/src/Util.h | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 SKSE/Plugins/EnderalVersion.ini diff --git a/SKSE/Plugins/EnderalVersion.ini b/SKSE/Plugins/EnderalVersion.ini new file mode 100644 index 00000000..5144826c --- /dev/null +++ b/SKSE/Plugins/EnderalVersion.ini @@ -0,0 +1 @@ +version = 2.0.12.3 diff --git a/source/Enderal DLL/src/Util.h b/source/Enderal DLL/src/Util.h index 96a2cca7..1e89046f 100644 --- a/source/Enderal DLL/src/Util.h +++ b/source/Enderal DLL/src/Util.h @@ -2,6 +2,7 @@ #include "CheckInvalidForms.h" #include +#include inline const SKSE::LoadInterface* GetLoadInterface(const SKSE::LoadInterface* loadInterface = nullptr) { @@ -56,7 +57,23 @@ inline void SetINISettings() inline void CheckIncompatibleMods() { - RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.12 by Eddoursul and contributors"); + bool bPrinted = false; + if (std::filesystem::exists("Data\\SKSE\\Plugins\\EnderalVersion.ini")) { + CSimpleIniA ini; + ini.SetUnicode(false); + ini.SetMultiKey(false); + ini.LoadFile("Data/SKSE/Plugins/EnderalVersion.ini"); + const char* version = ini.GetValue("", "version", "2.0.x"); + std::regex version_expr("^[\\d\\.]+$"); + if (std::regex_match(version, version_expr)) { + RE::ConsoleLog::GetSingleton()->Print(std::format("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v{} by Eddoursul and contributors", version).c_str()); + bPrinted = true; + } + } + + if (!bPrinted) { + RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.x by Eddoursul and contributors"); + } CheckBlacklist(); CheckWorldspaces();