aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova2/rooms.cpp
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-07-01 10:45:20 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commita4ca2a838f739a53894e05100acf468788eca21b (patch)
tree455ef1ce7715287ee4dc3a8a3948bf8f858f331a /engines/supernova/supernova2/rooms.cpp
parentb0e386b0147129017e8a0ed531332585f086aa11 (diff)
downloadscummvm-rg350-a4ca2a838f739a53894e05100acf468788eca21b.tar.gz
scummvm-rg350-a4ca2a838f739a53894e05100acf468788eca21b.tar.bz2
scummvm-rg350-a4ca2a838f739a53894e05100acf468788eca21b.zip
SUPERNOVA: When dead return back to main loop ASAP
Diffstat (limited to 'engines/supernova/supernova2/rooms.cpp')
-rw-r--r--engines/supernova/supernova2/rooms.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/supernova/supernova2/rooms.cpp b/engines/supernova/supernova2/rooms.cpp
index 1ff643f653..6feebefe84 100644
--- a/engines/supernova/supernova2/rooms.cpp
+++ b/engines/supernova/supernova2/rooms.cpp
@@ -1977,8 +1977,10 @@ bool Ship::interact(Action verb, Object &obj1, Object &obj2) {
else if (isSectionVisible(9)) {
_vm->renderImage(9 + 128);
_vm->renderImage(11);
- if (!_shown[kMaxSection - 1])
+ if (!_shown[kMaxSection - 1]) {
kill();
+ return true;
+ }
_objectState[6]._click = 8;
_gm->wait(2);
_vm->renderImage(4);
@@ -1989,8 +1991,10 @@ bool Ship::interact(Action verb, Object &obj1, Object &obj2) {
_objectState[2]._description = kStringDefaultDescription;
} else {
_vm->renderImage(10);
- if (!_shown[kMaxSection - 1])
+ if (!_shown[kMaxSection - 1]) {
kill();
+ return true;
+ }
_objectState[6]._click = 7;
}
} else if (verb == ACTION_USE && Object::combine(obj1, obj2, CABLE, DOOR_SWITCH) && isSectionVisible(7)) {
@@ -2004,8 +2008,10 @@ bool Ship::interact(Action verb, Object &obj1, Object &obj2) {
else if (isSectionVisible(10)) {
_vm->renderImage(10 + 128);
_vm->renderImage(11);
- if (!_shown[kMaxSection - 1])
+ if (!_shown[kMaxSection - 1]) {
kill();
+ return true;
+ }
_objectState[6]._click = 8;
_gm->wait(2);
_vm->renderImage(4);
@@ -4742,6 +4748,8 @@ bool Mus22::interact(Action verb, Object &obj1, Object &obj2) {
else {
_vm->renderMessage(kStringMuseum21);
_gm->crack(20);
+ if (_gm->_dead)
+ return true;
if (!_gm->_state._alarmOn) {
_vm->renderMessage(kStringMuseum22);
_vm->playSound(kAudioSuccess2);