docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BGSCharacterTint.h"
|
||||
#include "RE/B/BGSHeadPart.h"
|
||||
#include "RE/B/BGSLocalizedString.h"
|
||||
#include "RE/B/BSFixedString.h"
|
||||
#include "RE/B/BSTArray.h"
|
||||
#include "RE/B/BSTHashMap.h"
|
||||
#include "RE/N/NiPoint3.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
namespace BGSCharacterMorph
|
||||
{
|
||||
class BoneBaseScales
|
||||
{
|
||||
public:
|
||||
// members
|
||||
NiPoint3 scales[3]; // 00
|
||||
};
|
||||
static_assert(sizeof(BoneBaseScales) == 0x24);
|
||||
|
||||
class BONE_MODIFIER_MIN_MAX
|
||||
{
|
||||
public:
|
||||
// members
|
||||
float minY; // 00
|
||||
float minZ; // 04
|
||||
float maxY; // 08
|
||||
float maxZ; // 0C
|
||||
};
|
||||
static_assert(sizeof(BONE_MODIFIER_MIN_MAX) == 0x10);
|
||||
|
||||
class Slider
|
||||
{
|
||||
public:
|
||||
// members
|
||||
BSFixedString morphNames[2]; // 00
|
||||
const std::uint32_t uniqueID; // 10
|
||||
};
|
||||
static_assert(sizeof(Slider) == 0x18);
|
||||
|
||||
class Transform
|
||||
{
|
||||
public:
|
||||
// members
|
||||
NiPoint3 position; // 00
|
||||
NiPoint3 rotation; // 0C
|
||||
NiPoint3 scale; // 18
|
||||
};
|
||||
static_assert(sizeof(Transform) == 0x24);
|
||||
|
||||
class TransformMinMax
|
||||
{
|
||||
public:
|
||||
// members
|
||||
Transform minima; // 00
|
||||
Transform maxima; // 24
|
||||
};
|
||||
static_assert(sizeof(TransformMinMax) == 0x48);
|
||||
|
||||
class FacialBoneRegion
|
||||
{
|
||||
public:
|
||||
// members
|
||||
Transform defaultTransform; // 00
|
||||
BGSLocalizedString name; // 28
|
||||
BSFixedString associatedMorphGroupName; // 30
|
||||
BGSCharacterTint::EntrySlot associatedTintSlot; // 38
|
||||
BGSHeadPart::HeadPartType associatedHeadPartType; // 3C
|
||||
BSTHashMap<BSFixedString, TransformMinMax*> boneMinMaxMap; // 40
|
||||
BSTArray<std::uint32_t> associatedMorphSliders; // 70
|
||||
const std::uint32_t id; // 88
|
||||
};
|
||||
static_assert(sizeof(FacialBoneRegion) == 0x90);
|
||||
|
||||
class Preset
|
||||
{
|
||||
public:
|
||||
// members
|
||||
BGSLocalizedString name; // 00
|
||||
BSFixedString morph; // 08
|
||||
BGSTextureSet* textureSet; // 10
|
||||
std::int8_t flags; // 18
|
||||
std::uint32_t id; // 1C
|
||||
};
|
||||
static_assert(sizeof(Preset) == 0x20);
|
||||
|
||||
class Group
|
||||
{
|
||||
public:
|
||||
// members
|
||||
BSFixedString name; // 00
|
||||
BSTArray<Preset> presets; // 08
|
||||
BSTArray<std::uint32_t> sliders; // 20
|
||||
std::uint16_t presetMaskID; // 38
|
||||
};
|
||||
static_assert(sizeof(Group) == 0x40);
|
||||
|
||||
enum class WeightComponent : std::uint32_t
|
||||
{
|
||||
kThin = 0x0,
|
||||
kMuscular = 0x1,
|
||||
kFat = 0x2
|
||||
};
|
||||
|
||||
enum class BODY_MORPH_REGION : std::uint32_t
|
||||
{
|
||||
kHead = 0x0,
|
||||
kUpperTorso = 0x1,
|
||||
kArms = 0x2,
|
||||
kLowerTorso = 0x3,
|
||||
kLegs = 0x4
|
||||
};
|
||||
|
||||
enum class Axis : std::uint32_t
|
||||
{
|
||||
kPosX = 0x0,
|
||||
kPosY = 0x1,
|
||||
kPosZ = 0x2,
|
||||
kRotX = 0x3,
|
||||
kRotY = 0x4,
|
||||
kRotZ = 0x5,
|
||||
kScaleX = 0x6,
|
||||
kScaleY = 0x7,
|
||||
kScaleZ = 0x8
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user