aboutsummaryrefslogtreecommitdiff
path: root/engines/gob
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob')
-rw-r--r--engines/gob/inter_v2.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp
index 476ebedddd..64d092b919 100644
--- a/engines/gob/inter_v2.cpp
+++ b/engines/gob/inter_v2.cpp
@@ -1375,12 +1375,30 @@ void Inter_v2::o2_initScreen() {
width = _vm->_parse->parseValExpr();
height = _vm->_parse->parseValExpr();
- _vm->_global->_colorCount = (videoMode == 0x10) ? 16 : 256;
+ // Lost in Time switches to 640x400x16 when showing the title screen
+ if (_vm->getGameType() == kGameTypeLostInTime) {
+ if (videoMode == 0x10) {
+ width = _vm->_width = 640;
+ height = _vm->_height = 400;
+ _vm->_global->_colorCount = 16;
+ _vm->_system->initSize(_vm->_width, _vm->_height);
+ } else if (_vm->_global->_videoMode == 0x10) {
+ if (width == -1)
+ width = 320;
+ if (height == -1)
+ height = 200;
+
+ _vm->_width = 320;
+ _vm->_height = 200;
+ _vm->_global->_colorCount = 256;
+ _vm->_system->initSize(_vm->_width, _vm->_height);
+ }
+ }
_vm->_global->_fakeVideoMode = videoMode;
// Some versions require this
- if ((videoMode == 0xD))// || (videoMode == 0x10))
+ if (videoMode == 0xD)
videoMode = _vm->_mode;
if ((videoMode == _vm->_global->_videoMode) && (width == -1))