[Scummvm-git-logs] scummvm master -> fb31632d651fc5d576db5028b129798c75c2e669
Strangerke
noreply at scummvm.org
Sat Oct 5 07:20:15 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:
fb31632d65 M4: RIDDLE: Implement room 907
Commit: fb31632d651fc5d576db5028b129798c75c2e669
https://github.com/scummvm/scummvm/commit/fb31632d651fc5d576db5028b129798c75c2e669
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-05T09:20:08+02:00
Commit Message:
M4: RIDDLE: Implement room 907
Changed paths:
engines/m4/riddle/rooms/section9/room907.cpp
engines/m4/riddle/rooms/section9/room907.h
diff --git a/engines/m4/riddle/rooms/section9/room907.cpp b/engines/m4/riddle/rooms/section9/room907.cpp
index a15fa811475..cc317883fb5 100644
--- a/engines/m4/riddle/rooms/section9/room907.cpp
+++ b/engines/m4/riddle/rooms/section9/room907.cpp
@@ -21,6 +21,8 @@
#include "m4/riddle/rooms/section9/room907.h"
#include "m4/graphics/gr_series.h"
+#include "m4/gui/gui_sys.h"
+#include "m4/platform/keys.h"
#include "m4/riddle/vars.h"
namespace M4 {
@@ -28,13 +30,84 @@ namespace Riddle {
namespace Rooms {
void Room907::preload() {
+ _G(player).walker_type = WALKER_ALT;
+ _G(player).shadow_type = SHADOW_ALT;
_G(player).walker_in_this_scene = false;
}
void Room907::init() {
+ player_set_commands_allowed(false);
+ digi_preload("950_s11", 950);
+ digi_preload("907r01", -1);
+
+
+ _roomStates_tt = series_stream("zep flies low over sea", 6, 2560, -1);
+ series_stream_break_on_frame(_roomStates_tt, 8, 1);
+ interface_hide();
+ AddSystemHotkey(KEY_ESCAPE, escapePressed);
+ _G(kernel).call_daemon_every_loop = true;
+ kernel_timing_trigger(10, 8, nullptr);
}
void Room907::daemon() {
+ switch (_G(kernel).trigger) {
+ case 1:
+ series_stream_break_on_frame(_roomStates_tt, 70, 30);
+ kernel_timing_trigger(60, 29, nullptr);
+ break;
+
+ case 8:
+ digi_stop(1);
+ digi_unload("INTMOAN");
+ digi_play("950_s11", 2, 255, -1, -1);
+ kernel_timing_trigger(120, 10, nullptr);
+ break;
+
+ case 10:
+ digi_stop(1);
+ break;
+
+ case 30:
+ kernel_timing_trigger(60, 31, nullptr);
+ break;
+
+ case 31:
+ disable_player_commands_and_fade_init(40);
+ break;
+
+ case 29:
+ digi_play("907r01", 3, 255, 30, -1);
+ break;
+
+ case 40:
+ adv_kill_digi_between_rooms(false);
+ _G(game).new_room = 908;
+ break;
+
+ case 55:
+ _G(game).new_room = 304;
+ _G(game).new_section = 3;
+ break;
+
+ case 56:
+ _G(game).new_room = 494;
+ _G(game).new_section = 4;
+ break;
+
+ default:
+ break;
+ }
+
+ if (_G(MouseState).ButtonState)
+ _buttonDown = true;
+ else if (_buttonDown) {
+ _buttonDown = false;
+ disable_player_commands_and_fade_init(55);
+ }
+}
+
+void Room907::escapePressed(void *, void *) {
+ disable_player_commands_and_fade_init(56);
}
} // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section9/room907.h b/engines/m4/riddle/rooms/section9/room907.h
index ba1bc4a0c6f..460ba69ff13 100644
--- a/engines/m4/riddle/rooms/section9/room907.h
+++ b/engines/m4/riddle/rooms/section9/room907.h
@@ -23,6 +23,7 @@
#define M4_RIDDLE_ROOMS_SECTION9_ROOM907_H
#include "m4/core/rooms.h"
+#include "m4/wscript/ws_machine.h"
namespace M4 {
namespace Riddle {
@@ -36,6 +37,11 @@ public:
void preload() override;
void init() override;
void daemon() override;
+
+private:
+ static void escapePressed(void *, void *);
+ machine * _roomStates_tt = nullptr;
+ bool _buttonDown = false;
};
} // namespace Rooms
More information about the Scummvm-git-logs
mailing list