DarthTon

Untitled

Oct 7th, 2013
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.62 KB | None | 0 0
  1. struct Point2
  2. {
  3.     float x;                // 0x000
  4.     float y;                // 0x004
  5. };
  6.  
  7. // sizeof = 0xC
  8. struct Point3
  9. {
  10.     float x;                // 0x000
  11.     float y;                // 0x004
  12.     float z;                // 0x008
  13. };
  14.  
  15. // sizeof = 0x14
  16. struct Point4
  17. {
  18.     Point3 pos;             // 0x000
  19.     uint32_t unk;           // 0x00C
  20.     float r;                // 0x010
  21. };
  22.  
  23. struct AABB
  24. {
  25.     Point3 min;
  26.     Point3 max;
  27. };
  28.  
  29. // sizeof = 0x40 | 0x60
  30. struct WoWAura
  31. {
  32.     size_t pad_000[5];              // 0x000    0x000
  33.     size_t NbVariableEffects;       // 0x014    0x028
  34.     size_t VariableEffectsPtr;      // 0x018    0x030
  35.     uint32_t Unk12;                 // 0x01C    0x038
  36.     uint64_t creatorGUID;           // 0x020    0x040
  37.     int AuraId;                     // 0x028    0x048
  38.     uint8_t Unk28;                  // 0x02C    0x04C
  39.     uint8_t StackCount;             // 0x02D    0x04D
  40.     uint16_t Level;                 // 0x02E    0x04E
  41.     int Duration;                   // 0x030    0x050
  42.     int EndTime;                    // 0x034    0x054
  43.     uint32_t varEffect[2];          // 0x038    0x058
  44. };
  45.  
  46. // sizeof = 0x404 | 0x608
  47. struct AuraStorage
  48. {
  49.     union
  50.     {
  51.         WoWAura auraTable[16];      // 0xE38    0x1790
  52.  
  53.         struct
  54.         {
  55.             int aura_count2;        // 0xE38    0x1790
  56.             WoWAura* pAuraTbl;      // 0xE3C    0x1794
  57.         } auraEx;
  58.     };
  59.  
  60.     int aura_count1;                // 0x1238   0x1D90
  61. };
  62.  
  63. // sizeof = 0x30 | 0x40
  64. class CPassenger
  65. {
  66. public:
  67.     size_t pad_000[2];          // 0x000    0x000
  68.     uint64_t TransportGuid;     // 0x008    0x010
  69.     Point4 Position;            // 0x010    0x018
  70.     float Pitch;                // 0x024    0x02C
  71.     uint64_t* pGuid;            // 0x028    0x030
  72.     void *GroundNormal;         // 0x02C    0x038
  73. };
  74.  
  75. // sizeof = 0x150 | 0x188
  76. class CMovement : public CPassenger
  77. {
  78. public:
  79.     size_t pad_030[2];          // 0x030    0x040
  80.     uint32_t Flags;             // 0x038    0x050
  81.     uint16_t MovementFlags2;    // 0x03C    0x054
  82.     char SeatPosition;          // 0x03E    0x056
  83.     char gap_4b[1];             // 0x03F    0x057
  84.     Point3 AnchorPosition;      // 0x040    0x058
  85.     float AnchorFacing;         // 0x04C    0x064
  86.     float AnchorPitch;          // 0x050    0x068
  87.     int MoveStartTime;          // 0x054    0x06C
  88.     Point3 Direction3d;         // 0x058    0x070
  89.     Point2 Direction2d;         // 0x064    0x07C
  90.     float AnchorCosPitch;       // 0x06C    0x084
  91.     float AnchorSinPitch;       // 0x070    0x088
  92.     int TimeFallen;             // 0x074    0x08C
  93.     float FallStartElev;        // 0x078    0x090
  94.     float field_74;             // 0x07C    0x094
  95.     float CurrentSpeed;         // 0x080    0x098
  96.     float WalkSpeed;            // 0x084    0x09C
  97.     float RunSpeed;             // 0x088    0x0A0
  98.     float RunBackSpeed;         // 0x08C    0x0A4
  99.     float SwimSpeed;            // 0x090    0x0A8
  100.     float SwimBackSpeed;        // 0x094    0x0AC
  101.     float FlightSpeed;          // 0x098    0x0B0
  102.     float FlightBackSpeed;      // 0x09C    0x0B4
  103.     float TurnRate;             // 0x0A0    0x0B8
  104.     float PitchRate;            // 0x0A4    0x0BC
  105.     float Elev_field_A0;        // 0x0A8    0x0C0
  106.     float JumpVelocity;         // 0x0AC    0x0C4
  107.     void* Spline;               // 0x0B0    0x0C8
  108.     size_t UpdateTimeMs_field;  // 0x0B4    0x0D0
  109.     int LastEventTime;          // 0x0B8    0x0D8
  110.     float field_B4[4];          // 0x0BC    0x0DC
  111.     float radius;               // 0x0CC    0x0EC
  112.     float height;               // 0x0D0    0x0F0
  113.     Point3 PositionDiff;        // 0x0D4    0x0F4
  114.     int FacingDiff;             // 0x0E0    0x100
  115.     int PitchDiff;              // 0x0E4    0x104
  116.     uint32_t field_E8[16];      // 0x0E8    0x108
  117.     int field_128;              // 0x128    0x148
  118.     int MSTime_field_12C;       // 0x12C    0x14C
  119.     int TimeSinceLastEvent;     // 0x130    0x150
  120.     int MSTime_field_134;       // 0x134    0x154
  121.     size_t field_138;           // 0x138    0x158
  122.     size_t field_13C;           // 0x13C    0x160
  123.     void *MoveEvetList_Head;    // 0x140    0x168
  124.     int field_144;              // 0x144    0x170
  125.     class CGUnit_C *pUnit;      // 0x148    0x178
  126.     size_t padding;             // 0x14C    0x180
  127. };
  128.  
  129. // sizeof = 0xC |0x18
  130. class dummy0
  131. {
  132. public:
  133.     uint32_t unk0;              // 0x000   0x000
  134.     void* unk1[2];              // 0x004   0x008
  135. };
  136.  
  137. // sizeof = 0x14 | 0x28
  138. class CGBaseObject_C
  139. {
  140. public:
  141.     size_t      **vtable;       // 0x000    0x000
  142.     ObjectFields *pObjFields;   // 0x004    0x008
  143.     void         *unk_008;      // 0x008    0x010
  144.     WowObjType    type;         // 0x00C    0x018
  145.     size_t        unk_010;      // 0x010    0x020
  146. };
  147.  
  148. // sizeof = 0xD4
  149. class CGObject_C : public CGBaseObject_C
  150. {
  151. public:
  152.     size_t      unk_014[3];     // 0x014    0x028
  153.     CGObject_C *pNext;          // 0x020    0x040
  154.     uint64_t    guid;           // 0x028    0x048
  155.     size_t      unk_040[3];     // 0x030    0x050
  156.     dummy0      unk_03C[8];     // 0x03C    0x068
  157.     uint32_t    unk_09C;        // 0x09C    0x128
  158.     uint8_t     unk_0A0;        // 0x0A0    0x12C
  159.     size_t      unk_0A4[4];     // 0x0A4    0x130
  160.     uint32_t    unk_0B4;        // 0x0B4    0x150
  161.     uint32_t    unk_0B8;        // 0x0B8    0x154
  162.     float       unk_0BC;        // 0x0BC    0x158
  163.     void       *pObjDisplay;    // 0x0C0    0x160
  164.     uint8_t     anim_state;     // 0x0C4    0x168
  165.     size_t      unk_0C8[3];     // 0x0C8    0x170
  166. };
  167.  
  168. // sizeof = 0x1520 | 0x2108
  169. class CGUnit_C : public CGObject_C
  170. {
  171. public:
  172.     size_t **vtable_unit_disp;  // 0x0D8    0x188
  173.     UnitFields *pUnitFields;    // 0x0DC    0x190
  174.     void *pUnk1;                // 0x0E0    0x198
  175.     CMovement* pMov;            // 0x0E4    0x1A0
  176.     dummy0 pad_0E8[154];        // 0x0E8    0x1A8
  177.     CMovement Mov;              // 0x820    0x1018
  178.     uint32_t unk_970[4];        // 0x970    0x11A0
  179.     int minus_one;              // 0x980    0x11B0
  180.     int unk_984;                // 0x984    0x11B4
  181.     size_t pad_988[70];         // 0x988    0x11B8
  182.     uint32_t pad_AD0[113];      // 0xAA0    0x13E8
  183.     uint8_t canInterruptCast;   // 0xC64    0x15AC
  184.     uint8_t pad_C65[3];         // 0xC65    0x15AE
  185.     uint32_t pad_C68[18];       // 0xC68    0x15B0
  186.     int castingID;              // 0xCB0    0x15F8
  187.     uint32_t pad_CB4;           // 0xCB4    0x15FC
  188.     uint64_t cast_target;       // 0xCB8    0x1600
  189.     int cast_start_time;        // 0xCC0    0x1608
  190.     int cast_end_time;          // 0xCC4    0x160C
  191.     int channelID;              // 0xCC8    0x1610
  192.     int channel_start_time;     // 0xCCC    0x1614
  193.     int channel_end_time;       // 0xCD0    0x1618
  194.     int unk_CD4;                // 0xCD4    0x161C
  195.     size_t pad_CD4[4];          // 0xCD8    0x1620
  196.     uint32_t pad_CDC[84];       // 0xCE4    0x1640
  197.     AuraStorage aura_storage;   // 0xE38    0x1790
  198.     size_t pad_1240[36];        // 0x1240   0x1D98
  199.     uint32_t pad_12D0[148];     // 0x12D0   0x1EB8
  200. };
  201.  
  202. class CGPlayer_C : public CGUnit_C
  203. {
  204. public:
  205.     size_t **vtable_p;              // 0x1520  0x2108
  206.     PlayerFields *pPlayerFields;    // 0x1524  0x2110
  207. };
  208.  
  209. class CGGameObject_C : public CGObject_C
  210. {
  211. public:
  212.     GameObjectFields *pGOFields;// 0x0D8    0x188
  213.     size_t     unk0;            // 0x0DC    0x190
  214.     CPassenger passenger;       // 0x0E0    0x198
  215.     dummy0     pad_110[13];     // 0x110    0x1D8
  216.     size_t     pad_1E8[4];      // 0x1AC    0x310
  217.     float      one0;            // 0x1BC    0x330
  218.     uint32_t   unk_1C0[4];      // 0x1C0    0x334
  219.     float      one1;            // 0x1D0    0x344
  220.     uint32_t   unk_1D4[4];      // 0x1D4    0x348
  221.     float      one2;            // 0x1E4    0x358
  222.     uint32_t   unk_1E8;         // 0x1E8    0x35C
  223.     Point3     pos;             // 0x1EC    0x360
  224.     float      one3;            // 0x1F8    0x36C
  225.     AABB       bbox;            // 0x1FC    0x370
  226.     uint32_t   unk4;            // 0x214    0x388
  227.     int        unk5;            // 0x218    0x38C    GameObjectFields::Bytes::unk0
  228.     uint16_t   collisionData;   // 0x21C    0x390
  229.     uint8_t    unk6;            // 0x21E    0x392
  230. };
  231.  
  232. class CGDynamicObject_C : public CGObject_C
  233. {
  234. public:
  235.     DynamicObjectFields *pDynObjFields;     // 0x0D8
  236. };
  237.  
  238. class CGAreaTrigger_C : public CGObject_C
  239. {
  240. public:
  241.     AreaTriggerFields *pAreaTrigFields;     // 0x0D8    0x188
  242.     size_t     unk_0DC;                     // 0x0DC    0x190
  243.     CPassenger passenger;                   // 0x0E0    0x198
  244.     dummy0     pad_110[6];                  // 0x110    0x1D8
  245.     uint32_t   pad_158[36];                 // 0x158    0x268
  246.     size_t     pad_1E8[20];                 // 0x1E8    0x2F8
  247.     float      radius[2];                   // 0x238    0x398
  248. };
  249.  
  250.  
  251. // sizeof = 0x8 | 0x10
  252. struct TSLink
  253. {
  254.     TSLink*     m_prevlink;             // 0x000    0x000
  255.     CGObject_C* m_next;                 // 0x004    0x008
  256. };
  257.  
  258. // sizeof = 0xC | 0x18
  259. struct TSList
  260. {
  261.     int m_linkoffset;                   // 0x000    0x000
  262.     TSLink m_terminator;                // 0x004    0x008
  263. };
  264.  
  265. // sizeof = 0xC | 0x18
  266. struct TSExplicitList : public TSList
  267. {
  268. };
  269.  
  270. //sizeof = 0x10 | 0x18
  271. struct TSBaseArray
  272. {
  273.     size_t** vtable;                    // 0x000    0x000
  274.     uint32_t m_alloc;                   // 0x004    0x008
  275.     uint32_t m_count;                   // 0x008    0x00C
  276.     TSExplicitList* m_data;             // 0x00C    0x010
  277. };
  278.  
  279. //sizeof = 0x10 | 0x18
  280. struct TSFixedArray : public TSBaseArray
  281. {
  282. };
  283.  
  284. //sizeof = 0x14 | 0x20
  285. struct TSGrowableArray : public TSFixedArray
  286. {
  287.     uint32_t m_chunk;                   // 0x000
  288. };
  289.  
  290. //sizeof = 0x2C | 0x50
  291. struct TSHashTable
  292. {
  293.     size_t** vtable;                    // 0x000    0x000
  294.     TSExplicitList m_fulllist;          // 0x004    0x008
  295.     int m_fullnessIndicator;            // 0x010    0x020
  296.     TSGrowableArray m_slotlistarray;    // 0x014    0x028
  297.     int m_slotmask;                     // 0x028    0x048
  298. };
  299.  
  300. class CObjMgr
  301. {
  302. public:
  303.     TSHashTable VisibleObjects;         // 0x000    0x000
  304.     TSHashTable LazyCleanupObjects;     // 0x02C    0x050
  305.     TSExplicitList Links[11];           // 0x058    0x0A0
  306. #if _M_IX86
  307.     int align8;                         // 0x0DC    8-byte boundary alignment
  308. #endif
  309.     uint64_t ActivePlayer;              // 0x0E0    0x1A8
  310.     int PlayerType;                     // 0x0E8    0x1B0
  311.     int MapId;                          // 0x0EC    0x1B4
  312.     void* ClientConnection;             // 0x0F0    0x1B8
  313.     void* MovementGlobals;              // 0x0F4    0x1C0
  314. };
Advertisement
Add Comment
Please, Sign In to add comment