[Scummvm-git-logs] scummvm master -> 027a408bef1ce1d2bc237d53404fae28f9a63e8f

dreammaster noreply at scummvm.org
Sat Nov 16 06:47:37 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
fba119c3e5 M4: RIDDLE: Schloss exterior movement fixes
027a408bef M4: RIDDLE: Graveyard mode/should cleanup, Wolf conv fixes


Commit: fba119c3e597992374882d34242dcbf374171157
    https://github.com/scummvm/scummvm/commit/fba119c3e597992374882d34242dcbf374171157
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-15T22:47:28-08:00

Commit Message:
M4: RIDDLE: Schloss exterior movement fixes

Changed paths:
    engines/m4/riddle/rooms/section4/room402.cpp
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room408.cpp


diff --git a/engines/m4/riddle/rooms/section4/room402.cpp b/engines/m4/riddle/rooms/section4/room402.cpp
index 50c6b27366d..af75fcbcbb8 100644
--- a/engines/m4/riddle/rooms/section4/room402.cpp
+++ b/engines/m4/riddle/rooms/section4/room402.cpp
@@ -1416,7 +1416,8 @@ void Room402::pre_parser() {
 		!player_said("POMERANIAN MARKS", "WOLF"))
 		_G(flags)[V112] = 1;
 
-	_val6 = 0;
+	if (_val6 == 0)
+		return;
 
 	if (player_said("POMERANIAN MARKS", "WOLF") && inv_player_has("POMERANIAN MARKS")) {
 		player_set_commands_allowed(false);
diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index e512f36faee..6815d9c4293 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -216,6 +216,9 @@ void Room403::init() {
 			} else {
 				_ventClosed = series_show("SPRITE OF VENT CLOSED", 0x600, 16);
 			}
+
+			player_set_commands_allowed(true);
+
 		} else if (_G(flags)[V132]) {
 			_G(flags)[V132] = 0;
 			_G(camera_reacts_to_player) = false;
@@ -241,12 +244,13 @@ void Room403::init() {
 				_val9 = 2300;
 			}
 
-			if (0) {
-				ws_demand_location(4, 296);
-				ws_walk(80, 300, nullptr, 300, 3);
-			} else {
+			if (_G(kittyScreaming)) {
 				MoveScreenDelta(-640, 0);
 				ws_demand_location(1110, 322);
+				player_set_commands_allowed(true);
+			} else {
+				ws_demand_location(4, 296);
+				ws_walk(80, 300, nullptr, 300, 3);
 			}
 		}
 	}
diff --git a/engines/m4/riddle/rooms/section4/room408.cpp b/engines/m4/riddle/rooms/section4/room408.cpp
index 0adba13e3ec..c4ec4d3f3c3 100644
--- a/engines/m4/riddle/rooms/section4/room408.cpp
+++ b/engines/m4/riddle/rooms/section4/room408.cpp
@@ -619,7 +619,7 @@ void Room408::parser() {
 	} else if (lookFlag && player_said("TOPIARY")) {
 		digi_play("408r02", 1);
 	} else if (lookFlag && player_said("SUNDIAL")) {
-		digi_play(player_been_here(408) ? "408r32" : "408r04", 1);
+		digi_play(player_been_here(407) ? "408r32" : "408r04", 1);
 	} else if (lookFlag && player_said_any("BUSH", "BUSH ")) {
 		digi_play("408r05", 1);
 	} else if (lookFlag && player_said("PLANK") && inv_object_is_here("PLANK")) {


Commit: 027a408bef1ce1d2bc237d53404fae28f9a63e8f
    https://github.com/scummvm/scummvm/commit/027a408bef1ce1d2bc237d53404fae28f9a63e8f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-15T22:47:29-08:00

Commit Message:
M4: RIDDLE: Graveyard mode/should cleanup, Wolf conv fixes

Changed paths:
    engines/m4/riddle/rooms/section4/room403.cpp
    engines/m4/riddle/rooms/section4/room403.h


diff --git a/engines/m4/riddle/rooms/section4/room403.cpp b/engines/m4/riddle/rooms/section4/room403.cpp
index 6815d9c4293..9ae8c601423 100644
--- a/engines/m4/riddle/rooms/section4/room403.cpp
+++ b/engines/m4/riddle/rooms/section4/room403.cpp
@@ -63,14 +63,14 @@ void Room403::init() {
 
 	if (_G(game).previous_room != KERNEL_RESTORING_GAME) {
 		_val1 = 0;
-		_val2 = -1;
+		_ripleyTrigger = -1;
 		_val3 = 0;
-		_val4 = -1;
+		_wolfTrigger = -1;
 		_val5 = 0;
-		_val6 = 0;
-		_val7 = 0;
-		_val8 = 0;
-		_val9 = 0;
+		_ripleyMode = 0;
+		_ripleyShould = 0;
+		_wolfMode = 0;
+		_wolfShould = 0;
 		_val10 = 0;
 		_sound1.clear();
 		_val12 = 0;
@@ -159,8 +159,8 @@ void Room403::init() {
 					sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 45, 45, -1,
 						_wolfTurnHand, 45, 45, 0);
 				} else {
-					_val8 = 2001;
-					_val9 = 2300;
+					_wolfMode = 2001;
+					_wolfShould = 2300;
 					sendWSMessage_10000(1, _wolfie, _wolfEdger, 1, 6, 110,
 						_wolfEdger, 6, 6, 0);
 				}
@@ -240,8 +240,8 @@ void Room403::init() {
 					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolfEdger, 1, 6, 110,
 					_wolfEdger, 6, 6, 0);
-				_val8 = 2001;
-				_val9 = 2300;
+				_wolfMode = 2001;
+				_wolfShould = 2300;
 			}
 
 			if (_G(kittyScreaming)) {
@@ -272,26 +272,26 @@ void Room403::daemon() {
 		break;
 
 	case 101:
-		_val6 = 1000;
-		_val7 = 1105;
+		_ripleyMode = 1000;
+		_ripleyShould = 1105;
 		break;
 
 	case 102:
-		if (_val2 != -1) {
-			kernel_timing_trigger(1, _val2);
-			_val2 = -1;
+		if (_ripleyTrigger != -1) {
+			kernel_timing_trigger(1, _ripleyTrigger);
+			_ripleyTrigger = -1;
 		} else {
 			kernel_timing_trigger(1, 103);
 		}
 		break;
 
 	case 103:
-		switch (_val6) {
+		switch (_ripleyMode) {
 		case 1000:
-			switch (_val7) {
+			switch (_ripleyShould) {
 			case 1100:
-				_val8 = 2000;
-				_val9 = 2100;
+				_wolfMode = 2000;
+				_wolfShould = 2100;
 				kernel_timing_trigger(1, 110);
 				player_update_info();
 				ws_hide_walker();
@@ -307,11 +307,11 @@ void Room403::daemon() {
 					_ripTalkPay, 10, 10, 0);
 				sendWSMessage_10000(1, _ripTalksWolf, _safariShadow, 1, 1, -1,
 					_safariShadow, 1, 1, 0);
-				_val7 = 1101;
+				_ripleyShould = 1101;
 				break;
 
 			case 1101:
-				_val7 = 1003;
+				_ripleyShould = 1003;
 				kernel_timing_trigger(1, 102);
 
 				conv_load("conv403a", 10, 10, 101);
@@ -352,15 +352,15 @@ void Room403::daemon() {
 					_val5 = 0;
 					sendWSMessage_10000(1, _ripOnLadder, _ripTalkPay, 10, 1, 305,
 						_ripTalkPay, 1, 1, 0);
-					_val9 = 2251;
+					_wolfShould = 2251;
 					_G(flags)[V124] = 1;
 				} else {
 					sendWSMessage_10000(1, _ripOnLadder, _ripTalkPay, 10, 1, 103,
 						_ripTalkPay, 1, 1, 0);
-					_val7 = 1106;
+					_ripleyShould = 1106;
 
 					if (!_G(flags)[V115])
-						_val9 = 2103;
+						_wolfShould = 2103;
 				}
 				break;
 
@@ -373,15 +373,15 @@ void Room403::daemon() {
 				if (!_G(flags)[V115] || _flag2 ||
 						!inv_player_has("POMERANIAN MARKS")) {
 					_flag2 = false;
-					_val8 = 2001;
-					_val9 = 2300;
+					_wolfMode = 2001;
+					_wolfShould = 2300;
 					kernel_timing_trigger(1, 110);
 					player_set_commands_allowed(true);
 				} else {
 					player_set_commands_allowed(false);
 					_val12 = 1;
-					_val8 = 2000;
-					_val9 = 2230;
+					_wolfMode = 2000;
+					_wolfShould = 2230;
 					kernel_timing_trigger(1, 110);
 				}
 				break;
@@ -392,7 +392,7 @@ void Room403::daemon() {
 			break;
 
 		case 1010:
-			switch (_val7) {
+			switch (_ripleyShould) {
 			case 1200:
 				player_set_commands_allowed(false);
 				terminateMachineAndNull(_ventClosed);
@@ -403,31 +403,31 @@ void Room403::daemon() {
 					triggerMachineByHashCallback, "RIP climbs ladder");
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 1, 12, 103,
 					_ripClimbsLadder, 12, 12, 0);
-				_val7 = 1202;
+				_ripleyShould = 1202;
 				break;
 
 			case 1202:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 13, 23, 103,
 					_ripClimbsLadder, 23, 23, 0);
-				_val7 = 1203;
+				_ripleyShould = 1203;
 				break;
 
 			case 1203:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 24, 33, 103,
 					_ripClimbsLadder, 33, 33, 0);
-				_val7 = 1204;
+				_ripleyShould = 1204;
 				break;
 
 			case 1204:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 34, 40, 103,
 					_ripClimbsLadder, 40, 40, 0);
-				_val7 = 1205;
+				_ripleyShould = 1205;
 				break;
 
 			case 1205:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 41, 52, 103,
 					_ripClimbsLadder, 52, 52, 0);
-				_val7 = 1209;
+				_ripleyShould = 1209;
 				break;
 
 			case 1209:
@@ -439,31 +439,31 @@ void Room403::daemon() {
 				player_set_commands_allowed(false);
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 52, 36, 103,
 					_ripClimbsLadder, 36, 36, 0);
-				_val7 = 1212;
+				_ripleyShould = 1212;
 				break;
 
 			case 1212:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 35, 26, 103,
 					_ripClimbsLadder, 26, 26, 0);
-				_val7 = 1213;
+				_ripleyShould = 1213;
 				break;
 
 			case 1213:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 25, 14, 103,
 					_ripClimbsLadder, 14, 14, 0);
-				_val7 = 1214;
+				_ripleyShould = 1214;
 				break;
 
 			case 1214:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 13, 4, 103,
 					_ripClimbsLadder, 4, 4, 0);
-				_val7 = 1215;
+				_ripleyShould = 1215;
 				break;
 
 			case 1215:
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 3, 1, 103,
 					_ripClimbsLadder, 1, 1, 0);
-				_val7 = 1219;
+				_ripleyShould = 1219;
 				break;
 
 			case 1219:
@@ -485,21 +485,21 @@ void Room403::daemon() {
 				digi_play("403_s06", 2);
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 60, 74, 103,
 					_ripClimbsLadder, 74, 74, 0);
-				_val7 = 1223;
+				_ripleyShould = 1223;
 				break;
 
 			case 1230:
 				player_set_commands_allowed(false);
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 74, 69, 103,
 					_ripClimbsLadder, 69, 69, 0);
-				_val7 = 1232;
+				_ripleyShould = 1232;
 				break;
 
 			case 1232:
 				digi_play("403_s06", 2);
 				sendWSMessage_10000(1, _ripOnLadder, _ripClimbsLadder, 68, 53, 103,
 					_ripClimbsLadder, 53, 53, 0);
-				_val7 = 1210;
+				_ripleyShould = 1210;
 				break;
 
 			case 1240:
@@ -507,7 +507,7 @@ void Room403::daemon() {
 				digi_preload("403R29");
 				series_stream("VENT POPUP LADDER", 10, 0, 103);
 				kernel_timing_trigger(390, 350);
-				_val7 = 1230;
+				_ripleyShould = 1230;
 				break;
 
 			default:
@@ -516,7 +516,7 @@ void Room403::daemon() {
 			break;
 
 		case 1020:
-			switch (_val7) {
+			switch (_ripleyShould) {
 			case 1300:
 				player_set_commands_allowed(false);
 				_ripLegUp = series_load("RIP GETS A LEG UP");
@@ -526,14 +526,14 @@ void Room403::daemon() {
 					triggerMachineByHashCallback, "RIP climbs plank");
 				sendWSMessage_10000(1, _ripOnLadder, _ripLegUp, 1, 10, 103,
 					_ripLegUp, 10, 10, 0);
-				_val7 = 1302;
+				_ripleyShould = 1302;
 				break;
 
 			case 1302:
 				digi_play("403_s08", 2);
 				sendWSMessage_10000(1, _ripOnLadder, _ripLegUp, 11, 44, 103,
 					_ripLegUp, 44, 44, 0);
-				_val7 = 1303;
+				_ripleyShould = 1303;
 				break;
 
 			case 1303:
@@ -546,7 +546,7 @@ void Room403::daemon() {
 				sendWSMessage_10000(1, _ripOnLadder, _ripLegUp, 44, 1, 103,
 					_ripLegUp, 1, 1, 0);
 				digi_play("403_s08", 2);
-				_val7 = 1312;
+				_ripleyShould = 1312;
 				break;
 
 			case 1312:
@@ -572,7 +572,7 @@ void Room403::daemon() {
 					sendWSMessage_10000(1, _ripOnLadder, _noTreat, 1, 12, 103,
 						_noTreat, 12, 12, 0);
 
-				_val7 = 1322;
+				_ripleyShould = 1322;
 				break;
 
 			case 1322:
@@ -585,7 +585,7 @@ void Room403::daemon() {
 					sendWSMessage_10000(1, _ripOnLadder, _noTreat, 13, 28, 103,
 						_noTreat, 28, 28, 0);
 
-				_val7 = 1323;
+				_ripleyShould = 1323;
 				break;
 
 			case 1323:
@@ -610,7 +610,7 @@ void Room403::daemon() {
 					sendWSMessage_10000(1, _ripOnLadder, _noTreat, 28, 21, 103,
 						_noTreat, 21, 21, 0);
 
-				_val7 = 1332;
+				_ripleyShould = 1332;
 				break;
 
 			case 1332:
@@ -623,7 +623,7 @@ void Room403::daemon() {
 					sendWSMessage_10000(1, _ripOnLadder, _noTreat, 20, 1, 103,
 						_noTreat, 44, 44, 0);
 
-				_val7 = 1333;
+				_ripleyShould = 1333;
 				break;
 
 			case 1333:
@@ -633,7 +633,7 @@ void Room403::daemon() {
 
 				hotspot_set_active("GRATE", 1);
 				hotspot_set_active("TURTLE TREAT", false);
-				_val7 = 1310;
+				_ripleyShould = 1310;
 				kernel_timing_trigger(1, 103);
 				break;
 
@@ -642,7 +642,7 @@ void Room403::daemon() {
 				digi_preload("403R29");
 				series_stream("VENT POPUP PLANK", 10, 0, 103);
 				kernel_timing_trigger(390, 350);
-				_val7 = 1330;
+				_ripleyShould = 1330;
 				break;
 
 			case 1400:
@@ -658,7 +658,7 @@ void Room403::daemon() {
 
 					hotspot_set_active("GRATE", false);
 					hotspot_set_active("TURTLE TREATS", true);
-					_val7 = 1402;
+					_ripleyShould = 1402;
 				}
 				break;
 
@@ -676,7 +676,7 @@ void Room403::daemon() {
 					sendWSMessage_10000(1, _ripOnLadder, _noTreat, 53, 81, 103,
 						_noTreat, 81, 81, 0);
 
-				_val7 = 1412;
+				_ripleyShould = 1412;
 				break;
 
 			case 1412:
@@ -689,13 +689,13 @@ void Room403::daemon() {
 					kernel_timing_trigger(1, 440);
 				}
 
-				_val7 = 1413;
+				_ripleyShould = 1413;
 				break;
 
 			case 1413:
 				sendWSMessage_10000(1, _ripOnLadder, _noTreat, 81, 53, 103,
 					_noTreat, 28, 28, 0);
-				_val7 = 1414;
+				_ripleyShould = 1414;
 				break;
 
 			case 1414:
@@ -711,14 +711,14 @@ void Room403::daemon() {
 				_ripPlankEdger = series_load("RIPLEY ON PLANK USES EDGER");
 				sendWSMessage_10000(1, _ripOnLadder, _ripPlankEdger, 1, 20, 103,
 					_ripPlankEdger, 20, 20, 0);
-				_val7 = 1502;
+				_ripleyShould = 1502;
 				break;
 
 			case 1502:
 				digi_play("403_s10", 2);
 				sendWSMessage_10000(1, _ripOnLadder, _ripPlankEdger, 20, 63, 103,
 					_noTreat, 52, 52, 0);
-				_val7 = 1503;
+				_ripleyShould = 1503;
 				break;
 
 			case 1504:
@@ -738,12 +738,12 @@ void Room403::daemon() {
 		break;
 
 	case 110:
-		switch (_val8) {
+		switch (_wolfMode) {
 		case 2000:
 		case 2001:
-			if (_val4 != -1) {
-				kernel_timing_trigger(1, _val4);
-				_val4 = -1;
+			if (_wolfTrigger != -1) {
+				kernel_timing_trigger(1, _wolfTrigger);
+				_wolfTrigger = -1;
 			} else {
 				kernel_timing_trigger(1, 111);
 			}
@@ -755,13 +755,13 @@ void Room403::daemon() {
 		break;
 
 	case 111:
-		switch (_val8) {
+		switch (_wolfMode) {
 		case 2000:
-			switch (_val9) {
+			switch (_wolfShould) {
 			case 2100:
 				sendWSMessage_10000(1, _wolfie, _wolfTurnTalk, 1, 7, 110,
 					_wolfTurnTalk, 7, 7, 0);
-				_val9 = 2102;
+				_wolfShould = 2102;
 				break;
 
 			case 2101:
@@ -790,8 +790,8 @@ void Room403::daemon() {
 			case 2105:
 				sendWSMessage_10000(1, _wolfie, _wolfTurnTalk, 7, 1, 110,
 					_wolfEdger, 1, 1, 0);
-				_val8 = 2001;
-				_val9 = 2300;
+				_wolfMode = 2001;
+				_wolfShould = 2300;
 				break;
 
 			case 2230:
@@ -800,7 +800,7 @@ void Room403::daemon() {
 					triggerMachineByHashCallback, "WOLFIE");
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 11, 45, 111,
 					_wolfTurnHand, 45, 45, 0);
-				_val9 = 2231;
+				_wolfShould = 2231;
 
 				if (!_sound1.empty()) {
 					digi_play(_sound1.c_str(), 1);
@@ -826,7 +826,7 @@ void Room403::daemon() {
 				ws_hide_walker();
 				sendWSMessage_10000(1, _ripOnLadder, _ripTalkPay, 1, 10, 111,
 					_ripTalkPay, 10, 10, 0);
-				_val9 = 2233;
+				_wolfShould = 2233;
 				break;
 
 			case 2233:
@@ -839,12 +839,12 @@ void Room403::daemon() {
 				player_set_commands_allowed(false);
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 45, 11, 111,
 					_wolfTurnHand, 11, 11, 0);
-				_val9 = 2235;
+				_wolfShould = 2235;
 				break;
 
 			case 2235:
-				_val8 = 2001;
-				_val9 = 2300;
+				_wolfMode = 2001;
+				_wolfShould = 2300;
 				kernel_timing_trigger(1, 110);
 
 				if (!_G(flags)[V052])
@@ -872,13 +872,13 @@ void Room403::daemon() {
 			case 2253:
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 15, 34, 111,
 					_wolfTurnHand, 34, 34, 0);
-				_val9 = 2254;
+				_wolfShould = 2254;
 				break;
 
 			case 2254:
 				sendWSMessage_10000(1, _wolfie, _wolfTalkLeave, 40, 60, 111,
 					_wolfTalkLeave, 60, 60, 0);
-				_val9 = 2255;
+				_wolfShould = 2255;
 
 				if (!_sound1.empty()) {
 					digi_play(_sound1.c_str(), 1);
@@ -889,17 +889,17 @@ void Room403::daemon() {
 			case 2255:
 				sendWSMessage_10000(1, _wolfie, _wolfTalkLeave, 60, 40, 111,
 					_wolfTalkLeave, 40, 40, 0);
-				_val9 = 2256;
+				_wolfShould = 2256;
 				break;
 
 			case 2256:
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 34, 15, 111,
 					_wolfTurnHand, 15, 15, 0);
-				_val9 = 2257;
+				_wolfShould = 2257;
 				break;
 
 			case 2257:
-				_val9 = 2102;
+				_wolfShould = 2102;
 				kernel_timing_trigger(1, 110);
 				conv_resume();
 				break;
@@ -907,7 +907,7 @@ void Room403::daemon() {
 			case 2258:
 				sendWSMessage_10000(1, _wolfie, _wolfTalkLeave, 1, 18, 111,
 					_wolfTalkLeave, 18, 18, 0);
-				_val9 = 2250;
+				_wolfShould = 2250;
 				break;
 
 			case 2260:
@@ -916,7 +916,7 @@ void Room403::daemon() {
 
 				if (!_sound1.empty()) {
 					digi_play(_sound1.c_str(), 1, 255, 111);
-					_val9 = 2262;
+					_wolfShould = 2262;
 					_sound1.clear();
 				}
 				break;
@@ -928,6 +928,7 @@ void Room403::daemon() {
 			case 2270:
 				sendWSMessage_10000(1, _wolfie, _wolfTurnHand, 45, 11, 111,
 					_wolfTurnHand, 11, 11, 0);
+				_wolfShould = 2272;
 
 				if (!_sound1.empty()) {
 					digi_play(_sound1.c_str(), 1);
@@ -936,9 +937,10 @@ void Room403::daemon() {
 				break;
 
 			case 2272:
-				_val8 = 2001;
-				_val9 = 2300;
+				_wolfMode = 2001;
+				_wolfShould = 2300;
 				kernel_timing_trigger(1, 110);
+				conv_resume();
 				break;
 
 			default:
@@ -947,11 +949,11 @@ void Room403::daemon() {
 			break;
 
 		case 2001:
-			if (_val9 == 2300) {
+			if (_wolfShould == 2300) {
 				if (imath_ranged_rand(1, 3) == 1) {
 					frame = imath_ranged_rand(1, 6);
 					sendWSMessage_10000(1, _wolfie, _wolfEdger,
-						imath_ranged_rand(1, 6), imath_ranged_rand(1, 6), 100,
+						imath_ranged_rand(1, 6), imath_ranged_rand(1, 6), 110,
 						_wolfEdger, frame, frame, 0);
 					sendWSMessage_190000(_wolfie, 8);
 					sendWSMessage_1a0000(_wolfie, 6);
@@ -1092,12 +1094,12 @@ void Room403::daemon() {
 		break;
 
 	case 218:
-		_val4 = -1;
-		_val8 = 2000;
-		_val9 = 2252;
+		_wolfTrigger = -1;
+		_wolfMode = 2000;
+		_wolfShould = 2252;
 		kernel_timing_trigger(1, 110);
-		_val6 = 1000;
-		_val7 = 1103;
+		_ripleyMode = 1000;
+		_ripleyShould = 1103;
 		kernel_timing_trigger(1, 102);
 
 		conv_load("conv403a", 0, 10, 101);
@@ -1190,8 +1192,8 @@ void Room403::daemon() {
 		break;
 
 	case 237:
-		_val8 = 2001;
-		_val9 = 2300;
+		_wolfMode = 2001;
+		_wolfShould = 2300;
 		kernel_timing_trigger(1, 110);
 		player_set_commands_allowed(true);
 		break;
@@ -1383,8 +1385,8 @@ void Room403::daemon() {
 		sendWSMessage_10000(1, _wolfJustSo, _turtlePopup, 1, 46, -1,
 			_turtlePopup, 46, 46, 0);
 		midi_play("turtle", 255, 1, -1, 949);
-		_val6 = 1020;
-		_val7 = 1330;
+		_ripleyMode = 1020;
+		_ripleyShould = 1330;
 		kernel_timing_trigger(1, 102);
 		break;
 
@@ -1429,9 +1431,6 @@ void Room403::daemon() {
 	}
 }
 
-#define TRIGGER _G(kernel).trigger_mode = KT_DAEMON; \
-	kernel_timing_trigger(1, 102); \
-	_G(kernel).trigger_mode = KT_PARSE
 #define MONEY(ITEM) (player_said(ITEM, "WOLF") && inv_player_has(ITEM))
 
 void Room403::pre_parser() {
@@ -1447,23 +1446,23 @@ void Room403::pre_parser() {
 		_G(player).waiting_for_walk = false;
 
 		if (player_said("TURTLE", "TURTLE TREAT")) {
-			_val6 = 1020;
-			_val7 = 1410;
+			_ripleyMode = 1020;
+			_ripleyShould = 1410;
 			inv_move_object("TURTLE", 403);
 		} else if (player_said("TURTLE TREATS", "TURTLE TREAT")) {
-			_val6 = 1020;
-			_val7 = 1400;
+			_ripleyMode = 1020;
+			_ripleyShould = 1400;
 		} else if (player_said("EDGER", "TURTLE TREAT")) {
 			if (_G(flags)[V125] != 2) {
-				_val6 = 1020;
-				_val7 = 1500;
+				_ripleyMode = 1020;
+				_ripleyShould = 1500;
 			}
 		} else {
-			_val6 = 1020;
-			_val7 = 1330;
+			_ripleyMode = 1020;
+			_ripleyShould = 1330;
 		}
 
-		TRIGGER;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 		return;
 	}
 
@@ -1474,21 +1473,21 @@ void Room403::pre_parser() {
 		_G(player).waiting_for_walk = false;
 
 		if (lookFlag && player_said("GRATE")) {
-			_val6 = 1020;
-			_val7 = 1340;
+			_ripleyMode = 1020;
+			_ripleyShould = 1340;
 		} else if (player_said("TURTLE TREATS", "GRATE")) {
-			_val6 = 1020;
-			_val7 = 1400;
+			_ripleyMode = 1020;
+			_ripleyShould = 1400;
 		} else if (player_said("TURTLE", "GRATE")) {
-			_val6 = 1020;
-			_val7 = 1410;
+			_ripleyMode = 1020;
+			_ripleyShould = 1410;
 			inv_move_object("TURTLE", 403);
 		} else {
-			_val6 = 1020;
-			_val7 = 1330;
+			_ripleyMode = 1020;
+			_ripleyShould = 1330;
 		}
 
-		TRIGGER;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 		return;
 	}
 
@@ -1504,14 +1503,14 @@ void Room403::pre_parser() {
 		intr_cancel_sentence();
 
 		if (useFlag && player_said("GRATE")) {
-			_val6 = 1020;
-			_val7 = 1320;
+			_ripleyMode = 1020;
+			_ripleyShould = 1320;
 		} else {
-			_val6 = 1020;
-			_val7 = 1310;
+			_ripleyMode = 1020;
+			_ripleyShould = 1310;
 		}
 
-		TRIGGER;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 		return;
 	}
 
@@ -1522,14 +1521,14 @@ void Room403::pre_parser() {
 		_G(player).waiting_for_walk = false;
 
 		if (lookFlag && player_said("GRATE")) {
-			_val6 = 1010;
-			_val7 = 1240;
+			_ripleyMode = 1010;
+			_ripleyShould = 1240;
 		} else {
-			_val6 = 1010;
-			_val7 = 1230;
+			_ripleyMode = 1010;
+			_ripleyShould = 1230;
 		}
 
-		TRIGGER;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 	}
 
 	if (_val10 == 1) {
@@ -1541,14 +1540,14 @@ void Room403::pre_parser() {
 			intr_cancel_sentence();
 
 			if (useFlag && player_said("GRATE")) {
-				_val6 = 1010;
-				_val7 = 1220;
+				_ripleyMode = 1010;
+				_ripleyShould = 1220;
 			} else {
-				_val6 = 1010;
-				_val7 = 1210;
+				_ripleyMode = 1010;
+				_ripleyShould = 1210;
 			}
 
-			TRIGGER;
+			kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 		}
 	}
 
@@ -1557,9 +1556,7 @@ void Room403::pre_parser() {
 		_G(player).ready_to_walk = true;
 		_G(player).waiting_for_walk = false;
 
-		_G(kernel).trigger_mode = KT_PARSE;
-		kernel_timing_trigger(1, 69);
-		_G(kernel).trigger_mode = KT_PREPARSE;
+		kernel_timing_trigger(1, 69, KT_PARSE, KT_PREPARSE);
 	}
 
 	if (!_flag1 && !player_said("WALK TO") &&
@@ -1573,30 +1570,24 @@ void Room403::pre_parser() {
 			player_set_commands_allowed(false);
 			intr_cancel_sentence();
 			_G(flags)[V114] = 1;
-			_val8 = 2000;
-			_val9 = 2232;
+			_wolfMode = 2000;
+			_wolfShould = 2232;
 			_G(flags)[V111]++;
 
-			_G(kernel).trigger_mode = KT_DAEMON;
-			kernel_timing_trigger(1, 69);
-			_G(kernel).trigger_mode = KT_PREPARSE;
+			kernel_timing_trigger(1, 69, KT_DAEMON, KT_PREPARSE);
 		} else if (MONEY("US DOLLARS") || MONEY("CHINESE YUAN") ||
 				MONEY("PERUVIAN INTI") || MONEY("SIKKIMESE RUPEE")) {
 			_G(flags)[V116] = 1;
 			intr_cancel_sentence();
-			_G(kernel).trigger_mode = KT_DAEMON;
-			kernel_timing_trigger(1, 230);
-			_G(kernel).trigger_mode = KT_PREPARSE;
+			kernel_timing_trigger(1, 230, KT_DAEMON, KT_PREPARSE);
 		} else {
 			if (talkFlag && player_said("WOLF"))
 				intr_cancel_sentence();
 
 			player_set_commands_allowed(false);
-			_val8 = 2000;
-			_val9 = 2234;
-			_G(kernel).trigger_mode = KT_DAEMON;
-			kernel_timing_trigger(1, 110);
-			_G(kernel).trigger_mode = KT_PREPARSE;
+			_wolfMode = 2000;
+			_wolfShould = 2234;
+			kernel_timing_trigger(1, 110, KT_DAEMON, KT_PREPARSE);
 		}
 	}
 
@@ -1624,10 +1615,10 @@ void Room403::parser() {
 		}
 	} else if (talkFlag && player_said("WOLF")) {
 		player_set_commands_allowed(false);
-		_val4 = -1;
-		_val6 = 1000;
-		_val7 = 1100;
-		TRIGGER;
+		_wolfTrigger = -1;
+		_ripleyMode = 1000;
+		_ripleyShould = 1100;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 	} else if (enterFlag && player_said("CASTLE")) {
 		switch (_G(kernel).trigger) {
 		case -1:
@@ -1691,37 +1682,37 @@ void Room403::parser() {
 			inv_object_is_here("STEP LADDER")) {
 		digi_play(_G(flags)[V131] == 403 ? "403R10" : "403R46", 1);
 	} else if (useFlag && player_said("PLANK") && inv_object_is_here("PLANK")) {
-		_val6 = 1020;
-		_val7 = 1300;
-		TRIGGER;
-	} else if (useFlag && player_said("STEP LADDER") && inv_object_is_here("STEP LADDER")) {
-		_val6 = 1010;
-		_val7 = 1200;
-		TRIGGER;
+		_ripleyMode = 1020;
+		_ripleyShould = 1300;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
+	} else if (useFlag && HERE("STEP LADDER")) {
+		_ripleyMode = 1010;
+		_ripleyShould = 1200;
+		kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
 	} else if (player_said("POMERANIAN MARKS", "WOLF") &&
 			inv_player_has("POMERANIAN MARKS")) {
 		if (!_G(flags)[V115] || _G(flags)[V114]) {
 			player_set_commands_allowed(false);
-			_val4 = 200;
+			_wolfTrigger = 200;
 		} else {
 			_G(flags)[V114] = 1;
 			_G(flags)[V111]++;
 			player_set_commands_allowed(false);
-			_val4 = 210;
+			_wolfTrigger = 210;
 		}
 	} else if (MONEY("US DOLLARS") || MONEY("CHINESE YUAN") ||
 			MONEY("PERUVIAN INTI") || MONEY("SIKKIMESE RUPEE")) {
 		if (!_G(flags)[V116]) {
 			_G(flags)[V116] = 1;
 			player_set_commands_allowed(false);
-			_val4 = 220;
+			_wolfTrigger = 220;
 		}
 	} else if (player_said("EDGER", "BELL") && inv_player_has("EDGER")) {
 		edgerBell();
 	} else if (player_said("EDGER", "URN")) {
 		// No implementation
 	} else if ((player_said("STEP LADDER", "TOMB") ||
-			player_said("STEP LADDER", "STAIRS")) ||
+			player_said("STEP LADDER", "STAIRS")) &&
 			stepLadderTomb()) {
 		// No implementation
 	} else if (player_said("STEP LADDER", "WALL")) {
@@ -1800,25 +1791,22 @@ void Room403::conv403a() {
 				if (inv_player_has("POMERANIAN MARKS")) {
 					conv_resume();
 				} else {
-					_val9 = 2260;
+					_wolfShould = 2260;
 				}
 				break;
 
 			case 10:
 				_sound1 = sound;
-				_val9 = 2270;
-				_G(kernel).trigger_mode = KT_DAEMON;
-				kernel_timing_trigger(1, 110);
-				_G(kernel).trigger_mode = KT_PARSE;
+				_wolfShould = 2270;
+				kernel_timing_trigger(1, 110, KT_DAEMON, KT_PARSE);
 				break;
 
 			case 11:
 				if (entry == 0) {
 					_sound1 = sound;
-					_val9 = 2253;
-					return;
+					_wolfShould = 2253;
 				} else {
-					_val9 = 2101;
+					_wolfShould = 2101;
 					digi_play(sound, 1, 255, 1);
 				}
 				break;
@@ -1829,7 +1817,7 @@ void Room403::conv403a() {
 					midi_play("DANZIG1", 255, 1, -1, 949);
 				}
 
-				_val9 = 2250;
+				_wolfShould = 2250;
 				digi_play(sound, 1, 255, 1);
 				break;
 
@@ -1846,17 +1834,17 @@ void Room403::conv403a() {
 			case 32:
 			case 33:
 				_flag2 = true;
-				_val9 = 2101;
+				_wolfShould = 2101;
 				digi_play(sound, 1, 255, 1);
 				break;
 
 			default:
-				_val9 = 2101;
+				_wolfShould = 2101;
 				digi_play(sound, 1, 255, 1);
 				break;
 			}
 		} else if (who == 1) {
-			_val7 = 1102;
+			_ripleyShould = 1102;
 			digi_play(sound, 1, 255, 1);
 		}
 	} else {
@@ -1868,9 +1856,9 @@ void Room403::conv403a1() {
 	int who = conv_whos_talking();
 
 	if (who <= 0) {
-		_val9 = (_val9 == 2250) ? 2252 : 2102;
+		_wolfShould = (_wolfShould == 2250) ? 2252 : 2102;
 	} else if (who == 1) {
-		_val7 = 1103;
+		_ripleyShould = 1103;
 	}
 
 	conv_resume();
@@ -2162,8 +2150,8 @@ bool Room403::takeStepLadder() {
 	case 1:
 		if (_G(flags)[V131] == 403) {
 			digi_play("403w08", 1, 255, 3);
-			_val8 = 2000;
-			_val9 = 2100;
+			_wolfMode = 2000;
+			_wolfShould = 2100;
 			kernel_timing_trigger(15, 2);
 		} else {
 			digi_play("403_s03", 2);
@@ -2182,7 +2170,7 @@ bool Room403::takeStepLadder() {
 		return true;
 
 	case 3:
-		_val9 = 2105;
+		_wolfShould = 2105;
 		digi_play("403r47", 1);
 		return true;
 
@@ -2216,8 +2204,8 @@ void Room403::takeStepLadder_() {
 	case 1:
 		if (_G(flags)[V131] == 403) {
 			digi_play("403w08", 1, 255, 3);
-			_val8 = 2000;
-			_val9 = 2100;
+			_wolfMode = 2000;
+			_wolfShould = 2100;
 			kernel_timing_trigger(15, 2);
 		} else {
 			digi_play("403_s03", 2);
@@ -2235,7 +2223,7 @@ void Room403::takeStepLadder_() {
 		break;
 
 	case 3:
-		_val9 = 2105;
+		_wolfShould = 2105;
 		digi_play("403r47", 1);
 		break;
 
@@ -2292,6 +2280,17 @@ void Room403::playNum2(int num) {
 	}
 }
 
+void Room403::syncGame(Common::Serializer &s) {
+	s.syncAsSint32LE(_ripleyMode);
+	s.syncAsSint32LE(_ripleyShould);
+	s.syncAsSint32LE(_wolfMode);
+	s.syncAsSint32LE(_wolfShould);
+	s.syncAsSint32LE(_val1);
+	s.syncAsSint32LE(_val3);
+	s.syncAsSint32LE(_val5);
+	s.syncAsSint32LE(_val10);
+}
+
 } // namespace Rooms
 } // namespace Riddle
 } // namespace M4
diff --git a/engines/m4/riddle/rooms/section4/room403.h b/engines/m4/riddle/rooms/section4/room403.h
index d92c261a485..e49bf3b7886 100644
--- a/engines/m4/riddle/rooms/section4/room403.h
+++ b/engines/m4/riddle/rooms/section4/room403.h
@@ -32,14 +32,14 @@ class Room403 : public Room {
 private:
 	machine *_bell = nullptr;
 	int _val1 = 0;
-	int _val2 = 0;
+	int _ripleyTrigger = -1;
 	int _val3 = 0;
-	int _val4 = 0;
+	int _wolfTrigger = -1;
 	int _val5 = 0;
-	int _val6 = 0;
-	int _val7 = 0;
-	int _val8 = 0;
-	int _val9 = 0;
+	int _ripleyMode = 0;
+	int _ripleyShould = 0;
+	int _wolfMode = 0;
+	int _wolfShould = 0;
 	int _val10 = 0;
 	Common::String _sound1;
 	int _val12 = 0;
@@ -98,6 +98,7 @@ public:
 	void daemon() override;
 	void pre_parser() override;
 	void parser() override;
+	void syncGame(Common::Serializer &s) override;
 };
 
 } // namespace Rooms




More information about the Scummvm-git-logs mailing list