26 namespace BGSWaterCollisionManager
28 class BGSWaterUpdateI;
174 static_assert(
sizeof(
CellData) == 0x8);
238#define RUNTIME_DATA_CONTENT \
240 TESObjectLAND* cellLand; \
242 NavMeshArray* navMeshes; \
243 BSTSet<NiPointer<TESObjectREFR>> references; \
245 BSTArray<TESObjectREFR*> objectList; \
246 BSTArray<void*> unk0D0; \
247 BSTArray<BGSWaterCollisionManager::BGSWaterUpdateI*> waterObjects; \
248 BSTArray<void*> unk100; \
249 mutable BSSpinLock spinLock; \
250 TESWorldSpace* worldSpace; \
251 LOADED_CELL_DATA* loadedData; \
252 BGSLightingTemplate* lightingTemplate; \
253 std::uint64_t unk138;
279#ifndef ENABLE_SKYRIM_AE
283#ifndef ENABLE_SKYRIM_AE
#define RUNTIME_DATA_CONTENT
Definition Actor.h:633
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
Definition BGSEncounterZone.h:43
Definition BGSLocation.h:68
Definition TESObjectCELL.h:38
BSBitField * visData
Definition TESObjectCELL.h:41
Definition BSBitField.h:15
Definition BSPortalGraph.h:13
Definition BSTArray.h:377
Definition BSTempEffectParticle.h:19
Definition TESObjectCELL.h:72
BSTArray< BSTSmartPointer< NavMesh > > navMeshes
Definition TESObjectCELL.h:75
Definition NiSmartPointer.h:9
Definition TESFaction.h:120
Definition TESFullName.h:9
Definition TESObjectCELL.h:116
bool BelongsInGroup(FORM *a_form, bool a_allowParentGroups, bool a_currentOnly) override
bool IsExteriorCell() const
bool SetFormEditorID(const char *a_str) override
bool Load(TESFile *a_mod) override
void SetFogColor(Color a_near, Color a_far)
BGSLocation * GetLocation() const
Definition TESObjectCELL.h:211
void SetOwner(TESForm *a_owner)
EXTERIOR_DATA * GetCoordinates()
BSSpinLock grassCreateLock
Definition TESObjectCELL.h:269
INTERIOR_DATA * GetLighting()
bool cellDetached
Definition TESObjectCELL.h:275
void ForEachReference(std::function< BSContainer::ForEachResult(TESObjectREFR &)> a_callback) const
void LoadGame(BGSLoadFormBuffer *a_buf) override
void SetFogPower(float a_power)
void SetAltered(bool a_set) override
std::uint8_t pad047
Definition TESObjectCELL.h:276
bool IsFormTypeChild(FormType a_type) override
const char * GetFormEditorID() const override
void SetHandChanged(bool a_changed)
bool IsParentForm() override
stl::enumeration< Flag, std::uint16_t > cellFlags
Definition TESObjectCELL.h:271
bool IsInteriorCell() const
CellState
Definition TESObjectCELL.h:138
void InitItemImpl() override
const RUNTIME_DATA & GetRuntimeData() const noexcept
Definition TESObjectCELL.h:263
BSSpinLock grassTaskLock
Definition TESObjectCELL.h:270
void ClearData() override
float GetExteriorWaterHeight() const
TESRegionList * GetRegionList(bool a_createIfMissing)
void SetActorOwner(TESNPC *a_owner)
bool GetWaterHeight(const NiPoint3 &a_pos, float &a_waterHeight)
Flag
Definition TESObjectCELL.h:123
stl::enumeration< CellState, std::uint8_t > cellState
Definition TESObjectCELL.h:273
static constexpr auto RTTI
Definition TESObjectCELL.h:118
TESFaction * GetFactionOwner()
RUNTIME_DATA & GetRuntimeData() noexcept
Definition TESObjectCELL.h:258
static constexpr auto FORMTYPE
Definition TESObjectCELL.h:120
std::uint16_t cellGameFlags
Definition TESObjectCELL.h:272
void GetFormDetailedString(char *a_buf, std::uint32_t a_bufLen) override
void CreateGroupData(FORM *a_form, FORM_GROUP *a_group) override
~TESObjectCELL() override
void Revert(BGSLoadFormBuffer *a_buf) override
bhkWorld * GetbhkWorld() const
Definition TESObjectCELL.h:198
void SaveGame(BGSSaveFormBuffer *a_buf) override
void SetFactionOwner(TESFaction *a_owner)
bool autoWaterLoaded
Definition TESObjectCELL.h:274
void SetPublic(bool a_public)
bool FindInFileFast(TESFile *a_mod) override
void SetFogPlanes(float a_near, float a_far)
TESForm * CreateDuplicateForm(bool a_createEditorID, void *a_arg2) override
static constexpr auto VTABLE
Definition TESObjectCELL.h:119
bool UsesSkyLighting() const
void ForEachReferenceInRange(const NiPoint3 &a_origin, float a_radius, std::function< BSContainer::ForEachResult(TESObjectREFR &)> a_callback) const
ExtraDataList extraList
Definition TESObjectCELL.h:277
Definition TESObjectREFR.h:112
Definition TESRegionList.h:10
Definition Relocation.h:1638
ForEachResult
Definition BSContainer.h:6
Definition AbsorbEffect.h:6
FormType
Definition FormTypes.h:139
constexpr REL::VariantID RTTI_TESObjectCELL(513892, 392430, 0x1ed95a0)
constexpr std::array< REL::VariantID, 2 > VTABLE_TESObjectCELL
Definition Offsets_VTABLE.h:619
constexpr REL::Version RUNTIME_SSE_1_6_629(1, 6, 629, 0)
Definition TESObjectCELL.h:46
std::int32_t cellY
Definition TESObjectCELL.h:59
BGSTerrainVisibilityData * lodVisData
Definition TESObjectCELL.h:61
std::uint32_t pad24
Definition TESObjectCELL.h:67
std::int32_t cellX
Definition TESObjectCELL.h:58
LandHideFlag
Definition TESObjectCELL.h:49
char * maxHeightData
Definition TESObjectCELL.h:60
float worldY
Definition TESObjectCELL.h:63
std::uint16_t pad22
Definition TESObjectCELL.h:66
std::uint8_t pad21
Definition TESObjectCELL.h:65
stl::enumeration< LandHideFlag, std::uint8_t > landHideFlags
Definition TESObjectCELL.h:64
float worldX
Definition TESObjectCELL.h:62
Definition InteriorData.h:9
Definition TESObjectCELL.h:80
BSTArray< void * > unk058
Definition TESObjectCELL.h:92
std::uint32_t unk17C
Definition TESObjectCELL.h:109
BSTArray< void * > unk040
Definition TESObjectCELL.h:91
NiTMap< ObjectRefHandle, NiNode * > emittanceLightRefMap
Definition TESObjectCELL.h:94
volatile std::int32_t queuedDistantRefCount
Definition TESObjectCELL.h:107
BSTArray< void * > unk130
Definition TESObjectCELL.h:101
std::uint64_t unk028
Definition TESObjectCELL.h:88
BSSimpleList< ObjectRefHandle > unk100
Definition TESObjectCELL.h:98
volatile std::int32_t queuedRefCount
Definition TESObjectCELL.h:106
NiTMap< ObjectRefHandle, NiPointer< BSMultiBoundNode > > multiboundRefMap
Definition TESObjectCELL.h:95
volatile std::int32_t criticalQueuedRefCount
Definition TESObjectCELL.h:105
std::uint64_t unk038
Definition TESObjectCELL.h:90
std::uint64_t unk030
Definition TESObjectCELL.h:89
BSTArray< void * > unk118
Definition TESObjectCELL.h:100
NiTMap< BSMultiBoundNode *, ObjectRefHandle > refMultiboundMap
Definition TESObjectCELL.h:96
NiPointer< BSPortalGraph > portalGraph
Definition TESObjectCELL.h:83
NiPointer< NiNode > cell3D
Definition TESObjectCELL.h:84
BGSEncounterZone * encounterZone
Definition TESObjectCELL.h:103
void * unk020
Definition TESObjectCELL.h:87
void * unk018
Definition TESObjectCELL.h:86
std::uint32_t unk178
Definition TESObjectCELL.h:108
BSSimpleList< ObjectRefHandle > activatingRefs
Definition TESObjectCELL.h:97
void * unk010
Definition TESObjectCELL.h:85
BSTArray< void * > unk148
Definition TESObjectCELL.h:102
NiTMap< TESForm *, ObjectRefHandle > unk070
Definition TESObjectCELL.h:93
std::uint64_t unk110
Definition TESObjectCELL.h:99
std::uint32_t unk168
Definition TESObjectCELL.h:104
Definition TESObjectCELL.h:143
ChangeFlag
Definition TESObjectCELL.h:145
@ kFullName
Definition TESObjectCELL.h:147
@ kExteriorShort
Definition TESObjectCELL.h:149
@ kSeendData
Definition TESObjectCELL.h:152
@ kFlags
Definition TESObjectCELL.h:146
@ kDetachTime
Definition TESObjectCELL.h:151
@ kExteriorChar
Definition TESObjectCELL.h:150
@ kOwnership
Definition TESObjectCELL.h:148
Definition TESObjectCELL.h:237
Definition TESObjectCELL.h:157
RecordFlag
Definition TESObjectCELL.h:159
@ kIgnored
Definition TESObjectCELL.h:162
@ kOffLimits
Definition TESObjectCELL.h:163
@ kPersistent
Definition TESObjectCELL.h:161
@ kCompressed
Definition TESObjectCELL.h:164
@ kDeleted
Definition TESObjectCELL.h:160
@ kCantWait
Definition TESObjectCELL.h:165
Definition TESObjectCELL.h:170
EXTERIOR_DATA * exterior
Definition TESObjectCELL.h:171
INTERIOR_DATA * interior
Definition TESObjectCELL.h:172