[Scummvm-git-logs] scummvm master -> 1c7f7904a33666cea27decd4114da17853e3a3a2
Strangerke
noreply at scummvm.org
Fri Oct 4 03:57:46 UTC 2024
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b371c60d35 M4: RIDDLE: Add room 903
b6126b3035 M4: RIDDLE: Partial implementation of room 905
1c7f7904a3 M4: RIDDLE: Fix include in room 903
Commit: b371c60d35e35721e4bbe3e08962086c19a3f4d4
https://github.com/scummvm/scummvm/commit/b371c60d35e35721e4bbe3e08962086c19a3f4d4
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-04T05:57:24+02:00
Commit Message:
M4: RIDDLE: Add room 903
Changed paths:
engines/m4/riddle/rooms/section9/room903.cpp
engines/m4/riddle/rooms/section9/room903.h
diff --git a/engines/m4/riddle/rooms/section9/room903.cpp b/engines/m4/riddle/rooms/section9/room903.cpp
index 51d3f62e6cb..3011e9c0610 100644
--- a/engines/m4/riddle/rooms/section9/room903.cpp
+++ b/engines/m4/riddle/rooms/section9/room903.cpp
@@ -19,22 +19,105 @@
*
*/
+#include "m4/m4.h"
#include "m4/riddle/rooms/section9/room903.h"
#include "m4/graphics/gr_series.h"
+#include "m4/gui/gui_sys.h"
#include "m4/riddle/vars.h"
+#include "twp/ids.h"
namespace M4 {
namespace Riddle {
namespace Rooms {
void Room903::preload() {
+ _G(player).walker_type = WALKER_ALT;
+ _G(player).shadow_type = SHADOW_ALT;
_G(player).walker_in_this_scene = false;
}
+void Room903::escapePressed(void *, void *) {
+ _G(kernel).trigger_mode = KT_DAEMON;
+ disable_player_commands_and_fade_init(56);
+}
+
void Room903::init() {
+ player_set_commands_allowed(false);
+ digi_preload("INTMOAN", 901);
+ digi_preload("ricochet", 902);
+ series_load("903 hold frame");
+ interface_hide();
+ AddSystemHotkey(KEY_ESCAPE, escapePressed);
+ _G(kernel).call_daemon_every_loop = true;
+ kernel_timing_trigger(150, 100, nullptr);
}
void Room903::daemon() {
+ switch (_G(kernel).trigger) {
+ case 10:
+ kernel_timing_trigger(300, 20, nullptr);
+ break;
+
+ case 20:
+ case 201:
+ disable_player_commands_and_fade_init(30);
+ break;
+
+ case 30:
+ digi_stop(3);
+ adv_kill_digi_between_rooms(false);
+ _G(game).new_room = 905;
+ 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;
+
+ case 100:
+ _roomStates_field4 = series_stream("EVERYTHING IN 903", 6, 2560, 200);
+ series_stream_break_on_frame(_roomStates_field4, 59, 102);
+ break;
+
+ case 102:
+ digi_play("gunshot2", 3, 255, -1, 902);
+ series_stream_break_on_frame(_roomStates_field4, 63, 104);
+ break;
+
+ case 104:
+ digi_play("ricochet", 2, 255, -1, 902);
+ series_stream_break_on_frame(_roomStates_field4, 292, 106);
+ break;
+
+ case 106:
+ digi_play("INTMOAN", 2, 255, -1, 901);
+ break;
+
+ case 200:
+ digi_unload("introcu-");
+ digi_unload("gunshot1");
+ digi_unload("gunshot2");
+ digi_unload("ricochet");
+ MaxMem(nullptr);
+ series_plain_play("903 hold frame", -1, 0, 100, 256, 3000, -1, false);
+ kernel_timing_trigger(120, 201, nullptr);
+ break;
+
+ default:
+ break;
+ }
+
+ if (_G(MouseState).ButtonState)
+ buttonDown = true;
+ else if (buttonDown) {
+ buttonDown = false;
+ disable_player_commands_and_fade_init(55);
+ }
}
} // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section9/room903.h b/engines/m4/riddle/rooms/section9/room903.h
index 8c330c30086..2d8472158ee 100644
--- a/engines/m4/riddle/rooms/section9/room903.h
+++ b/engines/m4/riddle/rooms/section9/room903.h
@@ -36,6 +36,11 @@ public:
void preload() override;
void init() override;
void daemon() override;
+
+private:
+ machine *_roomStates_field4 = nullptr;
+ bool buttonDown = false;
+ static void escapePressed(void *, void *);
};
} // namespace Rooms
Commit: b6126b30356226679e978f12d54e1cb2700a7761
https://github.com/scummvm/scummvm/commit/b6126b30356226679e978f12d54e1cb2700a7761
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-04T05:57:24+02:00
Commit Message:
M4: RIDDLE: Partial implementation of room 905
Changed paths:
engines/m4/core/rooms.cpp
engines/m4/core/rooms.h
engines/m4/riddle/rooms/section9/room905.cpp
engines/m4/riddle/rooms/section9/room905.h
diff --git a/engines/m4/core/rooms.cpp b/engines/m4/core/rooms.cpp
index 65b8a58007e..b3d3f3976e3 100644
--- a/engines/m4/core/rooms.cpp
+++ b/engines/m4/core/rooms.cpp
@@ -453,6 +453,10 @@ void Sections::camera_shift_xy(int32 x, int32 y) {
_cameraShift_vert_Amount = -sc->y1 - y + _G(kernel).letter_box_y;
}
+void Sections::adv_camera_pan_step(int32 step) {
+ camera_pan_step = step;
+}
+
/*------------------------------------------------------------------------*/
Room *Section::operator[](uint roomNum) {
diff --git a/engines/m4/core/rooms.h b/engines/m4/core/rooms.h
index 25388198581..c4bfe7e166c 100644
--- a/engines/m4/core/rooms.h
+++ b/engines/m4/core/rooms.h
@@ -159,6 +159,7 @@ public:
void pal_game_task();
void camera_shift_xy(int32 x, int32 y);
+ void adv_camera_pan_step(int32 step);
bool game_camera_panning() const {
return _cameraShiftAmount != 0 || _cameraShift_vert_Amount != 0;
}
diff --git a/engines/m4/riddle/rooms/section9/room905.cpp b/engines/m4/riddle/rooms/section9/room905.cpp
index 64c078ca7e0..bc8a8f02df7 100644
--- a/engines/m4/riddle/rooms/section9/room905.cpp
+++ b/engines/m4/riddle/rooms/section9/room905.cpp
@@ -19,8 +19,11 @@
*
*/
+#include "m4/m4.h"
#include "m4/riddle/rooms/section9/room905.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 +31,81 @@ namespace Riddle {
namespace Rooms {
void Room905::preload() {
+ _G(player).walker_type = WALKER_ALT;
+ _G(player).shadow_type = SHADOW_ALT;
_G(player).walker_in_this_scene = false;
}
+void Room905::escapePressed(void *, void *) {
+ _G(kernel).trigger_mode = KT_DAEMON;
+ disable_player_commands_and_fade_init(56);
+}
+
void Room905::init() {
+ _roomStates_field4 = -1;
+ warning("Room 905 - large STUB in init");
+ series_load("905 hold frame", -1, nullptr);
+ g_engine->adv_camera_pan_step(3);
+ player_set_commands_allowed(false);
+ interface_hide();
+ AddSystemHotkey(KEY_ESCAPE, escapePressed);
+ _G(kernel).call_daemon_every_loop = true;
+ _roomStates_tt = series_stream("RIP EATS SAND WITH HIS ANUS", 5, 2560, 666);
+ series_stream_break_on_frame(_roomStates_tt, 50, 3);
}
void Room905::daemon() {
+ switch (_G(kernel).trigger - 3) {
+ case 0:
+ series_plain_play("905 hold frame", -1, 0, 100, 256, 3000);
+ break;
+
+ case 1:
+ _G(game).new_room = 494;
+ _G(game).new_section = 4;
+ break;
+
+ case 17:
+ _G(game).new_room = 304;
+ _G(game).new_section = 3;
+ break;
+
+ case 27:
+ _roomStates_field4 -= 3;
+ if (_roomStates_field4 <= 40) {
+ adv_kill_digi_between_rooms(false);
+ _G(game).new_room = 906;
+ } else {
+ digi_change_panning(1, _roomStates_field4);
+ kernel_timing_trigger(2, 30, nullptr);
+ }
+ break;
+
+ case 52:
+ disable_player_commands_and_fade_init(30);
+ break;
+
+ case 53:
+ if (g_engine->game_camera_panning())
+ kernel_timing_trigger(120, 4, nullptr);
+ else
+ kernel_timing_trigger(150, 20, nullptr);
+ break;
+
+ case 663:
+ g_engine->camera_shift_xy(0, 0);
+ kernel_timing_trigger(120, 4, nullptr);
+ digi_play("INTMOAN", 1, 255, -1, 901);
+ kernel_timing_trigger(60, 100, nullptr);
+ break;
+
+ default:
+ break;
+ }
+}
+
+void Room905::shutdown() {
+ warning("STUB - Room905::shutdown");
}
} // namespace Rooms
diff --git a/engines/m4/riddle/rooms/section9/room905.h b/engines/m4/riddle/rooms/section9/room905.h
index 86150c5f35d..053a1002459 100644
--- a/engines/m4/riddle/rooms/section9/room905.h
+++ b/engines/m4/riddle/rooms/section9/room905.h
@@ -36,6 +36,14 @@ public:
void preload() override;
void init() override;
void daemon() override;
+
+ void shutdown() override;
+
+
+private:
+ int _roomStates_field4;
+ static void escapePressed(void *, void *);
+ machine *_roomStates_tt = nullptr;
};
} // namespace Rooms
Commit: 1c7f7904a33666cea27decd4114da17853e3a3a2
https://github.com/scummvm/scummvm/commit/1c7f7904a33666cea27decd4114da17853e3a3a2
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2024-10-04T05:57:24+02:00
Commit Message:
M4: RIDDLE: Fix include in room 903
Changed paths:
engines/m4/riddle/rooms/section9/room903.cpp
diff --git a/engines/m4/riddle/rooms/section9/room903.cpp b/engines/m4/riddle/rooms/section9/room903.cpp
index 3011e9c0610..c74a6f5aa1c 100644
--- a/engines/m4/riddle/rooms/section9/room903.cpp
+++ b/engines/m4/riddle/rooms/section9/room903.cpp
@@ -23,8 +23,8 @@
#include "m4/riddle/rooms/section9/room903.h"
#include "m4/graphics/gr_series.h"
#include "m4/gui/gui_sys.h"
+#include "m4/platform/keys.h"
#include "m4/riddle/vars.h"
-#include "twp/ids.h"
namespace M4 {
namespace Riddle {
More information about the Scummvm-git-logs
mailing list