[Scummvm-git-logs] scummvm master -> 31e9f443cdbd1a603f5871a37402991d360fc9fa

dreammaster noreply at scummvm.org
Fri Oct 4 03:30:07 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:
31e9f443cd M4: RIDDLE: Remainder of section 6 maze rooms


Commit: 31e9f443cdbd1a603f5871a37402991d360fc9fa
    https://github.com/scummvm/scummvm/commit/31e9f443cdbd1a603f5871a37402991d360fc9fa
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-03T20:30:00-07:00

Commit Message:
M4: RIDDLE: Remainder of section 6 maze rooms

Changed paths:
    engines/m4/riddle/rooms/section6/room637.cpp
    engines/m4/riddle/rooms/section6/room638.cpp
    engines/m4/riddle/rooms/section6/room640.cpp
    engines/m4/riddle/rooms/section6/room641.cpp
    engines/m4/riddle/rooms/section6/room642.cpp
    engines/m4/riddle/rooms/section6/room643.cpp
    engines/m4/riddle/rooms/section6/room644.cpp
    engines/m4/riddle/rooms/section6/room645.cpp
    engines/m4/riddle/rooms/section6/room646.cpp
    engines/m4/riddle/rooms/section6/room647.cpp
    engines/m4/riddle/rooms/section6/room648.cpp
    engines/m4/riddle/rooms/section6/room649.cpp
    engines/m4/riddle/rooms/section6/room650.cpp
    engines/m4/riddle/rooms/section6/room651.cpp


diff --git a/engines/m4/riddle/rooms/section6/room637.cpp b/engines/m4/riddle/rooms/section6/room637.cpp
index f557b19f785..0ed869e1ba4 100644
--- a/engines/m4/riddle/rooms/section6/room637.cpp
+++ b/engines/m4/riddle/rooms/section6/room637.cpp
@@ -28,6 +28,32 @@ namespace Riddle {
 namespace Rooms {
 
 void Room637::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 631:
+		ws_demand_location(298, 352, 1);
+		break;
+
+	case 638:
+		ws_demand_location(670, 336, 9);
+		ws_walk(621, 336, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 643:
+		ws_demand_location(300, 290, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(298, 352, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room637::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room638.cpp b/engines/m4/riddle/rooms/section6/room638.cpp
index 2a7436a6d93..6b2daa579c1 100644
--- a/engines/m4/riddle/rooms/section6/room638.cpp
+++ b/engines/m4/riddle/rooms/section6/room638.cpp
@@ -28,6 +28,38 @@ namespace Riddle {
 namespace Rooms {
 
 void Room638::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 607:
+		ws_demand_location(670, 300, 9);
+		ws_walk(615, 300, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 632:
+		ws_demand_location(360, 3550, 11);
+		break;
+
+	case 637:
+		ws_demand_location(-30, 319, 3);
+		ws_walk(20, 319, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 644:
+		ws_demand_location(360, 300, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(360, 3550, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room638::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room640.cpp b/engines/m4/riddle/rooms/section6/room640.cpp
index 0f7b95545bf..338a15cd43c 100644
--- a/engines/m4/riddle/rooms/section6/room640.cpp
+++ b/engines/m4/riddle/rooms/section6/room640.cpp
@@ -28,6 +28,38 @@ namespace Riddle {
 namespace Rooms {
 
 void Room640::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 607:
+		ws_demand_location(-30, 295, 3);
+		ws_walk(32, 295, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 634:
+		ws_demand_location(303, 347, 1);
+		break;
+
+	case 641:
+		ws_demand_location(670, 335, 9);
+		ws_walk(591, 335, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 646:
+		ws_demand_location(290, 277, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(303, 347, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room640::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room641.cpp b/engines/m4/riddle/rooms/section6/room641.cpp
index 18ef54cbffa..516dcba299d 100644
--- a/engines/m4/riddle/rooms/section6/room641.cpp
+++ b/engines/m4/riddle/rooms/section6/room641.cpp
@@ -28,6 +28,38 @@ namespace Riddle {
 namespace Rooms {
 
 void Room641::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 635:
+		ws_demand_location(305, 342, 1);
+		break;
+
+	case 640:
+		ws_demand_location(-30, 326, 3);
+		ws_walk(24, 326, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 642:
+		ws_demand_location(670, 319, 9);
+		ws_walk(614, 319, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 647:
+		ws_demand_location(315, 282, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(305, 342, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room641::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room642.cpp b/engines/m4/riddle/rooms/section6/room642.cpp
index 5eec57f98b9..24263aa2f27 100644
--- a/engines/m4/riddle/rooms/section6/room642.cpp
+++ b/engines/m4/riddle/rooms/section6/room642.cpp
@@ -28,6 +28,32 @@ namespace Riddle {
 namespace Rooms {
 
 void Room642::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 636:
+		ws_demand_location(307, 347, 11);
+		break;
+
+	case 641:
+		ws_demand_location(-30, 328, 3);
+		ws_walk(32, 328, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 648:
+		ws_demand_location(280, 270, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(307, 347, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room642::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room643.cpp b/engines/m4/riddle/rooms/section6/room643.cpp
index 574467b3f59..3cd8fb26cc5 100644
--- a/engines/m4/riddle/rooms/section6/room643.cpp
+++ b/engines/m4/riddle/rooms/section6/room643.cpp
@@ -28,6 +28,32 @@ namespace Riddle {
 namespace Rooms {
 
 void Room643::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 637:
+		ws_demand_location(337, 347, 11);
+		break;
+
+	case 644:
+		ws_demand_location(670, 301, 9);
+		ws_walk(615, 301, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 649:
+		ws_demand_location(298, 296, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(337, 347, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room643::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room644.cpp b/engines/m4/riddle/rooms/section6/room644.cpp
index 8fbf0ce47df..5cb31e1984b 100644
--- a/engines/m4/riddle/rooms/section6/room644.cpp
+++ b/engines/m4/riddle/rooms/section6/room644.cpp
@@ -28,6 +28,34 @@ namespace Riddle {
 namespace Rooms {
 
 void Room644::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 638:
+		ws_demand_location(343, 351, 1);
+		break;
+
+	case 643:
+		ws_demand_location(-30, 313, 3);
+		ws_walk(25, 313, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 645:
+		ws_demand_location(670, 346, 9);
+		ws_walk(613, 346, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(343, 351, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room644::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room645.cpp b/engines/m4/riddle/rooms/section6/room645.cpp
index 35eda47dc0f..684c08505e4 100644
--- a/engines/m4/riddle/rooms/section6/room645.cpp
+++ b/engines/m4/riddle/rooms/section6/room645.cpp
@@ -28,6 +28,34 @@ namespace Riddle {
 namespace Rooms {
 
 void Room645::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 607:
+		ws_demand_location(313, 348, 1);
+		break;
+
+	case 644:
+		ws_demand_location(-30, 323, 3);
+		ws_walk(25, 323, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 646:
+		ws_demand_location(670, 298, 3);
+		ws_walk(608, 298, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(313, 348, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room645::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room646.cpp b/engines/m4/riddle/rooms/section6/room646.cpp
index e4fd0e267ad..a264673cff9 100644
--- a/engines/m4/riddle/rooms/section6/room646.cpp
+++ b/engines/m4/riddle/rooms/section6/room646.cpp
@@ -28,6 +28,38 @@ namespace Riddle {
 namespace Rooms {
 
 void Room646::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 640:
+		ws_demand_location(320, 353, 11);
+		break;
+
+	case 645:
+		ws_demand_location(-30, 330, 9);
+		ws_walk(30, 330, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 647:
+		ws_demand_location(670, 292, 9);
+		ws_walk(610, 292, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 650:
+		ws_demand_location(262, 274, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(320, 353, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room646::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room647.cpp b/engines/m4/riddle/rooms/section6/room647.cpp
index 81ab765fc5e..a3db90b1c1d 100644
--- a/engines/m4/riddle/rooms/section6/room647.cpp
+++ b/engines/m4/riddle/rooms/section6/room647.cpp
@@ -28,6 +28,38 @@ namespace Riddle {
 namespace Rooms {
 
 void Room647::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 641:
+		ws_demand_location(320, 353, 1);
+		break;
+
+	case 646:
+		ws_demand_location(-30, 330, 3);
+		ws_walk(30, 330, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	case 648:
+		ws_demand_location(670, 307, 9);
+		ws_walk(610, 307, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	case 651:
+		ws_demand_location(0, 292, 5);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(320, 353, 1);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room647::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room648.cpp b/engines/m4/riddle/rooms/section6/room648.cpp
index 423e6786c3a..05d4ffd3846 100644
--- a/engines/m4/riddle/rooms/section6/room648.cpp
+++ b/engines/m4/riddle/rooms/section6/room648.cpp
@@ -28,6 +28,28 @@ namespace Riddle {
 namespace Rooms {
 
 void Room648::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 642:
+		ws_demand_location(320, 346, 11);
+		break;
+
+	case 647:
+		ws_demand_location(-30, 306, 3);
+		ws_walk(30, 306, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(320, 346, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room648::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room649.cpp b/engines/m4/riddle/rooms/section6/room649.cpp
index df08416d129..29214ede6f1 100644
--- a/engines/m4/riddle/rooms/section6/room649.cpp
+++ b/engines/m4/riddle/rooms/section6/room649.cpp
@@ -28,6 +28,22 @@ namespace Riddle {
 namespace Rooms {
 
 void Room649::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 643:
+		ws_demand_location(334, 347, 11);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(334, 347, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room649::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room650.cpp b/engines/m4/riddle/rooms/section6/room650.cpp
index fe56c183d89..395f8d9db3d 100644
--- a/engines/m4/riddle/rooms/section6/room650.cpp
+++ b/engines/m4/riddle/rooms/section6/room650.cpp
@@ -28,6 +28,28 @@ namespace Riddle {
 namespace Rooms {
 
 void Room650::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 646:
+		ws_demand_location(320, 350, 11);
+		break;
+
+	case 651:
+		ws_demand_location(670, 304, 9);
+		ws_walk(615, 304, nullptr, 1, 9);
+		player_set_commands_allowed(false);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(320, 350, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room650::parser() {
diff --git a/engines/m4/riddle/rooms/section6/room651.cpp b/engines/m4/riddle/rooms/section6/room651.cpp
index 7f760414516..e71d2e290cb 100644
--- a/engines/m4/riddle/rooms/section6/room651.cpp
+++ b/engines/m4/riddle/rooms/section6/room651.cpp
@@ -28,6 +28,31 @@ namespace Riddle {
 namespace Rooms {
 
 void Room651::init() {
+	switch (_G(game).previous_room) {
+	case KERNEL_RESTORING_GAME:
+		digi_preload("950_s28c");
+		break;
+
+	case 647:
+		if (_G(flags)[V206])
+			ws_demand_location(548, 372, 11);
+		else
+			ws_demand_location(277, 353, 11);
+		break;
+
+	case 650:
+		ws_demand_location(-30, 310, 3);
+		ws_walk(20, 310, nullptr, 1, 3);
+		player_set_commands_allowed(false);
+		break;
+
+	default:
+		digi_preload("950_s28c");
+		ws_demand_location(277, 353, 11);
+		break;
+	}
+
+	digi_play_loop("950_28c", 3);
 }
 
 void Room651::parser() {




More information about the Scummvm-git-logs mailing list