[Scummvm-git-logs] scummvm master -> 1278eaa60d502f0afa8dbaf4305288ed8120ae38
Strangerke
noreply at scummvm.org
Wed Dec 25 08:38:35 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1278eaa60d M4: RIDDLE: Room 709: Implement clearPressed, renaming and some refactoring
Commit: 1278eaa60d502f0afa8dbaf4305288ed8120ae38
https://github.com/scummvm/scummvm/commit/1278eaa60d502f0afa8dbaf4305288ed8120ae38
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-12-25T09:38:21+01:00
Commit Message:
M4: RIDDLE: Room 709: Implement clearPressed, renaming and some refactoring
Changed paths:
engines/m4/riddle/rooms/section7/room709.cpp
engines/m4/riddle/rooms/section7/room709.h
diff --git a/engines/m4/riddle/rooms/section7/room709.cpp b/engines/m4/riddle/rooms/section7/room709.cpp
index df44ab53948..7d49cabfedb 100644
--- a/engines/m4/riddle/rooms/section7/room709.cpp
+++ b/engines/m4/riddle/rooms/section7/room709.cpp
@@ -29,24 +29,42 @@ namespace M4 {
namespace Riddle {
namespace Rooms {
+Room709::Room709() : Room() {
+ resetMaze();
+}
+
+void Room709::resetMaze() {
+ for (int i = 0; i < 99; ++i) {
+ _maze709Arr[i]._leftActive = 0;
+ _maze709Arr[i]._rightActive = 0;
+ _maze709Arr[i]._straightActive = 0;
+ _maze709Arr[i]._backActive = 0;
+ _maze709Arr[i]._leftIndex = 0;
+ _maze709Arr[i]._rightIndex = 0;
+ _maze709Arr[i]._straightIndex = 0;
+ _maze709Arr[i]._backIndex = 0;
+ }
+}
+
void Room709::preload() {
_G(player).walker_type = WALKER_ALT;
_G(player).shadow_type = SHADOW_ALT;
LoadWSAssets("OTHER SCRIPT", _G(master_palette));
}
-void Room709::init() {
- _field88 = 0;
- _field84 = 0;
+void Room709::syncGame(Common::Serializer &s) {
+ s.syncAsSint32LE(_mazeCurrIndex);
+}
+void Room709::init() {
AddSystemHotkey(KEY_CLEAR, clearPressed);
AddSystemHotkey(5, clearPressed);
digi_preload("950_s42");
- _field70 = 0;
- _field74 = 0;
- _field78 = 0;
- _field7C = 0;
+ _pullLeftFl = 0;
+ _pullRightFl = 0;
+ _pullCenterFl = 0;
+ _pullNearFl = 0;
_ripTrekLowReachPos2Series = series_load("RIP TREK LOW REACH POS2", -1, nullptr);
_709rpro1Series = series_load("709RPRO1", -1, nullptr);
@@ -63,442 +81,433 @@ void Room709::init() {
_709rpro6Mach = series_place_sprite("709RPRO6", 0, 0, -53, 100, 1792);
_709rpro5Mach = series_place_sprite("709RPRO5", 0, 0, -53, 100, 512);
- for (int i = 0; i < 99; ++i) {
- _maze709Arr[i]._field_0 = 0;
- _maze709Arr[i]._field_4 = 0;
- _maze709Arr[i]._field_8 = 0;
- _maze709Arr[i]._field_C = 0;
- _maze709Arr[i]._field_10 = 0;
- _maze709Arr[i]._field_14 = 0;
- _maze709Arr[i]._field_18 = 0;
- _maze709Arr[i]._field_1C = 0;
- }
+ resetMaze();
- _field44 = 0;
- _field48 = 0;
+ _chiselActiveFl = 0;
+ _incenseBurnerActiveFl = 0;
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
- _maze709Arr[1]._field_4 = 1;
- _maze709Arr[1]._field_14 = 2;
- _maze709Arr[1]._field_C = 1;
- _maze709Arr[1]._field_1C = 12;
- _maze709Arr[2]._field_0 = 1;
- _maze709Arr[2]._field_10 = 1;
- _maze709Arr[2]._field_C = 1;
- _maze709Arr[2]._field_1C = 13;
- _maze709Arr[3]._field_4 = 1;
- _maze709Arr[3]._field_14 = 4;
- _maze709Arr[3]._field_C = 1;
- _maze709Arr[3]._field_1C = 14;
- _maze709Arr[4]._field_4 = 1;
- _maze709Arr[4]._field_14 = 5;
- _maze709Arr[4]._field_0 = 1;
- _maze709Arr[4]._field_10 = 3;
- _maze709Arr[4]._field_C = 1;
- _maze709Arr[4]._field_1C = 15;
- _maze709Arr[5]._field_4 = 1;
- _maze709Arr[5]._field_14 = 6;
- _maze709Arr[5]._field_0 = 1;
- _maze709Arr[5]._field_10 = 4;
- _maze709Arr[6]._field_0 = 1;
- _maze709Arr[6]._field_10 = 5;
- _maze709Arr[6]._field_4 = 1;
- _maze709Arr[6]._field_14 = 7;
- _maze709Arr[6]._field_C = 1;
- _maze709Arr[6]._field_1C = 17;
- _maze709Arr[7]._field_4 = 1;
- _maze709Arr[7]._field_14 = 8;
- _maze709Arr[7]._field_0 = 1;
- _maze709Arr[7]._field_10 = 6;
- _maze709Arr[8]._field_4 = 1;
- _maze709Arr[8]._field_14 = 9;
- _maze709Arr[8]._field_0 = 1;
- _maze709Arr[8]._field_10 = 7;
- _maze709Arr[9]._field_0 = 1;
- _maze709Arr[9]._field_10 = 8;
- _maze709Arr[9]._field_C = 1;
- _maze709Arr[9]._field_1C = 20;
- _maze709Arr[10]._field_4 = 1;
- _maze709Arr[10]._field_14 = 11;
- _maze709Arr[10]._field_C = 1;
- _maze709Arr[10]._field_1C = 21;
- _maze709Arr[11]._field_0 = 1;
- _maze709Arr[11]._field_10 = 10;
- _maze709Arr[11]._field_C = 1;
- _maze709Arr[11]._field_1C = 22;
- _maze709Arr[12]._field_8 = 1;
- _maze709Arr[12]._field_18 = 1;
- _maze709Arr[13]._field_8 = 1;
- _maze709Arr[13]._field_18 = 2;
- _maze709Arr[13]._field_C = 1;
- _maze709Arr[13]._field_1C = 24;
- _maze709Arr[14]._field_8 = 1;
- _maze709Arr[14]._field_18 = 3;
- _maze709Arr[14]._field_C = 1;
- _maze709Arr[14]._field_1C = 25;
- _maze709Arr[15]._field_8 = 1;
- _maze709Arr[15]._field_18 = 4;
- _maze709Arr[15]._field_4 = 1;
- _maze709Arr[15]._field_14 = 16;
- _maze709Arr[16]._field_0 = 1;
- _maze709Arr[16]._field_10 = 15;
- _maze709Arr[17]._field_8 = 1;
- _maze709Arr[17]._field_18 = 6;
- _maze709Arr[18]._field_4 = 1;
- _maze709Arr[18]._field_14 = 19;
- _maze709Arr[18]._field_C = 1;
- _maze709Arr[18]._field_1C = 29;
- _maze709Arr[19]._field_4 = 1;
- _maze709Arr[19]._field_14 = 20;
- _maze709Arr[19]._field_0 = 1;
- _maze709Arr[19]._field_10 = 18;
- _maze709Arr[20]._field_8 = 1;
- _maze709Arr[20]._field_18 = 9;
- _maze709Arr[20]._field_4 = 1;
- _maze709Arr[20]._field_14 = 21;
- _maze709Arr[20]._field_0 = 1;
- _maze709Arr[20]._field_10 = 19;
- _maze709Arr[21]._field_8 = 1;
- _maze709Arr[21]._field_18 = 10;
- _maze709Arr[21]._field_0 = 1;
- _maze709Arr[21]._field_10 = 20;
- _maze709Arr[22]._field_8 = 1;
- _maze709Arr[22]._field_18 = 11;
- _maze709Arr[23]._field_4 = 1;
- _maze709Arr[23]._field_14 = 24;
- _maze709Arr[23]._field_C = 1;
- _maze709Arr[23]._field_1C = 34;
- _maze709Arr[24]._field_8 = 1;
- _maze709Arr[24]._field_18 = 13;
- _maze709Arr[24]._field_0 = 1;
- _maze709Arr[24]._field_10 = 23;
- _maze709Arr[25]._field_8 = 1;
- _maze709Arr[25]._field_18 = 14;
- _maze709Arr[25]._field_C = 1;
- _maze709Arr[25]._field_1C = 36;
- _maze709Arr[26]._field_0 = 1;
- _maze709Arr[26]._field_10 = 25;
- _maze709Arr[26]._field_C = 1;
- _maze709Arr[26]._field_1C = 37;
- _maze709Arr[27]._field_4 = 1;
- _maze709Arr[27]._field_14 = 28;
- _maze709Arr[27]._field_C = 1;
- _maze709Arr[27]._field_1C = 38;
- _maze709Arr[28]._field_0 = 1;
- _maze709Arr[28]._field_10 = 27;
- _maze709Arr[29]._field_8 = 1;
- _maze709Arr[29]._field_18 = 18;
- _maze709Arr[29]._field_C = 1;
- _maze709Arr[29]._field_1C = 40;
- _maze709Arr[30]._field_4 = 1;
- _maze709Arr[30]._field_14 = 31;
- _maze709Arr[30]._field_C = 1;
- _maze709Arr[30]._field_1C = 41;
- _maze709Arr[31]._field_4 = 1;
- _maze709Arr[31]._field_14 = 32;
- _maze709Arr[31]._field_0 = 1;
- _maze709Arr[31]._field_10 = 30;
- _maze709Arr[31]._field_C = 1;
- _maze709Arr[31]._field_1C = 42;
- _maze709Arr[32]._field_4 = 1;
- _maze709Arr[32]._field_14 = 33;
- _maze709Arr[32]._field_0 = 1;
- _maze709Arr[32]._field_10 = 31;
- _maze709Arr[33]._field_0 = 1;
- _maze709Arr[33]._field_10 = 32;
- _maze709Arr[33]._field_C = 1;
- _maze709Arr[33]._field_1C = 44;
- _maze709Arr[34]._field_8 = 1;
- _maze709Arr[34]._field_18 = 23;
- _maze709Arr[34]._field_C = 1;
- _maze709Arr[34]._field_1C = 45;
- _maze709Arr[35]._field_4 = 1;
- _maze709Arr[35]._field_14 = 36;
- _maze709Arr[36]._field_8 = 1;
- _maze709Arr[36]._field_18 = 25;
- _maze709Arr[36]._field_0 = 1;
- _maze709Arr[36]._field_10 = 35;
- _maze709Arr[36]._field_C = 1;
- _maze709Arr[36]._field_1C = 47;
- _maze709Arr[37]._field_8 = 1;
- _maze709Arr[37]._field_18 = 26;
- _maze709Arr[37]._field_4 = 1;
- _maze709Arr[37]._field_14 = 38;
- _maze709Arr[38]._field_8 = 1;
- _maze709Arr[38]._field_18 = 27;
- _maze709Arr[38]._field_0 = 1;
- _maze709Arr[38]._field_10 = 37;
- _maze709Arr[39]._field_4 = 1;
- _maze709Arr[39]._field_14 = 40;
- _maze709Arr[39]._field_C = 1;
- _maze709Arr[39]._field_1C = 50;
- _maze709Arr[40]._field_8 = 1;
- _maze709Arr[40]._field_18 = 29;
- _maze709Arr[40]._field_0 = 1;
- _maze709Arr[40]._field_10 = 39;
- _maze709Arr[41]._field_8 = 1;
- _maze709Arr[41]._field_18 = 30;
- _maze709Arr[41]._field_C = 1;
- _maze709Arr[41]._field_1C = 52;
- _maze709Arr[42]._field_8 = 1;
- _maze709Arr[42]._field_18 = 31;
- _maze709Arr[42]._field_C = 1;
- _maze709Arr[42]._field_1C = 53;
- _maze709Arr[42]._field_4 = 1;
- _maze709Arr[42]._field_14 = 43;
- _maze709Arr[43]._field_0 = 1;
- _maze709Arr[43]._field_10 = 42;
- _maze709Arr[43]._field_4 = 1;
- _maze709Arr[43]._field_14 = 44;
- _maze709Arr[44]._field_8 = 1;
- _maze709Arr[44]._field_18 = 33;
- _maze709Arr[44]._field_0 = 1;
- _maze709Arr[44]._field_10 = 43;
- _maze709Arr[45]._field_8 = 1;
- _maze709Arr[45]._field_18 = 34;
- _maze709Arr[45]._field_4 = 1;
- _maze709Arr[45]._field_14 = 46;
- _maze709Arr[45]._field_C = 1;
- _maze709Arr[45]._field_1C = 56;
- _maze709Arr[46]._field_0 = 1;
- _maze709Arr[46]._field_10 = 45;
- _maze709Arr[46]._field_4 = 1;
- _maze709Arr[46]._field_14 = 47;
- _maze709Arr[47]._field_8 = 1;
- _maze709Arr[47]._field_18 = 36;
- _maze709Arr[47]._field_0 = 1;
- _maze709Arr[47]._field_10 = 46;
- _maze709Arr[48]._field_4 = 1;
- _maze709Arr[48]._field_14 = 49;
- _maze709Arr[48]._field_C = 1;
- _maze709Arr[48]._field_1C = 59;
- _maze709Arr[49]._field_0 = 1;
- _maze709Arr[49]._field_10 = 48;
- _maze709Arr[50]._field_8 = 1;
- _maze709Arr[50]._field_18 = 39;
- _maze709Arr[51]._field_4 = 1;
- _maze709Arr[51]._field_14 = 52;
- _maze709Arr[51]._field_C = 1;
- _maze709Arr[51]._field_1C = 62;
- _maze709Arr[52]._field_8 = 1;
- _maze709Arr[52]._field_18 = 41;
- _maze709Arr[52]._field_0 = 1;
- _maze709Arr[52]._field_10 = 51;
- _maze709Arr[53]._field_8 = 1;
- _maze709Arr[53]._field_18 = 42;
- _maze709Arr[53]._field_4 = 1;
- _maze709Arr[53]._field_14 = 54;
- _maze709Arr[54]._field_4 = 1;
- _maze709Arr[54]._field_14 = 55;
- _maze709Arr[54]._field_0 = 1;
- _maze709Arr[54]._field_10 = 53;
- _maze709Arr[55]._field_0 = 1;
- _maze709Arr[55]._field_10 = 54;
- _maze709Arr[55]._field_C = 1;
- _maze709Arr[55]._field_1C = 66;
- _maze709Arr[56]._field_8 = 1;
- _maze709Arr[56]._field_18 = 45;
- _maze709Arr[56]._field_C = 1;
- _maze709Arr[56]._field_1C = 67;
- _maze709Arr[57]._field_0 = 1;
- _maze709Arr[57]._field_10 = 56;
- _maze709Arr[58]._field_4 = 1;
- _maze709Arr[58]._field_14 = 59;
- _maze709Arr[58]._field_C = 1;
- _maze709Arr[58]._field_1C = 69;
- _maze709Arr[59]._field_8 = 1;
- _maze709Arr[59]._field_18 = 48;
- _maze709Arr[59]._field_0 = 1;
- _maze709Arr[59]._field_10 = 58;
- _maze709Arr[59]._field_C = 1;
- _maze709Arr[59]._field_1C = 70;
- _maze709Arr[60]._field_4 = 1;
- _maze709Arr[60]._field_14 = 61;
- _maze709Arr[60]._field_C = 1;
- _maze709Arr[60]._field_1C = 71;
- _maze709Arr[61]._field_4 = 1;
- _maze709Arr[61]._field_14 = 62;
- _maze709Arr[61]._field_0 = 1;
- _maze709Arr[61]._field_10 = 60;
- _maze709Arr[62]._field_8 = 1;
- _maze709Arr[62]._field_18 = 51;
- _maze709Arr[62]._field_0 = 1;
- _maze709Arr[62]._field_10 = 61;
- _maze709Arr[63]._field_4 = 1;
- _maze709Arr[63]._field_14 = 64;
- _maze709Arr[64]._field_4 = 1;
- _maze709Arr[64]._field_14 = 65;
- _maze709Arr[64]._field_0 = 1;
- _maze709Arr[64]._field_10 = 63;
- _maze709Arr[64]._field_C = 1;
- _maze709Arr[64]._field_1C = 75;
- _maze709Arr[65]._field_4 = 1;
- _maze709Arr[65]._field_14 = 66;
- _maze709Arr[65]._field_0 = 1;
- _maze709Arr[65]._field_10 = 64;
- _maze709Arr[66]._field_8 = 1;
- _maze709Arr[66]._field_18 = 55;
- _maze709Arr[66]._field_0 = 1;
- _maze709Arr[66]._field_10 = 65;
- _maze709Arr[67]._field_8 = 1;
- _maze709Arr[67]._field_18 = 56;
- _maze709Arr[67]._field_C = 1;
- _maze709Arr[67]._field_1C = 78;
- _maze709Arr[68]._field_4 = 1;
- _maze709Arr[68]._field_14 = 69;
- _maze709Arr[68]._field_C = 1;
- _maze709Arr[68]._field_1C = 79;
- _maze709Arr[69]._field_0 = 1;
- _maze709Arr[69]._field_10 = 68;
- _maze709Arr[69]._field_8 = 1;
- _maze709Arr[69]._field_18 = 58;
- _maze709Arr[70]._field_8 = 1;
- _maze709Arr[70]._field_18 = 59;
- _maze709Arr[70]._field_4 = 1;
- _maze709Arr[70]._field_14 = 71;
- _maze709Arr[71]._field_8 = 1;
- _maze709Arr[71]._field_18 = 60;
- _maze709Arr[71]._field_0 = 1;
- _maze709Arr[71]._field_10 = 70;
- _maze709Arr[72]._field_4 = 1;
- _maze709Arr[72]._field_14 = 73;
- _maze709Arr[72]._field_C = 1;
- _maze709Arr[72]._field_1C = 83;
- _maze709Arr[73]._field_0 = 1;
- _maze709Arr[73]._field_10 = 72;
- _maze709Arr[73]._field_4 = 1;
- _maze709Arr[73]._field_14 = 74;
- _maze709Arr[74]._field_0 = 1;
- _maze709Arr[74]._field_10 = 73;
- _maze709Arr[74]._field_C = 1;
- _maze709Arr[74]._field_1C = 85;
- _maze709Arr[75]._field_8 = 1;
- _maze709Arr[75]._field_18 = 64;
- _maze709Arr[75]._field_4 = 1;
- _maze709Arr[75]._field_14 = 76;
- _maze709Arr[76]._field_0 = 1;
- _maze709Arr[76]._field_10 = 75;
- _maze709Arr[76]._field_4 = 1;
- _maze709Arr[76]._field_14 = 77;
- _maze709Arr[77]._field_0 = 1;
- _maze709Arr[77]._field_10 = 76;
- _maze709Arr[77]._field_C = 1;
- _maze709Arr[77]._field_1C = 88;
- _maze709Arr[78]._field_8 = 1;
- _maze709Arr[78]._field_18 = 67;
- _maze709Arr[78]._field_C = 1;
- _maze709Arr[78]._field_1C = 89;
- _maze709Arr[79]._field_8 = 1;
- _maze709Arr[79]._field_18 = 68;
- _maze709Arr[79]._field_4 = 1;
- _maze709Arr[79]._field_14 = 80;
- _maze709Arr[80]._field_4 = 1;
- _maze709Arr[80]._field_14 = 81;
- _maze709Arr[80]._field_0 = 1;
- _maze709Arr[80]._field_10 = 79;
- _maze709Arr[80]._field_C = 1;
- _maze709Arr[80]._field_1C = 91;
- _maze709Arr[81]._field_0 = 1;
- _maze709Arr[81]._field_10 = 80;
- _maze709Arr[81]._field_C = 1;
- _maze709Arr[81]._field_1C = 92;
- _maze709Arr[82]._field_4 = 1;
- _maze709Arr[82]._field_14 = 83;
- _maze709Arr[83]._field_8 = 1;
- _maze709Arr[83]._field_18 = 72;
- _maze709Arr[83]._field_0 = 1;
- _maze709Arr[83]._field_10 = 82;
- _maze709Arr[83]._field_C = 1;
- _maze709Arr[83]._field_1C = 94;
- _maze709Arr[84]._field_4 = 1;
- _maze709Arr[84]._field_14 = 85;
- _maze709Arr[84]._field_C = 1;
- _maze709Arr[84]._field_1C = 95;
- _maze709Arr[85]._field_8 = 1;
- _maze709Arr[85]._field_18 = 74;
- _maze709Arr[85]._field_0 = 1;
- _maze709Arr[85]._field_10 = 84;
- _maze709Arr[85]._field_4 = 1;
- _maze709Arr[85]._field_14 = 86;
- _maze709Arr[86]._field_0 = 1;
- _maze709Arr[86]._field_10 = 85;
- _maze709Arr[86]._field_4 = 1;
- _maze709Arr[86]._field_14 = 87;
- _maze709Arr[87]._field_0 = 1;
- _maze709Arr[87]._field_10 = 86;
- _maze709Arr[87]._field_C = 1;
- _maze709Arr[87]._field_1C = 98;
- _maze709Arr[88]._field_8 = 1;
- _maze709Arr[88]._field_18 = 77;
- _maze709Arr[88]._field_C = 1;
- _maze709Arr[88]._field_1C = 99;
- _maze709Arr[89]._field_8 = 1;
- _maze709Arr[89]._field_18 = 78;
- _maze709Arr[89]._field_4 = 1;
- _maze709Arr[89]._field_14 = 90;
- _maze709Arr[90]._field_4 = 1;
- _maze709Arr[90]._field_14 = 91;
- _maze709Arr[90]._field_0 = 1;
- _maze709Arr[90]._field_10 = 89;
- _maze709Arr[91]._field_8 = 1;
- _maze709Arr[91]._field_18 = 80;
- _maze709Arr[91]._field_0 = 1;
- _maze709Arr[91]._field_10 = 90;
- _maze709Arr[92]._field_8 = 1;
- _maze709Arr[92]._field_18 = 81;
- _maze709Arr[92]._field_4 = 1;
- _maze709Arr[92]._field_14 = 93;
- _maze709Arr[93]._field_0 = 1;
- _maze709Arr[93]._field_10 = 92;
- _maze709Arr[94]._field_8 = 1;
- _maze709Arr[94]._field_18 = 83;
- _maze709Arr[95]._field_8 = 1;
- _maze709Arr[95]._field_18 = 84;
- _maze709Arr[95]._field_4 = 1;
- _maze709Arr[95]._field_14 = 96;
- _maze709Arr[96]._field_0 = 1;
- _maze709Arr[96]._field_10 = 95;
- _maze709Arr[96]._field_4 = 1;
- _maze709Arr[96]._field_14 = 97;
- _maze709Arr[97]._field_0 = 1;
- _maze709Arr[97]._field_10 = 96;
- _maze709Arr[98]._field_8 = 1;
- _maze709Arr[98]._field_18 = 87;
- _maze709Arr[98]._field_4 = 1;
- _maze709Arr[98]._field_14 = 99;
+ _maze709Arr[1]._rightActive = 1;
+ _maze709Arr[1]._rightIndex = 2;
+ _maze709Arr[1]._backActive = 1;
+ _maze709Arr[1]._backIndex = 12;
+ _maze709Arr[2]._leftActive = 1;
+ _maze709Arr[2]._leftIndex = 1;
+ _maze709Arr[2]._backActive = 1;
+ _maze709Arr[2]._backIndex = 13;
+ _maze709Arr[3]._rightActive = 1;
+ _maze709Arr[3]._rightIndex = 4;
+ _maze709Arr[3]._backActive = 1;
+ _maze709Arr[3]._backIndex = 14;
+ _maze709Arr[4]._rightActive = 1;
+ _maze709Arr[4]._rightIndex = 5;
+ _maze709Arr[4]._leftActive = 1;
+ _maze709Arr[4]._leftIndex = 3;
+ _maze709Arr[4]._backActive = 1;
+ _maze709Arr[4]._backIndex = 15;
+ _maze709Arr[5]._rightActive = 1;
+ _maze709Arr[5]._rightIndex = 6;
+ _maze709Arr[5]._leftActive = 1;
+ _maze709Arr[5]._leftIndex = 4;
+ _maze709Arr[6]._leftActive = 1;
+ _maze709Arr[6]._leftIndex = 5;
+ _maze709Arr[6]._rightActive = 1;
+ _maze709Arr[6]._rightIndex = 7;
+ _maze709Arr[6]._backActive = 1;
+ _maze709Arr[6]._backIndex = 17;
+ _maze709Arr[7]._rightActive = 1;
+ _maze709Arr[7]._rightIndex = 8;
+ _maze709Arr[7]._leftActive = 1;
+ _maze709Arr[7]._leftIndex = 6;
+ _maze709Arr[8]._rightActive = 1;
+ _maze709Arr[8]._rightIndex = 9;
+ _maze709Arr[8]._leftActive = 1;
+ _maze709Arr[8]._leftIndex = 7;
+ _maze709Arr[9]._leftActive = 1;
+ _maze709Arr[9]._leftIndex = 8;
+ _maze709Arr[9]._backActive = 1;
+ _maze709Arr[9]._backIndex = 20;
+ _maze709Arr[10]._rightActive = 1;
+ _maze709Arr[10]._rightIndex = 11;
+ _maze709Arr[10]._backActive = 1;
+ _maze709Arr[10]._backIndex = 21;
+ _maze709Arr[11]._leftActive = 1;
+ _maze709Arr[11]._leftIndex = 10;
+ _maze709Arr[11]._backActive = 1;
+ _maze709Arr[11]._backIndex = 22;
+ _maze709Arr[12]._straightActive = 1;
+ _maze709Arr[12]._straightIndex = 1;
+ _maze709Arr[13]._straightActive = 1;
+ _maze709Arr[13]._straightIndex = 2;
+ _maze709Arr[13]._backActive = 1;
+ _maze709Arr[13]._backIndex = 24;
+ _maze709Arr[14]._straightActive = 1;
+ _maze709Arr[14]._straightIndex = 3;
+ _maze709Arr[14]._backActive = 1;
+ _maze709Arr[14]._backIndex = 25;
+ _maze709Arr[15]._straightActive = 1;
+ _maze709Arr[15]._straightIndex = 4;
+ _maze709Arr[15]._rightActive = 1;
+ _maze709Arr[15]._rightIndex = 16;
+ _maze709Arr[16]._leftActive = 1;
+ _maze709Arr[16]._leftIndex = 15;
+ _maze709Arr[17]._straightActive = 1;
+ _maze709Arr[17]._straightIndex = 6;
+ _maze709Arr[18]._rightActive = 1;
+ _maze709Arr[18]._rightIndex = 19;
+ _maze709Arr[18]._backActive = 1;
+ _maze709Arr[18]._backIndex = 29;
+ _maze709Arr[19]._rightActive = 1;
+ _maze709Arr[19]._rightIndex = 20;
+ _maze709Arr[19]._leftActive = 1;
+ _maze709Arr[19]._leftIndex = 18;
+ _maze709Arr[20]._straightActive = 1;
+ _maze709Arr[20]._straightIndex = 9;
+ _maze709Arr[20]._rightActive = 1;
+ _maze709Arr[20]._rightIndex = 21;
+ _maze709Arr[20]._leftActive = 1;
+ _maze709Arr[20]._leftIndex = 19;
+ _maze709Arr[21]._straightActive = 1;
+ _maze709Arr[21]._straightIndex = 10;
+ _maze709Arr[21]._leftActive = 1;
+ _maze709Arr[21]._leftIndex = 20;
+ _maze709Arr[22]._straightActive = 1;
+ _maze709Arr[22]._straightIndex = 11;
+ _maze709Arr[23]._rightActive = 1;
+ _maze709Arr[23]._rightIndex = 24;
+ _maze709Arr[23]._backActive = 1;
+ _maze709Arr[23]._backIndex = 34;
+ _maze709Arr[24]._straightActive = 1;
+ _maze709Arr[24]._straightIndex = 13;
+ _maze709Arr[24]._leftActive = 1;
+ _maze709Arr[24]._leftIndex = 23;
+ _maze709Arr[25]._straightActive = 1;
+ _maze709Arr[25]._straightIndex = 14;
+ _maze709Arr[25]._backActive = 1;
+ _maze709Arr[25]._backIndex = 36;
+ _maze709Arr[26]._leftActive = 1;
+ _maze709Arr[26]._leftIndex = 25;
+ _maze709Arr[26]._backActive = 1;
+ _maze709Arr[26]._backIndex = 37;
+ _maze709Arr[27]._rightActive = 1;
+ _maze709Arr[27]._rightIndex = 28;
+ _maze709Arr[27]._backActive = 1;
+ _maze709Arr[27]._backIndex = 38;
+ _maze709Arr[28]._leftActive = 1;
+ _maze709Arr[28]._leftIndex = 27;
+ _maze709Arr[29]._straightActive = 1;
+ _maze709Arr[29]._straightIndex = 18;
+ _maze709Arr[29]._backActive = 1;
+ _maze709Arr[29]._backIndex = 40;
+ _maze709Arr[30]._rightActive = 1;
+ _maze709Arr[30]._rightIndex = 31;
+ _maze709Arr[30]._backActive = 1;
+ _maze709Arr[30]._backIndex = 41;
+ _maze709Arr[31]._rightActive = 1;
+ _maze709Arr[31]._rightIndex = 32;
+ _maze709Arr[31]._leftActive = 1;
+ _maze709Arr[31]._leftIndex = 30;
+ _maze709Arr[31]._backActive = 1;
+ _maze709Arr[31]._backIndex = 42;
+ _maze709Arr[32]._rightActive = 1;
+ _maze709Arr[32]._rightIndex = 33;
+ _maze709Arr[32]._leftActive = 1;
+ _maze709Arr[32]._leftIndex = 31;
+ _maze709Arr[33]._leftActive = 1;
+ _maze709Arr[33]._leftIndex = 32;
+ _maze709Arr[33]._backActive = 1;
+ _maze709Arr[33]._backIndex = 44;
+ _maze709Arr[34]._straightActive = 1;
+ _maze709Arr[34]._straightIndex = 23;
+ _maze709Arr[34]._backActive = 1;
+ _maze709Arr[34]._backIndex = 45;
+ _maze709Arr[35]._rightActive = 1;
+ _maze709Arr[35]._rightIndex = 36;
+ _maze709Arr[36]._straightActive = 1;
+ _maze709Arr[36]._straightIndex = 25;
+ _maze709Arr[36]._leftActive = 1;
+ _maze709Arr[36]._leftIndex = 35;
+ _maze709Arr[36]._backActive = 1;
+ _maze709Arr[36]._backIndex = 47;
+ _maze709Arr[37]._straightActive = 1;
+ _maze709Arr[37]._straightIndex = 26;
+ _maze709Arr[37]._rightActive = 1;
+ _maze709Arr[37]._rightIndex = 38;
+ _maze709Arr[38]._straightActive = 1;
+ _maze709Arr[38]._straightIndex = 27;
+ _maze709Arr[38]._leftActive = 1;
+ _maze709Arr[38]._leftIndex = 37;
+ _maze709Arr[39]._rightActive = 1;
+ _maze709Arr[39]._rightIndex = 40;
+ _maze709Arr[39]._backActive = 1;
+ _maze709Arr[39]._backIndex = 50;
+ _maze709Arr[40]._straightActive = 1;
+ _maze709Arr[40]._straightIndex = 29;
+ _maze709Arr[40]._leftActive = 1;
+ _maze709Arr[40]._leftIndex = 39;
+ _maze709Arr[41]._straightActive = 1;
+ _maze709Arr[41]._straightIndex = 30;
+ _maze709Arr[41]._backActive = 1;
+ _maze709Arr[41]._backIndex = 52;
+ _maze709Arr[42]._straightActive = 1;
+ _maze709Arr[42]._straightIndex = 31;
+ _maze709Arr[42]._backActive = 1;
+ _maze709Arr[42]._backIndex = 53;
+ _maze709Arr[42]._rightActive = 1;
+ _maze709Arr[42]._rightIndex = 43;
+ _maze709Arr[43]._leftActive = 1;
+ _maze709Arr[43]._leftIndex = 42;
+ _maze709Arr[43]._rightActive = 1;
+ _maze709Arr[43]._rightIndex = 44;
+ _maze709Arr[44]._straightActive = 1;
+ _maze709Arr[44]._straightIndex = 33;
+ _maze709Arr[44]._leftActive = 1;
+ _maze709Arr[44]._leftIndex = 43;
+ _maze709Arr[45]._straightActive = 1;
+ _maze709Arr[45]._straightIndex = 34;
+ _maze709Arr[45]._rightActive = 1;
+ _maze709Arr[45]._rightIndex = 46;
+ _maze709Arr[45]._backActive = 1;
+ _maze709Arr[45]._backIndex = 56;
+ _maze709Arr[46]._leftActive = 1;
+ _maze709Arr[46]._leftIndex = 45;
+ _maze709Arr[46]._rightActive = 1;
+ _maze709Arr[46]._rightIndex = 47;
+ _maze709Arr[47]._straightActive = 1;
+ _maze709Arr[47]._straightIndex = 36;
+ _maze709Arr[47]._leftActive = 1;
+ _maze709Arr[47]._leftIndex = 46;
+ _maze709Arr[48]._rightActive = 1;
+ _maze709Arr[48]._rightIndex = 49;
+ _maze709Arr[48]._backActive = 1;
+ _maze709Arr[48]._backIndex = 59;
+ _maze709Arr[49]._leftActive = 1;
+ _maze709Arr[49]._leftIndex = 48;
+ _maze709Arr[50]._straightActive = 1;
+ _maze709Arr[50]._straightIndex = 39;
+ _maze709Arr[51]._rightActive = 1;
+ _maze709Arr[51]._rightIndex = 52;
+ _maze709Arr[51]._backActive = 1;
+ _maze709Arr[51]._backIndex = 62;
+ _maze709Arr[52]._straightActive = 1;
+ _maze709Arr[52]._straightIndex = 41;
+ _maze709Arr[52]._leftActive = 1;
+ _maze709Arr[52]._leftIndex = 51;
+ _maze709Arr[53]._straightActive = 1;
+ _maze709Arr[53]._straightIndex = 42;
+ _maze709Arr[53]._rightActive = 1;
+ _maze709Arr[53]._rightIndex = 54;
+ _maze709Arr[54]._rightActive = 1;
+ _maze709Arr[54]._rightIndex = 55;
+ _maze709Arr[54]._leftActive = 1;
+ _maze709Arr[54]._leftIndex = 53;
+ _maze709Arr[55]._leftActive = 1;
+ _maze709Arr[55]._leftIndex = 54;
+ _maze709Arr[55]._backActive = 1;
+ _maze709Arr[55]._backIndex = 66;
+ _maze709Arr[56]._straightActive = 1;
+ _maze709Arr[56]._straightIndex = 45;
+ _maze709Arr[56]._backActive = 1;
+ _maze709Arr[56]._backIndex = 67;
+ _maze709Arr[57]._leftActive = 1;
+ _maze709Arr[57]._leftIndex = 56;
+ _maze709Arr[58]._rightActive = 1;
+ _maze709Arr[58]._rightIndex = 59;
+ _maze709Arr[58]._backActive = 1;
+ _maze709Arr[58]._backIndex = 69;
+ _maze709Arr[59]._straightActive = 1;
+ _maze709Arr[59]._straightIndex = 48;
+ _maze709Arr[59]._leftActive = 1;
+ _maze709Arr[59]._leftIndex = 58;
+ _maze709Arr[59]._backActive = 1;
+ _maze709Arr[59]._backIndex = 70;
+ _maze709Arr[60]._rightActive = 1;
+ _maze709Arr[60]._rightIndex = 61;
+ _maze709Arr[60]._backActive = 1;
+ _maze709Arr[60]._backIndex = 71;
+ _maze709Arr[61]._rightActive = 1;
+ _maze709Arr[61]._rightIndex = 62;
+ _maze709Arr[61]._leftActive = 1;
+ _maze709Arr[61]._leftIndex = 60;
+ _maze709Arr[62]._straightActive = 1;
+ _maze709Arr[62]._straightIndex = 51;
+ _maze709Arr[62]._leftActive = 1;
+ _maze709Arr[62]._leftIndex = 61;
+ _maze709Arr[63]._rightActive = 1;
+ _maze709Arr[63]._rightIndex = 64;
+ _maze709Arr[64]._rightActive = 1;
+ _maze709Arr[64]._rightIndex = 65;
+ _maze709Arr[64]._leftActive = 1;
+ _maze709Arr[64]._leftIndex = 63;
+ _maze709Arr[64]._backActive = 1;
+ _maze709Arr[64]._backIndex = 75;
+ _maze709Arr[65]._rightActive = 1;
+ _maze709Arr[65]._rightIndex = 66;
+ _maze709Arr[65]._leftActive = 1;
+ _maze709Arr[65]._leftIndex = 64;
+ _maze709Arr[66]._straightActive = 1;
+ _maze709Arr[66]._straightIndex = 55;
+ _maze709Arr[66]._leftActive = 1;
+ _maze709Arr[66]._leftIndex = 65;
+ _maze709Arr[67]._straightActive = 1;
+ _maze709Arr[67]._straightIndex = 56;
+ _maze709Arr[67]._backActive = 1;
+ _maze709Arr[67]._backIndex = 78;
+ _maze709Arr[68]._rightActive = 1;
+ _maze709Arr[68]._rightIndex = 69;
+ _maze709Arr[68]._backActive = 1;
+ _maze709Arr[68]._backIndex = 79;
+ _maze709Arr[69]._leftActive = 1;
+ _maze709Arr[69]._leftIndex = 68;
+ _maze709Arr[69]._straightActive = 1;
+ _maze709Arr[69]._straightIndex = 58;
+ _maze709Arr[70]._straightActive = 1;
+ _maze709Arr[70]._straightIndex = 59;
+ _maze709Arr[70]._rightActive = 1;
+ _maze709Arr[70]._rightIndex = 71;
+ _maze709Arr[71]._straightActive = 1;
+ _maze709Arr[71]._straightIndex = 60;
+ _maze709Arr[71]._leftActive = 1;
+ _maze709Arr[71]._leftIndex = 70;
+ _maze709Arr[72]._rightActive = 1;
+ _maze709Arr[72]._rightIndex = 73;
+ _maze709Arr[72]._backActive = 1;
+ _maze709Arr[72]._backIndex = 83;
+ _maze709Arr[73]._leftActive = 1;
+ _maze709Arr[73]._leftIndex = 72;
+ _maze709Arr[73]._rightActive = 1;
+ _maze709Arr[73]._rightIndex = 74;
+ _maze709Arr[74]._leftActive = 1;
+ _maze709Arr[74]._leftIndex = 73;
+ _maze709Arr[74]._backActive = 1;
+ _maze709Arr[74]._backIndex = 85;
+ _maze709Arr[75]._straightActive = 1;
+ _maze709Arr[75]._straightIndex = 64;
+ _maze709Arr[75]._rightActive = 1;
+ _maze709Arr[75]._rightIndex = 76;
+ _maze709Arr[76]._leftActive = 1;
+ _maze709Arr[76]._leftIndex = 75;
+ _maze709Arr[76]._rightActive = 1;
+ _maze709Arr[76]._rightIndex = 77;
+ _maze709Arr[77]._leftActive = 1;
+ _maze709Arr[77]._leftIndex = 76;
+ _maze709Arr[77]._backActive = 1;
+ _maze709Arr[77]._backIndex = 88;
+ _maze709Arr[78]._straightActive = 1;
+ _maze709Arr[78]._straightIndex = 67;
+ _maze709Arr[78]._backActive = 1;
+ _maze709Arr[78]._backIndex = 89;
+ _maze709Arr[79]._straightActive = 1;
+ _maze709Arr[79]._straightIndex = 68;
+ _maze709Arr[79]._rightActive = 1;
+ _maze709Arr[79]._rightIndex = 80;
+ _maze709Arr[80]._rightActive = 1;
+ _maze709Arr[80]._rightIndex = 81;
+ _maze709Arr[80]._leftActive = 1;
+ _maze709Arr[80]._leftIndex = 79;
+ _maze709Arr[80]._backActive = 1;
+ _maze709Arr[80]._backIndex = 91;
+ _maze709Arr[81]._leftActive = 1;
+ _maze709Arr[81]._leftIndex = 80;
+ _maze709Arr[81]._backActive = 1;
+ _maze709Arr[81]._backIndex = 92;
+ _maze709Arr[82]._rightActive = 1;
+ _maze709Arr[82]._rightIndex = 83;
+ _maze709Arr[83]._straightActive = 1;
+ _maze709Arr[83]._straightIndex = 72;
+ _maze709Arr[83]._leftActive = 1;
+ _maze709Arr[83]._leftIndex = 82;
+ _maze709Arr[83]._backActive = 1;
+ _maze709Arr[83]._backIndex = 94;
+ _maze709Arr[84]._rightActive = 1;
+ _maze709Arr[84]._rightIndex = 85;
+ _maze709Arr[84]._backActive = 1;
+ _maze709Arr[84]._backIndex = 95;
+ _maze709Arr[85]._straightActive = 1;
+ _maze709Arr[85]._straightIndex = 74;
+ _maze709Arr[85]._leftActive = 1;
+ _maze709Arr[85]._leftIndex = 84;
+ _maze709Arr[85]._rightActive = 1;
+ _maze709Arr[85]._rightIndex = 86;
+ _maze709Arr[86]._leftActive = 1;
+ _maze709Arr[86]._leftIndex = 85;
+ _maze709Arr[86]._rightActive = 1;
+ _maze709Arr[86]._rightIndex = 87;
+ _maze709Arr[87]._leftActive = 1;
+ _maze709Arr[87]._leftIndex = 86;
+ _maze709Arr[87]._backActive = 1;
+ _maze709Arr[87]._backIndex = 98;
+ _maze709Arr[88]._straightActive = 1;
+ _maze709Arr[88]._straightIndex = 77;
+ _maze709Arr[88]._backActive = 1;
+ _maze709Arr[88]._backIndex = 99;
+ _maze709Arr[89]._straightActive = 1;
+ _maze709Arr[89]._straightIndex = 78;
+ _maze709Arr[89]._rightActive = 1;
+ _maze709Arr[89]._rightIndex = 90;
+ _maze709Arr[90]._rightActive = 1;
+ _maze709Arr[90]._rightIndex = 91;
+ _maze709Arr[90]._leftActive = 1;
+ _maze709Arr[90]._leftIndex = 89;
+ _maze709Arr[91]._straightActive = 1;
+ _maze709Arr[91]._straightIndex = 80;
+ _maze709Arr[91]._leftActive = 1;
+ _maze709Arr[91]._leftIndex = 90;
+ _maze709Arr[92]._straightActive = 1;
+ _maze709Arr[92]._straightIndex = 81;
+ _maze709Arr[92]._rightActive = 1;
+ _maze709Arr[92]._rightIndex = 93;
+ _maze709Arr[93]._leftActive = 1;
+ _maze709Arr[93]._leftIndex = 92;
+ _maze709Arr[94]._straightActive = 1;
+ _maze709Arr[94]._straightIndex = 83;
+ _maze709Arr[95]._straightActive = 1;
+ _maze709Arr[95]._straightIndex = 84;
+ _maze709Arr[95]._rightActive = 1;
+ _maze709Arr[95]._rightIndex = 96;
+ _maze709Arr[96]._leftActive = 1;
+ _maze709Arr[96]._leftIndex = 95;
+ _maze709Arr[96]._rightActive = 1;
+ _maze709Arr[96]._rightIndex = 97;
+ _maze709Arr[97]._leftActive = 1;
+ _maze709Arr[97]._leftIndex = 96;
+ _maze709Arr[98]._straightActive = 1;
+ _maze709Arr[98]._straightIndex = 87;
+ _maze709Arr[98]._rightActive = 1;
+ _maze709Arr[98]._rightIndex = 99;
_btnFlag = 1;
switch (_G(game).previous_room) {
case KERNEL_RESTORING_GAME:
digi_preload("950_s41", -1);
- if (_field80_save == 97 && inv_object_is_here("CHISEL")) {
- _field44 = 1;
+ if (_mazeCurrIndex == 97 && inv_object_is_here("CHISEL")) {
+ _chiselActiveFl = 1;
_709ChiselMach = series_place_sprite("709 CHISEL", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", true);
}
- if (_field80_save == 22 && inv_object_is_here("INCENSE BURNER")) {
- _field48 = 1;
+ if (_mazeCurrIndex == 22 && inv_object_is_here("INCENSE BURNER")) {
+ _incenseBurnerActiveFl = 1;
_709IncenseHolderMach = series_place_sprite("709 INCENSE HOLDER", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", true);
}
- if (_field80_save == 82) {
+ if (_mazeCurrIndex == 82) {
_ripPullMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach, _mazeLeftDoorLiteSeries, 10, 10, -1, _mazeLeftDoorLiteSeries, 10, 10, 0);
- _field70 = 1;
+ _pullLeftFl = 1;
}
break;
case 706:
digi_preload("950_s41", -1);
- _field80_save = 82;
+ _mazeCurrIndex = 82;
_ripPullMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach, _mazeLeftDoorLiteSeries, 10, 10, -1, _mazeLeftDoorLiteSeries, 10, 10, 0);
- _field70 = 1;
+ _pullLeftFl = 1;
ws_demand_location(_G(my_walker), 186, 290);
ws_demand_facing(_G(my_walker), 2);
ws_walk(_G(my_walker), 276, 300, nullptr, -1, 0, true);
@@ -506,14 +515,14 @@ void Room709::init() {
break;
case 710:
- _field80_save = 39;
+ _mazeCurrIndex = 39;
ws_demand_location(_G(my_walker), 320, 400);
ws_demand_facing(_G(my_walker), 1);
break;
default:
- _field80_save = 82;
+ _mazeCurrIndex = 82;
digi_preload("950_s41", -1);
break;
@@ -528,7 +537,7 @@ void Room709::pre_parser() {
const bool gearFl = player_said_any("push", "pull", "gear", "open", "close", "RopeS", "RopeL", "RopeR", "RopeB");
if (player_said("Right")) {
- if (_maze709Arr[_field80_save]._field_4 == 0 || _field74 == 0 || lookFl || talkFl || gearFl) {
+ if (_maze709Arr[_mazeCurrIndex]._rightActive == 0 || _pullRightFl == 0 || lookFl || talkFl || gearFl) {
_G(player).need_to_walk = false;
_G(player).ready_to_walk = true;
_G(player).waiting_for_walk = false;
@@ -536,13 +545,13 @@ void Room709::pre_parser() {
}
if (player_said("Left")) {
- if (_maze709Arr[_field80_save]._field_0 == 0 || _field70 == 0 || lookFl || talkFl || gearFl) {
+ if (_maze709Arr[_mazeCurrIndex]._leftActive == 0 || _pullLeftFl == 0 || lookFl || talkFl || gearFl) {
_G(player).need_to_walk = false;
_G(player).ready_to_walk = true;
_G(player).waiting_for_walk = false;
}
- if (_field80_save == 82) {
+ if (_mazeCurrIndex == 82) {
_G(player).need_to_walk = false;
_G(player).ready_to_walk = true;
_G(player).waiting_for_walk = false;
@@ -550,7 +559,7 @@ void Room709::pre_parser() {
}
if (player_said("Straight")) {
- if (_maze709Arr[_field80_save]._field_8 == 0 || _field78 == 0 || lookFl || talkFl || gearFl) {
+ if (_maze709Arr[_mazeCurrIndex]._straightActive == 0 || _pullCenterFl == 0 || lookFl || talkFl || gearFl) {
_G(player).need_to_walk = false;
_G(player).ready_to_walk = true;
_G(player).waiting_for_walk = false;
@@ -558,7 +567,7 @@ void Room709::pre_parser() {
}
if (player_said("Back")) {
- if (_maze709Arr[_field80_save]._field_C == 0 || _field7C == 0 || lookFl || talkFl || gearFl) {
+ if (_maze709Arr[_mazeCurrIndex]._backActive == 0 || _pullNearFl == 0 || lookFl || talkFl || gearFl) {
_G(player).need_to_walk = false;
_G(player).ready_to_walk = true;
_G(player).waiting_for_walk = false;
@@ -617,10 +626,10 @@ void Room709::parser() {
break;
case 2:
- if (_maze709Arr[_field80_save]._field_4 != 0 && _field74 == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._rightActive != 0 && _pullRightFl == 0) {
_ripPullMach03 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach03, _mazeRightDoorLiteSeries, 1, 10, 3, _mazeRightDoorLiteSeries, 10, 10, 0);
- _field74 = 1;
+ _pullRightFl = 1;
} else {
kernel_timing_trigger(5, 3, nullptr);
}
@@ -663,10 +672,10 @@ void Room709::parser() {
break;
case 2:
- if (_maze709Arr[_field80_save]._field_0 != 0 && _field70 == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._leftActive != 0 && _pullLeftFl == 0) {
_ripPullMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach, _mazeLeftDoorLiteSeries, 1, 10, 3, _mazeLeftDoorLiteSeries, 10, 10, 0);
- _field70 = 1;
+ _pullLeftFl = 1;
} else {
kernel_timing_trigger(5, 3, nullptr);
}
@@ -709,10 +718,10 @@ void Room709::parser() {
break;
case 2:
- if (_maze709Arr[_field80_save]._field_8 != 0 && _field78 == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._straightActive != 0 && _pullCenterFl == 0) {
_ripPullMach04 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach04, _mazeCenterDoorLiteSeries, 1, 10, 3, _mazeCenterDoorLiteSeries, 10, 10, 0);
- _field78 = 1;
+ _pullCenterFl = 1;
} else {
kernel_timing_trigger(5, 3, nullptr);
}
@@ -756,10 +765,10 @@ void Room709::parser() {
break;
case 2:
- if (_maze709Arr[_field80_save]._field_C != 0 && _field7C == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._backActive != 0 && _pullNearFl == 0) {
_ripPullMach05 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach05, _709NearDoorLiteSeries, 1, 10, 3, _709NearDoorLiteSeries, 10, 10, 0);
- _field7C = 1;
+ _pullNearFl = 1;
} else {
kernel_timing_trigger(5, 3, nullptr);
}
@@ -781,7 +790,7 @@ void Room709::parser() {
} // esi && player_said("rope ")
else if (player_said("Right")) {
- if (_maze709Arr[_field80_save]._field_4 == 0 || _field74 == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._rightActive == 0 || _pullRightFl == 0) {
digi_play("708R01", 1, 255, -1, -1);
} else {
switch (_G(kernel).trigger) {
@@ -806,8 +815,8 @@ void Room709::parser() {
} // player_said("Right")
else if (player_said("Left")) {
- if (_maze709Arr[_field80_save]._field_0 == 0 || _field70 == 0) {
- if (_field80_save == 82) {
+ if (_maze709Arr[_mazeCurrIndex]._leftActive == 0 || _pullLeftFl == 0) {
+ if (_mazeCurrIndex == 82) {
switch (_G(kernel).trigger) {
case -1:
ws_walk(_G(my_walker), 182, 292, nullptr, 2, 9, true);
@@ -851,7 +860,7 @@ void Room709::parser() {
} // player_said("Left")
else if (player_said("Straight")) {
- if (_maze709Arr[_field80_save]._field_8 == 0 || _field78 == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._straightActive == 0 || _pullCenterFl == 0) {
digi_play("708R01", 1, 255, -1, -1);
} else {
switch (_G(kernel).trigger) {
@@ -875,7 +884,7 @@ void Room709::parser() {
} // player_said("Straight")
else if (player_said("Back")) {
- if (_maze709Arr[_field80_save]._field_C == 0 || _field7C == 0) {
+ if (_maze709Arr[_mazeCurrIndex]._backActive == 0 || _pullNearFl == 0) {
digi_play("708R01", 1, 255, -1, -1);
} else {
switch (_G(kernel).trigger) {
@@ -987,20 +996,20 @@ void Room709::daemon() {
break;
case 11:
- if (_field80_save == 97) {
+ if (_mazeCurrIndex == 97) {
inv_give_to_player("CHISEL");
terminateMachine(_709ChiselMach);
- _field44 = 0;
+ _chiselActiveFl = 0;
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
kernel_examine_inventory_object("PING CHISEL", _G(master_palette), 5, 1, 163, 203, -1, nullptr, -1);
digi_play("709R03", 1, 255, 12, -1);
}
- if (_field80_save == 22) {
+ if (_mazeCurrIndex == 22) {
inv_give_to_player("INCENSE BURNER");
terminateMachine(_709IncenseHolderMach);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
- _field48 = 0;
+ _incenseBurnerActiveFl = 0;
kernel_examine_inventory_object("PING INCENSE BURNER", _G(master_palette), 5, 1, 329, 189, -1, nullptr, -1);
digi_play("709R13", 1, 255, 12, -1);
}
@@ -1023,56 +1032,56 @@ void Room709::daemon() {
player_set_commands_allowed(true);
break;
- case 20:
+ case 20: // related to player_said("left")
ws_demand_location(_G(my_walker), 410, 300);
ws_demand_facing(_G(my_walker), 9);
- _field80_save = _maze709Arr[_field80_save]._field_10;
- if (_field44 == 1) {
+ _mazeCurrIndex = _maze709Arr[_mazeCurrIndex]._leftIndex;
+ if (_chiselActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
terminateMachine(_709ChiselMach);
}
- if (_field80_save == 97 && inv_object_is_here("CHISEL")) {
- _field44 = 1;
+ if (_mazeCurrIndex == 97 && inv_object_is_here("CHISEL")) {
+ _chiselActiveFl = 1;
_709ChiselMach = series_place_sprite("709 CHISEL", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", true);
}
- if (_field48 == 1) {
+ if (_incenseBurnerActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
terminateMachine(_709IncenseHolderMach);
}
- if (_field80_save == 22 && inv_object_is_here("INCENSE BURNER")) {
- _field48 = 1;
+ if (_mazeCurrIndex == 22 && inv_object_is_here("INCENSE BURNER")) {
+ _incenseBurnerActiveFl = 1;
_709IncenseHolderMach = series_place_sprite("709 INCENSE HOLDER", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", true);
}
- if (_field74 == 1) {
+ if (_pullRightFl == 1) {
terminateMachine(_ripPullMach03);
- _field74 = 0;
+ _pullRightFl = 0;
}
- if (_field70 == 1) {
+ if (_pullLeftFl == 1) {
terminateMachine(_ripPullMach);
- _field70 = 0;
+ _pullLeftFl = 0;
}
- if (_field78 == 1) {
+ if (_pullCenterFl == 1) {
terminateMachine(_ripPullMach04);
- _field78 = 0;
+ _pullCenterFl = 0;
}
- if (_field7C == 1) {
+ if (_pullNearFl == 1) {
terminateMachine(_ripPullMach05);
- _field7C = 0;
+ _pullNearFl = 0;
}
- if (_field80_save == 82) {
+ if (_mazeCurrIndex == 82) {
_ripPullMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 3840, false, triggerMachineByHashCallback, "rip pull machine");
sendWSMessage_10000(1, _ripPullMach, _mazeLeftDoorLiteSeries, 1, 10, -1, _mazeLeftDoorLiteSeries, 10, 10, 0);
- _field70 = 1;
+ _pullLeftFl = 1;
pal_fade_init(_G(master_palette), 0, 255, 100, 30, -1);
player_set_commands_allowed(true);
delay = imath_ranged_rand(1, 10);
@@ -1086,47 +1095,47 @@ void Room709::daemon() {
case 30:
ws_demand_location(_G(my_walker), 230, 300);
ws_demand_facing(_G(my_walker), 3);
- _field80_save = _maze709Arr[_field80_save]._field_14;
- if (_field44 == 1) {
+ _mazeCurrIndex = _maze709Arr[_mazeCurrIndex]._rightIndex;
+ if (_chiselActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
terminateMachine(_709ChiselMach);
}
- if (_field80_save == 97 && inv_object_is_here("Chisel")) {
- _field44 = 1;
+ if (_mazeCurrIndex == 97 && inv_object_is_here("Chisel")) {
+ _chiselActiveFl = 1;
_709ChiselMach = series_place_sprite("709 CHISEL", 0,0,0,100,3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", true);
}
- if (_field48 == 1) {
+ if (_incenseBurnerActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
terminateMachine(_709IncenseHolderMach);
}
- if (_field80_save == 22 && inv_object_is_here("INCENSE BURNER")) {
- _field48 = 1;
+ if (_mazeCurrIndex == 22 && inv_object_is_here("INCENSE BURNER")) {
+ _incenseBurnerActiveFl = 1;
_709IncenseHolderMach = series_place_sprite("709 INCENSE HOLDER", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", true);
}
- if (_field74 == 1) {
+ if (_pullRightFl == 1) {
terminateMachine(_ripPullMach03);
- _field74 = 0;
+ _pullRightFl = 0;
}
- if (_field70 == 1) {
+ if (_pullLeftFl == 1) {
terminateMachine(_ripPullMach);
- _field70 = 0;
+ _pullLeftFl = 0;
}
- if (_field78 == 1) {
+ if (_pullCenterFl == 1) {
terminateMachine(_ripPullMach04);
- _field78 = 0;
+ _pullCenterFl = 0;
}
- if (_field7C == 1) {
+ if (_pullNearFl == 1) {
terminateMachine(_ripPullMach05);
- _field7C = 0;
+ _pullNearFl = 0;
}
pal_fade_init(_G(master_palette), 0, 255, 100, 30, -1);
@@ -1141,47 +1150,47 @@ void Room709::daemon() {
case 40:
ws_demand_location(_G(my_walker), 320, 400);
ws_demand_facing(_G(my_walker), 1);
- _field80_save = _maze709Arr[_field80_save]._field_18;
- if (_field44 == 1) {
+ _mazeCurrIndex = _maze709Arr[_mazeCurrIndex]._straightIndex;
+ if (_chiselActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
terminateMachine(_709ChiselMach);
}
- if (_field80_save == 97 && inv_object_is_here("Chisel")) {
- _field44 = 1;
+ if (_mazeCurrIndex == 97 && inv_object_is_here("Chisel")) {
+ _chiselActiveFl = 1;
_709ChiselMach = series_place_sprite("709 CHISEL", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", true);
}
- if (_field48 == 1) {
+ if (_incenseBurnerActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
terminateMachine(_709IncenseHolderMach);
}
- if (_field80_save == 22 && inv_object_is_here("INCENSE BURNER")) {
- _field48 = 1;
+ if (_mazeCurrIndex == 22 && inv_object_is_here("INCENSE BURNER")) {
+ _incenseBurnerActiveFl = 1;
_709IncenseHolderMach = series_place_sprite("709 INCENSE HOLDER", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", true);
}
- if (_field74 == 1) {
+ if (_pullRightFl == 1) {
terminateMachine(_ripPullMach03);
- _field74 = 0;
+ _pullRightFl = 0;
}
- if (_field70 == 1) {
+ if (_pullLeftFl == 1) {
terminateMachine(_ripPullMach);
- _field70 = 0;
+ _pullLeftFl = 0;
}
- if (_field78 == 1) {
+ if (_pullCenterFl == 1) {
terminateMachine(_ripPullMach04);
- _field78 = 0;
+ _pullCenterFl = 0;
}
- if (_field7C == 1) {
+ if (_pullNearFl == 1) {
terminateMachine(_ripPullMach05);
- _field7C = 0;
+ _pullNearFl = 0;
}
pal_fade_init(_G(master_palette), 0, 255, 100, 30, -1);
@@ -1196,9 +1205,9 @@ void Room709::daemon() {
case 50:
ws_demand_location(_G(my_walker), 320, 280);
ws_demand_facing(_G(my_walker), 5);
- _field80_save = _maze709Arr[_field80_save]._field_1C;
+ _mazeCurrIndex = _maze709Arr[_mazeCurrIndex]._backIndex;
- if (_field80_save == 50) {
+ if (_mazeCurrIndex == 50) {
adv_kill_digi_between_rooms(false);
digi_play_loop("950_s41", 3, 255, -1, -1);
RemoveSystemHotkey(KEY_CLEAR);
@@ -1206,46 +1215,46 @@ void Room709::daemon() {
_G(game).new_room = 710;
}
- if (_field44 == 1) {
+ if (_chiselActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", false);
terminateMachine(_709ChiselMach);
}
- if (_field80_save == 97 && inv_object_is_here("Chisel")) {
- _field44 = 1;
+ if (_mazeCurrIndex == 97 && inv_object_is_here("Chisel")) {
+ _chiselActiveFl = 1;
_709ChiselMach = series_place_sprite("709 CHISEL", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Chisel", true);
}
- if (_field48 == 1) {
+ if (_incenseBurnerActiveFl == 1) {
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", false);
terminateMachine(_709IncenseHolderMach);
}
- if (_field80_save == 22 && inv_object_is_here("INCENSE BURNER")) {
- _field48 = 1;
+ if (_mazeCurrIndex == 22 && inv_object_is_here("INCENSE BURNER")) {
+ _incenseBurnerActiveFl = 1;
_709IncenseHolderMach = series_place_sprite("709 INCENSE HOLDER", 0, 0, 0, 100, 3840);
hotspot_set_active(_G(currentSceneDef).hotspots, "Incense Burner", true);
}
- if (_field74 == 1) {
+ if (_pullRightFl == 1) {
terminateMachine(_ripPullMach03);
- _field74 = 0;
+ _pullRightFl = 0;
}
- if (_field70 == 1) {
+ if (_pullLeftFl == 1) {
terminateMachine(_ripPullMach);
- _field70 = 0;
+ _pullLeftFl = 0;
}
- if (_field78 == 1) {
+ if (_pullCenterFl == 1) {
terminateMachine(_ripPullMach04);
- _field78 = 0;
+ _pullCenterFl = 0;
}
- if (_field7C == 1) {
+ if (_pullNearFl == 1) {
terminateMachine(_ripPullMach05);
- _field7C = 0;
+ _pullNearFl = 0;
}
pal_fade_init(_G(master_palette), 0, 255, 100, 30, -1);
@@ -1483,9 +1492,30 @@ void Room709::daemon() {
}
void Room709::clearPressed(void *, void *) {
- // TODO Not implemented yet
-}
+ static int32 _field84 = 0;
+ static int32 _field88 = 0;
+ static uint32 _field8C = 0;
+
+ _field8C = timer_read_60();
+
+ if (_field84 == 0) {
+ _field88 = timer_read_60();
+ ++_field84;
+ } else if (_field8C - _field88 < 60) {
+ _field88 = _field8C;
+ ++_field84;
+ } else {
+ _field88 = _field8C;
+ _field84 = 1;
+ }
+ if (_field84 == 3) {
+ digi_preload("304_s05", -1);
+ digi_preload("709_s99", -1);
+ _G(kernel).trigger_mode = KT_DAEMON;
+ disable_player_commands_and_fade_init(500);
+ }
+}
} // namespace Rooms
} // namespace Riddle
diff --git a/engines/m4/riddle/rooms/section7/room709.h b/engines/m4/riddle/rooms/section7/room709.h
index 594c49a8b4f..69200157c77 100644
--- a/engines/m4/riddle/rooms/section7/room709.h
+++ b/engines/m4/riddle/rooms/section7/room709.h
@@ -29,19 +29,19 @@ namespace Riddle {
namespace Rooms {
struct Maze709Struc {
- int32 _field_0;
- int32 _field_4;
- int32 _field_8;
- int32 _field_C;
- int32 _field_10;
- int32 _field_14;
- int32 _field_18;
- int32 _field_1C;
+ int32 _leftActive;
+ int32 _rightActive;
+ int32 _straightActive;
+ int32 _backActive;
+ int32 _leftIndex;
+ int32 _rightIndex;
+ int32 _straightIndex;
+ int32 _backIndex;
};
class Room709 : public Room {
public:
- Room709() : Room() {}
+ Room709();
~Room709() override {}
void preload() override;
@@ -49,24 +49,24 @@ public:
void pre_parser() override;
void parser() override;
void daemon() override;
+ void syncGame(Common::Serializer &s) override;
private:
- int32 _field44 = 0;
- int32 _field48 = 0;
- int32 _field74 = 0;
- int32 _field78 = 0;
- int32 _field7C = 0;
- int32 _field70 = 0;
- int32 _field80_save = 0;
- int32 _field84 = 0;
- int32 _field88 = 0;
+ int32 _chiselActiveFl = 0;
+ int32 _incenseBurnerActiveFl = 0;
+ int32 _pullRightFl = 0;
+ int32 _pullCenterFl = 0;
+ int32 _pullNearFl = 0;
+ int32 _pullLeftFl = 0;
+ int32 _btnFlag = 0;
+ int32 _mazeCurrIndex = 0;
+
int32 _709NearDoorLiteSeries = 0;
int32 _709rpro1Series = 0;
int32 _709rpro2Series = 0;
int32 _709rpro3Series = 0;
int32 _709rpro4Series = 0;
- int32 _btnFlag = 0;
int32 _mazeCenterDoorLiteSeries = 0;
int32 _mazeLeftDoorLiteSeries = 0;
int32 _mazeRightDoorLiteSeries = 0;
@@ -88,6 +88,7 @@ private:
Maze709Struc _maze709Arr[99];
+ void resetMaze();
static void clearPressed(void *, void *);
};
More information about the Scummvm-git-logs
mailing list