Fixed script version checks not always firing

This commit is contained in:
Eddoursul 2024-08-07 20:47:01 +02:00
parent 7188ff4e85
commit b51838ab2b
5 changed files with 7 additions and 6 deletions

View File

@ -6,7 +6,7 @@ message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.")
######################################################################################################################## ########################################################################################################################
project( project(
EnderalSE EnderalSE
VERSION 2.1.2 VERSION 2.1.3
DESCRIPTION "Enderal SE DLL" DESCRIPTION "Enderal SE DLL"
LANGUAGES CXX) LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD 23)

View File

@ -60,8 +60,6 @@ auto EventListener::ProcessEvent(
} else { } else {
if (a_event->menuName == RE::DialogueMenu::MENU_NAME) { if (a_event->menuName == RE::DialogueMenu::MENU_NAME) {
DialogueMenuPatch::BlockTab(false); DialogueMenuPatch::BlockTab(false);
} else if (a_event->menuName == RE::MainMenu::MENU_NAME) {
CheckScriptVersions();
} }
} }

View File

@ -135,6 +135,9 @@ namespace {
}); });
} else if ((message->type == MessagingInterface::kPostLoadGame && message->data) || message->type == MessagingInterface::kNewGame) { } else if ((message->type == MessagingInterface::kPostLoadGame && message->data) || message->type == MessagingInterface::kNewGame) {
NewGameCount(true); NewGameCount(true);
if (NewGameCount() == 1) {
CheckScriptVersions();
}
} }
}); });
} }

View File

@ -82,7 +82,7 @@ inline void CheckScriptVersions()
expectedVersion(a_version) expectedVersion(a_version)
{ {
const auto vm = RE::BSScript::Internal::VirtualMachine::GetSingleton(); const auto vm = RE::BSScript::Internal::VirtualMachine::GetSingleton();
if (vm->TypeIsValid(scriptName) && PapyrusGlobalFunctionExists(scriptName.c_str(), funcName.c_str())) { if (vm->TypeIsValid(scriptName) && PapyrusGlobalFunctionExists(scriptName.c_str(), funcName.c_str())) {
auto callbackPtr = RE::BSTSmartPointer<RE::BSScript::IStackCallbackFunctor>(this); auto callbackPtr = RE::BSTSmartPointer<RE::BSScript::IStackCallbackFunctor>(this);
vm->DispatchStaticCall(scriptName, funcName, RE::MakeFunctionArguments(), callbackPtr); vm->DispatchStaticCall(scriptName, funcName, RE::MakeFunctionArguments(), callbackPtr);
@ -113,7 +113,7 @@ inline void CheckScriptVersions()
scripts["_00E_Phasmalist_NewApparitionAlias"] = 1; scripts["_00E_Phasmalist_NewApparitionAlias"] = 1;
scripts["_FS_Phasmalist_ControlQuest"] = 1; scripts["_FS_Phasmalist_ControlQuest"] = 1;
scripts["_00E_Phasmalist_Workbench"] = 1; scripts["_00E_Phasmalist_Workbench"] = 1;
scripts["_00E_Theriantrophist_PlayerAsWerewolf"] = 1; scripts["_00E_Theriantrophist_PlayerAsWerewolf"] = 2;
scripts["_00E_Theriantrophist_AlchemyControl"] = 1; scripts["_00E_Theriantrophist_AlchemyControl"] = 1;
scripts["_00E_PlayerhousingMaster"] = 1; scripts["_00E_PlayerhousingMaster"] = 1;
scripts["_00E_ContainerBonusControl"] = 2; scripts["_00E_ContainerBonusControl"] = 2;

View File

@ -1,7 +1,7 @@
{ {
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "enderal-se", "name": "enderal-se",
"version-string": "2.1.0", "version-string": "2.1.3",
"port-version": 0, "port-version": 0,
"description": "Enderal SE Helper", "description": "Enderal SE Helper",
"homepage": "https://mod.pub/enderal-se/38-enderal-se", "homepage": "https://mod.pub/enderal-se/38-enderal-se",