aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-09 16:23:22 +0000
committerJohannes Schickel2009-07-09 16:23:22 +0000
commit5d0d67e5742d9a65ad9c944a86ff3223ff967042 (patch)
tree780064833e5c998f4a71cd4f21f26f6d7cdc6345
parent1ac515c629898f7642d55588141d6168293a9331 (diff)
downloadscummvm-rg350-5d0d67e5742d9a65ad9c944a86ff3223ff967042.tar.gz
scummvm-rg350-5d0d67e5742d9a65ad9c944a86ff3223ff967042.tar.bz2
scummvm-rg350-5d0d67e5742d9a65ad9c944a86ff3223ff967042.zip
Add fixme about SCI32 specific code.
svn-id: r42305
-rw-r--r--engines/sci/resource.cpp6
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