GM.cpp 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. #include "GM.h"
  2. #include "CBall.h"
  3. #include "GU.h"
  4. #include "TGame.h"
  5. #include "XMATH.h"
  6. #define Add2Ptr(PTR, INC, CAST) ((CAST)((uint64)(PTR) + (INC)))
  7. #define PI 3.14159274f
  8. #define NEGPI -3.14159274f
  9. //-------------------------------------------------------------------------------------------------
  10. // 0015B0A4
  11. void GM_CheckGoalSide() {}
  12. //-------------------------------------------------------------------------------------------------
  13. // 0015B340
  14. void GM_CalcPlayerDist() {}
  15. //-------------------------------------------------------------------------------------------------
  16. // 0015B7C8
  17. void GM_IsOnPitch(TPoint) {}
  18. //-------------------------------------------------------------------------------------------------
  19. // 0015B7F8
  20. void GM_SwapInt(int &i0, int &i1) {
  21. int tmp_r2 = i1;
  22. i1 = i0;
  23. i0 = tmp_r2;
  24. }
  25. //-------------------------------------------------------------------------------------------------
  26. // 0015B804
  27. int GM_CalcGoalDist(TPoint, int) { return 0; }
  28. //-------------------------------------------------------------------------------------------------
  29. // 0016E0BC
  30. void GM_GetRotPowerTrajectory(TPoint3D pt0, int *i1, int *i2, int *i3) {}
  31. //-------------------------------------------------------------------------------------------------
  32. // 0016E108
  33. void GM_GetVecFromRotPowerTrajectory(TPoint3D *, int, int, int) {}
  34. //-------------------------------------------------------------------------------------------------
  35. // 00171E50
  36. void GM_DeflectBallFromDribbler(CPlayer *player, int *i1) {
  37. LOGE("%p%pGM_DeflectBallFromDribbler",player,i1);
  38. *i1=rand();
  39. }
  40. //-------------------------------------------------------------------------------------------------
  41. // 00178C7C
  42. int GM_CheckInterception(CPlayer *, int, int, int) { return 0; }
  43. //-------------------------------------------------------------------------------------------------
  44. // 00178D3C
  45. void GM_CheckInterceptionPos(CPlayer *, int, int, TPoint *) {}
  46. //-------------------------------------------------------------------------------------------------
  47. // 00179170
  48. void GM_CheckInterceptionX(CPlayer *, int) {}
  49. //-------------------------------------------------------------------------------------------------
  50. // 0017918C
  51. void GM_CalcPlayerBallInterceptions() {}
  52. //-------------------------------------------------------------------------------------------------
  53. // 00179A44
  54. int GM_GetPlayerNearestPoint(int i0, TPoint pt1, int i2, int *i3) { return 0; }
  55. //-------------------------------------------------------------------------------------------------
  56. // 00179AD0
  57. int GM_GetPlayerNearestPoint(int i0, TPoint pt1, int *i2) { return 0; }
  58. //-------------------------------------------------------------------------------------------------
  59. // 00179B60
  60. void GM_GetPlayerNearestPointF(int, TPoint, int, int, int) {}
  61. //-------------------------------------------------------------------------------------------------
  62. // 00179BE0
  63. void GM_GetPlayerNearestPointFX(int, TPoint, bool *, int, int, int, int) {}
  64. //-------------------------------------------------------------------------------------------------
  65. // 00179C80
  66. void GM_GetPlayerNearestPointRange(int, TPoint, bool *, int, int) {}
  67. //-------------------------------------------------------------------------------------------------
  68. // 00179F90
  69. void GM_GetLineIntersectWeighted(TPoint, TPoint, TPoint, int, int, int *,
  70. int *) {}
  71. //-------------------------------------------------------------------------------------------------
  72. // 0017A04C
  73. void GM_GetPlayerFutureNearestLineWeighted(int, int, bool *, TPoint3D, TPoint3D,
  74. int, int, int *, int *) {}
  75. //-------------------------------------------------------------------------------------------------
  76. // 0017A24C
  77. int GM_GetPlayerFutureNearestLine(int, CPlayer *, TPoint, TPoint, int *,
  78. int *) {
  79. return 0;
  80. }
  81. //-------------------------------------------------------------------------------------------------
  82. // 0017A340
  83. void GM_GetPlayerTotalSpace(int, int) {}
  84. //-------------------------------------------------------------------------------------------------
  85. // 0017A510
  86. void GM_GetPointSpace(int, TPoint) {}
  87. //-------------------------------------------------------------------------------------------------
  88. // 0017A558
  89. void GM_GetPlayerSpaceRot(CPlayer *, int, int, int) {}
  90. //-------------------------------------------------------------------------------------------------
  91. // 0017A744
  92. void GM_DistanceSq(TPoint const *, TPoint const *) {}
  93. //-------------------------------------------------------------------------------------------------
  94. // 0017A76A
  95. void GM_Distance(TPoint const *, TPoint const *) {}
  96. //-------------------------------------------------------------------------------------------------
  97. // 0017A796
  98. uint GM_Distance3D(TPoint3D *pt0, TPoint3D *pt1) { return 0; }
  99. //-------------------------------------------------------------------------------------------------
  100. // 0017A7DA
  101. void GM_PlayerLimitDistancePos(CPlayer *Player, TPoint pt1, unsigned int ui2) {}
  102. //-------------------------------------------------------------------------------------------------
  103. // 0017A810
  104. void GM_PlayerLimitDistance(CPlayer *, int) {}
  105. //-------------------------------------------------------------------------------------------------
  106. // 0017A858
  107. void GM_PlayerLimitDistancePosPol(CPlayer *, TPoint, int, int) {}
  108. //-------------------------------------------------------------------------------------------------
  109. // 0017A898
  110. void GM_SetBestPointSpace(int, TPoint *, int, int) {}
  111. //-------------------------------------------------------------------------------------------------
  112. // 0017A9EC
  113. void GM_PointIsBetweenPoints(TPoint, TPoint, TPoint, int) {}
  114. //-------------------------------------------------------------------------------------------------
  115. // 0017AA3A
  116. void GM_TendAngle(int, int) {}
  117. //-------------------------------------------------------------------------------------------------
  118. // 0017AA88
  119. float GM_BlendAngleF(float f0, float f1, float f2) { return 0.0f; }
  120. //-------------------------------------------------------------------------------------------------
  121. // 0017AB34 ^_^
  122. float GM_BlendAngleAroundF(float f0, float f1, float f2, float f3) {
  123. return 0.0f;
  124. }
  125. //-------------------------------------------------------------------------------------------------
  126. // 0017ABC8 ^_-
  127. int GM_BlendAngle(int i0, int i1, int i2) {
  128. i0 = i0 & 0x3fff;
  129. i1 = i1 & 0x3fff;
  130. if (i0 == i1) {
  131. // 0017ABD2
  132. return i0;
  133. }
  134. int r3_i = i0 - i1;
  135. int r12_i = 0x100 - i2;
  136. if (r3_i < 0) {
  137. // 0017ABDE
  138. r3_i = -r3_i;
  139. }
  140. if (r3_i > 0x2000) {
  141. // /0017ABE6
  142. if ((uint)i0<=0x1fff) {
  143. // 0017ABEE
  144. i1 *= i2;
  145. i0 |= 0x4000;
  146. } else {
  147. // loc_17ABF6
  148. i1 |= 0x4000;
  149. i1 *= i2;
  150. }
  151. } else {
  152. // loc_17ABFA
  153. i1 *= i2;
  154. }
  155. // loc_17ABFC
  156. i0 = r12_i * i0 + i1;
  157. i0 = i0 / 256 & 0x3fff;
  158. return i0;
  159. }
  160. //-------------------------------------------------------------------------------------------------