aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2008-06-05 19:29:30 +0000
committerEugene Sandulenko2008-06-05 19:29:30 +0000
commit9cbf46a7a42f0f71797856dcbcf987ef11ae6723 (patch)
treec3a4664af290083a3621e349a968cb045f82fe34 /engines
parenta921549370b89f9cdddb16b5727efe416015663f (diff)
downloadscummvm-rg350-9cbf46a7a42f0f71797856dcbcf987ef11ae6723.tar.gz
scummvm-rg350-9cbf46a7a42f0f71797856dcbcf987ef11ae6723.tar.bz2
scummvm-rg350-9cbf46a7a42f0f71797856dcbcf987ef11ae6723.zip
Merged all roomXXActions into single array. Thus simplified room parsers.
svn-id: r32559
Diffstat (limited to 'engines')
-rw-r--r--engines/drascula/drascula.h3
-rw-r--r--engines/drascula/rooms.cpp141
-rw-r--r--engines/drascula/staticdata.h548
3 files changed, 250 insertions, 442 deletions
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index f93d788fd8..cbc1d0b442 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -137,6 +137,7 @@ enum IgorTalkerTypes {
struct DrasculaGameDescription;
struct RoomTalkAction {
+ int room;
int chapter;
int action;
int objectID;
@@ -473,7 +474,7 @@ public:
int whichObject();
bool checkMenuFlags();
void setupRoomsTable();
- bool roomParse(RoomTalkAction*, int, int);
+ bool roomParse(int, int);
void converse(int);
void print_abc_opc(const char *, int, int, int);
void response(int);
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index a3eaa13d5a..6f4dd821fe 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -153,17 +153,19 @@ void DrasculaEngine::setupRoomsTable() {
UPDATEROOM(update_102);
}
-bool DrasculaEngine::roomParse(RoomTalkAction* roomActions, int actionCount, int fl) {
- for (int i = 0; i < actionCount; i++) {
- if (roomActions[i].chapter == currentChapter ||
- roomActions[i].chapter == -1) {
- if (roomActions[i].action == pickedObject ||
- roomActions[i].action == kVerbDefault) {
- if (roomActions[i].objectID == fl ||
- roomActions[i].objectID == -1) {
- talk(roomActions[i].speechID);
- hasAnswer = 1;
- return true;
+bool DrasculaEngine::roomParse(int room, int fl) {
+ for (int i = 0; i < ARRAYSIZE(roomActions); i++) {
+ if (roomActions[i].room == room) {
+ if (roomActions[i].chapter == currentChapter ||
+ roomActions[i].chapter == -1) {
+ if (roomActions[i].action == pickedObject ||
+ roomActions[i].action == kVerbDefault) {
+ if (roomActions[i].objectID == fl ||
+ roomActions[i].objectID == -1) {
+ talk(roomActions[i].speechID);
+ hasAnswer = 1;
+ return true;
+ }
}
}
}
@@ -176,9 +178,6 @@ void DrasculaEngine::room_0() {
static const int lookExcuses[3] = {100, 101, 54};
static const int actionExcuses[6] = {11, 109, 111, 110, 115, 116};
- if (roomParse(room0Actions, ARRAYSIZE(room0Actions), -1))
- return;
-
// non-default actions
if (currentChapter == 2 || currentChapter == 4 ||
currentChapter == 5 || currentChapter == 6) {
@@ -197,9 +196,6 @@ void DrasculaEngine::room_0() {
}
void DrasculaEngine::room_1(int fl) {
- if (roomParse(room1Actions, ARRAYSIZE(room1Actions), fl))
- return;
-
if (pickedObject == kVerbLook && fl == 118) {
talk(1);
pause(10);
@@ -211,9 +207,6 @@ void DrasculaEngine::room_1(int fl) {
}
void DrasculaEngine::room_3(int fl) {
- if (roomParse(room3Actions, ARRAYSIZE(room3Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl == 129) {
talk(23);
pause(6);
@@ -250,9 +243,6 @@ void DrasculaEngine::room_3(int fl) {
}
void DrasculaEngine::room_4(int fl) {
- if (roomParse(room4Actions, ARRAYSIZE(room4Actions), fl))
- return;
-
if (pickedObject == kVerbMove && fl == 189 && flags[34] == 0) {
talk(327);
pickObject(13);
@@ -264,9 +254,6 @@ void DrasculaEngine::room_4(int fl) {
}
void DrasculaEngine::room_5(int fl) {
- if (roomParse(room5Actions, ARRAYSIZE(room5Actions), fl))
- return;
-
if (pickedObject == kVerbLook && fl == 136 && flags[8] == 0)
talk(14);
else if (pickedObject == 10 && fl == 136) {
@@ -277,9 +264,6 @@ void DrasculaEngine::room_5(int fl) {
}
void DrasculaEngine::room_6(int fl){
- if (roomParse(room6Actions, ARRAYSIZE(room6Actions), fl))
- return;
-
if (pickedObject == kVerbLook && fl==144) {
talk(41);
talk(42);
@@ -338,9 +322,6 @@ void DrasculaEngine::room_6(int fl){
}
void DrasculaEngine::room_7(int fl){
- if (roomParse(room7Actions, ARRAYSIZE(room7Actions), fl))
- return;
-
if (pickedObject == kVerbPick && fl == 190) {
pickObject(17);
flags[35] = 1;
@@ -367,9 +348,6 @@ void DrasculaEngine::room_8(int fl) {
}
void DrasculaEngine::room_9(int fl){
- if (roomParse(room9Actions, ARRAYSIZE(room9Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl == 51 && flags[4] == 0)
animation_4_2();
else if (pickedObject == kVerbTalk && fl == 51 && flags[4] == 1)
@@ -383,9 +361,6 @@ void DrasculaEngine::room_9(int fl){
}
void DrasculaEngine::room_12(int fl){
- if (roomParse(room12Actions, ARRAYSIZE(room12Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 156)
openDoor(16, 4);
else if (pickedObject == kVerbClose && fl == 156)
@@ -413,9 +388,6 @@ bool DrasculaEngine::room_13(int fl) {
}
void DrasculaEngine::room_14(int fl) {
- if (roomParse(room14Actions, ARRAYSIZE(room14Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl == 54 && flags[39] == 0)
animation_12_2();
else if (pickedObject == kVerbTalk && fl == 54 && flags[39] == 1)
@@ -433,9 +405,6 @@ void DrasculaEngine::room_14(int fl) {
}
void DrasculaEngine::room_15(int fl) {
- if (roomParse(room15Actions, ARRAYSIZE(room15Actions), fl))
- return;
-
if (pickedObject == 19 && fl == 188 && flags[27] == 0)
talk(335);
else if (pickedObject == 19 && fl == 188 && flags[27] == 1) {
@@ -467,9 +436,6 @@ void DrasculaEngine::room_15(int fl) {
}
void DrasculaEngine::room_16(int fl) {
- if (roomParse(room16Actions, ARRAYSIZE(room16Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 163)
openDoor(17, 0);
else if (pickedObject == kVerbClose && fl == 163)
@@ -527,9 +493,6 @@ void DrasculaEngine::room_17(int fl) {
}
void DrasculaEngine::room_18(int fl) {
- if (roomParse(room18Actions, ARRAYSIZE(room18Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl == 55 && flags[36] == 0)
animation_24_2();
else if (pickedObject == kVerbTalk && fl == 55 && flags[36] == 1)
@@ -572,9 +535,6 @@ void DrasculaEngine::room_18(int fl) {
}
void DrasculaEngine::room_19(int fl) {
- if (roomParse(room19Actions, ARRAYSIZE(room19Actions), fl))
- return;
-
hasAnswer = 0;
}
@@ -603,9 +563,6 @@ bool DrasculaEngine::room_21(int fl) {
}
void DrasculaEngine::room_22(int fl) {
- if (roomParse(room22Actions, ARRAYSIZE(room22Actions), fl))
- return;
-
if (pickedObject == 11 && fl == 140) {
pickObject(18);
visible[1] = 0;
@@ -656,9 +613,6 @@ void DrasculaEngine::room_23(int fl) {
}
void DrasculaEngine::room_24(int fl) {
- if (roomParse(room24Actions, ARRAYSIZE(room24Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 105)
openDoor(1, 0);
else if (pickedObject == kVerbClose && fl == 105)
@@ -672,9 +626,6 @@ void DrasculaEngine::room_24(int fl) {
}
void DrasculaEngine::room_26(int fl) {
- if (roomParse(room26Actions, ARRAYSIZE(room26Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 107 && flags[30] == 0)
openDoor(2, 0);
else if (pickedObject == kVerbOpen && fl == 107 && flags[30] == 1)
@@ -735,9 +686,6 @@ void DrasculaEngine::room_27(int fl) {
}
void DrasculaEngine::room_29(int fl) {
- if (roomParse(room29Actions, ARRAYSIZE(room29Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 114)
openDoor(4, 1);
else if (pickedObject == kVerbClose && fl == 114)
@@ -747,9 +695,6 @@ void DrasculaEngine::room_29(int fl) {
}
void DrasculaEngine::room_30(int fl) {
- if (roomParse(room30Actions, ARRAYSIZE(room30Actions), fl))
- return;
-
if (pickedObject == kVerbOpen && fl == 115)
openDoor(4, 0);
else if (pickedObject == kVerbClose && fl == 115)
@@ -777,9 +722,6 @@ void DrasculaEngine::room_30(int fl) {
}
void DrasculaEngine::room_31(int fl) {
- if (roomParse(room31Actions, ARRAYSIZE(room31Actions), fl))
- return;
-
if (pickedObject == kVerbPick && fl == 145) {
pickObject(11);
visible[1] = 0;
@@ -793,9 +735,6 @@ void DrasculaEngine::room_31(int fl) {
}
void DrasculaEngine::room_34(int fl) {
- if (roomParse(room34Actions, ARRAYSIZE(room34Actions), fl))
- return;
-
if (pickedObject == kVerbMove && fl == 146)
animation_8_4();
else if (pickedObject == kVerbOpen && fl == 120 && flags[25] == 1)
@@ -837,16 +776,10 @@ void DrasculaEngine::room_35(int fl) {
}
void DrasculaEngine::room_44(int fl) {
- if (roomParse(room44Actions, ARRAYSIZE(room44Actions), fl))
- return;
-
hasAnswer = 0;
}
void DrasculaEngine::room_49(int fl){
- if (roomParse(room49Actions, ARRAYSIZE(room49Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl ==51)
converse(9);
else if ((pickedObject == 8 && fl == 51) || (pickedObject == 8 && fl == 203))
@@ -856,9 +789,6 @@ void DrasculaEngine::room_49(int fl){
}
void DrasculaEngine::room_53(int fl) {
- if (roomParse(room53Actions, ARRAYSIZE(room53Actions), fl))
- return;
-
if (pickedObject == kVerbPick && fl == 120) {
pickObject(16);
visible[3] = 0;
@@ -881,9 +811,6 @@ void DrasculaEngine::room_53(int fl) {
}
void DrasculaEngine::room_54(int fl) {
- if (roomParse(room54Actions, ARRAYSIZE(room54Actions), fl))
- return;
-
if ((pickedObject == kVerbTalk && fl == 118) || (pickedObject == kVerbLook && fl == 118 && flags[0] == 0))
animation_1_5();
else if (pickedObject == kVerbLook && fl == 118 && flags[0]==1)
@@ -916,9 +843,6 @@ void DrasculaEngine::room_54(int fl) {
}
void DrasculaEngine::room_55(int fl) {
- if (roomParse(room55Actions, ARRAYSIZE(room55Actions), fl))
- return;
-
if (pickedObject == kVerbPick && fl == 122) {
pickObject(12);
flags[8] = 1;
@@ -933,9 +857,6 @@ void DrasculaEngine::room_55(int fl) {
}
bool DrasculaEngine::room_56(int fl) {
- if (roomParse(room56Actions, ARRAYSIZE(room56Actions), fl))
- return false;
-
if (pickedObject == kVerbOpen && fl == 124) {
animation_14_5();
return true;
@@ -946,9 +867,6 @@ bool DrasculaEngine::room_56(int fl) {
}
void DrasculaEngine::room_58(int fl) {
- if (roomParse(room58Actions, ARRAYSIZE(room58Actions), fl))
- return;
-
if (pickedObject == kVerbMove && fl == 103)
animation_7_6();
else
@@ -1022,9 +940,6 @@ void DrasculaEngine::room_59(int fl) {
}
bool DrasculaEngine::room_60(int fl) {
- if (roomParse(room60Actions, ARRAYSIZE(room60Actions), fl))
- return false;
-
if (pickedObject == kVerbMove && fl == 112)
animation_10_6();
else if (pickedObject == kVerbTalk && fl == 52) {
@@ -1048,16 +963,10 @@ bool DrasculaEngine::room_60(int fl) {
}
void DrasculaEngine::room_61(int fl) {
- if (roomParse(room61Actions, ARRAYSIZE(room61Actions), fl))
- return;
-
hasAnswer = 0;
}
void DrasculaEngine::room_62(int fl) {
- if (roomParse(room62Actions, ARRAYSIZE(room62Actions), fl))
- return;
-
if (pickedObject == kVerbTalk && fl == 53)
converse(13);
else if (pickedObject == kVerbTalk && fl == 52 && flags[0] == 0)
@@ -1071,16 +980,10 @@ void DrasculaEngine::room_62(int fl) {
}
void DrasculaEngine::room_63(int fl) {
- if (roomParse(room63Actions, ARRAYSIZE(room63Actions), fl))
- return;
-
hasAnswer = 0;
}
void DrasculaEngine::room_102(int fl) {
- if (roomParse(room102Actions, ARRAYSIZE(room102Actions), fl))
- return;
-
if (pickedObject == kVerbPick && fl == 101)
pickObject(20);
else if (pickedObject == 20 && fl == 100)
@@ -2044,14 +1947,16 @@ bool DrasculaEngine::checkAction(int fl) {
if (hasAnswer == 0) {
hasAnswer = 1;
- // Call room-specific parser
- char rm[20];
- sprintf(rm, "room_%d", roomNumber);
- for (uint i = 0; i < _roomParsers.size(); i++) {
- if (!strcmp(rm, _roomParsers[i]->desc)) {
- debug(4, "Calling room parser %d", roomNumber);
- (this->*(_roomParsers[i]->proc))(fl);
- break;
+ if (!roomParse(roomNumber, fl)) {
+ // Call room-specific parser
+ char rm[20];
+ sprintf(rm, "room_%d", roomNumber);
+ for (uint i = 0; i < _roomParsers.size(); i++) {
+ if (!strcmp(rm, _roomParsers[i]->desc)) {
+ debug(4, "Calling room parser %d", roomNumber);
+ (this->*(_roomParsers[i]->proc))(fl);
+ break;
+ }
}
}
}
diff --git a/engines/drascula/staticdata.h b/engines/drascula/staticdata.h
index df4ad18556..fb3d966ec3 100644
--- a/engines/drascula/staticdata.h
+++ b/engines/drascula/staticdata.h
@@ -127,395 +127,297 @@ int frame_x[20] = {43, 87, 130, 173, 216, 259};
// Note: default action needs to be LAST for each group
// of actions with the same number
-RoomTalkAction room0Actions[] = {
- // num action object speech
- { 1, kVerbLook, -1, 54 },
- { 1, kVerbMove, -1, 19 },
- { 1, kVerbPick, -1, 11 },
- { 1, kVerbOpen, -1, 9 },
- { 1, kVerbClose, -1, 9 },
- { 1, kVerbTalk, -1, 16 },
- { 1, kVerbDefault, -1, 11 },
+RoomTalkAction roomActions[] = {
+ //room num action object speech
+ { 0, 1, kVerbLook, -1, 54 },
+ { 0, 1, kVerbMove, -1, 19 },
+ { 0, 1, kVerbPick, -1, 11 },
+ { 0, 1, kVerbOpen, -1, 9 },
+ { 0, 1, kVerbClose, -1, 9 },
+ { 0, 1, kVerbTalk, -1, 16 },
+ { 0, 1, kVerbDefault, -1, 11 },
// ----------------------------------
- { 2, kVerbMove, -1, 19 },
- { 2, kVerbOpen, -1, 9 },
- { 2, kVerbClose, -1, 9 },
- { 2, kVerbTalk, -1, 16 },
+ { 0, 2, kVerbMove, -1, 19 },
+ { 0, 2, kVerbOpen, -1, 9 },
+ { 0, 2, kVerbClose, -1, 9 },
+ { 0, 2, kVerbTalk, -1, 16 },
// ----------------------------------
- { 3, kVerbLook, -1, 316 },
- { 3, kVerbMove, -1, 317 },
- { 3, kVerbPick, -1, 318 },
- { 3, kVerbOpen, -1, 319 },
- { 3, kVerbClose, -1, 319 },
- { 3, kVerbTalk, -1, 320 },
- { 3, kVerbDefault, -1, 318 },
+ { 0, 3, kVerbLook, -1, 316 },
+ { 0, 3, kVerbMove, -1, 317 },
+ { 0, 3, kVerbPick, -1, 318 },
+ { 0, 3, kVerbOpen, -1, 319 },
+ { 0, 3, kVerbClose, -1, 319 },
+ { 0, 3, kVerbTalk, -1, 320 },
+ { 0, 3, kVerbDefault, -1, 318 },
// ----------------------------------
- { 4, kVerbMove, -1, 19 },
- { 4, kVerbOpen, -1, 9 },
- { 4, kVerbClose, -1, 9 },
- { 4, kVerbTalk, -1, 16 },
+ { 0, 4, kVerbMove, -1, 19 },
+ { 0, 4, kVerbOpen, -1, 9 },
+ { 0, 4, kVerbClose, -1, 9 },
+ { 0, 4, kVerbTalk, -1, 16 },
// ----------------------------------
- { 5, kVerbOpen, -1, 9 },
- { 5, kVerbClose, -1, 9 },
- { 5, kVerbTalk, -1, 16 },
+ { 0, 5, kVerbOpen, -1, 9 },
+ { 0, 5, kVerbClose, -1, 9 },
+ { 0, 5, kVerbTalk, -1, 16 },
// ----------------------------------
- { 6, kVerbMove, -1, 19 },
- { 6, kVerbOpen, -1, 9 },
- { 6, kVerbClose, -1, 9 },
- { 6, kVerbTalk, -1, 16 }
-};
-
-RoomTalkAction room1Actions[] = {
- // num action object speech
- { -1, kVerbPick, 118, 5 },
- { -1, kVerbOpen, 118, 3 },
- { -1, kVerbClose, 118, 4 },
- { -1, kVerbTalk, 118, 6 },
+ { 0, 6, kVerbMove, -1, 19 },
+ { 0, 6, kVerbOpen, -1, 9 },
+ { 0, 6, kVerbClose, -1, 9 },
+ { 0, 6, kVerbTalk, -1, 16 },
+ // ==================================
+ { 1, -1, kVerbPick, 118, 5 },
+ { 1, -1, kVerbOpen, 118, 3 },
+ { 1, -1, kVerbClose, 118, 4 },
+ { 1, -1, kVerbTalk, 118, 6 },
// ----------------------------------
- { -1, kVerbLook, 119, 8 },
- { -1, kVerbMove, 119, 13 },
- { -1, kVerbClose, 119, 10 },
- { -1, kVerbTalk, 119, 12 },
+ { 1, -1, kVerbLook, 119, 8 },
+ { 1, -1, kVerbMove, 119, 13 },
+ { 1, -1, kVerbClose, 119, 10 },
+ { 1, -1, kVerbTalk, 119, 12 },
// ----------------------------------
- { -1, kVerbMove, 120, 13 },
- { -1, kVerbOpen, 120, 18 },
- { -1, kVerbTalk, 120, 15 }
-};
-
-RoomTalkAction room3Actions[] = {
- // num action object speech
- { -1, kVerbLook, 129, 21 },
- { -1, kVerbPick, 129, 5 },
- { -1, kVerbMove, 129, 24 },
- { -1, kVerbOpen, 129, 22 },
- { -1, kVerbClose, 129, 10 },
+ { 1, -1, kVerbMove, 120, 13 },
+ { 1, -1, kVerbOpen, 120, 18 },
+ { 1, -1, kVerbTalk, 120, 15 },
+ // ==================================
+ { 3, -1, kVerbLook, 129, 21 },
+ { 3, -1, kVerbPick, 129, 5 },
+ { 3, -1, kVerbMove, 129, 24 },
+ { 3, -1, kVerbOpen, 129, 22 },
+ { 3, -1, kVerbClose, 129, 10 },
// ----------------------------------
- { -1, kVerbLook, 131, 27 },
- { -1, kVerbPick, 131, 5 },
- { -1, kVerbMove, 131, 24 },
- { -1, kVerbOpen, 131, 22 },
- { -1, kVerbClose, 131, 10 },
- { -1, kVerbTalk, 131, 23 },
+ { 3, -1, kVerbLook, 131, 27 },
+ { 3, -1, kVerbPick, 131, 5 },
+ { 3, -1, kVerbMove, 131, 24 },
+ { 3, -1, kVerbOpen, 131, 22 },
+ { 3, -1, kVerbClose, 131, 10 },
+ { 3, -1, kVerbTalk, 131, 23 },
// ----------------------------------
- { -1, kVerbLook, 132, 28 },
- { -1, kVerbPick, 132, 5 },
- { -1, kVerbMove, 132, 24 },
- { -1, kVerbOpen, 132, 22 },
- { -1, kVerbClose, 132, 10 },
- { -1, kVerbTalk, 132, 23 },
+ { 3, -1, kVerbLook, 132, 28 },
+ { 3, -1, kVerbPick, 132, 5 },
+ { 3, -1, kVerbMove, 132, 24 },
+ { 3, -1, kVerbOpen, 132, 22 },
+ { 3, -1, kVerbClose, 132, 10 },
+ { 3, -1, kVerbTalk, 132, 23 },
// ----------------------------------
- { -1, kVerbLook, 133, 321 },
- { -1, kVerbPick, 133, 31 },
- { -1, kVerbMove, 133, 34 },
- { -1, kVerbOpen, 133, 30 },
- { -1, kVerbClose, 133, 10 },
+ { 3, -1, kVerbLook, 133, 321 },
+ { 3, -1, kVerbPick, 133, 31 },
+ { 3, -1, kVerbMove, 133, 34 },
+ { 3, -1, kVerbOpen, 133, 30 },
+ { 3, -1, kVerbClose, 133, 10 },
// ----------------------------------
- { -1, kVerbLook, 166, 55 },
- { -1, kVerbPick, 166, 7 },
+ { 3, -1, kVerbLook, 166, 55 },
+ { 3, -1, kVerbPick, 166, 7 },
// ----------------------------------
- { -1, kVerbLook, 211, 184 }
-};
-
-RoomTalkAction room4Actions[] = {
- // num action object speech
- { -1, kVerbLook, 189, 182 },
+ { 3, -1, kVerbLook, 211, 184 },
+ // ==================================
+ { 4, -1, kVerbLook, 189, 182 },
// ----------------------------------
- { -1, kVerbLook, 207, 175 },
- { -1, kVerbTalk, 207, 176 },
+ { 4, -1, kVerbLook, 207, 175 },
+ { 4, -1, kVerbTalk, 207, 176 },
// ----------------------------------
- { -1, kVerbLook, 208, 177 },
+ { 4, -1, kVerbLook, 208, 177 },
// ----------------------------------
- { -1, kVerbLook, 209, 179 },
+ { 4, -1, kVerbLook, 209, 179 },
// ----------------------------------
- { -1, kVerbLook, 210, 180 },
- { -1, kVerbOpen, 210, 181 }
-};
-
-RoomTalkAction room5Actions[] = {
- // num action object speech
- { -1, kVerbMove, 136, 13 },
- { -1, kVerbOpen, 136, 18 },
- { -1, kVerbTalk, 136, 15 },
+ { 4, -1, kVerbLook, 210, 180 },
+ { 4, -1, kVerbOpen, 210, 181 },
+ // ==================================
+ { 5, -1, kVerbMove, 136, 13 },
+ { 5, -1, kVerbOpen, 136, 18 },
+ { 5, -1, kVerbTalk, 136, 15 },
// ----------------------------------
- { -1, kVerbLook, 212, 187 },
- { -1, kVerbTalk, 212, 188 },
+ { 5, -1, kVerbLook, 212, 187 },
+ { 5, -1, kVerbTalk, 212, 188 },
// ----------------------------------
- { -1, kVerbLook, 213, 189 },
- { -1, kVerbOpen, 213, 190 }
-};
-
-RoomTalkAction room6Actions[] = {
- // num action object speech
- { -1, kVerbPick, 144, 43 },
+ { 5, -1, kVerbLook, 213, 189 },
+ { 5, -1, kVerbOpen, 213, 190 },
+ // ==================================
+ { 6, -1, kVerbPick, 144, 43 },
// ----------------------------------
- { -1, kVerbLook, 138, 35 },
- { -1, kVerbTalk, 138, 6 },
+ { 6, -1, kVerbLook, 138, 35 },
+ { 6, -1, kVerbTalk, 138, 6 },
// ----------------------------------
- { -1, kVerbLook, 143, 37 },
- { -1, kVerbPick, 143, 7 },
- { -1, kVerbMove, 143, 7 },
- { -1, kVerbTalk, 143, 38 },
+ { 6, -1, kVerbLook, 143, 37 },
+ { 6, -1, kVerbPick, 143, 7 },
+ { 6, -1, kVerbMove, 143, 7 },
+ { 6, -1, kVerbTalk, 143, 38 },
// ----------------------------------
- { -1, kVerbLook, 139, 36 },
+ { 6, -1, kVerbLook, 139, 36 },
// ----------------------------------
- { -1, kVerbLook, 140, 147 }
-};
-
-RoomTalkAction room7Actions[] = {
- // num action object speech
- { -1, kVerbLook, 164, 35 },
+ { 6, -1, kVerbLook, 140, 147 },
+ // ==================================
+ { 7, -1, kVerbLook, 164, 35 },
// ----------------------------------
- { -1, kVerbLook, 169, 44 }
-};
-
-RoomTalkAction room9Actions[] = {
- // num action object speech
- { -1, kVerbLook, 150, 35 },
- { -1, kVerbTalk, 150, 6 },
+ { 7, -1, kVerbLook, 169, 44 },
+ // ==================================
+ { 9, -1, kVerbLook, 150, 35 },
+ { 9, -1, kVerbTalk, 150, 6 },
// ----------------------------------
- { -1, kVerbLook, 51, 60 },
-};
-
-RoomTalkAction room12Actions[] = {
- // num action object speech
- { -1, kVerbLook, 154, 329 },
- { -1, kVerbTalk, 154, 330 },
+ { 9, -1, kVerbLook, 51, 60 },
+ // ==================================
+ { 12, -1, kVerbLook, 154, 329 },
+ { 12, -1, kVerbTalk, 154, 330 },
// ----------------------------------
- { -1, kVerbMove, 155, 48 },
- { -1, kVerbTalk, 155, 331 },
+ { 12, -1, kVerbMove, 155, 48 },
+ { 12, -1, kVerbTalk, 155, 331 },
// ----------------------------------
- { -1, kVerbLook, 156, 35 },
- { -1, kVerbMove, 156, 48 },
- { -1, kVerbTalk, 156, 50 }
-};
-
-RoomTalkAction room14Actions[] = {
- // num action object speech
- { -1, kVerbLook, 200, 165 },
+ { 12, -1, kVerbLook, 156, 35 },
+ { 12, -1, kVerbMove, 156, 48 },
+ { 12, -1, kVerbTalk, 156, 50 },
+ // ==================================
+ { 14, -1, kVerbLook, 200, 165 },
// ----------------------------------
- { -1, kVerbLook, 201, 166 },
+ { 14, -1, kVerbLook, 201, 166 },
// ----------------------------------
- { -1, kVerbLook, 202, 167 },
+ { 14, -1, kVerbLook, 202, 167 },
// ----------------------------------
- { -1, kVerbLook, 203, 168 },
- { -1, kVerbPick, 203, 170 },
- { -1, kVerbMove, 203, 170 },
- { -1, kVerbTalk, 203, 169 },
+ { 14, -1, kVerbLook, 203, 168 },
+ { 14, -1, kVerbPick, 203, 170 },
+ { 14, -1, kVerbMove, 203, 170 },
+ { 14, -1, kVerbTalk, 203, 169 },
// ----------------------------------
- { -1, kVerbLook, 204, 171 }
-};
-
-RoomTalkAction room15Actions[] = {
- // num action object speech
- { -1, kVerbTalk, 188, 333 },
- { -1, kVerbLook, 188, 334 },
+ { 14, -1, kVerbLook, 204, 171 },
+ // ==================================
+ { 15, -1, kVerbTalk, 188, 333 },
+ { 15, -1, kVerbLook, 188, 334 },
// ----------------------------------
- { -1, kVerbLook, 205, 172 },
+ { 15, -1, kVerbLook, 205, 172 },
// ----------------------------------
- { -1, kVerbLook, 206, 173 },
- { -1, kVerbMove, 206, 174 },
- { -1, kVerbOpen, 206, 174 }
-};
-
-RoomTalkAction room16Actions[] = {
- // num action object speech
- { -1, kVerbTalk, 163, 6 },
+ { 15, -1, kVerbLook, 206, 173 },
+ { 15, -1, kVerbMove, 206, 174 },
+ { 15, -1, kVerbOpen, 206, 174 },
+ // ==================================
+ { 16, -1, kVerbTalk, 163, 6 },
// ----------------------------------
- { -1, kVerbLook, 183, 340 },
+ { 16, -1, kVerbLook, 183, 340 },
// ----------------------------------
- { -1, kVerbLook, 185, 37 },
- { -1, kVerbPick, 185, 7 },
- { -1, kVerbMove, 185, 7 },
- { -1, kVerbTalk, 185, 38 },
+ { 16, -1, kVerbLook, 185, 37 },
+ { 16, -1, kVerbPick, 185, 7 },
+ { 16, -1, kVerbMove, 185, 7 },
+ { 16, -1, kVerbTalk, 185, 38 },
// ----------------------------------
- { -1, kVerbTalk, 187, 345 }
-};
-
-RoomTalkAction room18Actions[] = {
- // num action object speech
- { -1, kVerbLook, 181, 348 },
+ { 16, -1, kVerbTalk, 187, 345 },
+ // ==================================
+ { 18, -1, kVerbLook, 181, 348 },
// ----------------------------------
- { -1, kVerbLook, 182, 154 }
-};
-
-RoomTalkAction room19Actions[] = {
- // num action object speech
- { -1, kVerbLook, 214, 191 }
-};
-
-RoomTalkAction room22Actions[] = {
- // num action object speech
- { -1, kVerbPick, 140, 7 },
+ { 18, -1, kVerbLook, 182, 154 },
+ // ==================================
+ { 19, -1, kVerbLook, 214, 191 },
+ // ==================================
+ { 22, -1, kVerbPick, 140, 7 },
// ----------------------------------
- { -1, kVerbLook, 52, 497 },
- { -1, kVerbTalk, 52, 498 }
-};
-
-RoomTalkAction room24Actions[] = {
- // num action object speech
- { -1, kVerbLook, 151, 461 }
-};
-
-RoomTalkAction room26Actions[] = {
- // num action object speech
- { -1, kVerbOpen, 167, 467 },
+ { 22, -1, kVerbLook, 52, 497 },
+ { 22, -1, kVerbTalk, 52, 498 },
+ // ==================================
+ { 24, -1, kVerbLook, 151, 461 },
+ // ==================================
+ { 26, -1, kVerbOpen, 167, 467 },
// ----------------------------------
- { -1, kVerbLook, 164, 470 },
- { -1, kVerbOpen, 164, 471 },
+ { 26, -1, kVerbLook, 164, 470 },
+ { 26, -1, kVerbOpen, 164, 471 },
// ----------------------------------
- { -1, kVerbLook, 163, 472 },
- { -1, kVerbPick, 163, 473 },
+ { 26, -1, kVerbLook, 163, 472 },
+ { 26, -1, kVerbPick, 163, 473 },
// ----------------------------------
- { -1, kVerbLook, 165, 474 },
+ { 26, -1, kVerbLook, 165, 474 },
// ----------------------------------
- { -1, kVerbLook, 168, 476 },
- { -1, kVerbPick, 168, 477 }
-};
-
-RoomTalkAction room29Actions[] = {
- // num action object speech
- { -1, kVerbLook, 152, 463 },
- { -1, kVerbOpen, 152, 464 },
- // ----------------------------------
- { -1, kVerbLook, 153, 465 },
+ { 26, -1, kVerbLook, 168, 476 },
+ { 26, -1, kVerbPick, 168, 477 },
+ // ==================================
+ { 29, -1, kVerbLook, 152, 463 },
+ { 29, -1, kVerbOpen, 152, 464 },
// ----------------------------------
- { -1, kVerbPick, 154, 466 },
+ { 29, -1, kVerbLook, 153, 465 },
// ----------------------------------
- { -1, kVerbOpen, 156, 467 }
-};
-
-RoomTalkAction room30Actions[] = {
- // num action object speech
- { -1, kVerbOpen, 157, 468 },
+ { 29, -1, kVerbPick, 154, 466 },
// ----------------------------------
- { -1, kVerbLook, 158, 469 }
-};
-
-RoomTalkAction room31Actions[] = {
- // num action object speech
- { -1, kVerbLook, 161, 470 },
- { -1, kVerbOpen, 161, 471 }
-};
-
-RoomTalkAction room34Actions[] = {
- // num action object speech
- { -1, kVerbLook, 146, 458 },
- { -1, kVerbPick, 146, 459 }
-};
-
-RoomTalkAction room44Actions[] = {
- // num action object speech
- { -1, kVerbLook, 172, 428 }
-};
-
-RoomTalkAction room49Actions[] = {
- // num action object speech
- { -1, kVerbLook, 51, 132 },
+ { 29, -1, kVerbOpen, 156, 467 },
+ // ==================================
+ { 30, -1, kVerbOpen, 157, 468 },
// ----------------------------------
- { -1, kVerbLook, 200, 133 },
- { -1, kVerbTalk, 200, 134 },
+ { 30, -1, kVerbLook, 158, 469 },
+ // ==================================
+ { 31, -1, kVerbLook, 161, 470 },
+ { 31, -1, kVerbOpen, 161, 471 },
+ // ==================================
+ { 34, -1, kVerbLook, 146, 458 },
+ { 34, -1, kVerbPick, 146, 459 },
+ // ==================================
+ { 44, -1, kVerbLook, 172, 428 },
+ // ==================================
+ { 49, -1, kVerbLook, 51, 132 },
// ----------------------------------
- { -1, kVerbLook, 201, 135 },
+ { 49, -1, kVerbLook, 200, 133 },
+ { 49, -1, kVerbTalk, 200, 134 },
// ----------------------------------
- { -1, kVerbLook, 203, 137 }
-};
-
-RoomTalkAction room53Actions[] = {
- // num action object speech
- { -1, kVerbLook, 121, 128 },
+ { 49, -1, kVerbLook, 201, 135 },
// ----------------------------------
- { -1, kVerbLook, 209, 129 },
+ { 49, -1, kVerbLook, 203, 137 },
+ // ==================================
+ { 53, -1, kVerbLook, 121, 128 },
// ----------------------------------
- { -1, kVerbLook, 52, 447 },
- { -1, kVerbTalk, 52, 131 }
-};
-
-RoomTalkAction room54Actions[] = {
- // num action object speech
- { -1, kVerbLook, 53, 127 },
+ { 53, -1, kVerbLook, 209, 129 },
// ----------------------------------
- { -1, kVerbOpen, 119, 125 },
- { -1, kVerbLook, 119, 126 }
-};
-
-RoomTalkAction room55Actions[] = {
- // num action object speech
- { -1, kVerbLook, 122, 138 },
+ { 53, -1, kVerbLook, 52, 447 },
+ { 53, -1, kVerbTalk, 52, 131 },
+ // ==================================
+ { 54, -1, kVerbLook, 53, 127 },
// ----------------------------------
- { -1, kVerbLook, 204, 139 },
+ { 54, -1, kVerbOpen, 119, 125 },
+ { 54, -1, kVerbLook, 119, 126 },
+ // ==================================
+ { 55, -1, kVerbLook, 122, 138 },
// ----------------------------------
- { -1, kVerbLook, 205, 140 }
-};
-
-RoomTalkAction room56Actions[] = {
- // num action object speech
- { -1, kVerbLook, 124, 450 },
+ { 55, -1, kVerbLook, 204, 139 },
// ----------------------------------
- { -1, kVerbOpen, 207, 141 },
+ { 55, -1, kVerbLook, 205, 140 },
+ // ==================================
+ { 56, -1, kVerbLook, 124, 450 },
// ----------------------------------
- { -1, kVerbLook, 208, 142 }
-};
-
-RoomTalkAction room58Actions[] = {
- // num action object speech
- { -1, kVerbLook, 104, 454 }
-};
-
-RoomTalkAction room60Actions[] = {
- // num action object speech
- { -1, kVerbLook, 112, 440 },
+ { 56, -1, kVerbOpen, 207, 141 },
// ----------------------------------
- { -1, kVerbTalk, 115, 455 },
+ { 56, -1, kVerbLook, 208, 142 },
+ // ==================================
+ { 58, -1, kVerbLook, 104, 454 },
+ // ==================================
+ { 60, -1, kVerbLook, 112, 440 },
// ----------------------------------
- { -1, kVerbTalk, 56, 455 },
+ { 60, -1, kVerbTalk, 115, 455 },
// ----------------------------------
- { -1, kVerbLook, 114, 167 },
+ { 60, -1, kVerbTalk, 56, 455 },
// ----------------------------------
- { -1, kVerbLook, 113, 168 },
- { -1, kVerbPick, 113, 170 },
- { -1, kVerbMove, 113, 170 },
- { -1, kVerbTalk, 113, 169 }
-};
-
-RoomTalkAction room61Actions[] = {
- // num action object speech
- { -1, kVerbLook, 116, 172 },
+ { 60, -1, kVerbLook, 114, 167 },
// ----------------------------------
- { -1, kVerbLook, 117, 173 },
+ { 60, -1, kVerbLook, 113, 168 },
+ { 60, -1, kVerbPick, 113, 170 },
+ { 60, -1, kVerbMove, 113, 170 },
+ { 60, -1, kVerbTalk, 113, 169 },
+ // ==================================
+ { 61, -1, kVerbLook, 116, 172 },
// ----------------------------------
- { -1, kVerbMove, 117, 174 },
- { -1, kVerbOpen, 117, 174 },
-};
-
-RoomTalkAction room62Actions[] = {
- // num action object speech
- { -1, kVerbLook, 100, 168},
- { -1, kVerbTalk, 100, 169},
- { -1, kVerbPick, 100, 170},
+ { 61, -1, kVerbLook, 117, 173 },
// ----------------------------------
- { -1, kVerbLook, 101, 171},
+ { 61, -1, kVerbMove, 117, 174 },
+ { 61, -1, kVerbOpen, 117, 174 },
+ { 62, -1, kVerbLook, 100, 168 },
+ { 62, -1, kVerbTalk, 100, 169 },
+ { 62, -1, kVerbPick, 100, 170 },
// ----------------------------------
- { -1, kVerbLook, 102, 167},
+ { 62, -1, kVerbLook, 101, 171 },
// ----------------------------------
- { -1, kVerbLook, 103, 166}
-};
-
-RoomTalkAction room63Actions[] = {
- // num action object speech
- { -1, kVerbLook, 110, 172},
+ { 62, -1, kVerbLook, 102, 167 },
// ----------------------------------
- { -1, kVerbLook, 109, 173},
- { -1, kVerbMove, 109, 174},
+ { 62, -1, kVerbLook, 103, 166 },
+ // ==================================
+ { 63, -1, kVerbLook, 110, 172 },
// ----------------------------------
- { -1, kVerbLook, 108, 334},
- { -1, kVerbTalk, 108, 333}
-};
-
-RoomTalkAction room102Actions[] = {
- // num action object speech
- { -1, kVerbLook, 100, 452},
+ { 63, -1, kVerbLook, 109, 173 },
+ { 63, -1, kVerbMove, 109, 174 },
// ----------------------------------
- { -1, kVerbLook, 101, 123}
+ { 63, -1, kVerbLook, 108, 334 },
+ { 63, -1, kVerbTalk, 108, 333 },
+ // ==================================
+ { 102, -1, kVerbLook, 100, 452 },
+ { 102, -1, kVerbLook, 101, 123 },
};
const char *_text[][501] = {