From fb84bfd834425187426a84afc9132fcb7166dfc0 Mon Sep 17 00:00:00 2001 From: powerof3 <32599957+powerof3@users.noreply.github.com> Date: Sun, 2 Oct 2022 08:31:50 +0530 Subject: [PATCH] support all AE versions initialize gmst strings once --- src/Manager.cpp | 19 ++++++++++++------- src/main.cpp | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Manager.cpp b/src/Manager.cpp index aaa991e..2096a79 100644 --- a/src/Manager.cpp +++ b/src/Manager.cpp @@ -2,7 +2,15 @@ namespace UI { - namespace CrossHair + namespace gmst + { + const char* get_string(const char* a_setting) + { + return RE::GameSettingCollection::GetSingleton()->GetSetting(a_setting)->GetString(); + } + } + + namespace CrossHair { enum : std::uint32_t { @@ -21,10 +29,8 @@ namespace UI static std::string get_owned_tag() { - std::string tag{ " (" }; - tag.append(RE::GameSettingCollection::GetSingleton()->GetSetting("sOwned")->GetString()); - tag.append(")"); - return tag; + static std::string tag = std::string(" (").append(gmst::get_string("sOwned")).append(")"); + return tag; } }; @@ -116,8 +122,7 @@ namespace UI { static std::string get_To_tag() { - auto tag = std::string(RE::GameSettingCollection::GetSingleton()->GetSetting("sTo")->GetString()); - tag.append(" "); + static std::string tag = std::string(gmst::get_string("sTo")).append(" "); return tag; } }; diff --git a/src/main.cpp b/src/main.cpp index d66b190..4d6cee7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,7 +17,7 @@ extern "C" DLLEXPORT constinit auto SKSEPlugin_Version = []() { v.PluginName("SimpleActivateSKSE"); v.AuthorName("powerofthree"); v.UsesAddressLibrary(); - v.UsesUpdatedStructs(); + v.UsesNoStructs(); v.CompatibleVersions({ SKSE::RUNTIME_LATEST }); return v;