Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions include/RE/B/BGSConstructibleObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -33,15 +33,19 @@ namespace RE
~BGSConstructibleObject() override; // 00

// members
std::byte category[0x18]; // 148 - std::vector<BGSKeyword*, BSTHeapSTLAllocator<BGSKeyword, 2>
TESBoundObject* unk160; // 160
BGSCurveForm* unk168; // 168
TESGlobal* buildLimit; // 170
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* unk178; // 178
REX::TEnum<LEARN_METHOD, std::uint8_t> learnMethod; // 180
TESGlobal* unk188; // 188
BGSKeyword* unk190; // 190
std::uint32_t unk198; // 198
std::byte category[0x18]; // 150 - std::vector<BGSKeyword*, BSTHeapSTLAllocator<BGSKeyword, 2>
TESBoundObject* unk168; // 168
BGSCurveForm* unk170; // 170
TESGlobal* buildLimit; // 178
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* unk180; // 180
REX::TEnum<LEARN_METHOD, std::uint8_t> 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
}
22 changes: 13 additions & 9 deletions include/RE/B/BGSCraftableForm.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -27,14 +27,18 @@ namespace RE
virtual void Unk_62(); // 62

// members
BGSKeyword* benchKeyword; // 58
TESCondition conditions; // 60
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* components; // 70
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* requiredPerks; // 78
TESForm* createdObject; // 80
std::uint8_t unk88; // 88
float menuSortOrder; // 8C
BGSKeyword* benchKeyword; // 60
TESCondition conditions; // 68
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* components; // 78
BSTArray<BSTTuple3<TESForm*, BGSCurveForm*, BGSTypedFormValuePair::SharedVal>>* 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
}
Loading