[Scummvm-git-logs] scummvm master -> a7debe62a5b7ea256bf0c3ec8746ee4d5848badf

dreammaster noreply at scummvm.org
Tue Aug 6 04:07:54 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:
a7debe62a5 M4: RIDDLE: Room logic for room 309


Commit: a7debe62a5b7ea256bf0c3ec8746ee4d5848badf
    https://github.com/scummvm/scummvm/commit/a7debe62a5b7ea256bf0c3ec8746ee4d5848badf
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-08-05T21:06:55-07:00

Commit Message:
M4: RIDDLE: Room logic for room 309

Holy heck. After the sheer complexity of room 305, it was
a breath of fresh air to have a room this simple.
Hopefully there will be many more such simple rooms

Changed paths:
    engines/m4/riddle/rooms/section3/room309.cpp
    engines/m4/riddle/rooms/section3/room309.h


diff --git a/engines/m4/riddle/rooms/section3/room309.cpp b/engines/m4/riddle/rooms/section3/room309.cpp
index 323ccf5050d..9a62ad7f7a1 100644
--- a/engines/m4/riddle/rooms/section3/room309.cpp
+++ b/engines/m4/riddle/rooms/section3/room309.cpp
@@ -28,9 +28,55 @@ namespace Riddle {
 namespace Rooms {
 
 void Room309::init() {
+	digi_preload("303_s02");
+	player_set_commands_allowed(false);
+	series_stream("first pass creature", 5, 0x100, 101);
+	digi_play("303_s02", 3);
+	kernel_timing_trigger(300, 100);
 }
 
 void Room309::daemon() {
+	switch (_G(kernel).trigger) {
+	case 100:
+		digi_play("303_s02", 3);
+		kernel_timing_trigger(300, 100);
+		break;
+
+	case 101:
+		disable_player_commands_and_fade_init(123);
+		break;
+
+	case 123:
+		_G(game).setRoom(303);
+		break;
+
+	default:
+		break;
+	}
+}
+
+void Room309::parser() {
+	if (player_said("exit")) {
+		switch (_G(kernel).trigger) {
+		case 0:
+			player_set_commands_allowed(false);
+			disable_player_commands_and_fade_init(1);
+			break;
+
+		case 1:
+			midi_stop();
+			digi_stop(3);
+			_G(game).setRoom(303);
+			break;
+
+		default:
+			break;
+		}
+	} else {
+		return;
+	}
+
+	_G(player).command_ready = false;
 }
 
 } // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section3/room309.h b/engines/m4/riddle/rooms/section3/room309.h
index 4b56c37214c..f7e5b61eb90 100644
--- a/engines/m4/riddle/rooms/section3/room309.h
+++ b/engines/m4/riddle/rooms/section3/room309.h
@@ -35,6 +35,7 @@ public:
 
 	void init() override;
 	void daemon() override;
+	void parser() override;
 };
 
 } // namespace Rooms




More information about the Scummvm-git-logs mailing list