Advertisement
dcomicboy

structs halo

Jan 13th, 2012
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.18 KB | None | 0 0
  1.  
  2. #ifndef STRUCTS_H
  3. #define STRUCTS_H
  4. #define MAX_PLAYERS 16
  5.  
  6.  
  7.  
  8. //-------------------------------------------
  9. struct dzHook
  10. {
  11. float m_fRot[3];
  12. float m_fLead;
  13. float m_fDist;
  14. float m_fShortest;
  15. bool m_bAim;
  16. float m_fAng[2]; // x,y angle differences
  17. float m_fTrueBX, m_fTrueBY;
  18. float m_fAX, m_fAY;
  19. float m_fExtremeBX, m_fExtremeBY;
  20. float m_fScreen[2]; // x,y screen coordinates
  21. unsigned int m_uiClosest;
  22. } extern gHook;
  23. //-------------------------------------------
  24. struct Object_Table_Header
  25. {
  26. unsigned char TName[32]; // 'object'
  27. unsigned short MaxObjects; // Maximum number of objects - 0x800(2048 objects)
  28. unsigned short Size; // Size of each object array - 0x0C(12 bytes)
  29. unsigned long Unknown0; // always 1?
  30. unsigned char Data[4]; // '@t@d' - translates to 'data'?
  31. unsigned short Max; // Max number of objects the game has reached (slots maybe?)
  32. unsigned short Num; // Number of objects in the current game
  33. unsigned short NextObjectIndex; // Index number of the next object to spawn
  34. unsigned short NextObjectID; // ID number of the next object to spawn
  35. unsigned long FirstObject; // Pointer to the first object in the table
  36. };
  37. extern Object_Table_Header *ObjectTableHeader;
  38. //-------------------------------------------
  39. struct Object_Table_Array
  40. {
  41. unsigned short ObjectID; // Matches up to Object ID in static player table ( for players )
  42. unsigned short Unknown0;
  43. unsigned short Unknown1;
  44. unsigned short Size; // Structure size
  45. unsigned long Offset; // Pointer to the object data structure
  46. };
  47. extern Object_Table_Array *ObjectTableArray;
  48. //-------------------------------------------
  49. struct AMasterchief
  50. {
  51. unsigned short BipdMetaIndex; // [Biped]characters\cyborg_mp\cyborg_mp
  52. unsigned short BipdMetaID; // [Biped]characters\cyborg_mp\cyborg_mp
  53. unsigned char Zeros_00[4];
  54. unsigned char BitFlags_00[4];
  55. unsigned long Timer_00;
  56. unsigned char BitFlags_01[4];
  57. unsigned long Timer_01;
  58. unsigned char Zeros_01[68];
  59. float m_World[3];
  60. float m_Velocity[3];
  61. float m_LowerRot[3];
  62. float m_Scale[3];
  63. unsigned char Zeros_02[12];
  64. unsigned long LocationID;
  65. unsigned long Pointer_00;
  66. float xUnknown;
  67. float yUnknown;
  68. float zUnknown;
  69. unsigned char Zeros_03[20];
  70. unsigned short PlayerIndex;
  71. unsigned short PlayerID;
  72. unsigned long Unknown00;
  73. unsigned char Zeros_04[4];
  74. unsigned short AntrMetaIndex; // [Animation Trigger]characters\cyborg\cyborg
  75. unsigned short AntrMetaID; // [Animation Trigger]characters\cyborg\cyborg
  76. unsigned char BitFlags_02[8];
  77. unsigned char Unknown01[8];
  78. float Health;
  79. float Shield_00;
  80. unsigned long Zeros_05;
  81. float Unknown02;
  82. unsigned long Unknown03;
  83. float Unknown04;
  84. float Unknown05;
  85. unsigned char Unknown06[24];
  86. unsigned short VehicleWeaponIndex;
  87. unsigned short VehicleWeaponID;
  88. unsigned short WeaponIndex;
  89. unsigned short WeaponID;
  90. unsigned short VehicleIndex; // Ex: Turret on Warthog
  91. unsigned short VehicleID;
  92. unsigned short SeatType;
  93. unsigned char BitFlags_03[2];
  94. unsigned long Zeros_06;
  95. float Shield_01;
  96. float Flashlight_00;
  97. float Zeros_07;
  98. float Flashlight_01;
  99. unsigned char Zeros_08[20];
  100. unsigned long Unknown07;
  101. unsigned char Zeros_09[28];
  102. unsigned char Unknown08[8];
  103. unsigned char Unknown10[148];
  104. unsigned long IsInvisible; // normal = 0x41 invis = 0x51 (bitfield?)
  105. unsigned char IsCrouching; // crouch = 1, jump = 2
  106. unsigned char Unknown11[3];
  107. unsigned char Unknown09[884];
  108. float LeftThigh[13];
  109. float RightThigh[13];
  110. float Pelvis[13];
  111. float LeftCalf[13];
  112. float RightCalf[13];
  113. float Spine[13];
  114. float LeftClavicle[13];
  115. float LeftFoot[13];
  116. float Neck[13];
  117. float RightClavicle[13];
  118. float RightFoot[13];
  119. float Head[13];
  120. float LeftUpperArm[13];
  121. float RightUpperArm[13];
  122. float LeftLowerArm[13];
  123. float RightLowerArm[13];
  124. float LeftHand[13];
  125. float RightHand[13];
  126. char m_cZoom00;
  127. };
  128. extern AMasterchief *Masterchief;
  129. extern AMasterchief *LocalMC;
  130. //-------------------------------------------
  131. struct Static_Player_Header
  132. {
  133. unsigned char TName[32]; // 'players'
  134. unsigned short MaxSlots; // Max number of slots/players possible
  135. unsigned short SlotSize; // Size of each Static_Player struct
  136. unsigned long Unknown; // always 1?
  137. unsigned char Data[4]; // '@t@d' - translated as 'data'?
  138. unsigned short IsInMainMenu; // 0 = in game 1 = in main menu / not in game
  139. unsigned short SlotsTaken; // or # of players
  140. unsigned short NextPlayerIndex; // Index # of the next player to join
  141. unsigned short NextPlayerID; // ID # of the next player to join
  142. unsigned long FirstPlayer; // Pointer to the first static player
  143. };
  144. extern Static_Player_Header *StaticPlayerHeader;
  145. //-------------------------------------------
  146. struct Static_Player
  147. {
  148. unsigned short PlayerID; // Stats at 0x70EC
  149. unsigned short PlayerID2; // ???
  150. wchar_t PlayerName0[12]; // Unicode / Max - 11 Chars + EOS (12 total)
  151. long Unknown0; // Always -1 / 0xFFFFFFFF
  152. unsigned long Team; // 0 = Red / 1 = Blue
  153. unsigned long SwapID; // ObjectID
  154. unsigned short SwapType; // 8 = Vehicle / 6 = Weapon
  155. short SwapSeat; // Warthog - Driver = 0 / Passenger = 1 / Gunner = 2 / Weapon = -1
  156. unsigned long RespawnTimer; // ?????? Counts down when dead, Alive = 0
  157. unsigned long Unknown1; // Always 0
  158. unsigned short ObjectIndex;
  159. unsigned short ObjectID; // Matches against object table
  160. unsigned long Unknown3; // Some sort of ID
  161. unsigned long LocationID; // This is very, very interesting. BG is split into 25 location ID's. 1 -19
  162. long Unknown4; // Always -1 / 0xFFFFFFFF
  163. unsigned long BulletCount; // Something to do with bullets increases - weird.
  164. wchar_t PlayerName1[12]; // Unicode / Max - 11 Chars + EOS (12 total)
  165. unsigned long Unknown5; // 02 00 FF FF
  166. unsigned char Index00;
  167. unsigned char Unknown6;
  168. unsigned char iTeam;
  169. unsigned char Index01;
  170. unsigned long Unknown7;
  171. float SpeedModifier;
  172. };
  173. Static_Player *StaticPlayer;
  174. Static_Player *LocalPlayer;
  175.  
  176. /*struct Static_Player
  177. {
  178. unsigned short PlayerID; // Stats at 0x70EC
  179. unsigned short PlayerID2; // ???
  180. wchar_t PlayerName0[12]; // Unicode / Max - 11 Chars + EOS (12 total)
  181. long Unknown0; // Always -1 / 0xFFFFFFFF
  182. unsigned long Team; // 0 = Red / 1 = Blue
  183. unsigned long SwapID; // ObjectID
  184. unsigned short SwapType; // 8 = Vehicle / 6 = Weapon
  185. short SwapSeat; // Warthog - Driver = 0 / Passenger = 1 / Gunner = 2 / Weapon = -1
  186. unsigned long RespawnTimer; // ?????? Counts down when dead, Alive = 0
  187. unsigned long Unknown1; // Always 0
  188. unsigned short ObjectIndex;
  189. unsigned short ObjectID; // Matches against object table
  190. unsigned long Unknown3; // Some sort of ID
  191. unsigned long LocationID; // This is very, very interesting. BG is split into 25 location ID's. 1 -19
  192. long Unknown4; // Always -1 / 0xFFFFFFFF
  193. unsigned long BulletCount; // Something to do with bullets increases - weird.
  194. wchar_t PlayerName1[12]; // Unicode / Max - 11 Chars + EOS (12 total)
  195. unsigned long Unknown5; // 02 00 FF FF
  196. unsigned char Index00;
  197. unsigned char Unknown6;
  198. unsigned char iTeam;
  199. unsigned char Index01;
  200. unsigned long Unknown7;
  201. float SpeedModifier;
  202. };
  203. extern Static_Player *StaticPlayer;
  204. extern Static_Player *LocalPlayer;*/
  205. //-------------------------------------------
  206. struct ALocal
  207. {
  208. unsigned short PlayerIndex;
  209. unsigned short PlayerID;
  210. unsigned char Unknown00[160];
  211. unsigned short ObjectIndex;
  212. unsigned short ObjectID;
  213. unsigned char Unknown01[8];
  214. float m_fRot[3];
  215. };
  216. //extern ALocal *Local;
  217. extern ALocal *Local;
  218. //-------------------------------------------
  219. struct ACamera
  220. {
  221. float m_fWorld[3];
  222. float m_fShift[3]; // x,y,z -- forward/back,side,vertical
  223. float m_fBackDist;
  224. float m_fFov; // default = 70 degrees
  225. float m_fForward[3];
  226. float m_fUp[3];
  227. float m_fVelocity[3];
  228. };
  229. //-------------------------------------------
  230. unsigned long LocalAddy = 0x4BD7D408; //CE 0x402AD408; //Trial 0x4BD7D408;
  231. unsigned long StaticPlayerHeaderAddy = 0x4BD7AF94; //CE 0x402AAF94; //Trial 0x4BD7AF94;
  232. //unsigned long LocalAddy = 0x4BD7D408; //CE 0x402AD408;
  233. //unsigned long StaticPlayerHeaderAddy = 0x4BD7AF94; //CE 0x402AAF94;
  234. unsigned long ObjectTableHeaderAddy = 0x4BB206B4; //CE 0x400506B4;
  235. unsigned long CameraAddy = 0x006A3964; //CE 0x00647424;
  236. #define OBJECT_ADDRESS 0x400506B4;
  237. //-------------------------------------------
  238. LPDIRECT3DPIXELSHADER9 Blue, Red, Purple, Orange, White, Green, Yellow; //IDirect3DPixelShader9
  239. #endif /* STRUCTS_H */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement