diff options
author | Filippos Karapetis | 2008-06-06 09:53:33 +0000 |
---|---|---|
committer | Filippos Karapetis | 2008-06-06 09:53:33 +0000 |
commit | fa8981e1e2e0da48a936e4fcab59687ed34c0ede (patch) | |
tree | 0149835939eb6ec696c832b4b92acf9e373a1d1e /engines/drascula | |
parent | a478ef04aebb65e3cf13c766bbfb14e55ed52110 (diff) | |
download | scummvm-rg350-fa8981e1e2e0da48a936e4fcab59687ed34c0ede.tar.gz scummvm-rg350-fa8981e1e2e0da48a936e4fcab59687ed34c0ede.tar.bz2 scummvm-rg350-fa8981e1e2e0da48a936e4fcab59687ed34c0ede.zip |
Simplified the room preupdaters and updaters
svn-id: r32573
Diffstat (limited to 'engines/drascula')
-rw-r--r-- | engines/drascula/drascula.h | 44 | ||||
-rw-r--r-- | engines/drascula/rooms.cpp | 283 | ||||
-rw-r--r-- | engines/drascula/staticdata.h | 100 |
3 files changed, 151 insertions, 276 deletions
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index b044086fd5..23df79485d 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -144,6 +144,19 @@ struct RoomTalkAction { int speechID; }; +struct RoomUpdate { + int roomNum; + int flag; + int flagValue; + int sourceX; + int sourceY; + int destX; + int destY; + int width; + int height; + int type; // 0 - background, 1 - rect +}; + struct ItemLocation { int x; int y; @@ -631,55 +644,24 @@ public: void update_1_pre(); void update_2(); void update_3(); - void update_3_pre(); void update_4(); - void update_5(); - void update_5_pre(); void update_6_pre(); - void update_7_pre(); void update_9_pre(); - void update_12_pre(); void update_14_pre(); void update_13(); - void update_15(); void update_16_pre(); - void update_17_pre(); - void update_17(); void update_18_pre(); - void update_18(); - void update_20(); - void update_21_pre(); - void update_22_pre(); void update_23_pre(); - void update_24_pre(); void update_26_pre(); void update_26(); - void update_27(); - void update_27_pre(); - void update_29(); - void update_29_pre(); - void update_30_pre(); - void update_31_pre(); - void update_34_pre(); void update_35_pre(); - void update_31(); - void update_34(); - void update_35(); - void update_49_pre(); - void update_53_pre(); - void update_54_pre(); - void update_56_pre(); - void update_50(); - void update_57(); void update_58(); void update_58_pre(); void update_59_pre(); void update_60_pre(); void update_60(); - void update_61(); void update_62(); void update_62_pre(); - void update_63(); void update_102(); private: diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp index 0a913c5fb4..f57b4140c4 100644 --- a/engines/drascula/rooms.cpp +++ b/engines/drascula/rooms.cpp @@ -94,31 +94,14 @@ void DrasculaEngine::setupRoomsTable() { ROOM(room_102); PREUPDATEROOM(update_1_pre); - PREUPDATEROOM(update_3_pre); - PREUPDATEROOM(update_5_pre); PREUPDATEROOM(update_6_pre); - PREUPDATEROOM(update_7_pre); PREUPDATEROOM(update_9_pre); - PREUPDATEROOM(update_12_pre); PREUPDATEROOM(update_14_pre); PREUPDATEROOM(update_16_pre); - PREUPDATEROOM(update_17_pre); PREUPDATEROOM(update_18_pre); - PREUPDATEROOM(update_21_pre); - PREUPDATEROOM(update_22_pre); PREUPDATEROOM(update_23_pre); - PREUPDATEROOM(update_24_pre); PREUPDATEROOM(update_26_pre); - PREUPDATEROOM(update_27_pre); - PREUPDATEROOM(update_29_pre); - PREUPDATEROOM(update_30_pre); - PREUPDATEROOM(update_31_pre); - PREUPDATEROOM(update_34_pre); PREUPDATEROOM(update_35_pre); - PREUPDATEROOM(update_49_pre); - PREUPDATEROOM(update_53_pre); - PREUPDATEROOM(update_54_pre); - PREUPDATEROOM(update_56_pre); PREUPDATEROOM(update_58_pre); PREUPDATEROOM(update_59_pre); PREUPDATEROOM(update_60_pre); @@ -127,25 +110,11 @@ void DrasculaEngine::setupRoomsTable() { UPDATEROOM(update_2); UPDATEROOM(update_3); UPDATEROOM(update_4); - UPDATEROOM(update_5); UPDATEROOM(update_13); - UPDATEROOM(update_15); - UPDATEROOM(update_17); - UPDATEROOM(update_18); - UPDATEROOM(update_20); UPDATEROOM(update_26); - UPDATEROOM(update_27); - UPDATEROOM(update_29); - UPDATEROOM(update_31); - UPDATEROOM(update_34); - UPDATEROOM(update_35); - UPDATEROOM(update_50); - UPDATEROOM(update_57); UPDATEROOM(update_58); UPDATEROOM(update_60); - UPDATEROOM(update_61); UPDATEROOM(update_62); - UPDATEROOM(update_63); UPDATEROOM(update_102); } @@ -1048,6 +1017,26 @@ bool DrasculaEngine::room_102(int fl) { } void DrasculaEngine::updateRefresh() { + // Check generic updaters + for (int i = 0; i < ARRAYSIZE(roomUpdates); i++) { + if (roomUpdates[i].roomNum == roomNumber) { + if (roomUpdates[i].flag < 0 || + flags[roomUpdates[i].flag] == roomUpdates[i].flagValue) { + if (roomUpdates[i].type == 0) { + copyBackground(roomUpdates[i].sourceX, roomUpdates[i].sourceY, + roomUpdates[i].destX, roomUpdates[i].destY, + roomUpdates[i].width, roomUpdates[i].height, + drawSurface3, screenSurface); + } else { + copyRect(roomUpdates[i].sourceX, roomUpdates[i].sourceY, + roomUpdates[i].destX, roomUpdates[i].destY, + roomUpdates[i].width, roomUpdates[i].height, + drawSurface3, screenSurface); + } + } + } + } + // Call room-specific updater char rm[20]; sprintf(rm, "update_%d", roomNumber); @@ -1066,6 +1055,26 @@ void DrasculaEngine::updateRefresh() { } void DrasculaEngine::updateRefresh_pre() { + // Check generic preupdaters + for (int i = 0; i < ARRAYSIZE(roomPreUpdates); i++) { + if (roomPreUpdates[i].roomNum == roomNumber) { + if (roomPreUpdates[i].flag < 0 || + flags[roomPreUpdates[i].flag] == roomPreUpdates[i].flagValue) { + if (roomPreUpdates[i].type == 0) { + copyBackground(roomPreUpdates[i].sourceX, roomPreUpdates[i].sourceY, + roomPreUpdates[i].destX, roomPreUpdates[i].destY, + roomPreUpdates[i].width, roomPreUpdates[i].height, + drawSurface3, screenSurface); + } else { + copyRect(roomPreUpdates[i].sourceX, roomPreUpdates[i].sourceY, + roomPreUpdates[i].destX, roomPreUpdates[i].destY, + roomPreUpdates[i].width, roomPreUpdates[i].height, + drawSurface3, screenSurface); + } + } + } + } + // Call room-specific preupdater char rm[20]; sprintf(rm, "update_%d_pre", roomNumber); @@ -1144,11 +1153,6 @@ void DrasculaEngine::update_2() { showMap(); } -void DrasculaEngine::update_3_pre() { - if (flags[3] == 1) - copyBackground(258, 110, 85, 44, 23, 53, drawSurface3, screenSurface); -} - void DrasculaEngine::update_3() { if (curY + curHeight < 118) copyRect(129, 110, 194, 36, 126, 88, drawSurface3, screenSurface); @@ -1165,15 +1169,6 @@ void DrasculaEngine::update_4() { } } -void DrasculaEngine::update_5_pre() { - if (flags[8] == 0) - copyBackground(256, 152, 208, 67, 27, 40, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_5() { - copyRect(114, 130, 211, 87, 109, 69, drawSurface3, screenSurface); -} - void DrasculaEngine::update_6_pre() { if ((curX > 149 && curY + curHeight > 160 && curX < 220 && curY + curHeight < 188) || (curX > 75 && curY + curHeight > 183 && curX < 145)) { @@ -1183,18 +1178,6 @@ void DrasculaEngine::update_6_pre() { changeColor = 1; setDarkPalette(); } - - if (flags[0] == 0) - copyBackground(3, 103, 185, 69, 23, 76, drawSurface3, screenSurface); - if (flags[1] == 0) - copyBackground(97, 117, 34, 148, 36, 31, drawSurface3, screenSurface); - if (flags[2] == 0) - copyBackground(28, 100, 219, 72, 64, 97, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_7_pre() { - if (flags[35] == 0) - copyBackground(1, 72, 158, 162, 19, 12, drawSurface3, screenSurface); } void DrasculaEngine::update_9_pre() { @@ -1215,14 +1198,10 @@ void DrasculaEngine::update_9_pre() { frame_blind = 3; } -void DrasculaEngine::update_12_pre() { - if (flags[16] == 0) - copyBackground(1, 131, 106, 117, 55, 68, drawSurface3, screenSurface); -} - void DrasculaEngine::update_13() { if (curX > 55 && flags[3] == 0) animation_6_3(); + // These cannot be placed in an array, as they're between screen updates if (flags[1] == 0) copyRect(185, 110, 121, 65, 67, 88, drawSurface3, screenSurface); if (flags[2] == 0) @@ -1275,10 +1254,6 @@ void DrasculaEngine::update_14_pre() { } } -void DrasculaEngine::update_15() { - copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface); -} - void DrasculaEngine::update_16_pre() { if (currentChapter != 2) { debug(4, "update_16_pre: Special case, current chapter is not 2, not performing update"); @@ -1291,15 +1266,6 @@ void DrasculaEngine::update_16_pre() { copyBackground(37, 151, 224, 115, 56, 47, drawSurface3, screenSurface); } -void DrasculaEngine::update_17_pre() { - if (flags[15] == 1) - copyBackground(1, 135, 108, 65, 44, 63, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_17() { - copyRect(48, 135, 78, 139, 80, 30, drawSurface3, screenSurface); -} - void DrasculaEngine::update_18_pre() { int difference; int snore_x[] = {95, 136, 95, 136, 95, 95, 95, 95, 136, 95, 95, 95, 95, 95, 95, 95}; @@ -1320,41 +1286,12 @@ void DrasculaEngine::update_18_pre() { } } -void DrasculaEngine::update_18() { - if (flags[24] == 1) - copyRect(177, 1, 69, 29, 142, 130, drawSurface3, screenSurface); - copyRect(105, 132, 109, 108, 196, 65, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_20() { - copyRect(1, 137, 106, 121, 213, 61, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_21_pre() { - if (flags[0] == 1) - copyBackground(2, 171, 84, 126, 17, 26, drawSurface3, screenSurface); - - if (flags[10] == 1) - copyBackground(20, 163, 257, 149, 14, 34, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_22_pre() { - if (flags[24] == 1) - copyBackground(2, 187, 107, 106, 62, 12, drawSurface3, screenSurface); - - if (flags[27] == 0) - copyBackground(32, 181, 203, 88, 13, 5, drawSurface3, screenSurface); - - if (flags[26] == 0) - copyBackground(2, 133, 137, 83, 29, 53, drawSurface3, screenSurface); - else - copyBackground(65, 174, 109, 145, 55, 25, drawSurface3, screenSurface); -} - void DrasculaEngine::update_23_pre() { if (flags[11] == 1 && flags[0] == 0) copyBackground(87, 171, 237, 110, 20, 28, drawSurface3, screenSurface); + // It might be possible to put these in an array, though I'm a bit unsure + // of the draw order if (flags[0] == 1) copyBackground(29, 126, 239, 94, 57, 73, drawSurface3, screenSurface); @@ -1362,26 +1299,9 @@ void DrasculaEngine::update_23_pre() { copyRect(1, 135, 7, 94, 27, 64, drawSurface3, screenSurface); } -void DrasculaEngine::update_24_pre() { - if (flags[1] == 1) - copyBackground(1, 163, 225, 124, 12, 36, drawSurface3, screenSurface); - - if (flags[2] == 1) - copyBackground(14, 153, 30, 107, 23, 46, drawSurface3, screenSurface); -} - void DrasculaEngine::update_26_pre() { int difference; - if (flags[2] == 1) - copyBackground(1, 130, 87, 44, 50, 69, drawSurface3, screenSurface); - - if (flags[12] == 1) - copyBackground(52, 177, 272, 103, 27, 22, drawSurface3, screenSurface); - - if (flags[18] == 0) - copyBackground(80, 133, 199, 95, 50, 66, drawSurface3, screenSurface); - if (blinking == 5 && flags[18] == 0) copyBackground(52, 172, 226, 106, 3, 4, drawSurface3, screenSurface); @@ -1402,123 +1322,20 @@ void DrasculaEngine::update_26() { copyRect(233, 107, 17, 102, 66, 92, drawSurface3, screenSurface); } -void DrasculaEngine::update_27_pre() { - if (flags[5] == 1) - copyRect(1, 175, 59, 109, 17, 24, drawSurface3, screenSurface); - - if (flags[6] == 1) - copyRect(19, 177, 161, 103, 18, 22, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_27() { - copyRect(38, 177, 103, 171, 21, 22, drawSurface3, screenSurface); - copyRect(60, 162, 228, 156, 18, 37, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_29_pre() { - if (flags[4] == 1) - copyBackground(12, 113, 247, 49, 41, 84, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_29() { - copyRect(1, 180, 150, 126, 10, 17, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_30_pre() { - if (flags[4] == 1) - copyBackground(1, 148, 148, 66, 35, 51, drawSurface3, screenSurface); - - if (flags[16] == 1) - copyBackground(37, 173, 109, 84, 20, 26, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_31_pre() { - if (flags[13] == 1) - copyBackground(1, 163, 116, 41, 61, 36, drawSurface3, screenSurface); - - if (flags[5] == 1) - copyBackground(1, 78, 245, 63, 30, 84, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_31() { - copyRect(63, 190, 223, 157, 17, 9, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_34_pre() { - if (flags[7] == 1) - copyBackground(99, 127, 73, 41, 79, 72, drawSurface3, screenSurface); - - if (flags[8] == 1) - copyBackground(36, 129, 153, 41, 62, 65, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_34() { - copyRect(5, 171, 234, 126, 29, 23, drawSurface3, screenSurface); -} - void DrasculaEngine::update_35_pre() { - if (flags[14] == 1) - copyBackground(1, 86, 246, 65, 68, 87, drawSurface3, screenSurface); - if (flags[17] == 0 && flags[15] == 1) copyBackground(111, 150, 118, 52, 40, 23, drawSurface3, screenSurface); - - if (flags[17] == 1) - copyBackground(70, 150, 118, 52, 40, 23, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_35() { - copyRect(1, 174, 54, 152, 195, 25, drawSurface3, screenSurface); -} - - -void DrasculaEngine::update_49_pre() { - if (flags[6] == 0) - copyBackground(2, 136, 176, 81, 49, 62, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_50() { - copyRect(4, 153, 118, 95, 67, 44, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_53_pre() { - if (flags[1] == 0) - copyRect(2, 113, 205, 50, 38, 86, drawSurface3, screenSurface); - if (flags[2] == 0) - copyBackground(41, 159, 27, 117, 25, 40, drawSurface3, screenSurface); - if (flags[9] == 1) - copyBackground(67, 184, 56, 93, 32, 15, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_54_pre() { - if (flags[5] == 1) - copyBackground(168, 156, 187, 111, 7, 11, drawSurface3, screenSurface); - if (flags[12] == 1) - copyBackground(16, 156, 190, 64, 18, 24, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_56_pre() { - if (flags[10] == 0) - copyBackground(2, 126, 42, 67, 57, 67, drawSurface3, screenSurface); - if (flags[11] == 1) - copyBackground(60, 160, 128, 97, 103, 38, drawSurface3, screenSurface); -} - -void DrasculaEngine::update_57() { - copyRect(7, 113, 166, 61, 62, 82, drawSurface3, screenSurface); } void DrasculaEngine::update_58_pre() { - if (flags[0] == 0) - copyBackground(1, 156, 143, 120, 120, 43, drawSurface3, screenSurface); - if (flags[1] == 2) - copyRect(252, 171, 173, 116, 25, 28, drawSurface3, screenSurface); if (flags[1] == 0 && flags[0] == 0) copyRect(278, 171, 173, 116, 25, 28, drawSurface3, screenSurface); if (flags[2] == 0) { placeIgor(); placeDrascula(); } + // Not possible to put these in an array, as there are other surfaces + // copied above if (flags[3] == 1) copyRect(1, 29, 204, 0, 18, 125, drawSurface3, screenSurface); if (flags[8] == 1) @@ -1531,8 +1348,6 @@ void DrasculaEngine::update_58() { } void DrasculaEngine::update_59_pre() { - if (flags[4] == 0) - copyRect(1, 146, 65, 106, 83, 40, drawSurface3, screenSurface); if (flags[9] == 1) { copyBackground(65, 103, 65, 103, 49, 38, drawSurface1, screenSurface); copyRect(1, 105, 65, 103, 49, 38, drawSurface3, screenSurface); @@ -1570,10 +1385,6 @@ void DrasculaEngine::update_60() { placeDrascula(); } -void DrasculaEngine::update_61() { - copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface); -} - void DrasculaEngine::update_62_pre() { int candleY[] = { 158, 172, 186 }; int candleX[] = { 14, 19, 24 }; @@ -1633,10 +1444,6 @@ void DrasculaEngine::update_62() { } } -void DrasculaEngine::update_63() { - copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface); -} - void DrasculaEngine::update_102() { int pendulum_x[] = {40, 96, 152, 208, 264, 40, 96, 152, 208, 208, 152, 264, 40, 96, 152, 208, 264}; int difference; diff --git a/engines/drascula/staticdata.h b/engines/drascula/staticdata.h index 58bf24f75d..5fb404f4e1 100644 --- a/engines/drascula/staticdata.h +++ b/engines/drascula/staticdata.h @@ -106,12 +106,12 @@ const ItemLocation itemLocations[] = { { 275, 160 } // 43 }; -const int x_pol[44] = {0, 1, 42, 83, 124, 165, 206, 247, 83, 1, 206, - 1, 42, 83, 124, 165, 206, 247, 83, 1, 206, - 247, 83, 165, 1, 206, 42, 124, 83, 1, 247, - 83, 165, 1, 206, 42, 124, 83, 1, 247, 42, - 1, 165, 206}; -const int y_pol[44] = {0, 1, 1, 1, 1, 1, 1, 1, 27, 27, 1, +const int x_pol[44] = {0, 1, 42, 83, 124, 165, 206, 247, 83, 1, 206, + 1, 42, 83, 124, 165, 206, 247, 83, 1, 206, + 247, 83, 165, 1, 206, 42, 124, 83, 1, 247, + 83, 165, 1, 206, 42, 124, 83, 1, 247, 42, + 1, 165, 206}; +const int y_pol[44] = {0, 1, 1, 1, 1, 1, 1, 1, 27, 27, 1, 27, 27, 27, 27, 27, 27, 27, 1, 1, 27, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, @@ -122,9 +122,95 @@ const int x1d_menu[] = {280, 40, 80, 120, 160, 200, 240, 0, 40, 80, 120, 40, 80, 120, 160, 200, 240, 0}; const int y1d_menu[] = {0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 50, 50, 50, 50, 50, 50, 50, 75, 75, 75, 75, 75, 75, 75, 100}; -int frame_x[20] = {43, 87, 130, 173, 216, 259}; +int frame_x[20] = {43, 87, 130, 173, 216, 259}; +const RoomUpdate roomPreUpdates[] = { + // room flag val x1 y1 x2 y2 width height type + { 3, 3, 1, 258, 110, 85, 44, 23, 53, 0 }, + //------------------------------------------------------------------------------- + { 5, 8, 0, 256, 152, 208, 67, 27, 40, 0 }, + //------------------------------------------------------------------------------- + { 6, 0, 0, 3, 103, 185, 69, 23, 76, 0 }, + { 6, 1, 0, 97, 117, 34, 148, 36, 31, 0 }, + { 6, 2, 0, 28, 100, 219, 72, 64, 97, 0 }, + //------------------------------------------------------------------------------- + { 7, 35, 0, 1, 72, 158, 162, 19, 12, 0 }, + //------------------------------------------------------------------------------- + { 12, 16, 0, 1, 131, 106, 117, 55, 68, 0 }, + //------------------------------------------------------------------------------- + { 17, 15, 1, 1, 135, 108, 65, 44, 63, 0 }, + //------------------------------------------------------------------------------- + { 21, 0, 1, 2, 171, 84, 126, 17, 26, 0 }, + { 21, 10, 1, 20, 163, 257, 149, 14, 34, 0 }, + //------------------------------------------------------------------------------- + { 22, 24, 1, 2, 187, 107, 106, 62, 12, 0 }, + { 22, 27, 0, 32, 181, 203, 88, 13, 5, 0 }, + { 22, 26, 0, 2, 133, 137, 83, 29, 53, 0 }, + { 22, 26, 1, 65, 174, 109, 145, 55, 25, 0 }, + //------------------------------------------------------------------------------- + { 24, 1, 1, 1, 163, 225, 124, 12, 36, 0 }, + { 24, 2, 1, 14, 153, 30, 107, 23, 46, 0 }, + //------------------------------------------------------------------------------- + { 26, 2, 1, 1, 130, 87, 44, 50, 69, 0 }, + { 26, 12, 1, 52, 177, 272, 103, 27, 22, 0 }, + { 26, 18, 0, 80, 133, 199, 95, 50, 66, 0 }, + //------------------------------------------------------------------------------- + { 27, 5, 1, 1, 175, 59, 109, 17, 24, 1 }, + { 27, 6, 1, 19, 177, 161, 103, 18, 22, 1 }, + //------------------------------------------------------------------------------- + { 29, 4, 1, 12, 113, 247, 49, 41, 84, 0 }, + //------------------------------------------------------------------------------- + { 30, 4, 1, 1, 148, 148, 66, 35, 51, 0 }, + { 30, 16, 1, 37, 173, 109, 84, 20, 26, 0 }, + //------------------------------------------------------------------------------- + { 31, 13, 1, 1, 163, 116, 41, 61, 36, 0 }, + { 31, 5, 1, 1, 78, 245, 63, 30, 84, 0 }, + //------------------------------------------------------------------------------- + { 34, 7, 1, 99, 127, 73, 41, 79, 72, 0 }, + { 34, 8, 1, 36, 129, 153, 41, 62, 65, 0 }, + //------------------------------------------------------------------------------- + { 35, 14, 1, 1, 86, 246, 65, 68, 87, 0 }, + { 35, 17, 1, 70, 150, 118, 52, 40, 23, 0 }, + //------------------------------------------------------------------------------- + { 49, 6, 0, 2, 136, 176, 81, 49, 62, 0 }, + //------------------------------------------------------------------------------- + { 53, 1, 0, 2, 113, 205, 50, 38, 86, 1 }, + { 53, 2, 0, 41, 159, 27, 117, 25, 40, 0 }, + { 53, 9, 1, 67, 184, 56, 93, 32, 15, 0 }, + //------------------------------------------------------------------------------- + { 54, 5, 1, 168, 156, 187, 111, 7, 11, 0 }, + { 54, 12, 1, 16, 156, 190, 64, 18, 24, 0 }, + //------------------------------------------------------------------------------- + { 56, 10, 0, 2, 126, 42, 67, 57, 67, 0 }, + { 56, 11, 1, 60, 160, 128, 97, 103, 38, 0 }, + //------------------------------------------------------------------------------- + { 58, 0, 0, 1, 156, 143, 120, 120, 43, 0 }, + { 58, 1, 2, 252, 171, 173, 116, 25, 28, 1 }, + //------------------------------------------------------------------------------- + { 59, 4, 0, 1, 146, 65, 106, 83, 40, 1 } +}; + +const RoomUpdate roomUpdates[] = { + // room flag val x1 y1 x2 y2 width height type + { 5, -1, -1, 114, 130, 211, 87, 109, 69, 1 }, + { 15, -1, -1, 1, 154, 83, 122, 131, 44, 1 }, + { 17, -1, -1, 48, 135, 78, 139, 80, 30, 1 }, + { 18, 24, 1, 177, 1, 69, 29, 142, 130, 1 }, + { 18, -1, -1, 105, 132, 109, 108, 196, 65, 1 }, + { 20, -1, -1, 1, 137, 106, 121, 213, 61, 1 }, + { 27, -1, -1, 38, 177, 103, 171, 21, 22, 1 }, + { 27, -1, -1, 60, 162, 228, 156, 18, 37, 1 }, + { 29, -1, -1, 1, 180, 150, 126, 10, 17, 1 }, + { 31, -1, -1, 63, 190, 223, 157, 17, 9, 1 }, + { 34, -1, -1, 5, 171, 234, 126, 29, 23, 1 }, + { 35, -1, -1, 1, 174, 54, 152, 195, 25, 1 }, + { 50, -1, -1, 4, 153, 118, 95, 67, 44, 1 }, + { 57, -1, -1, 7, 113, 166, 61, 62, 82, 1 }, + { 61, -1, -1, 1, 154, 83, 122, 131, 44, 1 }, + { 63, -1, -1, 1, 154, 83, 122, 131, 44, 1 }, +}; + // Note: default action needs to be LAST for each group // of actions with the same number RoomTalkAction roomActions[] = { |