TGame.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. // TGame - [2020-04-13 11:57:46]
  2. #ifndef _TGAME_H_
  3. #define _TGAME_H_
  4. // 001D5934 TGame::operator=(TGame const&)
  5. #include "CPlayer.h"
  6. #include "CTeam.h"
  7. #include "TFreeControl.h"
  8. struct PlayerSubstitute {
  9. CPlayer *pCPlayer_0;
  10. int field_4;
  11. CPlayer *pCPlayer_8;
  12. CPlayer *pCPlayer_C;
  13. CPlayer *pCPlayer_10;
  14. };
  15. struct TLogic {
  16. int field_0;
  17. uchar field_4;
  18. uchar field_5; // .text:00176026 STRB.W R0, [R1,R12]
  19. uchar field_6;
  20. uchar field_7;
  21. int field_8;
  22. int field_C;
  23. int field_10;
  24. int field_14;
  25. int field_18;
  26. int field_1C;
  27. int field_20;
  28. int field_24;
  29. int field_28;
  30. int field_2C;
  31. int field_30;
  32. int field_34;
  33. int field_38;
  34. int player_3C;
  35. int team_40;
  36. int field_44;
  37. int field_48;
  38. int field_4C;
  39. sint8 field_50; // 0016DF68 确定的类型
  40. char field_51;
  41. char field_52; // 0016DF7C 确定的类型
  42. char field_53;
  43. int field_54;
  44. int field_58;
  45. int field_5C;
  46. int team_60;
  47. TPoint field_64; // 0016E03A 确定的类型
  48. int field_6C; // 0016E012确定的类型
  49. char player_70;
  50. char field_71;
  51. char field_72;
  52. char field_73;
  53. EFreePropType freeproptype_74;
  54. int field_78;
  55. char field_7C;
  56. char field_7D;
  57. char field_7E;
  58. char field_7F;
  59. char field_80;
  60. char field_81;
  61. char field_82; // 0016DFD8确定的类型
  62. char field_83;
  63. char field_84;
  64. char field_85;
  65. char field_86;
  66. char field_87;
  67. char field_88;
  68. char field_89;
  69. char field_8A;
  70. char field_8B;
  71. char field_8C;
  72. char field_8D;
  73. char field_8E;
  74. char field_8F;
  75. char field_90;
  76. char field_91;
  77. char field_92;
  78. char field_93;
  79. char field_94;
  80. char field_95;
  81. char field_96;
  82. char field_97;
  83. char field_98; // 0016DF08确定的类型
  84. char field_99;
  85. char field_9A;
  86. char field_9B; // 0016E060确定的类型
  87. char field_9C; // 0016E060确定的类型
  88. char field_9D;
  89. char field_9E;
  90. char field_9F;
  91. int field_A0; // 001D5826确定的类型
  92. char field_A4[2];
  93. char field_A6;
  94. char field_A7;
  95. char field_A8;
  96. bool bisRunning_A9;
  97. char field_AA;
  98. char field_AB;
  99. int field_AC;
  100. int field_B0;
  101. int field_B4;
  102. int field_B8;
  103. };
  104. struct struc_250 {
  105. int field_0;
  106. int field_4;
  107. };
  108. /* 0x88 */
  109. struct list_11_0x88 {
  110. struc_250 field_0[11];
  111. };
  112. /* 1548 */
  113. struct TMath {
  114. short buf_0;
  115. int filed_4[22];
  116. int filed_5C[22];
  117. int buf_B4[22];
  118. int field_10C[2];
  119. int field_114[2];
  120. int field_11c[2];
  121. CPlayer* field_124[2]; //某种指针, 不是int
  122. CPlayer* field_12C[2];
  123. CPlayer *pPlayer_134[2];
  124. int pPlayer_13C[2];
  125. bool field_144;
  126. int8 field_145[2];
  127. int field_148;
  128. int field_14C;
  129. CPlayer *field_150[2];
  130. int field_158;
  131. int field_15C;
  132. int filed_160[22];
  133. int filed_1B8[2];
  134. int filed_1C0[2];
  135. int field_1C8[2];
  136. int field_1D0[11];
  137. list_11_0x88 list_1FC[2];
  138. int field_2AC[22];
  139. char filed_304[2][11];
  140. char filed_31A[2];
  141. int filed_31C;
  142. char filed_320[4];
  143. int filed_324;
  144. int filed_328;
  145. int field_32C;
  146. int field_330;
  147. int field_334[2];
  148. char field_33C[2];
  149. char field_33E[2];
  150. int field_340[11];
  151. int distance_36C;
  152. TPoint3D field_370;
  153. TPoint3D field_37C;
  154. int field_388[2];
  155. int field_390;
  156. int field_394;
  157. int field_398;
  158. int field_39C;
  159. int field_3A0;
  160. };
  161. struct PlayTeam {
  162. CPlayer *teamlist_0[11];
  163. };
  164. struct TOffside {
  165. uchar field_0;
  166. uchar field_1;
  167. ushort field_2;
  168. uint32 field_4[2]; // text:0015BCD2 LDR.W R0, [R5,R10] //.text:0015BE98 STR.W R1, [R2,R10] 这里判断是数组
  169. // uint32 field_8;
  170. uint32 field_C;
  171. uint32 field_10;
  172. PlayTeam allplay_14[2]; //.text:0015BB9E LDR R0, [R0,#0x14]
  173. list_11_0x88 list_6C[2];
  174. int field_11C;
  175. int field_120;
  176. int field_124;
  177. int field_128;
  178. int field_12C;
  179. struc_250 list_130[2];
  180. };
  181. struct TPlayerInfos_st {
  182. TPlayerInfo TPlayerInfo_0[0x20];
  183. TPlayerInfo TPlayerInfo_1080[0x20];
  184. };
  185. // 0x6CD8
  186. struct TGame {
  187. int maybe_sound_0;
  188. int dCurrentID_4;
  189. CPlayer *field_8[3]; // 0015B358 确定类型
  190. PlayTeam allplay_14[2]; // 001749A0 确定11个人的CPlayer* 为一个结构
  191. CPlayer *field_6C[2];
  192. CPlayer *field_74[8];
  193. TPlayerInfos_st TPlayerInfo_94;
  194. TPlayerInfo TPlayerInfo_2194;
  195. TPlayerInfo TPlayerInfo_2218;
  196. uchar buf_229C[2500];
  197. CTeam CTeam_2C60[2];
  198. CPlayer CPlayer_3050[33];
  199. uchar byte_6674;
  200. TLogic mTLogic_6678;
  201. TMath mTMath_6734;
  202. int field_6AD8;
  203. CPlayer *field_6ADC;
  204. TOffside mTOffside_6AE0;
  205. int field_6C20;
  206. int field_6C24;
  207. int field_6C28;
  208. int field_6C2C;
  209. int field_6C30;
  210. int field_6C34;
  211. int field_6C38;
  212. int field_6C3C;
  213. int field_6C40[2]; //大小不确定, 先用2个表示
  214. int field_6C48;
  215. int field_6C4C;
  216. int field_6C50;
  217. int field_6C54;
  218. int field_6C58;
  219. int field_6C5C;
  220. int field_6C60;
  221. int field_6C64;
  222. int field_6C68;
  223. int field_6C6C;
  224. int field_6C70;
  225. int field_6C74;
  226. int field_6C78;
  227. int field_6C7C;
  228. int field_6C80;
  229. int field_6C84;
  230. int field_6C88;
  231. int field_6C8C;
  232. int field_6C90;
  233. int field_6C94;
  234. int field_6C98;
  235. int field_6C9C;
  236. int m_i_6CA0;
  237. int m_i_6CA4;
  238. int field_6CA8;
  239. int m_i_6CAC;
  240. TPoint3D m_TPoint3D_6CB0;
  241. TPoint3D m_TPoint3D_6CBC;
  242. TPoint3D m_TPoint3D_6CC8;
  243. uchar m_uc_6CD4;
  244. uchar field_6CD5; // 补齐
  245. uchar field_6CD6; // 补齐
  246. uchar field_6CD7; // 补齐
  247. };
  248. extern TGame tGame;
  249. #endif //_TGAME_H_