Advertisement
expired6978

BSGeometry

Mar 27th, 2016
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1.  
  2. // 160
  3. class BSGeometry : public NiAVObject
  4. {
  5. public:
  6.     virtual void Unk_39();
  7.     virtual void Unk_3A();
  8.     virtual void Unk_3B();
  9.     virtual void Unk_3C();
  10.     virtual void Unk_3D();
  11.     virtual void Unk_3E();
  12.     virtual void Unk_3F();
  13.     virtual void Unk_40();
  14.  
  15.     float   unk120[4];                      // 120
  16.     NiProperty          * effectState;      // 130
  17.     NiProperty          * shaderProperty;   // 138
  18.     BSSkin::Instance    * skinInstance;     // 140
  19.  
  20.     struct GeometryData
  21.     {
  22.         UInt64  flags;
  23.  
  24.         struct VertexData
  25.         {
  26.             void * unk00;   // 00
  27.  
  28.             struct Vertex
  29.             {
  30.                 typedef UInt16 hfloat;
  31.                 struct HalfVector3
  32.                 {
  33.                     hfloat  x;  // 00
  34.                     hfloat  y;  // 02
  35.                     hfloat  z;  // 04
  36.                 };
  37.  
  38.                 HalfVector3 position;
  39.                 hfloat      bitangent_x;
  40.                 struct UV
  41.                 {
  42.                     hfloat u;
  43.                     hfloat v;
  44.                 } uv;
  45.                 HalfVector3 normal;
  46.                 UInt8       bitangent_y;
  47.                 HalfVector3 tangent;
  48.                 UInt8       bitangent_z;
  49.                 hfloat      boneWeights[4];
  50.                 UInt8       boneIndices[4];
  51.             };
  52.  
  53.             Vertex  * vertices; // 08
  54.         };
  55.  
  56.         struct TriangleData
  57.         {
  58.             void    * unk00;        // 00 - same ptr as the one on vertexData
  59.             UInt16  * triangles;    // 08
  60.         };
  61.  
  62.         VertexData      * vertexData;   // 08
  63.         TriangleData    * triangleData; // 10
  64.     };
  65.  
  66.     GeometryData    * geometryData;         // 148
  67.     UInt64  unk150;                         // 150
  68.     UInt8   unk158;                         // 158
  69.     UInt8   unk159;                         // 159
  70.     UInt16  pad15A;                         // 15A
  71.     UInt32  unk15C;                         // 15C
  72. };
  73. STATIC_ASSERT(sizeof(BSGeometry) == 0x160);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement