CAnimManager.h 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // CAnimManager - [2020-04-13 11:57:46]
  2. #ifndef _CANIMMANAGER_H_
  3. #define _CANIMMANAGER_H_
  4. #include "common.h"
  5. #include "TAnimEntry.h"
  6. #include "TAnimData.h"
  7. #include "TStateList.h"
  8. /*
  9. 001559E4 CAnimManager::GetStateAnimCount(int)
  10. 001559FC CAnimManager::LoadAnimDB()
  11. 00155D2C CAnimManager::FreeAnimDB()
  12. 00155D48 CAnimManager::UnloadAnimations()
  13. 00155D9C CAnimManager::AnimFreeAll()
  14. 00155E04 CAnimManager::StateInfoListFill(void (*)())
  15. 00155F48 CAnimManager::AnimDataFill(int)
  16. 0015639A CAnimManager::SetupRootBoneInitialMove(TAnimData *)
  17. 00156404 CAnimManager::AnimDataListFill(void (*)(int))
  18. 00156424 CAnimManager::AnimDataListInit()
  19. 00156464 CAnimManager::InitAnimations()
  20. 00156490 CAnimManager::GetState(int)
  21. 001564D8 CAnimManager::StateInfoGet(int)
  22. 001564EC CAnimManager::StateInfoGetAnimCount(int)
  23. 00156588 CAnimManager::GetRootBoneMove(TPoint *,int,int,int,int)
  24. 00156710 CAnimManager::GetRootBoneOfs(TPoint *,int,int,int,int)
  25. 0015679C CAnimManager::GetActionTime(int,int,int)
  26. 001567C8 CAnimManager::GetActionAnim(CPlayer *,EPlayerState,TPoint3D *,int,int,int,int,int)
  27. 00156AB8 CAnimManager::GetAnimID(char const*)
  28. 00156AE8 CAnimManager::GetAnimID(uint)
  29. 00156B14 CAnimManager::GetBonePositionAnim(short *,int,int,int,int,int)
  30. 00156D30 CAnimManager::GetBoneOrientationAnim(TPoint3D *,int,int,int)
  31. */
  32. enum EPlayerState {
  33. EPlayerState_0,
  34. EPlayerState_1,
  35. EPlayerState_2,
  36. EPlayerState_3,
  37. EPlayerState_4,
  38. EPlayerState_5,
  39. EPlayerState_12 = 12,
  40. };
  41. class CPlayer;
  42. class CAnimManager {
  43. public:
  44. void GetStateAnimCount(int); // 001559E4
  45. static void LoadAnimDB(); // 001559FC
  46. static void FreeAnimDB(); // 00155D2C
  47. static void UnloadAnimations(); // 00155D48
  48. static void AnimFreeAll(); // 00155D9C
  49. static void StateInfoListFill(void (*)()); // 00155E04
  50. static void AnimDataFill(int); // 00155F48
  51. static void SetupRootBoneInitialMove(TAnimData *); // 0015639A
  52. static void AnimDataListFill(void (*)(int)); // 00156404
  53. static void AnimDataListInit(); // 00156424
  54. static void InitAnimations(); // 00156464
  55. static int GetState(int); // 00156490
  56. static TStateList *StateInfoGet(int); // 001564D8
  57. static int StateInfoGetAnimCount(int); // 001564EC
  58. static void GetRootBoneMove(TPoint *, int, int, int, int); // 00156588
  59. static void GetRootBoneOfs(TPoint *, int, int, int, int); // 00156710
  60. static int GetActionTime(int, int, int); // 0015679C
  61. static int GetActionAnim(CPlayer *, EPlayerState, TPoint3D *, int, int, int, int, int); // 001567C8
  62. static int GetAnimID(char const *); // 00156AB8
  63. void GetAnimID(uint); // 00156AE8
  64. static void GetBonePositionAnim(short *, int, int, int, int, int); // 00156B14
  65. void GetBoneOrientationAnim(TPoint3D *, int, int, int); // 00156D30
  66. static TAnimEntry *s_pAnimEntries;
  67. static int16_t *s_pS16Pool;
  68. static int s_iAnimCount;
  69. static TAnimData *s_tAnimData;
  70. static int s_iStateFlags[20];
  71. static TStateList s_tStateList[20];
  72. static int s_iStandardWalk[3];
  73. static int s_iStandardSprint[4];
  74. static int s_iStandardSprintJostle[3];
  75. static bool s_bInited;
  76. };
  77. void SET_ROOT_POS(int i0, TAnimData *pTAnimData1, TPoint &pTPoint2, int i3);
  78. void SET_ROOT_POS_NO_SCALE(TAnimData *p_tanimdata_r0_arg, TPoint &p_tpoint_r1_arg, int d_r2_arg);
  79. #endif //_CANIMMANAGER_H_