Advertisement
expired6978

GameResources.h

Apr 4th, 2013
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.98 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "GameTypes.h"
  4. #include "NiObjects.h"
  5.  
  6. class BSResource
  7. {
  8. public:
  9.     virtual ~BSResource();
  10.  
  11.     template<typename D>
  12.     class EntryDBBase
  13.     {
  14.     public:
  15.         virtual ~EntryDBBase();
  16.         virtual void Unk_01(void);  // Pure
  17.         virtual void Unk_02(void);
  18.         virtual void Unk_03(void);
  19.         virtual void Unk_04(void);
  20.         virtual void Unk_05(void);
  21.     };
  22.  
  23.     template<typename D>
  24.     class EntryDB : public EntryDBBase<D>
  25.     {
  26.     public:
  27.         virtual ~EntryDB();
  28.         virtual void Unk_01(void);
  29.         virtual void Unk_02(void);
  30.         virtual void Unk_03(void);
  31.         virtual void Unk_04(void);
  32.         virtual void Unk_05(void);
  33.  
  34.         D data;
  35.     };
  36. };
  37.  
  38. struct BSFaceGenDB
  39. {
  40.     struct TRI
  41.     {
  42.         struct DBTraits
  43.         {
  44.             struct MorphData
  45.             {
  46.                 char    * morphName;        // 00
  47.                 UInt32 unk04;               // 04
  48.                 char    * diffData;         // 08 - Looks like a tArray?
  49.                 UInt32  unk0C;              // 0C
  50.                 UInt32  unk10;              // 10
  51.                 float   baseDiff;           // 14
  52.                 UInt32  diffVertexNum;      // 18
  53.                 UInt32  baseVertexNum;      // 1C
  54.                 UInt32  diffVertexPosNum;   // 20
  55.             };
  56.  
  57.             struct MorphSet
  58.             {
  59.                 UInt32  unk00;                  // 00
  60.                 char    * fileName;             // 04
  61.                 tArray<MorphData>   morphData;  // 08
  62.                 UInt32  unk14;                  // 14
  63.                 UInt32  unk18;                  // 18
  64.                 UInt32  unk1C;                  // 1C
  65.                 UInt32  unk20;                  // 20
  66.                 UInt32  unk24;                  // 24
  67.                 UInt32  unk28;                  // 28
  68.                 BSFaceGenMorphData  * niData;   // 2C - BSFaceGenMorphDataHead
  69.             };
  70.  
  71.             struct Data
  72.             {
  73.                 UInt32  unk00;          // 00
  74.                 UInt32  unk04;          // 04 - tri\0
  75.                 UInt32  unk08;          // 08
  76.                 UInt32  unk0C;          // 0C
  77.                 UInt32  unk10;          // 10
  78.                 Data    * next;         // 14
  79.                 void    * unk18;        // 18
  80.                 MorphSet    * morphSet; // 1C
  81.             };
  82.  
  83.             UInt32 unk00[0x68 >> 2];
  84.             tArray<Data*> triEntries;
  85.         };
  86.     };
  87.  
  88.     struct FG
  89.     {
  90.         struct DBTraits
  91.         {
  92.  
  93.         };
  94.     };
  95. };
  96.  
  97. class FaceGenTriDatabase : public BSResource::EntryDB<BSFaceGenDB::TRI::DBTraits>
  98. {
  99. public:
  100.     static FaceGenTriDatabase * GetSingleton(void);
  101.     static BSFaceGenDB::TRI::DBTraits::Data * GetInvalidEntry(void);
  102. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement