15 class InventoryChanges;
18 class TESRegionDataManager;
56 std::optional<std::uint8_t>
GetModIndex(std::string_view a_modName);
76 #define RUNTIME_DATA_CONTENT \
81 bool exportingPlugin; \
83 bool hasDesiredFiles; \
84 bool checkingModels; \
93 return REL::RelocateMember<RUNTIME_DATA>(
this, 0xDA0, 0x1570);
98 return REL::RelocateMember<RUNTIME_DATA>(
this, 0xDA0, 0x1570);
103 return &REL::RelocateMember<TESFile*>(
this, 0x0, 0xD78);
105 return REL::RelocateMember<TESFileCollection>(
this, 0xD70, 0).files.data();
111 return &REL::RelocateMember<const TESFile*>(
this, 0x0, 0xD78);
113 return REL::RelocateMember<const TESFileCollection>(
this, 0xD70, 0).files.data();
119 return static_cast<std::uint8_t
>(REL::RelocateMember<std::uint32_t>(
this, 0x0, 0xD70));
121 return static_cast<std::uint8_t
>(REL::RelocateMember<const TESFileCollection>(
this, 0xD70, 0).files.size());
129 return REL::RelocateMember<TESFileCollection>(
this, 0xD70, 0).smallFiles.data();
137 return REL::RelocateMember<const TESFileCollection>(
this, 0xD70, 0).smallFiles.data();
145 return static_cast<std::uint16_t
>(REL::RelocateMember<const TESFileCollection>(
this, 0xD70, 0).smallFiles.size());
150 return REL::RelocateMember<TESRegionDataManager*>(
this, 0xDB0, 0x1580);
154 return REL::RelocateMember<TESRegionDataManager*>(
this, 0xDB0, 0x1580);
158 return REL::RelocateMember<InventoryChanges*>(
this, 0xDB8, 0x1588);
162 return REL::RelocateMember<InventoryChanges*>(
this, 0xDB8, 0x1588);
179 #ifndef ENABLE_SKYRIM_VR
187 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
188 std::uint32_t loadedModCount;
192 std::uint8_t pad157B[5];
197 #undef RUNTIME_DATA_CONTENT
202 auto form =
LookupForm(a_localFormID, a_modName);
207 return form->Is(T::FORMTYPE) ?
static_cast<T*
>(form) : 0;
218 return form->Is(T::FORMTYPE) ?
static_cast<T*
>(form) : 0;
#define SKYRIM_REL_CONSTEXPR
Definition: Common.h:47
#define RUNTIME_DATA_CONTENT
Definition: TESDataHandler.h:76
static SKYRIM_REL_VR bool IsVR() noexcept
Definition: Module.h:254
Definition: BSTArray.h:377
Definition: InventoryChanges.h:16
Definition: NiTArray.h:136
Definition: TESBoundObject.h:24
Definition: TESDataHandler.h:39
TESForm * LookupFormRaw(FormID a_rawFormID, std::string_view a_modName)
const TESRegionDataManager * GetRegionDataManager() const noexcept
Definition: TESDataHandler.h:153
std::uint32_t padD54
Definition: TESDataHandler.h:176
TESRegionDataManager * regionDataManager
Definition: TESDataHandler.h:185
FormID LookupFormIDRaw(FormID a_rawFormID, std::string_view a_modName)
BSTArray< TESForm * > formArrays[std::to_underlying(FormType::Max)]
Definition: TESDataHandler.h:170
TESFile ** GetLoadedMods() noexcept
Definition: TESDataHandler.h:101
std::uint32_t pad004
Definition: TESDataHandler.h:168
TESFile ** GetLoadedLightMods() noexcept
Definition: TESDataHandler.h:125
InventoryChanges * GetMerchantInventory() noexcept
Definition: TESDataHandler.h:157
std::uint16_t GetLoadedLightModCount() const noexcept
Definition: TESDataHandler.h:141
FormID nextID
Definition: TESDataHandler.h:175
const InventoryChanges * GetMerchantInventory() const noexcept
Definition: TESDataHandler.h:161
BSSimpleList< TESFile * > files
Definition: TESDataHandler.h:178
const TESFile * LookupLoadedModByIndex(std::uint8_t a_index)
BSTArray< TESForm * > & GetFormArray(FormType a_formType)
bool AddFormToDataHandler(TESForm *a_form)
TESRegionDataManager * GetRegionDataManager() noexcept
Definition: TESDataHandler.h:149
const TESFile * LookupLoadedLightModByName(std::string_view a_modName)
InventoryChanges * merchantInventory
Definition: TESDataHandler.h:186
const TESFile * LookupModByName(std::string_view a_modName)
std::uint8_t GetLoadedModCount() const noexcept
Definition: TESDataHandler.h:117
NiTList< TESForm * > badForms
Definition: TESDataHandler.h:174
TESObjectList * objectList
Definition: TESDataHandler.h:169
const TESFile * LookupLoadedLightModByIndex(std::uint16_t a_index)
std::optional< std::uint8_t > GetLoadedModIndex(std::string_view a_modName)
const TESFile * LookupLoadedModByName(std::string_view a_modName)
BSTArray< T * > & GetFormArray()
Definition: TESDataHandler.h:222
std::uint8_t pad001
Definition: TESDataHandler.h:166
const TESFile *const * GetLoadedMods() const noexcept
Definition: TESDataHandler.h:109
TESForm * LookupForm(FormID a_localFormID, std::string_view a_modName)
std::uint32_t LoadScripts()
NiTPrimitiveArray< TESObjectCELL * > interiorCells
Definition: TESDataHandler.h:172
TESRegionList * regionList
Definition: TESDataHandler.h:171
NiTPrimitiveArray< BGSAddonNode * > addonNodes
Definition: TESDataHandler.h:173
TESFile * activeFile
Definition: TESDataHandler.h:177
RUNTIME_DATA_CONTENT std::uint8_t unkDAA
Definition: TESDataHandler.h:182
std::optional< std::uint8_t > GetModIndex(std::string_view a_modName)
std::uint32_t padDAC
Definition: TESDataHandler.h:184
const RUNTIME_DATA & GetGeometryRuntimeData() const noexcept
Definition: TESDataHandler.h:96
std::optional< std::uint16_t > GetLoadedLightModIndex(std::string_view a_modName)
const TESFile *const * GetLoadedLightMods() const noexcept
Definition: TESDataHandler.h:133
TESFileCollection compiledFileCollection
Definition: TESDataHandler.h:180
static TESDataHandler * GetSingleton()
FormID LookupFormID(FormID a_localFormID, std::string_view a_modName)
ObjectRefHandle CreateReferenceAtLocation(TESBoundObject *a_base, const NiPoint3 &a_location, const NiPoint3 &a_rotation, TESObjectCELL *a_targetCell, TESWorldSpace *a_selfWorldSpace, TESObjectREFR *a_alreadyCreatedRef, BGSPrimitive *a_primitive, const ObjectRefHandle &a_linkedRoomRefHandle, bool a_forcePersist, bool a_arg11)
RUNTIME_DATA & GetGeometryRuntimeData() noexcept
Definition: TESDataHandler.h:91
std::uint16_t pad002
Definition: TESDataHandler.h:167
bool IsGeneratedID(FormID a_formID)
std::uint8_t padDAB
Definition: TESDataHandler.h:183
Definition: TESObjectCELL.h:116
Definition: TESObjectREFR.h:113
Definition: TESRegionDataManager.h:18
Definition: TESRegionList.h:10
Definition: TESWorldSpace.h:118
Definition: AbsorbEffect.h:6
FormType
Definition: FormTypes.h:139
std::uint32_t FormID
Definition: BSCoreTypes.h:5
Definition: BSTSingleton.h:50
Definition: TESDataHandler.h:75
Definition: TESDataHandler.h:30
BSTArray< TESFile * > smallFiles
Definition: TESDataHandler.h:34
BSTArray< TESFile * > files
Definition: TESDataHandler.h:33
Definition: TESDataHandler.h:22
std::uint8_t pad0
Definition: TESDataHandler.h:25