diff --git a/projects/mtg/include/WResourceManager.h b/projects/mtg/include/WResourceManager.h index 2c8c84407..a09971e9f 100644 --- a/projects/mtg/include/WResourceManager.h +++ b/projects/mtg/include/WResourceManager.h @@ -80,7 +80,6 @@ public: WResourceManager(); ~WResourceManager(); - bool isCardInCache(MTGCard * card, int type = CACHE_CARD); JQuad * RetrieveCard(MTGCard * card, int type = CACHE_CARD, int style = RETRIEVE_NORMAL); JSample * RetrieveSample(string filename, int style = RETRIEVE_NORMAL); JTexture * RetrieveTexture(string filename, int style = RETRIEVE_NORMAL); diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index 474279a7b..8ecc61f13 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -543,13 +543,18 @@ void GameStateDeckViewer::renderCard(int id, float rotation){ int alpha = (int) (255 * (scale + 1.0 - max_scale)); if (!card) return; - JQuad * quad = backQuad; + JQuad * quad = NULL; - int showName = 1; - if (resources.RetrieveCard(card,CACHE_CARD,RETRIEVE_EXISTING) || last_user_activity > (abs(2-id) + 1)* NO_USER_ACTIVITY_SHOWCARD_DELAY){ - quad = resources.RetrieveCard(card); - showName = 0; - } + int showName = 0; + quad = resources.RetrieveCard(card,CACHE_CARD,RETRIEVE_EXISTING); + if (!quad){ + if(last_user_activity > (abs(2-id) + 1)* NO_USER_ACTIVITY_SHOWCARD_DELAY) + quad = resources.RetrieveCard(card); + else{ + quad = backQuad; + showName = 1; + } + } if (quad){ diff --git a/projects/mtg/src/WResourceManager.cpp b/projects/mtg/src/WResourceManager.cpp index a328b6ea6..1563efcd6 100644 --- a/projects/mtg/src/WResourceManager.cpp +++ b/projects/mtg/src/WResourceManager.cpp @@ -163,8 +163,8 @@ bool WResourceManager::cleanup(){ long maxSize = options[Options::CACHESIZE].number * 100000; if (!maxSize) maxSize = CACHE_SIZE_PIXELS; + ClearMisses(); while (textureCache.size() > MAX_CACHE_OBJECTS - 1 || totalsize > maxSize){ - ClearMisses(); int result = RemoveOldestTexture(); if (!result) return false; }