CGfxKits.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. // CGfxKits - [2020-04-13 11:57:46]
  2. #ifndef _CGFXKITS_H_
  3. #define _CGFXKITS_H_
  4. #include "CFTTTexture.h"
  5. #include "CTeam.h"
  6. /*
  7. 00184AE4 CGfxKits::GetTexture(int &,TBuildKitTeamTextures *,int,EKitTextureType,CFTTTexLoadOptions const*)
  8. 00184AE8 CGfxKits::BuildTexture(int &,TBuildKitTeamTextures *,int,EKitTextureType,CFTTTexLoadOptions const*)
  9. 0018516C CGfxKits::BeginBuildKit(int)
  10. 00185184 CGfxKits::EndBuildKit()
  11. 001851A0 CGfxKits::EmptyKitTemplateCache()
  12. 001851DC CGfxKits::FreeKitTeamTextures(TBuildKitTeamTextures *)
  13. 0018521C CGfxKits::LoadKitTeamTextures(CTeam *,TBuildKitTeamTextures *,CFTTTexLoadOptions const&,int)
  14. 0018529C CGfxKits::GetKitTemplate(bool,int,int,CFTTTexLoadOptions const&)
  15. 00185448 CGfxKits::ReleaseKitTemplate(CFTTTexture *)
  16. 00185480 CGfxKits::GetColour(int,int,ETeamColour,bool,bool,int)
  17. */
  18. struct RefKitProperty_st {
  19. uint32 filed_0;
  20. uint32 filed_4;
  21. uint32 filed_8;
  22. };
  23. extern RefKitProperty_st g_tRefKitProperty[8];
  24. class CFTTTexture;
  25. struct TBuildKitTeamTextures {
  26. TBuildKitTeamTextures() {
  27. pCTeam_0 = nullptr;
  28. filed_4 = 0;
  29. pTexture_8 = nullptr;
  30. pTexture_C = nullptr;
  31. pTexture_10 = nullptr;
  32. pTexture_14 = nullptr;
  33. };
  34. CTeam *pCTeam_0;
  35. int filed_4;
  36. CFTTTexture *pTexture_8;
  37. CFTTTexture *pTexture_C;
  38. CFTTTexture *pTexture_10;
  39. CFTTTexture *pTexture_14;
  40. };
  41. enum EKitTextureType {
  42. EKitTextureType_0,
  43. EKitTextureType_1,
  44. EKitTextureType_2,
  45. EKitTextureType_3,
  46. EKitTextureType_4,
  47. EKitTextureType_5,
  48. };
  49. enum ETeamColour {
  50. ETeamColour_0,
  51. ETeamColour_1,
  52. ETeamColour_2,
  53. ETeamColour_3,
  54. ETeamColour_4,
  55. ETeamColour_5,
  56. ETeamColour_6,
  57. };
  58. struct CachedKitTemplate {
  59. bool filed_0;
  60. int trimindex_4;
  61. int filed_8;
  62. CFTTTexture *filed_c;
  63. };
  64. class CGfxKits {
  65. public:
  66. static CFTTTexture *GetTexture(int &,
  67. TBuildKitTeamTextures *,
  68. int,
  69. EKitTextureType,
  70. CFTTTexLoadOptions const *); // 00184AE4
  71. static CFTTTexture *BuildTexture(int &,
  72. TBuildKitTeamTextures *,
  73. int,
  74. EKitTextureType,
  75. CFTTTexLoadOptions const *); // 00184AE8
  76. static int BeginBuildKit(int); // 0018516C
  77. static void EndBuildKit(); // 00185184
  78. static void EmptyKitTemplateCache(); // 001851A0
  79. static void FreeKitTeamTextures(TBuildKitTeamTextures *); // 001851DC
  80. static void LoadKitTeamTextures(CTeam *,
  81. TBuildKitTeamTextures *,
  82. CFTTTexLoadOptions const &,
  83. int); // 0018521C
  84. static CFTTTexture *GetKitTemplate(bool,
  85. int,
  86. int,
  87. CFTTTexLoadOptions const &); // 0018529C
  88. static void ReleaseKitTemplate(CFTTTexture *); // 00185448
  89. static int GetColour(int, int, ETeamColour, bool, bool, int); // 00185480
  90. static CachedKitTemplate ms_tCachedKitTemplates[16];
  91. static int ms_iNumCachedKitTemplates;
  92. static int ms_tBuildKitSetup;
  93. };
  94. // 0045FBA8
  95. extern TBuildKitTeamTextures GFXPLAYER_tGameKitTextures[2];
  96. #endif //_CGFXKITS_H_