FREE.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. // FREE.h - [2020-06-22 11:41:46]
  2. #ifndef _FREE_H_
  3. #define _FREE_H_
  4. #include "CPlayer.h"
  5. #include "CAnimLib.h"
  6. #include "CFTTMatrix32.h"
  7. #include "CFTTXmlReaderNode.h"
  8. #include "CGFXFX.h"
  9. #include "CTeam.h"
  10. #include "CFTTModel.h"
  11. #include "TFreeControl.h"
  12. /*
  13. 001D2758 FREE_GetLevelFilename(char *,int,char *,bool &)
  14. 001D27EC FREE_GetWorldRot(TPoint,TPoint)
  15. 001D281C FREE_CalcKickAngle(TPoint3D *,TPoint3D,TPoint3D,int,int,int *)
  16. 001D2A98 FREE_PassCheckPath(CPlayer *,TPoint,TPoint)
  17. 001D2BC0 FREE_ResolveEndPoint(TPoint3D *,TPoint3D *,TPoint *,int *,bool)
  18. 001D30B8 FREE_GetKickPower(EAnimID,int *,int *)
  19. 001D30FC FREE_ProcessControls(bool)
  20. 001D3EC8 FREE_CalcKickTargetTime(int)
  21. 001D3EEC FREE_ResetControls()
  22. 001D3F24 FREE_PassIsLowKick(TFreeControl *,TPoint3D *,TPoint3D *,int)
  23. 001D3FA8 FREE_ControlGetKickLimits(CPlayer *,int *,int *,int *)
  24. 001D4120 FREE_Init()
  25. 001D4160 FREE_Shutdown()
  26. 001D41B0 FREE_InitGoal(int,bool,bool,bool)
  27. 001D4318 FREE_SetupDifficulty()
  28. 001D4424 FREE_Initialise()
  29. 001D49C0 FREE_UpdateCamera(bool)
  30. 001D56CC FREE_ClipPathBounds(TPoint3D *,TPoint3D *,int,int,int,int)
  31. 001D5718 FREE_GameLoop()
  32. 001D58B4 FREE_StoreRewindState()
  33. 001D5A3E FREE_UpdateRewindState()
  34. 001D5A40 FREE_RestoreRewindState()
  35. 001D5AE4 FREE_BeginRewind()
  36. 001D5B30 FREE_RewindFrame()
  37. 001D5C0C FREE_ClipPathBounds(TPoint *,TPoint *,int,int,int,int)
  38. 001D656C FREE_IdleProcess()
  39. 001D66F0 FREE_SetupKick(TFreeControl *,TPoint3D *)
  40. 001D6778 FREE_LogicProcess()
  41. 001D67E8 FREE_GetPassTargetPlayer(CPlayer *,int *)
  42. 001D6918 FREE_ProcessShotAnim(CPlayer *)
  43. 001D6CD8 FREE_ProcessUserTeam()
  44. 001D7D74 FREE_ProcessOppoTeam()
  45. 001D848C FREE_ProcessFree()
  46. 001D86C4 FREE_ProcessFail()
  47. 001D8884 FREE_PlayCommentaryClearance()
  48. 001D8944 FREE_PlayCommentaryInterception()
  49. 001D8998 FREE_SetupKickAction(TPoint3D,int,int)
  50. 001D8AD0 FREE_CheckGKHandPos(CPlayer *,int)
  51. 001D8B9C FREE_SetupPhaseTransition(bool)
  52. 001D8DB4 FREE_PlayerGetUrgency(CPlayer *,int)
  53. 001D8E68 FREE_ProcessInProgressCore()
  54. 001D956C FREE_UpdateSuccess()
  55. 001D96E4 FREE_ProcessLogic()
  56. 001DA0A8 FREE_PlayCommentaryPassReceive()
  57. 001DA208 FREE_PlayCommentaryKick()
  58. 001DA484 FREE_SetComplete()
  59. 001DA5C0 FREE_PlayersUpset(int)
  60. 001DA620 FREE_PlayersCelebrate()
  61. 001DA670 FREE_CheckCollision()
  62. 001DA674 FREE_InitProps()
  63. 001DA730 FREE_UpdateProps()
  64. 001DA764 FREE_ShutdownProps()
  65. 001DA7A4 FREE_RenderPropShadow(EFreePropType,CFTTMatrix32 *)
  66. 001DA7BC FREE_RenderProp(EFreePropType,CFTTMatrix32 *)
  67. 001DA7D4 FREE_RenderPropShadows()
  68. 001DA8C0 FREE_RenderProps()
  69. 001DA9AC FREE_ProcessPropCollision(TFreeProp *)
  70. 001DA9AE FREE_ProcessPropCollisions()
  71. 001DA9B0 FREE_RenderInitOnce()
  72. 001DA9E0 FREE_RenderShutdownOnce()
  73. 001DAA00 FREE_RenderInit()
  74. 001DAAAC FREE_RenderShutdown()
  75. 001DAAF4 FREE_RenderListBegin(char const*,bool,bool)
  76. 001DAB84 FREE_RenderListEnd()
  77. 001DABD4 FREE_RenderAddVert(TFVF_PFLOAT_CINT_TFLOAT *,CFTTMatrix32 *)
  78. 001DAC40 FREE_RenderStar(TPoint3D,float,float)
  79. 001DACE4 FREE_RenderTarget(TPoint3D,int,uint,bool)
  80. 001DAEEC FREE_RenderDottedArc(TPoint3D,int,int,int,int,int,uint)
  81. 001DB0BC FREE_RenderRangeCone()
  82. 001DB3CC FREE_RenderDottedLine(TPoint3D,TPoint3D,int,uint,uint)
  83. 001DB5C0 FREE_RenderTutorialLine(TPoint3D const&,TPoint3D const&,int)
  84. 001DB9C8 FREE_RenderEditPlayerLine(TPoint3D const&,TPoint3D const&)
  85. 001DBBCC FREE_Render3DOpaque()
  86. 001DBBF0 FREE_RenderHeroPlayer(bool)
  87. 001DBEEC FREE_Render3DDecal()
  88. 001DBFC4 FREE_RenderPreSelectedPlayer()
  89. 001DC0E0 FREE_RenderProcess()
  90. 001DC0E4 FREE_AddVisualFeedback(int,EVFEffect,int)
  91. 001DC290 FREE_AddVisualFeedback_Pass()
  92. 001DC354 FREE_AddVisualFeedback_Goal()
  93. 001DC440 FREE_AddVisualFeedback_Fail()
  94. 001DC494 FREE_AddVisualFeedback_Offside()
  95. 001DC4C8 FREE_SortPlayers(TFreeGoal *)
  96. 001DC664 FREE_SortPlayersDistance(TFreeGoal *)
  97. 001DC848 FREE_ReadXML(TFreeGoal *,int)
  98. 001DC888 FREE_ReadXML(TFreeGoal *,char *)
  99. 001DCA14 FREE_ReadXMLLevel(TFreeGoal *,CFTTXmlReaderNode)
  100. 0047DFB0 FREE_tInfo:.ds.b 1
  101. .text:0012FF08 MOVW R4, #0x181C
  102. .text:0012FF14 MOVW R2, #0x1828
  103. 0047FCD0 FREE_tGoal:.ds.b 1
  104. memset(FREE_tInfo, 0, 0x1D20u);
  105. memset(&FREE_tGoal, 0, 0x7634u);
  106. */
  107. extern TFreeInfo FREE_tInfo;
  108. extern int FREE_iTeam; // 00487304
  109. extern TFreeGoal FREE_tGoal; // 0047FCD0
  110. enum EVFEffect {
  111. EVFEffect_0,
  112. EVFEffect_1,
  113. EVFEffect_2,
  114. EVFEffect_3,
  115. EVFEffect_4,
  116. EVFEffect_5,
  117. };
  118. int FREE_GetLevelFilename(char *, int, char *, bool &); // 001D2758
  119. void FREE_GetWorldRot(TPoint, TPoint); // 001D27EC
  120. void FREE_CalcKickAngle(TPoint3D *, TPoint3D, TPoint3D, int, int, int *); // 001D281C
  121. int FREE_PassCheckPath(CPlayer *, TPoint, TPoint); // 001D2A98
  122. void FREE_ResolveEndPoint(TPoint3D *, TPoint3D *, TPoint *, int *, bool); // 001D2BC0
  123. void FREE_GetKickPower(EAnimID, int *, int *); // 001D30B8
  124. void FREE_ProcessControls(bool); // 001D30FC
  125. int FREE_CalcKickTargetTime(int); // 001D3EC8
  126. void FREE_ResetControls(); // 001D3EEC
  127. int FREE_PassIsLowKick(TFreeControl *, TPoint3D *, TPoint3D *, int); // 001D3F24
  128. void FREE_ControlGetKickLimits(CPlayer *, int *, int *, int *); // 001D3FA8
  129. void FREE_Init(); // 001D4120
  130. void FREE_Shutdown(); // 001D4160
  131. void FREE_InitGoal(int, bool, bool, bool); // 001D41B0
  132. void FREE_SetupDifficulty(); // 001D4318
  133. void FREE_Initialise(); // 001D4424
  134. void FREE_UpdateCamera(bool); // 001D49C0
  135. void FREE_ClipPathBounds(TPoint3D *, TPoint3D *, int, int, int, int); // 001D56CC
  136. void FREE_GameLoop(); // 001D5718
  137. void FREE_StoreRewindState(); // 001D58B4
  138. void FREE_UpdateRewindState(); // 001D5A3E
  139. void FREE_RestoreRewindState(); // 001D5A40
  140. void FREE_BeginRewind(); // 001D5AE4
  141. int FREE_RewindFrame(); // 001D5B30
  142. void FREE_ClipPathBounds(TPoint *, TPoint *, int, int, int, int); // 001D5C0C
  143. void FREE_IdleProcess(); // 001D656C
  144. void FREE_SetupKick(TFreeControl *, TPoint3D *); // 001D66F0
  145. void FREE_LogicProcess(); // 001D6778
  146. int FREE_GetPassTargetPlayer(CPlayer *, int *); // 001D67E8
  147. void FREE_ProcessShotAnim(CPlayer *); // 001D6918
  148. void FREE_ProcessUserTeam(); // 001D6CD8
  149. void FREE_ProcessOppoTeam(); // 001D7D74
  150. void FREE_ProcessFree(); // 001D848C
  151. void FREE_ProcessFail(); // 001D86C4
  152. void FREE_PlayCommentaryClearance(); // 001D8884
  153. void FREE_PlayCommentaryInterception(); // 001D8944
  154. void FREE_SetupKickAction(TPoint3D, int, int); // 001D8998
  155. void FREE_CheckGKHandPos(CPlayer *, int); // 001D8AD0
  156. int FREE_SetupPhaseTransition(bool); // 001D8B9C
  157. int FREE_PlayerGetUrgency(CPlayer *, int); // 001D8DB4
  158. void FREE_ProcessInProgressCore(); // 001D8E68
  159. void FREE_UpdateSuccess(); // 001D956C
  160. int FREE_ProcessLogic(); // 001D96E4
  161. void FREE_PlayCommentaryPassReceive(); // 001DA0A8
  162. void FREE_PlayCommentaryKick(); // 001DA208
  163. void FREE_SetComplete(); // 001DA484
  164. void FREE_PlayersUpset(int); // 001DA5C0
  165. void FREE_PlayersCelebrate(); // 001DA620
  166. void FREE_CheckCollision(); // 001DA670
  167. void FREE_InitProps(); // 001DA674
  168. void FREE_UpdateProps(); // 001DA730
  169. void FREE_ShutdownProps(); // 001DA764
  170. void FREE_RenderPropShadow(EFreePropType, CFTTMatrix32 *); // 001DA7A4
  171. void FREE_RenderProp(EFreePropType, CFTTMatrix32 *); // 001DA7BC
  172. void FREE_RenderPropShadows(); // 001DA7D4
  173. void FREE_RenderProps(); // 001DA8C0
  174. void FREE_ProcessPropCollision(TFreeProp *); // 001DA9AC
  175. void FREE_ProcessPropCollisions(); // 001DA9AE
  176. void FREE_RenderInitOnce(); // 001DA9B0
  177. void FREE_RenderShutdownOnce(); // 001DA9E0
  178. void FREE_RenderInit(); // 001DAA00
  179. void FREE_RenderShutdown(); // 001DAAAC
  180. void FREE_RenderListBegin(char const *, bool, bool); // 001DAAF4
  181. void FREE_RenderListEnd(); // 001DAB84
  182. void FREE_RenderAddVert(TFVF_PFLOAT_CINT_TFLOAT *, CFTTMatrix32 *); // 001DABD4
  183. void FREE_RenderStar(TPoint3D, float, float); // 001DAC40
  184. void FREE_RenderTarget(TPoint3D, int, uint, bool); // 001DACE4
  185. void FREE_RenderDottedArc(TPoint3D, int, int, int, int, int, uint); // 001DAEEC
  186. void FREE_RenderRangeCone(); // 001DB0BC
  187. void FREE_RenderDottedLine(TPoint3D, TPoint3D, int, uint, uint); // 001DB3CC
  188. void FREE_RenderTutorialLine(TPoint3D const &, TPoint3D const &, int); // 001DB5C0
  189. void FREE_RenderEditPlayerLine(TPoint3D const &, TPoint3D const &); // 001DB9C8
  190. void FREE_Render3DOpaque(); // 001DBBCC
  191. void FREE_RenderHeroPlayer(bool); // 001DBBF0
  192. void FREE_Render3DDecal(); // 001DBEEC
  193. void FREE_RenderPreSelectedPlayer(); // 001DBFC4
  194. void FREE_RenderProcess(); // 001DC0E0
  195. void FREE_AddVisualFeedback(int, EVFEffect, int); // 001DC0E4
  196. void FREE_AddVisualFeedback_Pass(); // 001DC290
  197. void FREE_AddVisualFeedback_Goal(); // 001DC354
  198. void FREE_AddVisualFeedback_Fail(); // 001DC440
  199. void FREE_AddVisualFeedback_Offside(); // 001DC494
  200. void FREE_SortPlayers(TFreeGoal *); // 001DC4C8
  201. void FREE_SortPlayersDistance(TFreeGoal *); // 001DC664
  202. int FREE_ReadXML(TFreeGoal *, int); // 001DC848
  203. bool FREE_ReadXML(TFreeGoal *, char *); // 001DC888
  204. void FREE_ReadXMLLevel(TFreeGoal *, CFTTXmlReaderNode); // 001DCA14
  205. void PhysicsTest(); //00169A80
  206. #endif //_FREE_H_