[Scummvm-git-logs] scummvm master -> e3ac0b3bb9797ecd7f726ce7d68dff12e7d20523
Strangerke
noreply at scummvm.org
Sat Oct 5 22:06:48 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:
e3ac0b3bb9 M4: RIDDLE: Implement room 917
Commit: e3ac0b3bb9797ecd7f726ce7d68dff12e7d20523
https://github.com/scummvm/scummvm/commit/e3ac0b3bb9797ecd7f726ce7d68dff12e7d20523
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-06T00:06:42+02:00
Commit Message:
M4: RIDDLE: Implement room 917
Changed paths:
engines/m4/riddle/rooms/section9/room917.cpp
engines/m4/riddle/rooms/section9/room917.h
diff --git a/engines/m4/riddle/rooms/section9/room917.cpp b/engines/m4/riddle/rooms/section9/room917.cpp
index d10592ac6bf..9f51c58cf92 100644
--- a/engines/m4/riddle/rooms/section9/room917.cpp
+++ b/engines/m4/riddle/rooms/section9/room917.cpp
@@ -28,13 +28,138 @@ namespace Riddle {
namespace Rooms {
void Room917::preload() {
+ _G(player).walker_type = WALKER_ALT;
+ _G(player).shadow_type = SHADOW_ALT;
_G(player).walker_in_this_scene = false;
}
void Room917::init() {
+ player_set_commands_allowed(false);
+ adv_kill_digi_between_rooms(false);
+ if (_G(flags)[V291]) {
+ digi_preload("950_s47", 950);
+ digi_preload("907r02", 950);
+ _roomStates_tt = series_stream("917zep01", 12, 256, -1);
+ kernel_timing_trigger(180, 1, nullptr);
+ digi_play_loop("950_s47", 3, 70, -1, 950);
+ } else {
+ digi_preload("908f01", 908);
+ digi_preload("908w01", 908);
+ digi_preload("908d01", 908);
+ digi_preload("riptheme", 917);
+ digi_preload("950_s48", 950);
+ digi_preload("950_s48a", 950);
+ digi_preload("950_s48b", 950);
+ digi_preload("950_s48c", 950);
+ digi_preload("950_s50", 950);
+ _roomStates_tt = series_stream("917zep02", 10, 256, -1);
+ series_stream_break_on_frame(_roomStates_tt, 1, 31);
+ digi_play("950_s50", 3, 180, 50, -1);
+ }
+ interface_hide();
+ _G(kernel).call_daemon_every_loop = true;
}
void Room917::daemon() {
+ switch (_G(kernel).trigger) {
+ case 1:
+ digi_play("907r02", 2, 255, 3, 907);
+ kernel_timing_trigger(180, 2, nullptr);
+ break;
+
+ case 2:
+ pal_fade_init(&_G(master_palette)[0], 0, 255, 0, 90, -1);
+ break;
+
+ case 3:
+ _G(flags)[V291] = true;
+ adv_kill_digi_between_rooms(false);
+ digi_play_loop("950_s47", 3, 70, -1, 950);
+ digi_stop(1);
+ digi_stop(2);
+ digi_unload("907R02");
+ _G(game).new_room = 918;
+ break;
+
+ case 11:
+ digi_play("908f01", 1, 255, 12, 908);
+ break;
+
+ case 12:
+ kernel_timing_trigger(45, 13, nullptr);
+ break;
+
+ case 13:
+ digi_play("908w01", 1, 255, 14, 908);
+ break;
+
+ case 14:
+ kernel_timing_trigger(65, 15, nullptr);
+ break;
+
+ case 31:
+ series_stream_break_on_frame(_roomStates_tt, 9, 32);
+ digi_play("950_s48", 2, 180, -1, -1);
+ break;
+
+ case 32:
+ series_stream_break_on_frame(_roomStates_tt, 19, 33);
+ digi_play("950_s48a", 2, 220, -1, -1);
+ break;
+
+ case 33:
+ series_stream_break_on_frame(_roomStates_tt, 26, 34);
+ digi_play("950_s48b", 2, 240, -1, -1);
+ break;
+
+ case 34:
+ series_stream_break_on_frame(_roomStates_tt, 57, 60);
+ digi_play("950_s48c", 2, 255, -1, -1);
+ kernel_timing_trigger(45, 35, nullptr);
+ break;
+
+ case 35:
+ digi_play("908d01", 1, 255, -1, 908);
+ break;
+
+ case 50:
+ digi_play("950_s50", 3, 110, -1, -1);
+ break;
+
+ case 60:
+ digi_play("950_s48b", 2, 255, -1, -1);
+ series_stream_break_on_frame(_roomStates_tt, 85, 70);
+ break;
+
+ case 70:
+ series_stream_break_on_frame(_roomStates_tt, 118, 80);
+ digi_play("riptheme", 3, 255, -1, 917);
+ break;
+
+ case 80:
+ disable_player_commands_and_fade_init(90);
+ digi_stop(1);
+ digi_stop(2);
+ break;
+
+ case 90:
+ adv_kill_digi_between_rooms(false);
+ digi_unload("907F01");
+ digi_unload("907W01");
+ digi_unload("907D01");
+ digi_unload("950_S48");
+ digi_unload("950_S48a");
+ digi_unload("950_S48b");
+ digi_unload("950_S48c");
+ digi_unload("950_S50");
+ MaxMem(nullptr);
+ _G(game).new_room = 493;
+ _G(game).new_section = 4;
+ break;
+
+ default:
+ break;
+ }
}
} // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section9/room917.h b/engines/m4/riddle/rooms/section9/room917.h
index 5c7e96115ad..faa6b3c79f2 100644
--- a/engines/m4/riddle/rooms/section9/room917.h
+++ b/engines/m4/riddle/rooms/section9/room917.h
@@ -23,6 +23,7 @@
#define M4_RIDDLE_ROOMS_SECTION9_ROOM917_H
#include "m4/core/rooms.h"
+#include "m4/wscript/ws_machine.h"
namespace M4 {
namespace Riddle {
@@ -36,6 +37,9 @@ public:
void preload() override;
void init() override;
void daemon() override;
+
+private:
+ machine * _roomStates_tt = nullptr;
};
} // namespace Rooms
More information about the Scummvm-git-logs
mailing list