From 01e88f1fbf1f456d74990cd0a0b8950c056c06f4 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 27 Oct 2007 17:55:50 +0000 Subject: The options panel in IHNM is now shown and functioning correctly when it's opened during a character's speech svn-id: r29266 --- engines/saga/interface.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'engines/saga') diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp index 20370a775f..38d46eed57 100644 --- a/engines/saga/interface.cpp +++ b/engines/saga/interface.cpp @@ -1623,9 +1623,19 @@ void Interface::update(const Point& mousePoint, int updateFlag) { // When opening the psychic profile, or the options screen in the non-interactive part of the IHNM demo, // the interface is locked (_active is false) // Don't return in those cases, so that mouse actions can be processed - if (!(_vm->getGameType() == GType_IHNM && _panelMode == kPanelPlacard && (updateFlag & UPDATE_MOUSECLICK)) && - !(_vm->getGameId() == GID_IHNM_DEMO && (_panelMode == kPanelOption || _panelMode == kPanelQuit))) + if (_vm->getGameType() == GType_ITE) { return; + } else { + if (_panelMode == kPanelPlacard && (updateFlag & UPDATE_MOUSECLICK)) { + // the psychic profile or the special screen in IHNM demo is open, don't return + } else if (_panelMode == kPanelOption || _panelMode == kPanelQuit) { + // options/quit panel is open, set interface to active and don't return + _vm->_actor->abortSpeech(); // abort any speech being played + _active = true; + } else { + return; + } + } } if (_statusTextInput) { -- cgit v1.2.3