aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/adl_v5.cpp
diff options
context:
space:
mode:
authorWalter van Niftrik2017-02-17 21:08:49 +0100
committerWalter van Niftrik2017-02-17 21:09:52 +0100
commitd405e9e09b92d74bbf2e31af5af44395a99e09c0 (patch)
treea67ccd1c130f726f09c5aa4065f9b7072d5b58e2 /engines/adl/adl_v5.cpp
parentfb7992568fb9a93c17eef16d9c0bfa0d55e237e0 (diff)
downloadscummvm-rg350-d405e9e09b92d74bbf2e31af5af44395a99e09c0.tar.gz
scummvm-rg350-d405e9e09b92d74bbf2e31af5af44395a99e09c0.tar.bz2
scummvm-rg350-d405e9e09b92d74bbf2e31af5af44395a99e09c0.zip
ADL: Implement hires6 action opcode 0x0b
Diffstat (limited to 'engines/adl/adl_v5.cpp')
-rw-r--r--engines/adl/adl_v5.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/adl/adl_v5.cpp b/engines/adl/adl_v5.cpp
index be0c31a64c..8ac5b4c793 100644
--- a/engines/adl/adl_v5.cpp
+++ b/engines/adl/adl_v5.cpp
@@ -154,13 +154,28 @@ int AdlEngine_v5::o5_setTextMode(ScriptEnv &e) {
// 2: 24-line mode
switch (e.arg(1)) {
+ case 1:
+ if (_linesPrinted != 0) {
+ _display->printChar(APPLECHAR(' '));
+ handleTextOverflow();
+ _display->moveCursorTo(Common::Point(0, 23));
+ _maxLines = 4;
+ }
+ return 1;
+ case 2:
+ _textMode = true;
+ _display->setMode(DISPLAY_MODE_TEXT);
+ _display->home();
+ _maxLines = 24;
+ _linesPrinted = 0;
+ return 1;
case 3:
// We re-use the restarting flag here, to simulate a long jump
_isRestarting = true;
return -1;
+ default:
+ error("Invalid text mode %d", e.arg(1));
}
-
- return 1;
}
int AdlEngine_v5::o5_setRegionRoom(ScriptEnv &e) {