aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock
diff options
context:
space:
mode:
authorAlexander Reim2017-12-22 11:20:33 +0100
committerAlexander Reim2017-12-22 14:13:22 +0100
commit20d5a67f8b71c668ca304b85c1d8b91759922031 (patch)
treed6dff11c7238d7bc4d160c83a7b785b248c0ce6a /engines/sherlock
parentf383f002742a952ac91dc515208e5f2add1b1956 (diff)
downloadscummvm-rg350-20d5a67f8b71c668ca304b85c1d8b91759922031.tar.gz
scummvm-rg350-20d5a67f8b71c668ca304b85c1d8b91759922031.tar.bz2
scummvm-rg350-20d5a67f8b71c668ca304b85c1d8b91759922031.zip
SHERLOCK: Disable cache for uncompressed resources
Diffstat (limited to 'engines/sherlock')
-rw-r--r--engines/sherlock/resources.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/engines/sherlock/resources.cpp b/engines/sherlock/resources.cpp
index ec7d60a1a2..9ed6951fbe 100644
--- a/engines/sherlock/resources.cpp
+++ b/engines/sherlock/resources.cpp
@@ -57,24 +57,23 @@ void Cache::load(const Common::String &name, Common::SeekableReadStream &stream)
int32 signature = stream.readUint32BE();
stream.seek(0);
-
- // Allocate a new cache entry
- _resources[name] = CacheEntry();
- CacheEntry &cacheEntry = _resources[name];
-
+
// Check whether the file is compressed
if (signature == MKTAG('L', 'Z', 'V', 26)) {
+
+ // Allocate a new cache entry
+ _resources[name] = CacheEntry();
+ CacheEntry &cacheEntry = _resources[name];
+
// It's compressed, so decompress the file and store its data in the cache entry
Common::SeekableReadStream *decompressed = _vm->_res->decompress(stream);
cacheEntry.resize(decompressed->size());
decompressed->read(&cacheEntry[0], decompressed->size());
delete decompressed;
- } else {
- // It's not, so read the raw data of the file into the cache entry
- cacheEntry.resize(stream.size());
- stream.read(&cacheEntry[0], stream.size());
+
}
+
}
Common::SeekableReadStream *Cache::get(const Common::String &filename) const {