CStoryProfile.cpp 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. #include "CStoryProfile.h"
  2. #include "CFTTTime.h"
  3. #include "CMyProfile.h"
  4. #include "XSYS.h"
  5. #include "memctrl.h"
  6. TStoryProfileData CStoryProfile::m_tData;
  7. void TMoveClubs::Serialize(CFTTSerialize &pCFTTSerializer1) {}
  8. // 001E7384
  9. void TStoryProfileData::Serialize(CFTTSerialize &pCFTTSerializer1) {}
  10. //-------------------------------------------------------------------------------------------------
  11. // 001E356A
  12. void CStoryProfile::SetStageStars(int dr1, int dr2) {
  13. filed_0->SetStageStars(dr1, dr2);
  14. }
  15. //-------------------------------------------------------------------------------------------------
  16. // 001E35BA
  17. void CStoryProfile::SetStageComplete(int dr1, int dr2, bool br3) {
  18. filed_0->SetStageComplete(dr1, dr2, br3, true, true);
  19. }
  20. //-------------------------------------------------------------------------------------------------
  21. // 001E75B0 经过单元测试,功能正常
  22. //???汇编不一样,而且还去除了一些不必要的代码
  23. void CStoryProfile::Init() {}
  24. //-------------------------------------------------------------------------------------------------
  25. // 001E7688 经过单元测试,功能正常
  26. //???2个short赋值被优化成了一个str。
  27. void CStoryProfile::SetTrialsClub() {}
  28. //-------------------------------------------------------------------------------------------------
  29. // 001E76B8
  30. void CStoryProfile::Exit() {}
  31. //-------------------------------------------------------------------------------------------------
  32. // 001E76D0
  33. void CStoryProfile::Serialize(CFTTSerialize &a2, bool a3) {}
  34. //-------------------------------------------------------------------------------------------------
  35. // 001E7700 ^_-
  36. //单元测试等级: 游戏运行正常
  37. //单元测试内容: 选择俱乐部调用
  38. //单元测试结果: 正常
  39. ELeague CStoryProfile::GetRandomLeague(ELeague r1_league, ELeague r2_league) {
  40. int r0_i = 4;
  41. ELeague r4_league=r1_league;
  42. ELeague r5_league=r2_league;
  43. if (r1_league < ELeague_0) {
  44. r0_i = 5;
  45. }
  46. if (r2_league >= ELeague_0) {
  47. r0_i -= 1;
  48. }
  49. r0_i = XSYS_Random(r0_i);
  50. ELeague r12_eleague = ELeague_neg1;
  51. if (r5_league != ELeague_5) r12_eleague = ELeague_5;
  52. if (r4_league == ELeague_5) r12_eleague = ELeague_neg1;
  53. ELeague lr_league = ELeague_neg1;
  54. if (r5_league != ELeague_3) lr_league = ELeague_3;
  55. // 001E7738
  56. if (r4_league == ELeague_3) lr_league = ELeague_neg1;
  57. // 001E773E
  58. r2_league = ELeague_neg1;
  59. ELeague r3_league = ELeague_neg1;
  60. if (r5_league != ELeague_4) r2_league = ELeague_4;
  61. // 001E774C
  62. if (r4_league == ELeague_4) r2_league = ELeague_neg1;
  63. // 001E7752
  64. if (r5_league != ELeague_2) r3_league = ELeague_2;
  65. if (r4_league == ELeague_2) r3_league = ELeague_neg1;
  66. if (r5_league == ELeague_0)
  67. r5_league=ELeague_1;
  68. if(r4_league==ELeague_0)
  69. r4_league=ELeague_1;
  70. r4_league=(ELeague)(-(r4_league|r5_league));
  71. // r2_league=ELeague_0;
  72. int r5_i = 0;
  73. r1_league = ELeague_neg1;
  74. // loc_1E7770
  75. // check 符号
  76. while (r1_league == ELeague_neg1 && r5_i < 5) {
  77. // check 符号
  78. if (r0_i > r5_i) {
  79. // 001E777C
  80. r1_league = ELeague_neg1;
  81. // loc_1E7780
  82. r5_i++;
  83. } else {
  84. //loc_1E7784
  85. switch (r5_i & 0x7FFFFFFF) {
  86. case 0:{
  87. //loc_1E7796
  88. r1_league=r4_league;
  89. // loc_1E7780
  90. r5_i++;
  91. break;
  92. }
  93. case 1:{
  94. //loc_1E779A
  95. r1_league=r3_league;
  96. // loc_1E7780
  97. r5_i++;
  98. break;
  99. }
  100. case 2:{
  101. //loc_1E779E
  102. r1_league=r2_league;
  103. // loc_1E7780
  104. r5_i++;
  105. break;
  106. }
  107. case 3:{
  108. //loc_1E77A2
  109. r1_league=lr_league;
  110. // loc_1E7780
  111. r5_i++;
  112. break;
  113. }
  114. case 4:{
  115. //loc_1E77A6
  116. r1_league=r12_eleague;
  117. // loc_1E7780
  118. r5_i++;
  119. break;
  120. }
  121. default: {
  122. // 001E777C
  123. r1_league = ELeague_neg1;
  124. // loc_1E7780
  125. r5_i++;
  126. break;
  127. }
  128. }
  129. }
  130. }
  131. // loc_1E77AA
  132. return r1_league;
  133. }
  134. //-------------------------------------------------------------------------------------------------
  135. // 001E77B0
  136. int CStoryProfile::GetStartingCountry() { return 0; }
  137. //-------------------------------------------------------------------------------------------------
  138. // 001E782C
  139. int CStoryProfile::GetPossibleStartingClubs(int, int *, int) { return 0; }
  140. //-------------------------------------------------------------------------------------------------
  141. // 001E78F4
  142. int CStoryProfile::GetPossibleNewClubs(int, bool, int, int *, int, ELeague,
  143. bool, bool) {
  144. return 0;
  145. }
  146. //-------------------------------------------------------------------------------------------------
  147. // 001E7A00
  148. int CStoryProfile::GetHaveChangedTeamOnStage(int) {
  149. float v = sinf(23.0);
  150. if (v > 120.0) {
  151. printf("ddfffddd");
  152. return 0;
  153. }
  154. return 1;
  155. }
  156. //-------------------------------------------------------------------------------------------------
  157. // 001E7A2C
  158. void CStoryProfile::SetStageClubTeam(int, int) {}
  159. //-------------------------------------------------------------------------------------------------
  160. // 001E7A8C
  161. void CStoryProfile::SetOppoClubTeams(bool) {}
  162. //-------------------------------------------------------------------------------------------------
  163. // 001E7BE0
  164. ushort CStoryProfile::GetStageClubTeam(int) { return 0; }
  165. //-------------------------------------------------------------------------------------------------
  166. // 001E7C10
  167. ushort CStoryProfile::GetClubTeam() { return 0; }
  168. //-------------------------------------------------------------------------------------------------
  169. // 001E7C28
  170. void CStoryProfile::SetOppoNationalTeams() {}
  171. //-------------------------------------------------------------------------------------------------
  172. // 001E7D04
  173. int CStoryProfile::GetNumOppoTeams(int, int) { return 0; }
  174. //-------------------------------------------------------------------------------------------------
  175. // 001E7D64
  176. bool CStoryProfile::SetupNextStage() { return 0; }
  177. //-------------------------------------------------------------------------------------------------
  178. // 001E7E18
  179. void CStoryProfile::SetSeason(int dr1) {
  180. // CStoryProfile::m_tData.field_18 = dr1;
  181. }
  182. //-------------------------------------------------------------------------------------------------
  183. // 001E7E28
  184. int CStoryProfile::GetOppoTeam(int, int, int, int, TTeamInfo *) { return 0; }
  185. //-------------------------------------------------------------------------------------------------
  186. // 001E7F64
  187. void CStoryProfile::ApplyUserPlayer(TPlayerInfo *) {}
  188. //-------------------------------------------------------------------------------------------------
  189. // 001E7F9C
  190. void CStoryProfile::UseGoldenBoot() {}
  191. //-------------------------------------------------------------------------------------------------
  192. // 001E7FB4
  193. void CStoryProfile::UseRewind() {}
  194. //-------------------------------------------------------------------------------------------------
  195. // 001E7FD8
  196. void CStoryProfile::EnergyUse(int) {}
  197. //-------------------------------------------------------------------------------------------------
  198. // 001E8090
  199. void CStoryProfile::EnergyIncrease(int, bool) {}
  200. //-------------------------------------------------------------------------------------------------
  201. // 001E80C4
  202. void CStoryProfile::SetTimeSinceReboot() {}
  203. //-------------------------------------------------------------------------------------------------
  204. // 001E80DC ^_^
  205. void CStoryProfile::CheckEnergyFallback() { return; }
  206. //-------------------------------------------------------------------------------------------------
  207. // 001E8114
  208. void CStoryProfile::EnergyCheckRestore() {}
  209. //-------------------------------------------------------------------------------------------------
  210. // 001E82C4
  211. int CStoryProfile::EnergyGetRestoreSecs() { return 0; }
  212. //-------------------------------------------------------------------------------------------------
  213. // 001E830C
  214. int CStoryProfile::SecondsToFullEnergy(int a1, int a2) { return 10; }
  215. //-------------------------------------------------------------------------------------------------
  216. // 001E8360
  217. void CStoryProfile::GetDescription(wchar_t *, int) {}
  218. //-------------------------------------------------------------------------------------------------