diff --git a/Scripts/ArtifactTrackerPlayer.pex b/Scripts/ArtifactTrackerPlayer.pex index 90de806..4731442 100644 Binary files a/Scripts/ArtifactTrackerPlayer.pex and b/Scripts/ArtifactTrackerPlayer.pex differ diff --git a/Source/ArtifactTrackerDLL/src/PapyrusFunctions.h b/Source/ArtifactTrackerDLL/src/PapyrusFunctions.h index 9eccee1..858c088 100644 --- a/Source/ArtifactTrackerDLL/src/PapyrusFunctions.h +++ b/Source/ArtifactTrackerDLL/src/PapyrusFunctions.h @@ -73,6 +73,15 @@ namespace Papyrus::PapyrusFunctions } } + inline void RegisterPersistentStorage(RE::StaticFunctionTag*, + RE::TESObjectREFR* ref) + { + if (ref) { + ArtifactTracker::g_persistentStorage->AddForm(ref); + ArtifactTracker::g_persistentMap[ref->formID] = ref; + } + } + inline void Bind(VM& a_vm) { BIND(Load); @@ -93,5 +102,7 @@ namespace Papyrus::PapyrusFunctions logger::info("Registered GetPlayerFollowers"sv); BIND(GetCurrentContainer); logger::info("Registered GetCurrentContainer"sv); + BIND(RegisterPersistentStorage); + logger::info("Registered RegisterPersistentStorage"sv); } } diff --git a/Source/Scripts/ArtifactTrackerPlayer.psc b/Source/Scripts/ArtifactTrackerPlayer.psc index 1641dd9..af48507 100644 --- a/Source/Scripts/ArtifactTrackerPlayer.psc +++ b/Source/Scripts/ArtifactTrackerPlayer.psc @@ -183,3 +183,5 @@ ObjectReference function GetCurrentContainer() native global function SyncCellStorage() native global Actor[] function GetPlayerFollowers() native global + +function RegisterPersistentStorage(ObjectReference ref) native global