[Scummvm-git-logs] scummvm master -> 5b508a3727d16bb96cbc8babb6cb17d9974c9c2a
Strangerke
noreply at scummvm.org
Thu Jan 30 23:49:06 UTC 2025
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:
5b508a3727 M4: RIDDLE: Finish the implementation of opcode 1 in parser (room 808)
Commit: 5b508a3727d16bb96cbc8babb6cb17d9974c9c2a
https://github.com/scummvm/scummvm/commit/5b508a3727d16bb96cbc8babb6cb17d9974c9c2a
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-01-31T00:48:49+01:00
Commit Message:
M4: RIDDLE: Finish the implementation of opcode 1 in parser (room 808)
Changed paths:
engines/m4/riddle/rooms/section8/room808.cpp
diff --git a/engines/m4/riddle/rooms/section8/room808.cpp b/engines/m4/riddle/rooms/section8/room808.cpp
index 9d5f68d6f76..baa9237b818 100644
--- a/engines/m4/riddle/rooms/section8/room808.cpp
+++ b/engines/m4/riddle/rooms/section8/room808.cpp
@@ -493,12 +493,30 @@ void Room808::parser() {
digi_play("808r01", 1, 255, -1, -1);
} else if (!scumm_strnicmp(_G(player).noun, "wheel", 5) || !scumm_strnicmp(_G(player).noun, "bridge", 6)) {
switch (_G(kernel).trigger) {
- // TODO Not implemented
+ case -1:
+ player_update_info(_G(my_walker), &_G(player_info));
+ if (_G(player).x >= 300) {
+ ws_turn_to_face(_G(my_walker), 9, 10);
+ } else {
+ ws_walk(_G(my_walker), 202, 179, nullptr, 10, !scumm_strnicmp(_G(player).noun, "bridge", 6) ? 1 : 11, true);
+ }
+
+ break;
+
+ case 10:
+ if (!scumm_strnicmp(_G(player).noun, "bridge", 6)) {
+ digi_play("808r02", 1, 255, -1, -1);
+ } else {
+ digi_play("808r03", 1, 255, -1, -1);
+ }
+
+ break;
+
default:
break;
}
- } else if (!scumm_stricmp(_G(player).noun, "FARMER'S SHOVEL") && inv_object_in_scene("FARMER'S SHOVEL", 808)) {
- // TODO Not implemented
+ } else if (!scumm_strnicmp(_G(player).noun, "FARMER'S SHOVEL", 15) && inv_object_in_scene("FARMER'S SHOVEL", 808)) {
+ digi_play("808r33", 1, 255, -1, -1);
} else if (player_said("chain")) {
digi_play("808r04", 1, 255, -1, -1);
} else if (player_said("slot")) {
@@ -521,7 +539,41 @@ void Room808::parser() {
digi_play("808r13", 1, 255, -1, -1);
} else if (player_said("chasm")) {
switch (_G(kernel).trigger) {
- // TODO not implemented
+ case -1:
+ player_set_commands_allowed(false);
+ player_update_info(_G(my_walker), &_G(player_info));
+ if (_G(player_info).facing == 2) {
+ setGlobals3(_808Rp02Series, 1, 17);
+ } else {
+ setGlobals3(_808Rp01Series, 1, 23);
+ }
+
+ sendWSMessage_3840000(_G(my_walker), 10);
+
+ break;
+
+ case 10:
+ kernel_timing_trigger(90, 20, "rip peers");
+ break;
+
+ case 20:
+ digi_play("808r14", 1, 255, -1, -1);
+ if (_G(player_info).facing == 2) {
+ setGlobals3(_808Rp02Series, 1, 17);
+ } else {
+ setGlobals3(_808Rp01Series, 1, 19);
+ }
+
+ sendWSMessage_3840000(_G(my_walker), 30);
+
+ break;
+
+ case 30:
+ player_set_commands_allowed(true);
+ ws_demand_facing(_G(my_walker), _dword1A1964_facing);
+
+ break;
+
default:
break;
}
More information about the Scummvm-git-logs
mailing list