[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