CFTTTextureOGLES.cpp 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #include "gl3stub.h"
  2. #include "CFTTTextureOGLES.h"
  3. #include "CFTTGLES2Wrapper.h"
  4. #include "CFTTGraphicsDevice.h"
  5. #include "CFTTGraphicsDeviceOGLES3.h"
  6. #include "HalfConverter.h"
  7. #include "memctrl.h"
  8. GLuint dword_30B2DC[6] = {
  9. GL_TEXTURE_CUBE_MAP_POSITIVE_X, //0x8515
  10. GL_TEXTURE_CUBE_MAP_NEGATIVE_X, //0x8516
  11. GL_TEXTURE_CUBE_MAP_POSITIVE_Y, //0x8517
  12. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, //0x8518
  13. GL_TEXTURE_CUBE_MAP_POSITIVE_Z, //0x8519
  14. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, //0x851A
  15. };
  16. //-------------------------------------------------------------------------------------------------
  17. //00224822 //^_- 经过单元测试,功能正常
  18. int GetDataSize_OGLES(int a0, int a1, int a2, EFTTTexFormat eFormat3, int a4) {
  19. LOGI("GetDataSize_OGLES %d", a0);
  20. return 0;
  21. }
  22. //-------------------------------------------------------------------------------------------------
  23. //0022463C //^_^
  24. uint GetCompressedImageSize_OGLES(EFTTTexFormat eFormat0, int a1, int a2) {
  25. //LOGI("GetCompressedImageSize_OGLES Entry %d %d %d", eFormat0, a1, a2);
  26. uint dret;
  27. return dret;
  28. }
  29. //-------------------------------------------------------------------------------------------------
  30. //00224698 //^_^
  31. CFTTTextureOGLES::CFTTTextureOGLES() {
  32. // empty
  33. }
  34. //-------------------------------------------------------------------------------------------------
  35. //002246B0 //^_- 经过单元测试,功能正常
  36. CFTTTextureOGLES::CFTTTextureOGLES(int dWidth,
  37. int dHeight,
  38. int a3,
  39. EFTTTexFormat eFormat4,
  40. EFTTTextureType eType5) {
  41. LOGI("CFTTTextureOGLES::CFTTTextureOGLES %d %d", dWidth, dHeight);
  42. LOGI("CFTTTextureOGLES::CFTTTextureOGLES end");
  43. }
  44. //-------------------------------------------------------------------------------------------------
  45. //00224768 002247F0
  46. CFTTTextureOGLES::~CFTTTextureOGLES() {
  47. // loc_22479A
  48. }
  49. //-------------------------------------------------------------------------------------------------
  50. //00224724 //^_^ 经过单元测试,功能正常
  51. void CFTTTextureOGLES::MallocDataSpace(int a1, int a2, int a3, EFTTTexFormat eFormat4, int a5) {
  52. //00224736
  53. }
  54. //-------------------------------------------------------------------------------------------------
  55. //002247FE //^_^ 经过单元测试,功能正常
  56. int CFTTTextureOGLES::GetDataSize() const {
  57. return 0;
  58. }
  59. //-------------------------------------------------------------------------------------------------
  60. //0022486C //^_^ 经过单元测试,功能正常,此函数会以很高的频率调用,尽量不要打log,会影响运行速度
  61. uchar *CFTTTextureOGLES::GetPixel(int width1, int height2) {
  62. uchar *pret = nullptr;
  63. return pret;
  64. }
  65. //-------------------------------------------------------------------------------------------------
  66. //002248AC //^_^
  67. int CFTTTextureOGLES::GetPixelMip(int, int, int) {
  68. // empty
  69. LOGI("CFTTTextureOGLES::GetPixelMip Entry");
  70. return 0;
  71. }
  72. //-------------------------------------------------------------------------------------------------
  73. //002248B0 //^_^
  74. int CFTTTextureOGLES::LoadPixel(uchar *pbuf1, int a2) {
  75. return 0;
  76. }
  77. //-------------------------------------------------------------------------------------------------
  78. //002248EA
  79. void CFTTTextureOGLES::StorePixel(uchar *pdata1, uint a2, int a3) {
  80. if (pdata1 != nullptr) {
  81. //002248F6
  82. int dr0 = GetBPP(eFormat_10);
  83. //loc_22491A
  84. if (dr0 == 0x10) {
  85. //loc_22491A
  86. ushort *pr5 = reinterpret_cast<ushort *>(pdata1);
  87. *pr5 = (ushort)a2;
  88. } else if (dr0 == 8) {
  89. //loc_22491E
  90. *pdata1 = (uchar)a2;
  91. } else if (dr0 == 4) {
  92. //00224908
  93. uchar cr0 = *pdata1;
  94. if (a3 << 31) {
  95. //loc_224926
  96. cr0 = (cr0 & 0xF) | (a2 << 4);
  97. } else {
  98. //0022490E
  99. cr0 = (cr0 & 0xF0) | (a2 & 0xF);
  100. }
  101. //loc_22492E
  102. *pdata1 = cr0;
  103. } else {
  104. //loc_224922 dr0 != 4
  105. *(uint*)pdata1 = a2;
  106. }
  107. //loc_224930
  108. bFlag_14 = true;
  109. }
  110. //locret_224934
  111. }
  112. //-------------------------------------------------------------------------------------------------
  113. //00224938
  114. void CFTTTextureOGLES::SetPixelARGB(uint a1, int a2, int a3) {
  115. }
  116. //-------------------------------------------------------------------------------------------------
  117. //002249EC
  118. void CFTTTextureOGLES::RebuildMipMaps(EFTTTex_MipGenFilter eFilter) {
  119. LOGI("CFTTTextureOGLES::RebuildMipMaps Entry %p %p %d %d", this, pData_18, width_4, height_6);
  120. }
  121. //-------------------------------------------------------------------------------------------------
  122. //002254F4 //^_- 经过单元测试,功能正常
  123. void CFTTTextureOGLES::ApplyTexAddressMode() {
  124. LOGI("CFTTTextureOGLES::ApplyTexAddressMode 002254F4");
  125. }
  126. //-------------------------------------------------------------------------------------------------
  127. //0022560A //^_^
  128. void CFTTTextureOGLES::FreeLocalTextureData() {
  129. }
  130. //-------------------------------------------------------------------------------------------------
  131. //0022561C //^_^ 经过单元测试,功能正常
  132. void CFTTTextureOGLES::SetMinFilter(EFTTTex_MinFilter eMinfilter) {
  133. LOGE("CFTTTextureOGLES::SetMinFilterthis=%x parm=%x",this,eMinfilter);
  134. }
  135. //-------------------------------------------------------------------------------------------------
  136. //0022562C //^_^ 经过单元测试,功能正常
  137. void CFTTTextureOGLES::SetMagFilter(EFTTTex_MagFilter eMagFilter) {
  138. }
  139. //-------------------------------------------------------------------------------------------------
  140. /*
  141. CFTTTextureOGLES::ApplyTexAddressMode
  142. CFTTTextureOGLES::CFTTTextureOGLES 1 1
  143. 002249EC CFTTTextureOGLES::RebuildMipMaps
  144. */