#pragma once #include "RE/B/BGSAttachParentArray.h" #include "RE/B/BSTArray.h" #include "RE/T/TESObjectACTI.h" #include "RE/W/WorkbenchData.h" namespace RE { class BSFurnitureMarker; class TESContainer; class __declspec(novtable) TESFurniture : public TESObjectACTI // 000 { public: static constexpr auto RTTI{ RTTI::TESFurniture }; static constexpr auto VTABLE{ VTABLE::TESFurniture }; static constexpr auto FORM_ID{ ENUM_FORM_ID::kFURN }; class EntryPointData { public: // members std::uint32_t entryPoint; // 0 std::uint32_t flags; // 4 }; static_assert(sizeof(EntryPointData) == 0x8); [[nodiscard]] TESContainer* GetContainer() { using func_t = decltype(&TESFurniture::GetContainer); static REL::Relocation func{ ID::TESFurniture::GetContainer }; return func(this); } // members BSTArray entryPointDataArray; // 148 BGSAttachParentArray attachParents; // 160 WorkbenchData wbData; // 178 std::uint32_t furnFlags; // 17C TESForm* associatedForm; // 180 BSTArray markersArray; // 188 }; static_assert(sizeof(TESFurniture) == 0x1A0); }