Skip to content

Commit

Permalink
feat: add TESObjectMISC, TESKey (#187)
Browse files Browse the repository at this point in the history
  • Loading branch information
powerof3 authored Oct 22, 2023
1 parent aec03ff commit b90940e
Show file tree
Hide file tree
Showing 10 changed files with 237 additions and 4 deletions.
26 changes: 26 additions & 0 deletions CommonLibSF/include/RE/B/BGSCraftingResourceOwner.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once

#include "RE/B/BGSTypedFormValuePair.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTTuple3.h"
#include "RE/B/BaseFormComponent.h"

namespace RE
{
class BGSCraftingResourceOwner : public BaseFormComponent
{
public:
SF_RTTI_VTABLE(BGSCraftingResourceOwner);

~BGSCraftingResourceOwner() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSCraftingResourceOwner_Component"; }
void InitializeDataComponent() override; // 02 - { return; }

// members
BSTArray<BSTTuple3<TESForm*, TESForm*, BGSTypedFormValuePair::SharedVal>>* componentData; // 08
BSTArray<void*> unk10; // 10
};
static_assert(sizeof(BGSCraftingResourceOwner) == 0x20);
}
27 changes: 27 additions & 0 deletions CommonLibSF/include/RE/B/BGSCraftingUseSound.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#pragma once

#include "RE/B/BaseFormComponent.h"

namespace RE
{
class BGSCraftingUseSound : public BaseFormComponent
{
public:
SF_RTTI(BGSCraftingUseSound);

~BGSCraftingUseSound() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSCraftingUseSound_Component"; }
void InitializeDataComponent() override; // 02 - { return; }

// members
std::uint64_t unk08; // 08
std::uint64_t unk10; // 10
std::uint64_t unk18; // 18
std::uint64_t unk20; // 20
std::uint64_t unk28; // 28
std::uint64_t unk30; // 30
};
static_assert(sizeof(BGSCraftingUseSound) == 0x38);
}
6 changes: 2 additions & 4 deletions CommonLibSF/include/RE/B/BGSDestructibleObjectForm.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@

namespace RE
{
struct DestructibleObjectData
{
};
struct DestructibleObjectData;

class BGSDestructibleObjectForm : public BaseFormComponent
{
public:
SF_RTTI_VTABLE(BGSDestructibleObjectForm);

~BGSDestructibleObjectForm() override;
~BGSDestructibleObjectForm() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSDestructibleObject_Component"; }
Expand Down
24 changes: 24 additions & 0 deletions CommonLibSF/include/RE/B/BGSFeaturedItemMessage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once

#include "RE/B/BaseFormComponent.h"

namespace RE
{
class BGSMessage;

class BGSFeaturedItemMessage : public BaseFormComponent
{
public:
SF_RTTI(BGSFeaturedItemMessage);

~BGSFeaturedItemMessage() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSFeaturedItemMessage_Component"; }
void InitializeDataComponent() override; // 02 - { return; }

// members
BGSMessage* message; // 08
};
static_assert(sizeof(BGSFeaturedItemMessage) == 0x10);
}
24 changes: 24 additions & 0 deletions CommonLibSF/include/RE/B/BGSModelMaterialSwap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once

#include "RE/T/TESModel.h"

namespace RE
{
class BGSModelMaterialSwap : public TESModel
{
public:
SF_RTTI_VTABLE(BGSModelMaterialSwap);

~BGSModelMaterialSwap() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSModelMaterialSwap_Component"; }
void InitializeDataComponent() override; // 02
BGSModelMaterialSwap* GetAsModelMaterialSwap() override; // 0E - { return this; }

// members
float colorRemappingIndex; // 20
std::uint32_t pad24; // 24
};
static_assert(sizeof(BGSModelMaterialSwap) == 0x28);
}
33 changes: 33 additions & 0 deletions CommonLibSF/include/RE/B/BGSPickupPutdownSounds.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#pragma once

#include "RE/B/BaseFormComponent.h"

namespace RE
{
class BGSPickupPutdownSounds : public BaseFormComponent
{
public:
SF_RTTI_VTABLE(BGSPickupPutdownSounds);

~BGSPickupPutdownSounds() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "BGSPickupPutdownSounds_Component"; }
void InitializeDataComponent() override; // 02 - { return; }

// members
std::uint64_t unk08; // 08
std::uint64_t unk10; // 10
std::uint64_t unk18; // 18
std::uint64_t unk20; // 20
std::uint64_t unk28; // 28
std::uint64_t unk30; // 30
std::uint64_t unk38; // 38
std::uint64_t unk40; // 40
std::uint64_t unk48; // 48
std::uint64_t unk50; // 50
std::uint64_t unk58; // 58
std::uint64_t unk60; // 60
};
static_assert(sizeof(BGSPickupPutdownSounds) == 0x68);
}
16 changes: 16 additions & 0 deletions CommonLibSF/include/RE/T/TESKey.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#pragma once

#include "RE/T/TESObjectMisc.h"

namespace RE
{
class TESKey : public TESObjectMISC
{
public:
SF_RTTI_VTABLE(TESKey);
SF_FORMTYPE(KEYM);

~TESKey() override; // 00
};
static_assert(sizeof(TESKey) == 0x290);
}
41 changes: 41 additions & 0 deletions CommonLibSF/include/RE/T/TESObjectMISC.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#pragma once

#include "RE/B/BGSCraftingResourceOwner.h"
#include "RE/B/BGSCraftingUseSound.h"
#include "RE/B/BGSDestructibleObjectForm.h"
#include "RE/B/BGSFeaturedItemMessage.h"
#include "RE/B/BGSKeywordForm.h"
#include "RE/B/BGSModelMaterialSwap.h"
#include "RE/B/BGSPickupPutdownSounds.h"
#include "RE/T/TESBoundObject.h"
#include "RE/T/TESFullName.h"
#include "RE/T/TESValueForm.h"
#include "RE/T/TESWeightForm.h"

namespace RE
{
class TESObjectMISC :
public TESBoundObject, // 000
public TESFullName, // 118
public BGSModelMaterialSwap, // 128
public TESValueForm, // 150
public TESWeightForm, // 160
public BGSDestructibleObjectForm, // 170
public BGSCraftingUseSound, // 180
public BGSPickupPutdownSounds, // 1B8
public BGSKeywordForm, // 220
public BGSFeaturedItemMessage, // 250
public BGSCraftingResourceOwner // 260
{
public:
SF_RTTI_VTABLE(TESObjectMISC);
SF_FORMTYPE(MISC);

~TESObjectMISC() override; // 00

// members
BGSLocalizedString shortName; // 280
std::uint32_t flags; // 288
};
static_assert(sizeof(TESObjectMISC) == 0x290);
}
22 changes: 22 additions & 0 deletions CommonLibSF/include/RE/T/TESValueForm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#pragma once

#include "RE/B/BaseFormComponent.h"

namespace RE
{
class TESValueForm : public BaseFormComponent
{
public:
SF_RTTI_VTABLE(TESValueForm);

~TESValueForm() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "TESValue_Component"; }
void InitializeDataComponent() override; // 02

// members
std::int32_t value; // 08
};
static_assert(sizeof(TESValueForm) == 0x10);
}
22 changes: 22 additions & 0 deletions CommonLibSF/include/RE/T/TESWeightForm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#pragma once

#include "RE/B/BaseFormComponent.h"

namespace RE
{
class TESWeightForm : public BaseFormComponent
{
public:
SF_RTTI_VTABLE(TESWeightForm);

~TESWeightForm() override; // 00

// override (BaseFormComponent)
const BSFixedString& GetFormComponentType() const override; // 01 - { return "TESWeight_Component"; }
void InitializeDataComponent() override; // 02

// members
float weight; // 08
};
static_assert(sizeof(TESWeightForm) == 0x10);
}

0 comments on commit b90940e

Please sign in to comment.