docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BSIntrusiveRefCounted.h"
|
||||
#include "RE/N/NiPoint2.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
class BSShaderProperty;
|
||||
|
||||
class __declspec(novtable) BSShaderMaterial :
|
||||
public BSIntrusiveRefCounted // 00
|
||||
{
|
||||
public:
|
||||
static constexpr auto RTTI{ RTTI::BSShaderMaterial };
|
||||
static constexpr auto VTABLE{ VTABLE::BSShaderMaterial };
|
||||
|
||||
enum class Feature
|
||||
{
|
||||
kNone = static_cast<std::underlying_type_t<Feature>>(-1),
|
||||
kDefault = 0x0,
|
||||
kEnvmap = 0x1,
|
||||
kGlowmap = 0x2,
|
||||
kParallax = 0x3,
|
||||
kFace = 0x4,
|
||||
kSkinTint = 0x5,
|
||||
kHairTint = 0x6,
|
||||
kParallaxOcc = 0x7,
|
||||
kLandscape = 0x8,
|
||||
kLODLandscape = 0x9,
|
||||
kSnow = 0xA,
|
||||
kMultiLayerParallax = 0xB,
|
||||
kTreeAnim = 0xC,
|
||||
kLODObjects = 0xD,
|
||||
kMultiIndexSnow = 0xE,
|
||||
kLODObjectsHD = 0xF,
|
||||
kEye = 0x10,
|
||||
kCloud = 0x11,
|
||||
kLODLandscapeNoise = 0x12,
|
||||
kLODLandscapeBlend = 0x13,
|
||||
kDismemberment = 0x14
|
||||
};
|
||||
|
||||
enum class Type
|
||||
{
|
||||
kBase = 0x0,
|
||||
kEffect = 0x1,
|
||||
kLighting = 0x2,
|
||||
kWater = 0x3
|
||||
};
|
||||
|
||||
virtual ~BSShaderMaterial();
|
||||
|
||||
// add
|
||||
virtual BSShaderMaterial* Create(); // 01
|
||||
virtual void CopyMembers(const BSShaderMaterial* a_other); // 02
|
||||
virtual std::uint32_t ComputeCRC32(std::uint32_t a_uniqueID, bool a_combining); // 03
|
||||
virtual BSShaderMaterial* GetDefault(); // 04
|
||||
virtual Feature GetFeature(); // 05
|
||||
virtual Type GetType(); // 06
|
||||
virtual void ReceiveValuesFromRootMaterial(BSShaderProperty* a_property); // 07
|
||||
virtual bool DoIsCopy(const BSShaderMaterial* a_other); // 08
|
||||
|
||||
// members
|
||||
NiPoint2 texCoordOffset[2]; // 0C
|
||||
NiPoint2 texCoordScale[2]; // 1C
|
||||
std::uint32_t hashKey; // 2C
|
||||
std::uint32_t uniqueCode; // 30
|
||||
};
|
||||
static_assert(sizeof(BSShaderMaterial) == 0x38);
|
||||
}
|
||||
Reference in New Issue
Block a user