aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMatthew Hoops2010-08-04 15:17:09 +0000
committerMatthew Hoops2010-08-04 15:17:09 +0000
commita5056cde9812a18dd76e3c453ba4bb62b9d303ab (patch)
treef03fabef8cf0755104888a8698e342de225c9b79 /engines
parent4db52c1ce13fa6b621ba77949b0a34c8881ff997 (diff)
downloadscummvm-rg350-a5056cde9812a18dd76e3c453ba4bb62b9d303ab.tar.gz
scummvm-rg350-a5056cde9812a18dd76e3c453ba4bb62b9d303ab.tar.bz2
scummvm-rg350-a5056cde9812a18dd76e3c453ba4bb62b9d303ab.zip
SCI: Add 'movie' subdirectory for VMD's
The Torin's intro movie now plays. Minor kPlayVMD cleanup. svn-id: r51739
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kvideo.cpp11
-rw-r--r--engines/sci/sci.cpp1
2 files changed, 8 insertions, 4 deletions
diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp
index cd103dade7..3ad2d95f58 100644
--- a/engines/sci/engine/kvideo.cpp
+++ b/engines/sci/engine/kvideo.cpp
@@ -205,11 +205,15 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) {
videoDecoder = new VMDDecoder(g_system->getMixer());
+ if (!videoDecoder->loadFile(fileName)) {
+ warning("Could not open VMD %s", fileName.c_str());
+ break;
+ }
+
if (reshowCursor)
g_sci->_gfxCursor->kernelHide();
- if (videoDecoder && videoDecoder->loadFile(fileName))
- playVideo(videoDecoder);
+ playVideo(videoDecoder);
if (reshowCursor)
g_sci->_gfxCursor->kernelShow();
@@ -280,8 +284,7 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) {
// Looks to be setting the video size and position. Called with 4 extra integer
// parameters (e.g. 86, 41, 235, 106)
default:
- warningMsg = "PlayVMD - unsupported subop. Params: " +
- Common::String::printf("%d", argc) + " (";
+ warningMsg = Common::String::printf("PlayVMD - unsupported subop %d. Params: %d (", operation, argc);
for (int i = 0; i < argc; i++) {
warningMsg += Common::String::printf("%04x:%04x", PRINT_REG(argv[i]));
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 6abe52fea4..7624aed569 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -126,6 +126,7 @@ SciEngine::SciEngine(OSystem *syst, const ADGameDescription *desc, SciGameId gam
SearchMan.addSubDirectoryMatching(gameDataDir, "seq"); // SEQ movie files for DOS versions
SearchMan.addSubDirectoryMatching(gameDataDir, "robot"); // robot movie files
SearchMan.addSubDirectoryMatching(gameDataDir, "robots"); // robot movie files
+ SearchMan.addSubDirectoryMatching(gameDataDir, "movie"); // vmd movie files
SearchMan.addSubDirectoryMatching(gameDataDir, "movies"); // vmd movie files
SearchMan.addSubDirectoryMatching(gameDataDir, "vmd"); // vmd movie files