aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/kernel/resmanager.cpp
diff options
context:
space:
mode:
authormd52011-05-05 20:14:21 +0300
committermd52011-05-05 20:14:21 +0300
commit0ef807146e5934f206f23650f5a2c51ef143be2e (patch)
tree0771ff735d2756cc29e5a31d1143fdffe2590773 /engines/sword25/kernel/resmanager.cpp
parent2af3759a7810fe96d0b8a0c5124c091b085fa6f0 (diff)
downloadscummvm-rg350-0ef807146e5934f206f23650f5a2c51ef143be2e.tar.gz
scummvm-rg350-0ef807146e5934f206f23650f5a2c51ef143be2e.tar.bz2
scummvm-rg350-0ef807146e5934f206f23650f5a2c51ef143be2e.zip
SWORD25: Remove thumbnails from the cache when saving a new game
Diffstat (limited to 'engines/sword25/kernel/resmanager.cpp')
-rw-r--r--engines/sword25/kernel/resmanager.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/sword25/kernel/resmanager.cpp b/engines/sword25/kernel/resmanager.cpp
index 8b446e69d1..b77d79e8ea 100644
--- a/engines/sword25/kernel/resmanager.cpp
+++ b/engines/sword25/kernel/resmanager.cpp
@@ -147,6 +147,21 @@ void ResourceManager::emptyCache() {
}
}
+void ResourceManager::emptyThumbnailCache() {
+ // Scan through the resource list
+ Common::List<Resource *>::iterator iter = _resources.begin();
+ while (iter != _resources.end()) {
+ if ((*iter)->getFileName().hasPrefix("/saves")) {
+ // Unlock the thumbnail
+ while ((*iter)->getLockCount() > 0)
+ (*iter)->release();
+ // Delete the thumbnail
+ iter = deleteResource(*iter);
+ } else
+ ++iter;
+ }
+}
+
/**
* Returns a requested resource. If any error occurs, returns NULL
* @param FileName Filename of resource