-
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
TESForm
classes (#238)
*except for - BGSStoryManagerBranchNode - BGSStoryManagerQuestNode - BGSDialogueBranch - BGSMusicTrackFormWrapper - BGSPlanetContentManagerTree - BGSPlanetContentManagerBranchNode - BGSPlanetContentManagerContentNode
- Loading branch information
Showing
96 changed files
with
4,039 additions
and
23 deletions.
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,19 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSKeyword.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSAction : public BGSKeyword | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAction); | ||
SF_FORMTYPE(AACT); | ||
|
||
~BGSAction() override; // 00 | ||
|
||
// members | ||
std::uint32_t index; // 80 | ||
}; | ||
static_assert(sizeof(BGSAction) == 0x80); | ||
} |
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,38 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSModelMaterialSwap.h" | ||
#include "RE/T/TESBoundObject.h" | ||
#include "RE/W/WWiseSoundHook.h" | ||
|
||
namespace RE | ||
{ | ||
class TESObjectLIGH; | ||
|
||
struct ADDON_DATA | ||
{ | ||
public: | ||
// members | ||
std::uint16_t masterParticleCap; // 0 | ||
std::int8_t flags; // 2 | ||
}; | ||
static_assert(sizeof(ADDON_DATA) == 0x4); | ||
|
||
class BGSAddonNode : | ||
public TESBoundObject, // 00 | ||
public BGSModelMaterialSwap // E0 | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAddonNode); | ||
SF_FORMTYPE(ADDN); | ||
|
||
~BGSAddonNode() override; // 00 | ||
|
||
// members | ||
std::uint32_t index; // 108 | ||
BGSAudio::WwiseSoundHook sound; // 110 | ||
TESObjectLIGH* light; // 140 | ||
std::uint8_t unk148[776]; // 148 - reflection data | ||
ADDON_DATA data; // 450 | ||
}; | ||
static_assert(sizeof(BGSAddonNode) == 0x458); | ||
} |
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,42 @@ | ||
#pragma once | ||
|
||
#include "RE/T/TESForm.h" | ||
#include "RE/T/TESFullName.h" | ||
|
||
namespace RE | ||
{ | ||
class ActorValueInfo; | ||
class TESFaction; | ||
class TESGlobal; | ||
class TESNPC; | ||
|
||
class BGSAffinityEvent : public TESForm | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAffinityEvent); | ||
SF_FORMTYPE(AFFE); | ||
|
||
struct ReactionData | ||
{ | ||
public: | ||
// members | ||
TESNPC* npc; // 00 | ||
TESGlobal* reaction; // 08 | ||
}; | ||
static_assert(sizeof(ReactionData) == 0x10); | ||
|
||
~BGSAffinityEvent() override; // 00 | ||
|
||
// members | ||
ActorValueInfo* actorValue; // 30 | ||
TESGlobal* eventSize; // 38 | ||
TESGlobal* eventDistance; // 40 | ||
TESGlobal* eventCooldown; // 48 | ||
TESFaction* faction; // 50 | ||
std::uint32_t flags; // 58 | ||
std::uint32_t unk5C; // 5C | ||
std::vector<ReactionData*> reactionData; // 60 | ||
std::uint32_t unk78; // 78 | ||
}; | ||
static_assert(sizeof(BGSAffinityEvent) == 0x80); | ||
} |
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/T/TESForm.h" | ||
#include "RE/W/WwiseSoundHook.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSAmbienceSet : public TESForm | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAmbienceSet); | ||
SF_FORMTYPE(AMBS); | ||
|
||
~BGSAmbienceSet() override; // 00 | ||
|
||
// members | ||
std::uint64_t unk30; // 30 | ||
std::uint64_t unk38; // 38 | ||
std::uint64_t unk40; // 40 | ||
bool unk48; // 48 | ||
BGSAudio::WwiseSoundHook unk50; // 50 | ||
}; | ||
static_assert(sizeof(BGSAmbienceSet) == 0x80); | ||
} |
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
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,140 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSReflectedForm.h" | ||
#include "RE/B/BSTArray.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSResource; | ||
class TESClimate; | ||
class TESImageSpace; | ||
|
||
namespace BSGalaxy | ||
{ | ||
class BGSSunPresetForm; | ||
} | ||
|
||
class BGSAtmosphere : public BGSReflectedForm | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAtmosphere); | ||
SF_FORMTYPE(ATMO); | ||
|
||
enum class ATMOSPHERE_TYPE | ||
{ | ||
kNone = 0, | ||
kNitrogen, | ||
kMethane, | ||
kCarbonDioxide, | ||
kOxygen, | ||
kLowOxygen, | ||
kHighOxygen | ||
}; | ||
|
||
struct alignas(4) ScatteringSettings | ||
{ | ||
public: | ||
struct alignas(4) RayleighSettings | ||
{ | ||
float moleculesPerUnitVolume; // 00 | ||
float refractiveIndexOfAir; // 04 | ||
float depolarizationFactor; // 08 | ||
bool useOzoneAbsorptionApproximation; // 0C | ||
DirectX::XMFLOAT4 ozoneAbsorptionCoef; // 10 | ||
DirectX::XMFLOAT4 rayleighCoef; // 20 | ||
}; | ||
static_assert(sizeof(RayleighSettings) == 0x30); | ||
|
||
struct alignas(4) MieSettings | ||
{ | ||
float aerosolDensity; // 00 | ||
float aerosolAbsorbtion; // 04 | ||
DirectX::XMFLOAT4 mieCoef; // 08 | ||
}; | ||
static_assert(sizeof(MieSettings) == 0x18); | ||
|
||
// members | ||
std::uint32_t height; // 00 | ||
bool useCustomCoefficients; // 04 | ||
RayleighSettings rayleigh; // 08 | ||
MieSettings mie; // 38 | ||
float aerosolPhaseFunction; // 50 | ||
float scatteringScale; // 54 | ||
float edgeEffectExponent; // 58 | ||
float edgeEffectCoefficient; // 5C | ||
}; | ||
static_assert(sizeof(ScatteringSettings) == 0x60); | ||
|
||
struct alignas(4) StarSettings | ||
{ | ||
float planetStarfieldBackgroundScale; // 00 | ||
float planetStarfieldBackgroundGIContribution; // 04 | ||
float planetStarfieldStarBrightnessScale; // 08 | ||
float planetStarGlowBackgroundScale; // 0C | ||
float horizonScatteringBlendScale; // 10 | ||
bool disableSimulatedVisibility; // 14 | ||
float staticVisibility; // 18 | ||
}; | ||
static_assert(sizeof(StarSettings) == 0x1C); | ||
|
||
struct alignas(4) CelestialBodySettings | ||
{ | ||
float celestialBodyIlluminanceScale; // 0 | ||
}; | ||
static_assert(sizeof(CelestialBodySettings) == 0x4); | ||
|
||
struct OverrideSettings | ||
{ | ||
BSGalaxy::BGSSunPresetForm* sunPresetOverride; // 00 | ||
}; | ||
static_assert(sizeof(OverrideSettings) == 0x8); | ||
|
||
struct MiscSettings | ||
{ | ||
stl::enumeration<ATMOSPHERE_TYPE, std::uint32_t> atmosphereType; // 00 | ||
BSTArray<BGSResource*> inorganicResources; // 08 | ||
TESImageSpace* imageSpaceDay; // 18 | ||
TESImageSpace* imageSpaceNight; // 20 | ||
TESClimate* climateOverride; // 28 | ||
}; | ||
static_assert(sizeof(MiscSettings) == 0x30); | ||
|
||
struct AtmosphereSettings | ||
{ | ||
public: | ||
// members | ||
BGSAtmosphere* parent; // 00 | ||
ScatteringSettings scattering; // 08 | ||
StarSettings stars; // 68 | ||
CelestialBodySettings celestialBodies; // 84 | ||
OverrideSettings overrides; // 88 | ||
MiscSettings misc; // 90 | ||
}; | ||
static_assert(sizeof(AtmosphereSettings) == 0xC0); | ||
|
||
~BGSAtmosphere() override; // 00 | ||
|
||
// members | ||
AtmosphereSettings settings; // 030 | ||
BSTArray<void*> unk0F0; // 0F0 - incomplete reflection? | ||
std::uint64_t unk100; // 100 | ||
std::uint32_t unk108; // 108 | ||
std::uint32_t unk10C; // 10C | ||
std::uint32_t unk110; // 110 | ||
std::uint32_t unk114; // 114 | ||
std::uint32_t unk118; // 118 | ||
std::uint32_t unk11C; // 11C | ||
std::uint32_t unk120; // 120 | ||
std::uint32_t unk124; // 124 | ||
std::uint32_t unk128; // 128 | ||
std::uint32_t unk12C; // 12C | ||
std::uint32_t unk130; // 130 | ||
std::uint32_t unk134; // 134 | ||
std::uint32_t unk138; // 138 | ||
std::uint32_t unk13C; // 13C | ||
std::uint32_t unk140; // 140 | ||
std::uint32_t unk144; // 144 | ||
std::uint32_t unk148; // 148 | ||
}; | ||
static_assert(sizeof(BGSAtmosphere) == 0x150); | ||
} |
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,33 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BGSEditorID.h" | ||
#include "RE/T/TESForm.h" | ||
|
||
namespace RE | ||
{ | ||
class BGSAttractionRule : public TESForm | ||
{ | ||
public: | ||
SF_RTTI_VTABLE(BGSAttractionRule); | ||
SF_FORMTYPE(AORU); | ||
|
||
class Rule | ||
{ | ||
public: | ||
// members | ||
float radius; // 00 | ||
float minDelay; // 04 | ||
float maxDelay; // 08 | ||
bool requiresLOS; // 0C | ||
bool combatTarget; // 0D | ||
}; | ||
static_assert(sizeof(Rule) == 0x10); | ||
|
||
~BGSAttractionRule() override; // 00 | ||
|
||
// members | ||
BGSEditorID formEditorID; // 30 | ||
Rule attractionRule; // 40 | ||
}; | ||
static_assert(sizeof(BGSAttractionRule) == 0x50); | ||
} |
Oops, something went wrong.