TGame.h 5.4 KB

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