diff options
author | Matthew Hoops | 2012-03-08 08:03:50 -0500 |
---|---|---|
committer | Matthew Hoops | 2012-03-08 08:04:54 -0500 |
commit | fe0c5c0e9720c30689b745ff7aee136022c3df8d (patch) | |
tree | 6bae238d13ce00b20ba11a557b18dec9e06aba2f /engines | |
parent | 30e7a0f00129323676cc9490e7c070374c6472f4 (diff) | |
download | scummvm-rg350-fe0c5c0e9720c30689b745ff7aee136022c3df8d.tar.gz scummvm-rg350-fe0c5c0e9720c30689b745ff7aee136022c3df8d.tar.bz2 scummvm-rg350-fe0c5c0e9720c30689b745ff7aee136022c3df8d.zip |
SCI: Fix KQ6 Mac movies with resource fork names
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kfile.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index aade40fd9f..312497720a 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -24,6 +24,7 @@ #include "common/config-manager.h" #include "common/debug-channels.h" #include "common/file.h" +#include "common/macresman.h" #include "common/str.h" #include "common/savefile.h" #include "common/system.h" @@ -1080,6 +1081,14 @@ reg_t kFileIOExists(EngineState *s, int argc, reg_t *argv) { delete outFile; } + // Special case for KQ6 Mac: The game checks for two video files to see + // if they exist before it plays them. Since we support multiple naming + // schemes for resource fork files, we also need to support that here in + // case someone has a "HalfDome.bin" file, etc. + if (!exists && g_sci->getGameId() == GID_KQ6 && g_sci->getPlatform() == Common::kPlatformMacintosh && + (name == "HalfDome" || name == "Kq6Movie")) + exists = Common::MacResManager::exists(name); + debugC(kDebugLevelFile, "kFileIO(fileExists) %s -> %d", name.c_str(), exists); return make_reg(0, exists); } |