1
artifact-tracker/Source/ArtifactTrackerDLL/src/ArtifactTracker.h

43 lines
1.2 KiB
C
Raw Normal View History

#pragma once
namespace ArtifactTracker
{
2022-06-30 10:31:01 +00:00
extern bool g_bLoaded;
extern bool g_bHomeContainer;
extern RE::TESBoundObject* g_cellContainer;
extern RE::BGSListForm* g_listNew;
extern RE::BGSListForm* g_listStored;
extern RE::BGSListForm* g_listFound;
extern RE::BGSListForm* g_persistentStorage;
extern RE::BGSKeyword* g_extraArtifactKeyword;
2022-06-30 10:31:01 +00:00
extern RE::BGSKeyword* g_homeKeyword;
extern std::unordered_map<RE::FormID, RE::TESForm*> g_artifactMap;
extern std::unordered_set<RE::FormType> g_artifactFormTypes;
2022-06-30 10:31:01 +00:00
extern std::unordered_map<RE::FormID, RE::TESObjectREFR*> g_persistentMap;
extern RE::TESObjectREFR* g_cellStorage;
void Init();
void PreloadArtifactList();
bool IsArtifact(RE::TESForm* a_item);
2022-06-30 10:31:01 +00:00
RE::TESForm* GetArtifactByID(RE::FormID a_formID);
2022-06-30 10:31:01 +00:00
bool IsHome();
2022-06-30 10:31:01 +00:00
void OnGameLoad();
void SetContainerMode(bool bOpening);
2022-06-30 10:31:01 +00:00
void OnCellEnter(RE::FormID a_formID);
2022-06-30 10:31:01 +00:00
void OnCellEnter(RE::BGSLocation* location, RE::TESObjectCELL* cell);
void SyncCellStorage();
2022-06-30 10:31:01 +00:00
void OnContainerChanged(const RE::TESContainerChangedEvent* a_event, RE::TESForm* form);
void AddRefArtifactsToList(RE::TESForm* a_refOrList, RE::BGSListForm* a_targetList, RE::BGSListForm* a_excludeList = NULL);
}