CommonLibVR
BSMultiIndexTriShape.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTriShape.h"
4 #include "RE/N/NiColor.h"
5 #include "RE/N/NiSmartPointer.h"
6 
7 #include "REX/W32/D3D.h"
8 
9 namespace RE
10 {
11  namespace BSGraphics
12  {
13  class IndexBuffer;
14  }
15 
16  class BSShaderProperty;
17 
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_BSMultiIndexTriShape;
22  inline static constexpr auto Ni_RTTI = NiRTTI_BSMultiIndexTriShape;
23  inline static constexpr auto VTABLE = VTABLE_BSMultiIndexTriShape;
24 
25  ~BSMultiIndexTriShape() override; // 00
26 
27  // override (BSGeometry)
28  const NiRTTI* GetRTTI() const override; // 02
29  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
30  BSMultiIndexTriShape* AsMultiIndexTriShape() override; // 35 - { return this; }
31 
32  // members
33  BSGraphics::IndexBuffer* altIndexBuffer; // 160
34  std::uint32_t altPrimCount; // 168
36  std::uint32_t pad1AC; // 1AC
38  std::uint8_t useAdditionalTriList; // 1B8
39  std::uint8_t pad1B9; // 1B9
40  std::uint16_t pad1BA; // 1BA
42  float materialScale; // 1CC
43  float normalDampener; // 1D0
44  std::uint32_t unk1D4; // 1D4
45  private:
46  KEEP_FOR_RE()
47  };
48 #ifndef SKYRIMVR
49  static_assert(sizeof(BSMultiIndexTriShape) == 0x1D8);
50 #else
51  static_assert(sizeof(BSMultiIndexTriShape) == 0x218);
52  //static_assert(sizeof(BSMultiIndexTriShape) == 0x258); SKYRIM_SUPPORT_AE
53 #endif
54 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSMultiIndexTriShape.h:19
std::uint8_t pad1B9
Definition: BSMultiIndexTriShape.h:39
NiPointer< BSShaderProperty > additionalShaderProperty
Definition: BSMultiIndexTriShape.h:37
float normalDampener
Definition: BSMultiIndexTriShape.h:43
BSMultiIndexTriShape * AsMultiIndexTriShape() override
std::uint32_t pad1AC
Definition: BSMultiIndexTriShape.h:36
std::uint8_t useAdditionalTriList
Definition: BSMultiIndexTriShape.h:38
float materialScale
Definition: BSMultiIndexTriShape.h:42
static constexpr auto VTABLE
Definition: BSMultiIndexTriShape.h:23
std::uint32_t altPrimCount
Definition: BSMultiIndexTriShape.h:34
std::uint32_t unk1D4
Definition: BSMultiIndexTriShape.h:44
std::uint16_t pad1BA
Definition: BSMultiIndexTriShape.h:40
static constexpr auto Ni_RTTI
Definition: BSMultiIndexTriShape.h:22
const NiRTTI * GetRTTI() const override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
static constexpr auto RTTI
Definition: BSMultiIndexTriShape.h:21
NiColorA materialParams
Definition: BSMultiIndexTriShape.h:41
~BSMultiIndexTriShape() override
BSGraphics::IndexBuffer * altIndexBuffer
Definition: BSMultiIndexTriShape.h:33
REX::W32::XMFLOAT4X4 materialProjection
Definition: BSMultiIndexTriShape.h:35
Definition: BSShaderProperty.h:17
Definition: BSTriShape.h:8
Definition: NiCloningProcess.h:10
Definition: NiColor.h:283
Definition: NiObject.h:37
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSMultiIndexTriShape(static_cast< std::uint64_t >(692088))
constexpr std::array< REL::ID, 1 > VTABLE_BSMultiIndexTriShape
Definition: Offsets_VTABLE.h:9259
constexpr REL::ID NiRTTI_BSMultiIndexTriShape(static_cast< std::uint64_t >(528364))
Definition: D3D.h:697