diff options
author | Matthew Hoops | 2010-06-17 00:20:40 +0000 |
---|---|---|
committer | Matthew Hoops | 2010-06-17 00:20:40 +0000 |
commit | 2cba994bb4179cbed1c54921ff825bc4f7735efb (patch) | |
tree | 8db7add2711de511bd2fea63df051052c899776f /engines/sci/engine | |
parent | a7b76c04d9df2c30d541554b9f907f6bcedd307a (diff) | |
download | scummvm-rg350-2cba994bb4179cbed1c54921ff825bc4f7735efb.tar.gz scummvm-rg350-2cba994bb4179cbed1c54921ff825bc4f7735efb.tar.bz2 scummvm-rg350-2cba994bb4179cbed1c54921ff825bc4f7735efb.zip |
Only hide/show cursor when playing a VMD if it was visible in the first place.
svn-id: r49914
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kernel32.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/engines/sci/engine/kernel32.cpp b/engines/sci/engine/kernel32.cpp index 9adfdca21c..dedcf0df5f 100644 --- a/engines/sci/engine/kernel32.cpp +++ b/engines/sci/engine/kernel32.cpp @@ -898,9 +898,8 @@ reg_t kMulDiv(EngineState *s, int argc, reg_t *argv) { reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) { uint16 operation = argv[0].toUint16(); Graphics::VideoDecoder *videoDecoder = 0; - Common::String fileName; - - Common::String warningMsg; + bool reshowCursor = g_sci->_gfxCursor->isVisible(); + Common::String fileName, warningMsg; switch (operation) { case 0: // play @@ -908,7 +907,8 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) { // TODO: argv[2] (usually 0) videoDecoder = new VMDDecoder(g_system->getMixer()); - g_sci->_gfxCursor->kernelHide(); + if (reshowCursor) + g_sci->_gfxCursor->kernelHide(); if (videoDecoder && videoDecoder->loadFile(fileName)) { uint16 x = (g_system->getWidth() - videoDecoder->getWidth()) / 2; @@ -944,8 +944,8 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) { } else warning("Could not play video %s\n", fileName.c_str()); - g_sci->_gfxCursor->kernelShow(); - + if (reshowCursor) + g_sci->_gfxCursor->kernelShow(); break; default: warningMsg = "PlayVMD - unsupported subop. Params: " + |