aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
Diffstat (limited to 'engines/drascula')
-rw-r--r--engines/drascula/rooms.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index ea6b7766e2..968cf1952b 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -154,8 +154,11 @@ void DrasculaEngine::setupRoomsTable() {
}
bool DrasculaEngine::roomParse(int room, int fl) {
+ bool seen = false;
+
for (int i = 0; i < ARRAYSIZE(roomActions); i++) {
if (roomActions[i].room == room) {
+ seen = true;
if (roomActions[i].chapter == currentChapter ||
roomActions[i].chapter == -1) {
if (roomActions[i].action == pickedObject ||
@@ -168,7 +171,8 @@ bool DrasculaEngine::roomParse(int room, int fl) {
}
}
}
- }
+ } else if (seen) // Stop searching down the list
+ break;
}
return false;