diff options
author | Joseph-Eugene Winzer | 2017-12-19 12:19:07 +0100 |
---|---|---|
committer | Thierry Crozat | 2018-01-23 02:15:44 +0000 |
commit | bb8dbdfc682290f3d4da5a9eb50455485351f5c8 (patch) | |
tree | 0a9db733996268abbf834dd944e3d9f63b5d182a /engines/supernova/rooms.cpp | |
parent | b76ac8331ff269210f8a9face931ec39cdb50f5d (diff) | |
download | scummvm-rg350-bb8dbdfc682290f3d4da5a9eb50455485351f5c8.tar.gz scummvm-rg350-bb8dbdfc682290f3d4da5a9eb50455485351f5c8.tar.bz2 scummvm-rg350-bb8dbdfc682290f3d4da5a9eb50455485351f5c8.zip |
SUPERNOVA: Fixes game freeze in bcorrdior
Most of the time _objectState[MAX_OBJECT - 1] was used for
showing/hiding the GUI, here it was to indicate if the player
is currently hidden behind a pillar though.
Diffstat (limited to 'engines/supernova/rooms.cpp')
-rw-r--r-- | engines/supernova/rooms.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp index 8bbb170500..2ec0836687 100644 --- a/engines/supernova/rooms.cpp +++ b/engines/supernova/rooms.cpp @@ -2729,8 +2729,9 @@ void AxacussBcorridor::onEntrance() { bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) { if (obj1.hasProperty(EXIT) || - ((verb == ACTION_USE) && obj1.hasProperty(COMBINABLE) && obj2.hasProperty(EXIT))) - _gm->_guiEnabled = false; + ((verb == ACTION_USE) && obj1.hasProperty(COMBINABLE) && obj2.hasProperty(EXIT))) { + _gm->_state._playerHidden = false; + } if ((verb == ACTION_CLOSE) && (obj1._id >= DOOR1) && (obj1._id <= DOOR4) && obj1.hasProperty(OPENED)) { _vm->renderImage(_gm->invertSection(obj1._id - DOOR1 + 1)); @@ -2794,7 +2795,7 @@ bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) { return false; } else if ((verb == ACTION_WALK) && ((obj1._id == PILLAR1) || (obj1._id == PILLAR2))) { _vm->renderMessage(kStringAxacussBcorridor_1); - _gm->_guiEnabled = true; + _gm->_state._playerHidden = true; } else return false; |