46 lines
1.7 KiB
C++
46 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include "RE/B/BSTSmartPointer.h"
|
|
#include "RE/E/ExtraDataList.h"
|
|
#include "RE/N/NiPoint3.h"
|
|
|
|
namespace RE
|
|
{
|
|
class BGSObjectInstanceExtra;
|
|
class BGSPrimitive;
|
|
class INSTANCE_FILTER;
|
|
|
|
class __declspec(novtable) NEW_REFR_DATA
|
|
{
|
|
public:
|
|
static constexpr auto RTTI{ RTTI::NEW_REFR_DATA };
|
|
static constexpr auto VTABLE{ VTABLE::NEW_REFR_DATA };
|
|
|
|
NEW_REFR_DATA()
|
|
{
|
|
REX::EMPLACE_VTABLE(this);
|
|
}
|
|
|
|
virtual void HandlePre3D(TESObjectREFR*) { return; }
|
|
|
|
// members
|
|
NiPoint3 location; // 08
|
|
NiPoint3 direction; // 14
|
|
TESBoundObject* object{ nullptr }; // 20
|
|
TESObjectCELL* interior{ nullptr }; // 28
|
|
TESWorldSpace* world{ nullptr }; // 30
|
|
TESObjectREFR* reference{ nullptr }; // 38
|
|
BGSPrimitive* addPrimitive{ nullptr }; // 40
|
|
void* additionalData{ nullptr }; // 48
|
|
BSTSmartPointer<ExtraDataList> extra{ nullptr }; // 50
|
|
INSTANCE_FILTER* instanceFilter{ nullptr }; // 58
|
|
BGSObjectInstanceExtra* modExtra{ nullptr }; // 60
|
|
std::uint16_t maxLevel{ 0 }; // 68
|
|
bool forcePersist{ false }; // 6A
|
|
bool clearStillLoadingFlag{ false }; // 6B
|
|
bool initializeScripts{ true }; // 6C
|
|
bool initiallyDisabled{ false }; // 6D
|
|
};
|
|
static_assert(sizeof(NEW_REFR_DATA) == 0x70);
|
|
}
|