diff options
author | Walter van Niftrik | 2017-02-17 21:08:49 +0100 |
---|---|---|
committer | Walter van Niftrik | 2017-02-17 21:09:52 +0100 |
commit | d405e9e09b92d74bbf2e31af5af44395a99e09c0 (patch) | |
tree | a67ccd1c130f726f09c5aa4065f9b7072d5b58e2 /engines/adl/adl_v5.cpp | |
parent | fb7992568fb9a93c17eef16d9c0bfa0d55e237e0 (diff) | |
download | scummvm-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.cpp | 19 |
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) { |