From b7ac2f99f623b09c218884c490a8f3cb95eef77e Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 5 Jun 2008 20:35:45 +0000 Subject: Optimize a bit roomParse, though ideal would be a binary search, but I am too lazy for that. svn-id: r32561 --- engines/drascula/rooms.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3