aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kvideo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/kvideo.cpp')
-rw-r--r--engines/sci/engine/kvideo.cpp17
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) {