CFTTGLES2Wrapper.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. //CFTTGLES2Wrapper - [2020-04-13 11:57:46]
  2. #ifndef _CFTTGLES2WRAPPER_H_
  3. #define _CFTTGLES2WRAPPER_H_
  4. #include "common.h"
  5. #include <GLES3/gl3.h>
  6. /*
  7. 00202BEC CFTTGLES2Wrapper::CheckUpdateClearColour(float,float,float,float)
  8. 00202E38 CFTTGLES2Wrapper::CheckUpdateStencilFunc(uint,int,uint)
  9. 00202EEC CFTTGLES2Wrapper::CheckUpdateStencilOp(uint,uint,uint)
  10. 00202FFC CFTTGLES2Wrapper::CheckUpdateScissor(int,int,int,int)
  11. 00204304 CFTTGLES2Wrapper::CheckUpdateBlendFunc(uint,uint,uint,uint)
  12. 0020BA54 CFTTGLES2Wrapper::CheckUpdateBindBuffer(uint,uint)
  13. 0020BAC4 CFTTGLES2Wrapper::OnDeleteBuffers(int,uint const*)
  14. 002247A8 CFTTGLES2Wrapper::OnDeleteTextures(int,uint const*)
  15. */
  16. enum EBlendSFactorRGB {
  17. BF_RGB_UN1,
  18. BF_RGB_UN2,
  19. BF_RGB_UN3,
  20. BF_RGB_UN4
  21. };
  22. enum EBlendDFactorRGB {
  23. EBlendDFactorRGB_0,
  24. EBlendDFactorRGB_1,
  25. EBlendDFactorRGB_2,
  26. EBlendDFactorRGB_3,
  27. EBlendDFactorRGB_4,
  28. EBlendDFactorRGB_5,
  29. };
  30. enum EBlendSFactorAlpha {
  31. EBlendSFactorAlpha_0,
  32. EBlendSFactorAlpha_1,
  33. EBlendSFactorAlpha_2,
  34. EBlendSFactorAlpha_3,
  35. EBlendSFactorAlpha_4,
  36. EBlendSFactorAlpha_5,
  37. };
  38. enum EBlendDFactorAlpha {
  39. EBlendDFactorAlpha_0,
  40. EBlendDFactorAlpha_1,
  41. EBlendDFactorAlpha_2,
  42. EBlendDFactorAlpha_3,
  43. EBlendDFactorAlpha_4,
  44. EBlendDFactorAlpha_5,
  45. };
  46. enum EFTTStencilFunc {
  47. EFTTStencilFunc_0,
  48. EFTTStencilFunc_1,
  49. EFTTStencilFunc_2,
  50. EFTTStencilFunc_3,
  51. EFTTStencilFunc_4,
  52. EFTTStencilFunc_5,
  53. EFTTStencilFunc_6,
  54. EFTTStencilFunc_7,
  55. };
  56. struct str_line_BoundTextures {
  57. GLuint field_0[8];
  58. };
  59. class CFTTGLES2Wrapper {
  60. public:
  61. static bool CheckUpdateBindBuffer(GLenum target, GLuint a2); //0020BA54
  62. static bool CheckUpdateBlendFunc(uint eSRGB,
  63. uint eDRGB,
  64. uint eSAlpha,
  65. uint eDAlpha); //00204304
  66. static bool CheckUpdateClearColour(float fred, float fgreen, float fblue, float falpha); //00202BEC
  67. static bool CheckUpdateScissor(GLint x, GLint y, GLint width, GLint height); //00202FFC
  68. static bool CheckUpdateStencilFunc(uint u0, int u1, uint u2); //00202E38
  69. static bool CheckUpdateStencilOp(GLenum eOpFail, GLenum eOpZFail, GLenum eOpZPass); //00202EEC
  70. static void OnDeleteBuffers(int len, const GLuint *pBuf); //0020BAC4
  71. static void OnDeleteTextures(int len, const GLuint *pBuf); //002247A8
  72. //005AA6C8
  73. volatile static uint32_t s_uActiveTextureIndex; //005AA6C8
  74. static str_line_BoundTextures s_uBoundTextures[2];
  75. static uint32_t s_eBlendDFactorRGB; //??? enum
  76. static uint32_t s_eBlendDFactorAlpha; //??? enum
  77. static GLuint s_uBoundArrayBuffer;
  78. static uint32_t s_uBoundElementBuffer;
  79. static float s_fClearColour[4];
  80. static int s_iClearStencil;
  81. static uint32_t s_uProgram;
  82. static int s_iStencilFuncRef;
  83. static char s_bVertexAttribEnabled[8];
  84. //00348A50
  85. static bool s_bDepthMask;
  86. static uint32_t s_uDepthFunc;
  87. static int s_eBlendEquationRGB;
  88. static int s_eBlendEquationAlpha;
  89. static int s_eBlendSFactorRGB;
  90. static int s_eBlendSFactorAlpha;
  91. static GLenum s_eFrontFace;
  92. static int s_eStencilFunc;
  93. static uint32_t s_uStencilFuncMask;
  94. static GLuint s_uStencilWriteMask;
  95. static int s_eStencilOpFail;
  96. static int s_eStencilOpZFail;
  97. static int s_eStencilOpZPass;
  98. static int s_iScissorRect[4];
  99. static uint32_t dword_348A88;
  100. static uint32_t dword_348A8C;
  101. static uint32_t dword_348A90;
  102. static int s_iPixelStorePack;
  103. static int s_iPixelStoreUnpack;
  104. static uchar s_cEnabledState[206]; //005AA5F8
  105. };
  106. #endif //_CFTTGLES2WRAPPER_H_