aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/supernova/supernova1/rooms.cpp10
-rw-r--r--engines/supernova/supernova1/state.cpp1
2 files changed, 7 insertions, 4 deletions
diff --git a/engines/supernova/supernova1/rooms.cpp b/engines/supernova/supernova1/rooms.cpp
index f39cbb861b..5fe0868473 100644
--- a/engines/supernova/supernova1/rooms.cpp
+++ b/engines/supernova/supernova1/rooms.cpp
@@ -3108,8 +3108,9 @@ void AxacussCorridor3::onEntrance() {
void AxacussCorridor4::onEntrance() {
_gm->great(4);
- _gm->corridorOnEntrance();
- if (_gm->_rooms[GUARD]->isSectionVisible(1))
+ if (_gm->_state._corridorSearch)
+ _gm->busted(0);
+ else if (_gm->_rooms[GUARD]->isSectionVisible(1))
_gm->busted(0);
}
@@ -3459,8 +3460,9 @@ AxacussBcorridor::AxacussBcorridor(SupernovaEngine *vm, GameManager1 *gm) {
}
void AxacussBcorridor::onEntrance() {
- _gm->corridorOnEntrance();
- if (isSectionVisible(7))
+ if (_gm->_state._corridorSearch)
+ _gm->busted(0);
+ else if (isSectionVisible(7))
_gm->busted(-1);
}
diff --git a/engines/supernova/supernova1/state.cpp b/engines/supernova/supernova1/state.cpp
index f3f8bbac63..e9c4d34dee 100644
--- a/engines/supernova/supernova1/state.cpp
+++ b/engines/supernova/supernova1/state.cpp
@@ -653,6 +653,7 @@ void GameManager1::busted(int i) {
wait(3);
_vm->renderImage(i + 2);
shot(0, 0);
+ return;
} else if (_currentRoom->getId() == BCORRIDOR)
_vm->renderImage(21);
else if (_currentRoom->isSectionVisible(4))