-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: remaining
TESBoundObject
classes (#233)
- Loading branch information
Showing
9 changed files
with
308 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSDestructibleObjectForm.h" | ||
#include "RE/B/BGSKeywordForm.h" | ||
#include "RE/T/TESMagicTargetForm.h" | ||
#include "RE/T/TESObjectSTAT.h" | ||
|
||
namespace RE | ||
{ | ||
struct MOVABLE_STATIC_DATA | ||
{ | ||
public: | ||
// members | ||
std::uint8_t flags; // 0 | ||
}; | ||
static_assert(sizeof(MOVABLE_STATIC_DATA) == 0x1); | ||
|
||
class BGSMovableStatic : | ||
public TESObjectSTAT, // 000 | ||
public BGSDestructibleObjectForm, // 170 | ||
public TESMagicTargetForm, // 180 | ||
public BGSKeywordForm // 188 | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSMovableStatic); | ||
SF_FORMTYPE(MSTT); | ||
|
||
~BGSMovableStatic() override; // 00 | ||
|
||
// members | ||
MOVABLE_STATIC_DATA data; // 1B8 | ||
float unk1BC; // 1BC | ||
}; | ||
static_assert(sizeof(BGSMovableStatic) == 0x1C0); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSKeywordForm.h" | ||
#include "RE/B/BGSModelMaterialSwap.h" | ||
#include "RE/N/NiPoint3.h" | ||
#include "RE/T/TESBoundObject.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSArtObject; | ||
|
||
class BGSSnapTemplateNode : | ||
public TESBoundObject, // 000 | ||
public BGSModelMaterialSwap, // 0E0 | ||
public BGSKeywordForm // 108 | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSSnapTemplateNode); | ||
SF_FORMTYPE(STND); | ||
|
||
~BGSSnapTemplateNode() override; // 00 | ||
|
||
// members | ||
NiPoint3 snapAngles; // 138 | ||
std::uint32_t unk144; // 144 | ||
std::uint32_t unk148; // 148 | ||
std::uint32_t unk14C; // 14C | ||
std::uint64_t unk150; // 150 | ||
std::uint64_t unk158; // 158 | ||
std::uint64_t unk160; // 160 | ||
std::uint64_t unk168; // 168 | ||
std::uint64_t unk170; // 170 | ||
BGSArtObject* artObject; // 178 | ||
}; | ||
static_assert(sizeof(BGSSnapTemplateNode) == 0x180); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSTArray.h" | ||
#include "RE/T/TESBoundAnimObject.h" | ||
#include "RE/W/WWiseSoundHook.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSSoundEcho : public TESBoundAnimObject | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSSoundEcho); | ||
SF_FORMTYPE(SECH); | ||
|
||
~BGSSoundEcho() override; // 00 | ||
|
||
// members | ||
BSTArray<void*> unk0E0; // 0E0 | ||
BGSAudio::WwiseSoundHook unk128; // 0F0 | ||
}; | ||
static_assert(sizeof(BGSSoundEcho) == 0x120); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#pragma once | ||
|
||
#include "RE/T/TESObjectACTI.h" | ||
|
||
namespace RE | ||
{ | ||
class TESObjectREFR; | ||
class BGSVoiceType; | ||
|
||
class BGSTalkingActivator : public TESObjectACTI | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSTalkingActivator); | ||
SF_FORMTYPE(TACT); | ||
|
||
~BGSTalkingActivator() override; // 00 | ||
|
||
// add | ||
virtual bool GetReflectedByAutoWater(); // 82 - { return false; } | ||
|
||
// members | ||
TESObjectREFR* tempRef; // 220 | ||
BGSVoiceType* voiceType; // 228 | ||
}; | ||
static_assert(sizeof(BGSTalkingActivator) == 0x230); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,22 @@ | ||
#pragma once | ||
|
||
#include "RE/T/TESFurniture.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSTerminal | ||
class BGSTerminalMenu; | ||
|
||
class BGSTerminal : public TESFurniture | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSTerminal); | ||
SF_FORMTYPE(TERM); | ||
|
||
~BGSTerminal() override; // 00 | ||
|
||
// members | ||
BGSTerminalMenu* menu; // 280 | ||
std::uint8_t unk288; // 288 | ||
}; | ||
static_assert(sizeof(BGSTerminal) == 0x290); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSAttachParentArray.h" | ||
#include "RE/T/TESObjectACTI.h" | ||
#include "RE/T/TESProduceForm.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSExplosion; | ||
class TESGlobal; | ||
|
||
class TESFlora : | ||
public TESObjectACTI, // 000 | ||
public TESProduceForm // 220 | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(TESFlora); | ||
SF_FORMTYPE(FLOR); | ||
|
||
~TESFlora() override; // 00 | ||
|
||
// members | ||
BGSAttachParentArray attachParents; // 268 | ||
BGSAudio::WwiseSoundHook sound; // 288 | ||
BGSKeyword* actionKeyword; // 2B8 | ||
TESGlobal* maxGlobal; // 2C0 | ||
TESGlobal* minGlobal; // 2C8 | ||
BGSExplosion* explosion; // 2D0 | ||
float unk2D8; // 2D8 | ||
float unk2DC; // 2DC | ||
std::uint32_t unk2E0; // 2E0 | ||
}; | ||
static_assert(sizeof(TESFlora) == 0x2E8); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSAttachParentArray.h" | ||
#include "RE/B/BSTArray.h" | ||
#include "RE/T/TESObjectACTI.h" | ||
|
||
namespace RE | ||
{ | ||
struct WorkbenchData | ||
{ | ||
public: | ||
enum class Type | ||
{ | ||
kNone = 0, | ||
kCreateObject = 1, | ||
kWeapons = 2, | ||
kEnchanting = 3, | ||
kEnchantingExperiment = 4, | ||
kAlchemy = 5, | ||
kAlchemyExperiment = 6, | ||
kArmor = 7, | ||
kPowerArmor = 8, | ||
kRobotMod = 9, | ||
kUnknown10 = 10, | ||
kResearch = 11 | ||
}; | ||
|
||
// members | ||
stl::enumeration<Type, std::uint8_t> type; // 0 | ||
}; | ||
static_assert(sizeof(WorkbenchData) == 0x1); | ||
|
||
class BSFurnitureMarker | ||
{ | ||
public: | ||
// members | ||
NiPoint3 position; // 00 | ||
float rotationZ; // 0C | ||
BGSKeyword* actorMustHaveKeyword; // 10 | ||
float heading; // 18 | ||
std::uint32_t allowedAnimations; // 1C | ||
std::uint64_t unk20; // 20 | ||
}; | ||
static_assert(sizeof(BSFurnitureMarker) == 0x28); | ||
|
||
class TESFurniture : public TESObjectACTI | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(TESFurniture); | ||
SF_FORMTYPE(FURN); | ||
|
||
struct EntryPointData | ||
{ | ||
public: | ||
// members | ||
std::uint32_t entryPoint; // 0 | ||
std::uint32_t flags; // 4 | ||
}; | ||
static_assert(sizeof(EntryPointData) == 0x8); | ||
|
||
~TESFurniture() override; // 00 | ||
|
||
// add | ||
virtual bool AllowZeroGravityUse() const; // 82 | ||
|
||
// members | ||
TESFurniture* furnitureTemplate; // 220 | ||
BSTArray<EntryPointData> entryPointDataArray; // 228 | ||
BGSAttachParentArray attachParents; // 248 | ||
WorkbenchData workBenchData; // 258 | ||
std::uint32_t furnFlags; // 25C | ||
TESForm* associatedForm; // 260 | ||
BSTArray<BSFurnitureMarker> markersArray; // 268 | ||
std::uint32_t unk278; // 278 | ||
}; | ||
static_assert(sizeof(TESFurniture) == 0x280); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BaseFormComponent.h" | ||
#include "RE/W/WwiseSoundHook.h" | ||
|
||
namespace RE | ||
{ | ||
class TESBoundObject; | ||
|
||
struct SEASON | ||
{ | ||
enum : std::uint32_t | ||
{ | ||
kNone = static_cast<std::uint32_t>(-1), | ||
kSpring = 0, | ||
kSummer, | ||
kFall, | ||
kWinter, | ||
|
||
kTotal, | ||
}; | ||
}; | ||
|
||
class TESProduceForm : public BaseFormComponent | ||
{ | ||
public: | ||
SF_RTTI(TESProduceForm); | ||
|
||
~TESProduceForm() override; // 00 | ||
|
||
// override (BaseFormComponent) | ||
const BSFixedString& GetFormComponentType() const override; // 01 - { return "TESProduce_Component"; } | ||
void InitializeDataComponent() override; // 02 | ||
|
||
// members | ||
BGSAudio::WwiseSoundHook harvestSound; // 08 | ||
TESBoundObject* produceItem; // 38 | ||
std::int8_t produceChance[SEASON::kTotal]; // 40 | ||
}; | ||
static_assert(sizeof(TESProduceForm) == 0x48); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSKeywordForm.h" | ||
#include "RE/T/TESBoundAnimObject.h" | ||
#include "RE/W/WWiseSoundHook.h" | ||
|
||
namespace RE | ||
{ | ||
class TESSound : | ||
public TESBoundAnimObject, // 00 | ||
public BGSKeywordForm // E8 | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(TESSound); | ||
SF_FORMTYPE(SOUN); | ||
|
||
~TESSound() override; // 00 | ||
|
||
// members | ||
BGSAudio::WwiseSoundHook sound; // 110 - SMLS | ||
std::uint64_t unk140; // 140 | ||
}; | ||
static_assert(sizeof(TESSound) == 0x148); | ||
} |