CFEImages.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // CFEImages - [2020-04-13 11:57:46]
  2. #ifndef _CFEIMAGES_H_
  3. #define _CFEIMAGES_H_
  4. #include "CFTTTextureAtlas.h"
  5. /*
  6. 0014C6F8 CFEImages::CFEImages()
  7. 0014C734 CFEImages::~CFEImages()
  8. 0014C71C CFEImages::ClearCache()
  9. 0014C738 CFEImages::Free()
  10. 0014C758 CFEImages::FreeAtlases()
  11. 0014C7D0 CFEImages::GetInstance()
  12. 0014C80C CFEImages::GetTexture(char const*,bool,EFTTTexFormat,bool,bool,bool)
  13. 0014C8E8 CFEImages::HighToLowResProcess(CFTTTexture **)
  14. 0014CC84 CFEImages::CacheFree()
  15. 0014CCBC CFEImages::LoadAtlasData()
  16. 0014CE24 CFEImages::ReorderAtlases()
  17. 0014CE5E CFEImages::SwapAtlasPositions(ushort,ushort)
  18. 0014CE9A CFEImages::FreeAtlasCache(bool)
  19. 0014CEEE CFEImages::FreeAtlasCacheByTimestamp()
  20. 0014CF60 CFEImages::FindAndOpenAtlas(TAtlasData *,char const*)
  21. 0x10
  22. */
  23. // 0xC 0014D002 0C 35 ADDS R5, #0xC
  24. struct TAtlasData {
  25. CFTTTextureAtlas *pTextureAtlas_0;
  26. short field_4; //大多数代码是按照2个字节short读写,少数是按4个字节int读取,总体上,我认为是short. anderson
  27. // 0014CFEA LDR R2, [R2,#4]
  28. short field_6;
  29. uint32_t dTick_8;
  30. };
  31. class CFEImages {
  32. public:
  33. CFEImages(); // 0014C6F8
  34. ~CFEImages(); // 0014C734
  35. void ClearCache(); // 0014C71C
  36. void Free(); // 0014C738
  37. void FreeAtlases(); // 0014C758
  38. static CFEImages *GetInstance(); // 0014C7D0
  39. CFTTTexture *GetTexture(char const *pFileName,
  40. bool b, EFTTTexFormat e,
  41. bool b1,
  42. bool b2, bool b3); // 0014C80C
  43. void HighToLowResProcess(CFTTTexture **); // 0014C8E8
  44. void CacheFree(); // 0014CC84
  45. void LoadAtlasData(); // 0014CCBC
  46. void ReorderAtlases(); // 0014CE24
  47. void SwapAtlasPositions(ushort, ushort); // 0014CE5E
  48. void FreeAtlasCache(bool); // 0014CE9A
  49. void FreeAtlasCacheByTimestamp(); // 0014CEEE
  50. bool FindAndOpenAtlas(TAtlasData *, char const *); // 0014CF60
  51. bool byte_0;
  52. TAtlasData *list_4;
  53. uint **pHashTable_8;
  54. int *list_count_C;
  55. static uchar s_tLoadScreenTextures[1088];
  56. static CFEImages *s_pInst;
  57. static bool s_bScaleLoadedTexture;
  58. };
  59. #endif //_CFEIMAGES_H_