aboutsummaryrefslogtreecommitdiff
path: root/saga/interface.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-07-29 16:37:06 +0000
committerEugene Sandulenko2005-07-29 16:37:06 +0000
commit1a1db4611a7e262fe5f48e19fd4d40858619efaf (patch)
tree33b77cf65ebcf23a0bcb0c77c969a800fd0280b9 /saga/interface.cpp
parent2d0f26d4ee74fdb4670c4228dd4e971b6de018c6 (diff)
downloadscummvm-rg350-1a1db4611a7e262fe5f48e19fd4d40858619efaf.tar.gz
scummvm-rg350-1a1db4611a7e262fe5f48e19fd4d40858619efaf.tar.bz2
scummvm-rg350-1a1db4611a7e262fe5f48e19fd4d40858619efaf.zip
Show scene substitute image for demo versions of ITE.
svn-id: r18589
Diffstat (limited to 'saga/interface.cpp')
-rw-r--r--saga/interface.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/saga/interface.cpp b/saga/interface.cpp
index 3f7df23ef4..8b4687d283 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -297,6 +297,10 @@ void Interface::setMode(int mode) {
case kPanelMap:
mapPanelShow();
break;
+ case kPanelSceneSubstitute:
+ _vm->_render->setFlag(RF_PLACARD);
+ _vm->_gfx->getCurrentPal(_mapSavedPal);
+ break;
}
draw();
@@ -441,6 +445,15 @@ bool Interface::processAscii(uint16 ascii, bool synthetic) {
case kPanelMap:
mapPanelClean();
break;
+ case kPanelSceneSubstitute:
+ if (ascii == 13) {
+ _vm->_render->clearFlag(RF_PLACARD);
+ _vm->_gfx->setPalette(_mapSavedPal);
+ setMode(kPanelMain);
+ } else if (ascii == 'q' || ascii == 'Q') {
+ _vm->shutDown();
+ }
+ break;
}
return false;
}
@@ -483,6 +496,9 @@ void Interface::setStatusText(const char *text, int statusColor) {
assert(text != NULL);
assert(strlen(text) < STATUS_TEXT_LEN);
+ if (_vm->_render->getFlags() & (RF_PLACARD | RF_MAP))
+ return;
+
strncpy(_statusText, text, STATUS_TEXT_LEN);
_statusOnceColor = statusColor;
drawStatusBar();
@@ -1293,6 +1309,14 @@ void Interface::update(const Point& mousePoint, int updateFlag) {
mapPanelClean();
}
+ if (_panelMode == kPanelSceneSubstitute) {
+ if (updateFlag & UPDATE_MOUSECLICK) {
+ _vm->_render->clearFlag(RF_PLACARD);
+ _vm->_gfx->setPalette(_mapSavedPal);
+ setMode(kPanelMain);
+ }
+ }
+
_lastMousePoint = mousePoint;
}
@@ -1426,7 +1450,7 @@ void Interface::handleMainUpdate(const Point& mousePoint) {
}
changed = true;
} else {
- _vm->_script->whichObject(mousePoint);
+ _vm->_script->whichObject(mousePoint);
}
changed = changed || (panelButton != _mainPanel.currentButton);