123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- #include "CFTTTextureCache.h"
- #include "CFTTTextureManager.h"
- #include "FTTThread.h"
- #include "CFTTFileSystem.h"
- #include "CFTTAsyncEvent.h"
- #include "CFTTTime.h"
- #include "memctrl.h"
- uint CFTTTextureCache::s_uMaxTextures = 0x80; //00349A34
- uint CFTTTextureCache::s_uMaxMainHeapMemory = 0xA00000; //00349A38
- uint CFTTTextureCache::s_uFadeInPeriodMS = 500; //00349A3C
- float CFTTTextureCache::s_fCurrentAlpha = 1.0; //00349A40
- bool CFTTTextureCache::s_bInitialised; //005CB228
- uint CFTTTextureCache::s_uUsedTextures; //005CB22C used texture count
- uint CFTTTextureCache::s_uUsedMainHeapMemory; //005CB230
- CFTTCachedImage *CFTTTextureCache::s_pCachedImages; //005CB234
- CFTTTexture *CFTTTextureCache::s_pDummyTexture; //005CB238
- CFTTTexture *CFTTTextureCache::s_pCurrentAlphaTexture; //005CB23C
- int CFTTTextureCache::s_tTextureCacheMutex; //005CB240
- CFTTTextureCache::func_PreCacheTextureProcessingCallback CFTTTextureCache::m_fpPreCacheTextureProcessingCallback; //005CB244
- //-------------------------------------------------------------------------------------------------
- //002229FC //^_^ 经过单元测试,功能正常
- void CFTTTextureCache::SetInitParams(uint uMaxTextures,
- uint uMaxMainHeapMemory,
- uint unuse,
- func_PreCacheTextureProcessingCallback func) {
- LOGI("CFTTTextureCache::SetInitParams entry");
- }
- //-------------------------------------------------------------------------------------------------
- //00222A38 //^_^ 经过单元测试,功能正常
- void CFTTTextureCache::Initialise() {
- LOGI("CFTTTextureCache::Initialise entry");
- }
- //-------------------------------------------------------------------------------------------------
- //00222AEC //^_^
- void CFTTTextureCache::Shutdown() {
- LOGI("CFTTTextureCache::Shutdown entry");
- }
- //-------------------------------------------------------------------------------------------------
- //00222B58 //^_^ 经过单元测试,功能正常
- void CFTTTextureCache::EmptyCache() {
- LOGI("CFTTTextureCache::EmptyCache entry");
- }
- //-------------------------------------------------------------------------------------------------
- //00222BAC //^_^
- int CFTTTextureCache::GetUsedTextureCount() {
- return CFTTTextureCache::s_uUsedTextures;
- }
- //-------------------------------------------------------------------------------------------------
- //00222BBC //^_^
- void CFTTTextureCache::LockMutex() {
- }
- //-------------------------------------------------------------------------------------------------
- //00222BCC //^_^
- void CFTTTextureCache::UnlockMutex() {
- }
- //-------------------------------------------------------------------------------------------------
- //00222BDC //^_- 经过单元测试,功能正常
- void CFTTTextureCache::ReleaseTexture(uint d1) {
- LOGI("CFTTTextureCache::ReleaseTexture entry %d %d", d1, s_pCachedImages[d1].field_14);
- //00222BF6
- LOGI("CFTTTextureCache::ReleaseTexture end");
- }
- //-------------------------------------------------------------------------------------------------
- //00222C68 //^_^
- void CFTTTextureCache::ReleaseTexture(char const *p1) {
- LOGI("CFTTTextureCache::ReleaseTexture entry 00222C68");
- //locret_222C94
- }
- //-------------------------------------------------------------------------------------------------
- //00222C9C //^_^
- bool CFTTTextureCache::TextureCached(char const *p1) {
- LOGI("CFTTTextureCache::TextureCached entry");
- return false;
- }
- //-------------------------------------------------------------------------------------------------
- //00222CB0 //^_^ 经过单元测试,功能正常
- //此函数实现折半查找,优点是查询速度快,缺点是插入速度慢,如果在一个连续的buf中插入,要内存大量移动
- CFTTCachedImage *CFTTTextureCache::FindTexture(uint dIndex) {
- LOGI("CFTTTextureCache::FindTexture entry");
- //loc_222CF4
- return nullptr;
- }
- //-------------------------------------------------------------------------------------------------
- //00222D0C //^_^
- int CFTTTextureCache::GetIndex(CFTTCachedImage *pImage) {
- return pImage - s_pCachedImages;
- }
- //-------------------------------------------------------------------------------------------------
- //00222D20 //^_- 经过单元测试,功能正常 玩了几关游戏,没有发现问题
- CFTTTexture *CFTTTextureCache::GetTexture(char const *a1,
- CFTTTexLoadOptions const &a2,
- uint a3)
- {
- srand(time(NULL));
- int ret=rand();
- printf("%p%x%x%x",a1,ret,(uint)&a2,a3);
- return (CFTTTexture*)rand();
- }
- //-------------------------------------------------------------------------------------------------
- //002230FC
- bool CFTTTextureCache::CheckForLoadCompletion(CFTTCachedImage *pImage) {
- LOGI("CFTTTextureCache::CheckForLoadCompletion entry");
- //loc_22317C
- return false;
- }
- //-------------------------------------------------------------------------------------------------
- //002231A8
- bool CFTTTextureCache::ReleaseOldestTexture(bool b) {
- LOGI("CFTTTextureCache::ReleaseOldestTexture entry");
- return true;
- }
- //-------------------------------------------------------------------------------------------------
- //0022323C //^_^ 经过单元测试,功能正常
- int CFTTTextureCache::InsertTexture(CFTTCachedImage *pImage) {
- LOGI("CFTTTextureCache::InsertTexture %08x", pImage->dHash_4);
- uint dr5 = 0;
- return dr5;
- }
- //-------------------------------------------------------------------------------------------------
- //002232A8 //^_^ 经过单元测试,功能正常
- void CFTTTextureCache::ManageCache() {
- LOGI("CFTTTextureCache::ManageCache entry");
- }
- //-------------------------------------------------------------------------------------------------
- //00223320 //^_^
- void CFTTTextureCache::AsyncLoadCallback(CFTTAsyncEvent<TFTTFileAsyncEventData> *pAsyncEvent,
- TFTTFileAsyncEventData const *pEventData,
- void *pdat) {
- LOGI("CFTTTextureCache::AsyncLoadCallback Entry");
- LOGI("CFTTTextureCache::AsyncLoadCallback End");
- }
- //-------------------------------------------------------------------------------------------------
- //00223368 //^_^
- bool CFTTTextureCache::IsDummyTexture(CFTTTexture *pTexture) {
- return s_pDummyTexture == pTexture;
- }
- //-------------------------------------------------------------------------------------------------
|