diff --git a/include/RE/N/NiNode.h b/include/RE/N/NiNode.h new file mode 100644 index 00000000..dc8ae558 --- /dev/null +++ b/include/RE/N/NiNode.h @@ -0,0 +1,39 @@ +#pragma once + +#include "RE/B/BSTArray.h" +#include "RE/N/NiAVObject.h" +#include "RE/N/NiTransform.h" + +namespace RE +{ + class __declspec(novtable) NiNode : + public NiAVObject + { + public: + SF_RTTI(NiNode); + + //add + virtual ~NiNode() = default; + virtual NiNode* GetAsNiNode(); + virtual void* AddChild(NiAVObject* child); + virtual bool* RemoveChild(NiAVObject* child); + virtual NiAVObject* GetObjectByName(const BSFixedString& name); + virtual NiAVObject* FindObjectRecursive(const BSFixedString& name); + virtual NiTransform* GetLocalTransform(); + virtual void* SetLocalTransform(const NiTransform& transform); + + // members + BSTArray> children; + void* extraData; + std::uint32_t childCount; + std::uint32_t flags; + std::uint64_t pad148; + + static_assert(sizeof(BSTArray>) == 0x8); + static_assert(offsetof(NiNode, children) == 0x130); + static_assert(offsetof(NiNode, extraData) == 0x138); + static_assert(offsetof(NiNode, childCount) == 0x140); + static_assert(offsetof(NiNode, flags) == 0x144); + static_assert(sizeof(NiNode) == 0x150); + }; +} diff --git a/include/SFSE/Version.h b/include/SFSE/Version.h index cebdd3c2..1820568a 100644 --- a/include/SFSE/Version.h +++ b/include/SFSE/Version.h @@ -20,7 +20,8 @@ namespace SFSE constexpr REL::Version RUNTIME_SF_1_14_70(1, 14, 70, 0); constexpr REL::Version RUNTIME_SF_1_14_74(1, 14, 74, 0); constexpr REL::Version RUNTIME_SF_1_15_216(1, 15, 216, 0); - constexpr auto RUNTIME_LATEST = RUNTIME_SF_1_15_216; + constexpr REL::Version RUNTIME_SF_1_15_222(1, 15, 222, 0); + constexpr auto RUNTIME_LATEST = RUNTIME_SF_1_15_222; - constexpr REL::Version SFSE_PACK_LATEST(0, 2, 17, 0); + constexpr REL::Version SFSE_PACK_LATEST(0, 2, 18, 0); }