aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/interface.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2007-07-30 16:16:22 +0000
committerFilippos Karapetis2007-07-30 16:16:22 +0000
commit60b41486acd5db88c1890f891e1b814986ea195b (patch)
treebb937f660a9a16629cbf989f09d68ee6573f25c4 /engines/saga/interface.cpp
parent78e8dadbe3728d8ea378075b7a0e82147feb2351 (diff)
downloadscummvm-rg350-60b41486acd5db88c1890f891e1b814986ea195b.tar.gz
scummvm-rg350-60b41486acd5db88c1890f891e1b814986ea195b.tar.bz2
scummvm-rg350-60b41486acd5db88c1890f891e1b814986ea195b.zip
The disk icon is now shown in the IHNM demo (though it's not functional yet)
svn-id: r28329
Diffstat (limited to 'engines/saga/interface.cpp')
-rw-r--r--engines/saga/interface.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index ea69d75590..70d868cd80 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -338,8 +338,7 @@ int Interface::activate() {
_vm->_actor->_protagonist->_targetObject = ID_NOTHING;
unlockMode();
if (_panelMode == kPanelMain || _panelMode == kPanelChapterSelection) {
- if (_vm->getGameId() != GID_IHNM_DEMO)
- _saveReminderState = 1;
+ _saveReminderState = 1;
}
draw();
}
@@ -382,21 +381,33 @@ void Interface::restoreMode(bool draw_) {
void Interface::setMode(int mode) {
debug(1, "Interface::setMode %i", mode);
+ // The non-interactive part of the IHNM demo does not have an options
+ // screen - the psychic profile screen is displayed instead, with some
+ // dialog options (help, play non-interactive demo, play interactive demo, quit)
+ // TODO: Show the psychic profile screen in the non-interactive demo and show
+ // the normal options screen in the interactive demo
+ if (_vm->getGameId() == GID_IHNM_DEMO && mode == kPanelOption)
+ mode = kPanelNull;
+
if (mode == kPanelMain) {
_inMainMode = true;
- if (_vm->getGameId() != GID_IHNM_DEMO)
- _saveReminderState = 1; //TODO: blinking timeout
+ _saveReminderState = 1; //TODO: blinking timeout
} else if (mode == kPanelChapterSelection) {
- if (_vm->getGameId() != GID_IHNM_DEMO)
- _saveReminderState = 1;
+ _saveReminderState = 1;
} else if (mode == kPanelNull) {
- if (_vm->getGameId() == GID_IHNM_DEMO)
+ if (_vm->getGameId() == GID_IHNM_DEMO) {
_inMainMode = true;
+ _saveReminderState = 1;
+ }
} else {
if (mode == kPanelConverse) {
_inMainMode = false;
}
- _saveReminderState = 0;
+
+ if (_vm->getGameId() != GID_IHNM_DEMO)
+ _saveReminderState = 0;
+ else
+ _saveReminderState = 1;
}
_panelMode = mode;