[Scummvm-git-logs] scummvm master -> 7d1c643fe62669b4a6694f6d3c2ad111f8eff28a
Strangerke
noreply at scummvm.org
Sun Dec 8 19:19:52 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:
7d1c643fe6 M4: RIDDLE: room 705: Complete implementation of parser
Commit: 7d1c643fe62669b4a6694f6d3c2ad111f8eff28a
https://github.com/scummvm/scummvm/commit/7d1c643fe62669b4a6694f6d3c2ad111f8eff28a
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-12-08T20:19:24+01:00
Commit Message:
M4: RIDDLE: room 705: Complete implementation of parser
Changed paths:
engines/m4/riddle/rooms/section7/room705.cpp
engines/m4/riddle/rooms/section7/room705.h
diff --git a/engines/m4/riddle/rooms/section7/room705.cpp b/engines/m4/riddle/rooms/section7/room705.cpp
index 18acea9ad54..bbbb0bae7b6 100644
--- a/engines/m4/riddle/rooms/section7/room705.cpp
+++ b/engines/m4/riddle/rooms/section7/room705.cpp
@@ -140,7 +140,7 @@ void Room705::parser() {
bool ecx = player_said_any("look", "look at");
const bool talkFl = player_said_any("talk", "talk to");
bool edi = player_said("take");
- //bool gearFl = player_said_any("push", "pull", "gear", "open", "close");
+ bool gearFl = player_said_any("push", "pull", "gear", "open", "close");
if (player_said("conv705a")) {
if (_G(kernel).trigger == 90)
@@ -636,10 +636,73 @@ void Room705::parser() {
_G(kernel).trigger_mode = KT_PARSE;
} else if (ecx && player_said(" ")) {
digi_play(_G(flags[V224]) ? "706r24" : "com075", 1, 255, -1, -1);
- }
-
- // TODO Incomplete implementation
+ } else if (player_said("CUPOLA")) {
+ switch (_G(kernel).trigger) {
+ case -1:
+ player_set_commands_allowed(false);
+ _705RipGoesUpStairsSeries = series_load("705 RIP GOES UP STAIRS", -1, nullptr);
+ ws_hide_walker();
+ _ripStairsMach = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 320, 0, 100, 256, false, triggerMachineByHashCallback, "rip stairs machine");
+ sendWSMessage_10000(1, _ripStairsMach, _705RipGoesUpStairsSeries, 1, 29, 2, _705RipGoesUpStairsSeries, 29, 29, 0);
+
+ break;
+ case 2:
+ sendWSMessage_10000(1, _ripStairsMach, _705RipGoesUpStairsSeries, 30, 39, -1, _705RipGoesUpStairsSeries, 39, 39, 0);
+ disable_player_commands_and_fade_init(3);
+
+ break;
+
+ case 3:
+ terminateMachine(_ripStairsMach);
+ player_set_commands_allowed(true);
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s39", 3, 255, -1, -1);
+ _G(game).new_room = 707;
+
+ break;
+
+ default:
+ break;
+ }
+ } // player_said("CUPOLA")
+
+ else if (player_said("West Face")) {
+ switch (_G(kernel).trigger) {
+ case -1:
+ disable_player_commands_and_fade_init(4);
+ break;
+
+ case 4:
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s39", 3, 255, -1, -1);
+ _G(game).new_room = 706;
+
+ break;
+
+ default:
+ break;
+ }
+ } else if (player_said("East Face")) {
+ switch (_G(kernel).trigger) {
+ case -1:
+ disable_player_commands_and_fade_init(4);
+ break;
+
+ case 4:
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s39", 3, 255, -1, -1);
+ _G(game).new_room = 704;
+
+ break;
+
+ default:
+ break;
+ }
+ } else if (!gearFl && !edi && player_said_any("MONK #9", "MONK #10", "MONK #11")) {
+ digi_play("com017", 1, 255, -1, -1);
+ } else
+ return;
_G(player).command_ready = false;
}
diff --git a/engines/m4/riddle/rooms/section7/room705.h b/engines/m4/riddle/rooms/section7/room705.h
index cac4d8a8bf7..31fe0bc1e16 100644
--- a/engines/m4/riddle/rooms/section7/room705.h
+++ b/engines/m4/riddle/rooms/section7/room705.h
@@ -56,6 +56,7 @@ private:
int32 _705Monk2Series = 0;
int32 _705Monk3Series = 0;
int32 _705Monk4Series = 0;
+ int32 _705RipGoesUpStairsSeries = 0;
int32 _ripGoesDownStairsSeries = 0;
int32 _ripLooksDownSeries = 0;
int32 _ripTrekMedReachPos1Series = 0;
More information about the Scummvm-git-logs
mailing list