aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Hesse2009-06-09 18:53:35 +0000
committerSven Hesse2009-06-09 18:53:35 +0000
commit6f49d1576b54e333f8da9b87ecc0e8ce03c473e9 (patch)
tree124ddb02afaf21c009ca9cd816b53eedc1ecdd3d
parent5728ff23cadf6b7695be42fc75a737afd17cf67f (diff)
downloadscummvm-rg350-6f49d1576b54e333f8da9b87ecc0e8ce03c473e9.tar.gz
scummvm-rg350-6f49d1576b54e333f8da9b87ecc0e8ce03c473e9.tar.bz2
scummvm-rg350-6f49d1576b54e333f8da9b87ecc0e8ce03c473e9.zip
Added a workaround for Win Lost in Time.
It's got VMD files which are still referenced as IMD svn-id: r41407
-rw-r--r--engines/gob/mult_v2.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp
index d9b5be0847..379ed90c23 100644
--- a/engines/gob/mult_v2.cpp
+++ b/engines/gob/mult_v2.cpp
@@ -269,6 +269,19 @@ void Mult_v2::loadImds(Common::SeekableReadStream &data) {
_multData->imdFiles = new char[size * 14];
memcpy(_multData->imdFiles, _vm->_global->_inter_execPtr, size * 14);
+
+ // WORKAROUND: The Windows version of Lost in Time has VMD not IMD files,
+ // but they are still referenced as IMD.
+ if ((_vm->getGameType() == kGameTypeLostInTime) &&
+ (_vm->getPlatform() == Common::kPlatformWindows)) {
+
+ for (int i = 0; i < size; i++) {
+ char *dot = strrchr(_multData->imdFiles + (i * 14), '.');
+ if (dot)
+ *dot = '\0';
+ }
+ }
+
_vm->_global->_inter_execPtr += size * 14;
data.seek(2, SEEK_CUR);
for (int i = 0; i < 4; i++) {