diff options
Diffstat (limited to 'engines/sci/resource.cpp')
-rw-r--r-- | engines/sci/resource.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index b248729503..6d33c77179 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -766,6 +766,12 @@ int ResourceManager::detectMapVersion() { #ifdef ENABLE_SCI32 // late SCI1.1 and SCI32 maps have last directory entry set to 0xFF // offset set to filesize and 4 more bytes + + // TODO/FIXME: This code was not updated in r43000, which changed the behavior of this + // function a lot. To make it compile again "off" was changed to the newly introduced + // "lastDirectoryOffset". This is probably not the correct fix, since before r43000 + // the loop above could not prematurely terminate and thus this would always check the + // last directory entry instead of the last checked directory entry. file.seek(lastDirectoryOffset - 7, SEEK_SET); if (file.readByte() == 0xFF && file.readUint16LE() == file.size()) return SCI_VERSION_32; // TODO : check if there is a difference between these maps |