aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 7bc589e749..71bab481f3 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -1253,22 +1253,23 @@ reg_t kSetPort(EngineState *s, int argc, reg_t *argv) {
int16 picTop, picLeft;
switch (argc) {
- case 1:
+ case 1:
portPtr = argv[0].toSint16();
s->_gui->setPort(portPtr);
break;
- case 6:
+ case 4:
+ case 6:
picRect.top = argv[0].toSint16();
picRect.left = argv[1].toSint16();
picRect.bottom = argv[2].toSint16();
picRect.right = argv[3].toSint16();
- picTop = argv[4].toSint16();
- picLeft = argv[5].toSint16();
+ picTop = (argc == 6) ? argv[4].toSint16() : 0;
+ picLeft = (argc == 6) ? argv[5].toSint16() : 0;
s->_gui->setPortPic(picRect, picTop, picLeft);
break;
- default:
+ default:
error("SetPort was called with %d parameters", argc);
break;
}