[Scummvm-git-logs] scummvm master -> 27962045ec4e498a4d6b8bcf141e948c0d0bf6a1

dreammaster noreply at scummvm.org
Thu Apr 23 12:06:06 UTC 2026


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
27962045ec MADS: PHANTOM: Fixes for final unmasking cutscene


Commit: 27962045ec4e498a4d6b8bcf141e948c0d0bf6a1
    https://github.com/scummvm/scummvm/commit/27962045ec4e498a4d6b8bcf141e948c0d0bf6a1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-04-23T22:05:55+10:00

Commit Message:
MADS: PHANTOM: Fixes for final unmasking cutscene

Changed paths:
    engines/mads/madsv2/core/player.cpp
    engines/mads/madsv2/phantom/rooms/room305.cpp


diff --git a/engines/mads/madsv2/core/player.cpp b/engines/mads/madsv2/core/player.cpp
index c8abdeb6b05..25bf044cca9 100644
--- a/engines/mads/madsv2/core/player.cpp
+++ b/engines/mads/madsv2/core/player.cpp
@@ -862,7 +862,14 @@ void player_new_command() {
 
 	// Be sure player moves immediately even if in the middle of a long
 	// stop-walker frame.
-	player.clock = MIN(player.clock, kernel.clock + series_list[player.series_base + player.series]->walker->frame_rate);
+	// WORKAROUND: For ROTP chandelier fight cutscene
+	if (!series_list[player.series_base + player.series])
+		return;
+	WalkerInfoPtr walker = series_list[player.series_base + player.series]->walker;
+	if (!walker)
+		return;
+
+	player.clock = MIN(player.clock, kernel.clock + walker->frame_rate);
 }
 
 void player_new_walk() {
diff --git a/engines/mads/madsv2/phantom/rooms/room305.cpp b/engines/mads/madsv2/phantom/rooms/room305.cpp
index 61572705457..d8cc92f057e 100644
--- a/engines/mads/madsv2/phantom/rooms/room305.cpp
+++ b/engines/mads/madsv2/phantom/rooms/room305.cpp
@@ -103,22 +103,23 @@ static void handle_animation_unmask() {
 		unmask_reset_frame = -1;
 
 		switch (local->unmask_frame) {
-		case 25:  /* end of struggle with phantom masked */
+		case 25:
+			// End of struggle with phantom masked
 			if (!local->unmask) {
 				unmask_reset_frame = 0;
 			}
 			break;
 
-		case 60:  /* somewhere when we can see phantom's face */
-			global_speech(10);
-
+		case 55:
+			// Somewhere when we can see phantom's face
 			kernel_message_add(quote_string(kernel.quotes, quote_305a0),
 				176, 53, MESSAGE_COLOR, SIX_SECONDS, 0, 0);
 			kernel_message_add(quote_string(kernel.quotes, quote_305a1),
 				176, 68, MESSAGE_COLOR, SIX_SECONDS, 0, 0);
 			break;
 
-		case 95:  /* end of unmasking */
+		case 67:
+			// End of unmasking
 			new_room = 306;
 			break;
 		}




More information about the Scummvm-git-logs mailing list