[Scummvm-git-logs] scummvm master -> 0a66aa13f38db140842ad91600c66d517f53d2d6
Strangerke
noreply at scummvm.org
Wed Feb 5 23:10:23 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:
0a66aa13f3 M4: RIDDLE: More work on Room809::parser
Commit: 0a66aa13f38db140842ad91600c66d517f53d2d6
https://github.com/scummvm/scummvm/commit/0a66aa13f38db140842ad91600c66d517f53d2d6
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-02-06T00:10:15+01:00
Commit Message:
M4: RIDDLE: More work on Room809::parser
Changed paths:
engines/m4/riddle/rooms/section8/room809.cpp
engines/m4/riddle/rooms/section8/room809.h
diff --git a/engines/m4/riddle/rooms/section8/room809.cpp b/engines/m4/riddle/rooms/section8/room809.cpp
index 05bc7681887..aba2694f507 100644
--- a/engines/m4/riddle/rooms/section8/room809.cpp
+++ b/engines/m4/riddle/rooms/section8/room809.cpp
@@ -279,14 +279,100 @@ void Room809::parser() {
break;
case 48:
+ //TODO Not implemented yet
+ break;
+
case 49:
+ _809rp01Mach = series_play("809rp01", 256, 16, 50, 5, 0, 100, 0, 0, 170, -1);
+ digi_play("809_s06", 2, 255, -1, -1);
+
+ break;
+
case 50:
+ player_set_commands_allowed(true);
+ inv_move_object("two soldiers' shields", 809);
+ kernel_timing_trigger(imath_ranged_rand(360, 540), 51, nullptr);
+
+ break;
+
case 51:
+ if (_field20 == 0 && inv_object_in_scene("two soldiers' shields", 809)) {
+ terminateMachine(_809rp01Mach);
+ _809rp01Mach = series_play("809shufl", 0, 17, -1, 7, 1, 100, 0, 0, 0, -1);
+ digi_play("809_s03", 2, 255, -1, -1);
+ kernel_timing_trigger(imath_ranged_rand(360, 540), 51, nullptr);
+ }
+
+ break;
+
case 52:
+ player_set_commands_allowed(true);
+ terminateMachine(_809rp01Mach);
+ ws_unhide_walker(_G(my_walker));
+ ws_demand_facing(_G(my_walker), 3);
+ ws_demand_location(_G(my_walker), 1346, 318);
+ // CHECKME: load and unload??
+ _809hallSeries = series_load("809rp01", -1, nullptr);
+ series_unload(_809hallSeries);
+
+ kernel_trigger_dispatchx(kernel_trigger_create(1));
+
+ break;
+
case 53:
+ player_set_commands_allowed(false);
+ player_update_info(_mcTrekMach, &_G(player_info));
+ if (_G(player_info).x < 1265) {
+ kernel_timing_trigger(30, 53, nullptr);
+ } else if (inv_object_in_scene("two soldiers' shields", 809)) {
+ _field20 = 1;
+ series_unload(0);
+ series_unload(1);
+ series_unload(3);
+ series_unload(4);
+
+ digi_preload("809_s04", -1);
+ digi_preload("809m05", -1);
+ digi_preload("809r19", -1);
+ digi_preload("809_s05", -1);
+
+ // CHECKME: load and unload??
+ _809hallSeries = series_load("809rp01", -1, nullptr);
+ series_unload(_809hallSeries);
+ _809hallSeries = series_load("809shufl", -1, nullptr);
+ series_unload(_809hallSeries);
+
+ terminateMachine(_809rp01Mach);
+ _809crossMach = series_stream("809cross", 5, 0, 56);
+ series_stream_break_on_frame(_809crossMach, 119, 55);
+ digi_play("809_s04", 2, 255, -1, -1);
+ digi_play("809M05", 1, 255, 54, -1);
+ } else if (_G(flags[V102])) {
+ digi_play("809M02", 1, 255, 64, -1);
+ } else {
+ _G(flags[V102]) = 1;
+ if (_G(flags[V103])) {
+ digi_play("809M02", 1, 255, 61, -1);
+ } else {
+ digi_play("809M02", 1, 255, 59, -1);
+ }
+ }
+ break;
+
case 54:
+ digi_play("809r19", 1, 255, -1, -1);
+ break;
+
case 55:
+ digi_play("809_s05", 2, 255, -1, -1);
+ break;
+
case 56:
+ _809crossMach = series_stream("809exit", 5, 0, -1);
+ series_stream_break_on_frame(_809crossMach, 49, 57);
+
+ break;
+
case 57:
case 58:
case 59:
diff --git a/engines/m4/riddle/rooms/section8/room809.h b/engines/m4/riddle/rooms/section8/room809.h
index e5362085011..0bf65270516 100644
--- a/engines/m4/riddle/rooms/section8/room809.h
+++ b/engines/m4/riddle/rooms/section8/room809.h
@@ -61,8 +61,9 @@ private:
int32 _ripTalkerPos5Series = 0;
int32 _ripTrekHeadTurnPos5Series = 0;
- machine *_809rp01Mach = nullptr;
+ machine *_809crossMach = nullptr;
machine *_809hallMach = nullptr;
+ machine *_809rp01Mach = nullptr;
machine *_mcTrekMach = nullptr;
};
More information about the Scummvm-git-logs
mailing list