diff options
Diffstat (limited to 'engines/sci/engine/kvideo.cpp')
-rw-r--r-- | engines/sci/engine/kvideo.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index 9398e6d75e..37e4eeeab3 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -332,11 +332,12 @@ reg_t kShowMovieWinInit(EngineState *s, int argc, reg_t *argv) { --argc; } - const int16 x = argv[0].toSint16(); - const int16 y = argv[1].toSint16(); - const int16 width = argc > 3 ? argv[2].toSint16() : 0; - const int16 height = argc > 3 ? argv[3].toSint16() : 0; - return make_reg(0, g_sci->_video32->getAVIPlayer().init1x(x, y, width, height)); + // argv[0] is a broken x-coordinate + // argv[1] is a broken y-coordinate + // argv[2] is an optional broken width + // argv[3] is an optional broken height + const bool pixelDouble = argc > 3 && argv[2].toSint16() && argv[3].toSint16(); + return make_reg(0, g_sci->_video32->getAVIPlayer().init(pixelDouble)); } reg_t kShowMovieWinPlay(EngineState *s, int argc, reg_t *argv) { @@ -386,9 +387,9 @@ reg_t kShowMovieWinPlayUntilEvent(EngineState *s, int argc, reg_t *argv) { reg_t kShowMovieWinInitDouble(EngineState *s, int argc, reg_t *argv) { // argv[0] is a broken movie ID - const int16 x = argv[1].toSint16(); - const int16 y = argv[2].toSint16(); - return make_reg(0, g_sci->_video32->getAVIPlayer().init2x(x, y)); + // argv[1] is a broken x-coordinate + // argv[2] is a broken y-coordinate + return make_reg(0, g_sci->_video32->getAVIPlayer().init(true)); } reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) { |