mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-08 11:57:25 +00:00
wCompressed is still a uint16 in SCI32, so correct the vol version detection.
svn-id: r46661
This commit is contained in:
parent
420ab43066
commit
86306e1e4d
@ -819,7 +819,7 @@ ResourceManager::ResVersion ResourceManager::detectVolVersion() {
|
||||
// SCI0 volume format: {wResId wPacked+4 wUnpacked wCompression} = 8 bytes
|
||||
// SCI1 volume format: {bResType wResNumber wPacked+4 wUnpacked wCompression} = 9 bytes
|
||||
// SCI1.1 volume format: {bResType wResNumber wPacked wUnpacked wCompression} = 9 bytes
|
||||
// SCI32 volume format : {bResType wResNumber dwPacked dwUnpacked wCompression} = 13 bytes
|
||||
// SCI32 volume format: {bResType wResNumber dwPacked dwUnpacked wCompression} = 13 bytes
|
||||
// Try to parse volume with SCI0 scheme to see if it make sense
|
||||
// Checking 1MB of data should be enough to determine the version
|
||||
uint16 resId, wCompression;
|
||||
@ -835,7 +835,7 @@ ResourceManager::ResVersion ResourceManager::detectVolVersion() {
|
||||
resId = fileStream->readUint16LE();
|
||||
dwPacked = (curVersion < kResVersionSci32) ? fileStream->readUint16LE() : fileStream->readUint32LE();
|
||||
dwUnpacked = (curVersion < kResVersionSci32) ? fileStream->readUint16LE() : fileStream->readUint32LE();
|
||||
wCompression = (curVersion < kResVersionSci32) ? fileStream->readUint16LE() : fileStream->readUint32LE();
|
||||
wCompression = fileStream->readUint16LE();
|
||||
if (fileStream->eos()) {
|
||||
delete fileStream;
|
||||
return curVersion;
|
||||
@ -873,7 +873,7 @@ ResourceManager::ResVersion ResourceManager::detectVolVersion() {
|
||||
else if (curVersion == kResVersionSci11)
|
||||
fileStream->seek(sci11Align && ((9 + dwPacked) % 2) ? dwPacked + 1 : dwPacked, SEEK_CUR);
|
||||
else if (curVersion == kResVersionSci32)
|
||||
fileStream->seek(dwPacked - 2, SEEK_CUR);
|
||||
fileStream->seek(dwPacked, SEEK_CUR);
|
||||
}
|
||||
|
||||
delete fileStream;
|
||||
|
Loading…
x
Reference in New Issue
Block a user