diff options
author | Paul Gilbert | 2018-05-05 14:36:14 -0400 |
---|---|---|
committer | Paul Gilbert | 2018-05-05 14:36:14 -0400 |
commit | afc48cfb0ec2ce3e87b7121f5616bc01f6281284 (patch) | |
tree | c5eb4e891edd6fb2fc0a395868c0151f198a7dc0 | |
parent | f2d80f4ae3bf2b529aa0af57b45c0023dfbf12e2 (diff) | |
download | scummvm-rg350-afc48cfb0ec2ce3e87b7121f5616bc01f6281284.tar.gz scummvm-rg350-afc48cfb0ec2ce3e87b7121f5616bc01f6281284.tar.bz2 scummvm-rg350-afc48cfb0ec2ce3e87b7121f5616bc01f6281284.zip |
Revert "SHERLOCK: Disable cache for uncompressed resources"
This reverts commit 20d5a67f8b71c668ca304b85c1d8b91759922031.
-rw-r--r-- | engines/sherlock/resources.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/engines/sherlock/resources.cpp b/engines/sherlock/resources.cpp index 9ed6951fbe..ec7d60a1a2 100644 --- a/engines/sherlock/resources.cpp +++ b/engines/sherlock/resources.cpp @@ -57,23 +57,24 @@ void Cache::load(const Common::String &name, Common::SeekableReadStream &stream) int32 signature = stream.readUint32BE(); stream.seek(0); - - // 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]; + // 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)) { // 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 { |