diff --git a/include/RE/B/BGSConstructibleObject.h b/include/RE/B/BGSConstructibleObject.h index 4a4c884..5ae31b6 100644 --- a/include/RE/B/BGSConstructibleObject.h +++ b/include/RE/B/BGSConstructibleObject.h @@ -13,9 +13,9 @@ namespace RE class BGSConstructibleObject : public BGSCraftableForm, // 000 - public BGSPickupPutdownSounds, // 098 - public TESValueForm, // 100 - public BGSCraftingUseSound // 110 + public BGSPickupPutdownSounds, // 0A0 + public TESValueForm, // 108 + public BGSCraftingUseSound // 118 { public: SF_RTTI_VTABLE(BGSConstructibleObject); @@ -33,15 +33,19 @@ namespace RE ~BGSConstructibleObject() override; // 00 // members - std::byte category[0x18]; // 148 - std::vector - TESBoundObject* unk160; // 160 - BGSCurveForm* unk168; // 168 - TESGlobal* buildLimit; // 170 - BSTArray>* unk178; // 178 - REX::TEnum learnMethod; // 180 - TESGlobal* unk188; // 188 - BGSKeyword* unk190; // 190 - std::uint32_t unk198; // 198 + std::byte category[0x18]; // 150 - std::vector + TESBoundObject* unk168; // 168 + BGSCurveForm* unk170; // 170 + TESGlobal* buildLimit; // 178 + BSTArray>* unk180; // 180 + REX::TEnum learnMethod; // 188 + TESGlobal* unk190; // 190 + BGSKeyword* unk198; // 198 + std::uint32_t unk1A0; // 1A0 }; static_assert(sizeof(BGSConstructibleObject) == 0x1A8); + static_assert(offsetof(BGSConstructibleObject, pickupSound) == 0xA8); // BGSPickupPutdownSounds base @ +0x0A0 + static_assert(offsetof(BGSConstructibleObject, value) == 0x110); // TESValueForm base @ +0x108 + static_assert(offsetof(BGSConstructibleObject, craftingUseSound) == 0x120); // BGSCraftingUseSound base @ +0x118 + static_assert(offsetof(BGSConstructibleObject, category) == 0x150); // first derived member } diff --git a/include/RE/B/BGSCraftableForm.h b/include/RE/B/BGSCraftableForm.h index 448b7c5..1e7fa1d 100644 --- a/include/RE/B/BGSCraftableForm.h +++ b/include/RE/B/BGSCraftableForm.h @@ -15,8 +15,8 @@ namespace RE class BGSCraftableForm : public TESForm, // 00 - public TESDescription, // 30 - public TESFullName // 48 + public TESDescription, // 38 + public TESFullName // 50 { public: SF_RTTI_VTABLE(BGSCraftableForm); @@ -27,14 +27,18 @@ namespace RE virtual void Unk_62(); // 62 // members - BGSKeyword* benchKeyword; // 58 - TESCondition conditions; // 60 - BSTArray>* components; // 70 - BSTArray>* requiredPerks; // 78 - TESForm* createdObject; // 80 - std::uint8_t unk88; // 88 - float menuSortOrder; // 8C + BGSKeyword* benchKeyword; // 60 + TESCondition conditions; // 68 + BSTArray>* components; // 78 + BSTArray>* requiredPerks; // 80 + TESForm* createdObject; // 88 std::uint8_t unk90; // 90 + float menuSortOrder; // 94 + std::uint8_t unk98; // 98 }; static_assert(sizeof(BGSCraftableForm) == 0xA0); + static_assert(offsetof(BGSCraftableForm, unk18) == 0x18); // TESForm base @ +0x00 + static_assert(offsetof(BGSCraftableForm, fileOffset) == 0x40); // TESDescription base @ +0x38 + static_assert(offsetof(BGSCraftableForm, fullName) == 0x58); // TESFullName base @ +0x50 + static_assert(offsetof(BGSCraftableForm, benchKeyword) == 0x60); // first derived member }