[Scummvm-git-logs] scummvm master -> 47ea74dd01c28cc4451512f704397929736d3cef

dreammaster noreply at scummvm.org
Mon Aug 17 01:42:57 UTC 2026


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

Summary:
0039530943 MADS: PHANTOM: Warnings cleanup. PVS-Studio V547, V1037, V590, V519
8b1a1bdc88 MADS: PHANTOM: Cleanup room 103 prompter stand. PVS-Studio V547
d4a178fed8 MADS: Simplify redunant KERNEL_RESTORING_GAME checks. PVS-Studio V590
381b22ba65 MADS: PHANTOM: Simplify some init previous_room checks. PVS-Studio V560
45c3c54ce5 MADS: PHANTOM: Warning fixes. PVS-Studio V560, V519, V1037
47ea74dd01 MADS: PHANTOM: Warning fixes. PVS-Studio V1037, V760, V1048


Commit: 003953094358e1fd045efd8e01a54f4a196f2dcb
    https://github.com/scummvm/scummvm/commit/003953094358e1fd045efd8e01a54f4a196f2dcb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:33+10:00

Commit Message:
MADS: PHANTOM: Warnings cleanup. PVS-Studio V547, V1037, V590, V519

Changed paths:
    engines/mads/phantom/main_menu.cpp
    engines/mads/phantom/menus.cpp
    engines/mads/phantom/rooms/room101.cpp


diff --git a/engines/mads/phantom/main_menu.cpp b/engines/mads/phantom/main_menu.cpp
index c77d74bd04f..e39a7358931 100644
--- a/engines/mads/phantom/main_menu.cpp
+++ b/engines/mads/phantom/main_menu.cpp
@@ -265,13 +265,6 @@ static void process_sprites() {
 				}
 			} else {
 				sprite = 1;
-				/*
-				if (count != selected_item) {
-				  sprite = 1;
-				} else {
-				  sprite = 2;
-				}
-				*/
 			}
 
 			image.series_id = (byte)menu_item[series].handle;
@@ -283,7 +276,7 @@ static void process_sprites() {
 			image.depth = 0;
 			image.scale = 100;
 
-			match = !(sprite <= MENU_HIGH_SPRITE);
+			match = false;
 
 			for (look = 0; !match && (look < (int)image_marker); look++) {
 				if (image_list[look].segment_id == image.segment_id) {
diff --git a/engines/mads/phantom/menus.cpp b/engines/mads/phantom/menus.cpp
index f86783d0c53..8b48108315b 100644
--- a/engines/mads/phantom/menus.cpp
+++ b/engines/mads/phantom/menus.cpp
@@ -328,9 +328,8 @@ static void global_menu_save_restore(int save) {
 			status = global_restore(selection);
 		}
 
-		if (status > 0)
-			// Dummy name to signal save/load went ok
-			Common::strcpy_s(save_game_buf, "OK");
+		// Dummy name to signal save/load went ok
+		Common::strcpy_s(save_game_buf, "OK");
 	}
 
 	if (status >= 0) {
@@ -451,6 +450,7 @@ static void global_menu_options() {
 			break;
 
 		case f1_key:
+		case f5_key:
 			kernel.activate_menu = GAME_MAIN_MENU;
 			break;
 
@@ -466,10 +466,6 @@ static void global_menu_options() {
 			kernel.activate_menu = GAME_SCORE_MENU;
 			break;
 
-		case f5_key:
-			kernel.activate_menu = GAME_MAIN_MENU;
-			break;
-
 		default:
 			kernel.activate_menu = GAME_MAIN_MENU;
 			break;
diff --git a/engines/mads/phantom/rooms/room101.cpp b/engines/mads/phantom/rooms/room101.cpp
index 1f4e7b4fef4..854f631afc2 100644
--- a/engines/mads/phantom/rooms/room101.cpp
+++ b/engines/mads/phantom/rooms/room101.cpp
@@ -141,7 +141,7 @@ void room_101_init() {
 			player_first_walk(OFF_SCREEN_X_FROM_202, OFF_SCREEN_Y_FROM_202, FACING_EAST,
 				PLAYER_X_FROM_202, PLAYER_Y_FROM_202, FACING_EAST, true);
 
-		} else if ((previous_room == 102) || (previous_room != KERNEL_RESTORING_GAME)) {
+		} else if (previous_room != KERNEL_RESTORING_GAME) {
 			player_first_walk(OFF_SCREEN_X_FROM_102, OFF_SCREEN_Y_FROM_102, FACING_WEST,
 				PLAYER_X_FROM_102, PLAYER_Y_FROM_102, FACING_WEST, true);
 			camera_jump_to(RIGHT_HALF, 0);


Commit: 8b1a1bdc88a8af2292788f623deec11659c66eb3
    https://github.com/scummvm/scummvm/commit/8b1a1bdc88a8af2292788f623deec11659c66eb3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:33+10:00

Commit Message:
MADS: PHANTOM: Cleanup room 103 prompter stand. PVS-Studio V547

Changed paths:
    engines/mads/phantom/rooms/room101.cpp
    engines/mads/phantom/rooms/room102.cpp
    engines/mads/phantom/rooms/room103.cpp


diff --git a/engines/mads/phantom/rooms/room101.cpp b/engines/mads/phantom/rooms/room101.cpp
index 854f631afc2..1836f032d3d 100644
--- a/engines/mads/phantom/rooms/room101.cpp
+++ b/engines/mads/phantom/rooms/room101.cpp
@@ -46,7 +46,6 @@ void room_101_init() {
 		local->execute_wipe = RESET;
 		local->start_walking = false;
 		local->start_walking_0 = false;
-		local->anim_0_running = false;
 		local->anim_0_running = true;
 
 		/* ======== When false, camera hasn't panned past 208 ======== */
diff --git a/engines/mads/phantom/rooms/room102.cpp b/engines/mads/phantom/rooms/room102.cpp
index 4ad2c7c3363..9c1f96a6039 100644
--- a/engines/mads/phantom/rooms/room102.cpp
+++ b/engines/mads/phantom/rooms/room102.cpp
@@ -112,7 +112,7 @@ void room_102_init() {
 		seq[fx_door]  = kernel_seq_stamp(ss[fx_door], false, 4);
 		kernel_seq_depth(seq[fx_door], 14);
 
-	} else if ((previous_room == 103) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x              = PLAYER_X_FROM_103;
 		player.y              = PLAYER_Y_FROM_103;
 		player.facing         = FACING_WEST;
diff --git a/engines/mads/phantom/rooms/room103.cpp b/engines/mads/phantom/rooms/room103.cpp
index ecfb87bee63..f918a5a01d2 100644
--- a/engines/mads/phantom/rooms/room103.cpp
+++ b/engines/mads/phantom/rooms/room103.cpp
@@ -1134,148 +1134,140 @@ void room_103_parser() {
 			if (global[prompter_stand_status] == PROMPT_LEFT) {
 				switch (kernel.trigger) {
 				case 0:
-					if (global[prompter_stand_status] == PROMPT_LEFT) {
-						player.commands_allowed = false;
-						player.walker_visible   = false;
-						aa[0]                   = kernel_run_animation(kernel_name('s', 1), ROOM_103_DONE_MOVING_PROMPT);
-						player.clock            = kernel.clock;
-						kernel_synch(KERNEL_ANIM, aa[0], KERNEL_PLAYER, 0);
-						kernel_seq_delete(seq[fx_steps]);
-					}
+					player.commands_allowed = false;
+					player.walker_visible   = false;
+					aa[0]                   = kernel_run_animation(kernel_name('s', 1), ROOM_103_DONE_MOVING_PROMPT);
+					player.clock            = kernel.clock;
+					kernel_synch(KERNEL_ANIM, aa[0], KERNEL_PLAYER, 0);
+					kernel_seq_delete(seq[fx_steps]);
 					break;
 
 				case ROOM_103_DONE_MOVING_PROMPT:
-					if (global[prompter_stand_status] == PROMPT_LEFT) {
-						seq[fx_rail_pieces] = kernel_seq_stamp(ss[fx_rail_pieces], false, 1);
-						kernel_seq_depth(seq[fx_rail_pieces], 1);
-						seq[fx_steps] = kernel_seq_stamp(ss[fx_steps], false, 1);
-						kernel_seq_depth(seq[fx_steps], 4);
-						kernel_seq_loc(seq[fx_steps], PROMPT_RIGHT_X, PROMPT_RIGHT_Y);
-						kernel_synch(KERNEL_SERIES, seq[fx_steps], KERNEL_ANIM, aa[0]);
-						global[prompter_stand_status] = PROMPT_RIGHT;
-						player.commands_allowed       = true;
-						player.walker_visible         = true;
-						player.x                      = AFTER_STEPS_FROM_LEFT_X;
-						player.y                      = AFTER_STEPS_FROM_LEFT_Y;
-						player_demand_facing(FACING_EAST);
-						kernel_synch(KERNEL_PLAYER, 0, KERNEL_ANIM, aa[0]);
-
-						kernel_delete_dynamic(local->prompt_1);
-						kernel_delete_dynamic(local->prompt_2);
-						kernel_delete_dynamic(local->prompt_3);
-						kernel_delete_dynamic(local->prompt_5);
-						kernel_delete_dynamic(local->floor_l_1);
-						kernel_delete_dynamic(local->floor_l_2);
-						local->prompt_1 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_RIGHT_1_X, DYN_PROMPT_RIGHT_1_Y,
-						                  DYN_PROMPT_X_SIZE_1, DYN_PROMPT_Y_SIZE_1);
-						kernel_dynamic_hot[local->prompt_1].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_1, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_2 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_RIGHT_2_X, DYN_PROMPT_RIGHT_2_Y,
-						                  DYN_PROMPT_X_SIZE_2, DYN_PROMPT_Y_SIZE_2);
-						kernel_dynamic_hot[local->prompt_2].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_2, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_3 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_RIGHT_3_X, DYN_PROMPT_RIGHT_3_Y,
-						                  DYN_PROMPT_X_SIZE_3, DYN_PROMPT_Y_SIZE_3);
-						kernel_dynamic_hot[local->prompt_3].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_3, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_4 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_RIGHT_4_X, DYN_PROMPT_RIGHT_4_Y,
-						                  DYN_PROMPT_X_SIZE_4, DYN_PROMPT_Y_SIZE_4);
-						kernel_dynamic_hot[local->prompt_4].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_4, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_5 = kernel_add_dynamic(words_prompter_s_stand, words_climb, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_RIGHT_5_X, DYN_PROMPT_LEFT_5_Y,
-						                  DYN_PROMPT_X_SIZE_5, DYN_PROMPT_Y_SIZE_5);
-						kernel_dynamic_hot[local->prompt_5].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_5, PROMPT_UP_RIGHT_X, PROMPT_UP_RIGHT_Y, FACING_SOUTHWEST);
-						kernel_dynamic_cursor(local->prompt_5, CURSOR_UP);
-
-						local->floor_r_1 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
-						                   DYN_FLOOR_R_1_X, DYN_FLOOR_R_1_Y,
-						                   DYN_FLOOR_R_1_X_SIZE, DYN_FLOOR_R_1_Y_SIZE);
-						kernel_dynamic_hot[local->floor_r_1].prep = PREP_ON;
-						kernel_dynamic_walk(local->floor_r_1, DYN_FLOOR_R_1_WALK_TO_X, DYN_FLOOR_R_1_WALK_TO_Y, 5);
-						local->floor_r_2 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
-						                   DYN_FLOOR_R_2_X, DYN_FLOOR_R_2_Y,
-						                   DYN_FLOOR_R_2_X_SIZE, DYN_FLOOR_R_2_Y_SIZE);
-						kernel_dynamic_hot[local->floor_r_2].prep = PREP_ON;
-						kernel_dynamic_walk(local->floor_r_2, DYN_FLOOR_R_2_WALK_TO_X, DYN_FLOOR_R_2_WALK_TO_Y, 5);
-						kernel_load_variant(1);
-						room_103_adjust_rails(1);
-					}
+					seq[fx_rail_pieces] = kernel_seq_stamp(ss[fx_rail_pieces], false, 1);
+					kernel_seq_depth(seq[fx_rail_pieces], 1);
+					seq[fx_steps] = kernel_seq_stamp(ss[fx_steps], false, 1);
+					kernel_seq_depth(seq[fx_steps], 4);
+					kernel_seq_loc(seq[fx_steps], PROMPT_RIGHT_X, PROMPT_RIGHT_Y);
+					kernel_synch(KERNEL_SERIES, seq[fx_steps], KERNEL_ANIM, aa[0]);
+					global[prompter_stand_status] = PROMPT_RIGHT;
+					player.commands_allowed       = true;
+					player.walker_visible         = true;
+					player.x                      = AFTER_STEPS_FROM_LEFT_X;
+					player.y                      = AFTER_STEPS_FROM_LEFT_Y;
+					player_demand_facing(FACING_EAST);
+					kernel_synch(KERNEL_PLAYER, 0, KERNEL_ANIM, aa[0]);
+
+					kernel_delete_dynamic(local->prompt_1);
+					kernel_delete_dynamic(local->prompt_2);
+					kernel_delete_dynamic(local->prompt_3);
+					kernel_delete_dynamic(local->prompt_5);
+					kernel_delete_dynamic(local->floor_l_1);
+					kernel_delete_dynamic(local->floor_l_2);
+					local->prompt_1 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_RIGHT_1_X, DYN_PROMPT_RIGHT_1_Y,
+						                DYN_PROMPT_X_SIZE_1, DYN_PROMPT_Y_SIZE_1);
+					kernel_dynamic_hot[local->prompt_1].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_1, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_2 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_RIGHT_2_X, DYN_PROMPT_RIGHT_2_Y,
+						                DYN_PROMPT_X_SIZE_2, DYN_PROMPT_Y_SIZE_2);
+					kernel_dynamic_hot[local->prompt_2].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_2, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_3 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_RIGHT_3_X, DYN_PROMPT_RIGHT_3_Y,
+						                DYN_PROMPT_X_SIZE_3, DYN_PROMPT_Y_SIZE_3);
+					kernel_dynamic_hot[local->prompt_3].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_3, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_4 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_RIGHT_4_X, DYN_PROMPT_RIGHT_4_Y,
+						                DYN_PROMPT_X_SIZE_4, DYN_PROMPT_Y_SIZE_4);
+					kernel_dynamic_hot[local->prompt_4].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_4, DYN_PROMPT_R_WALK_TO_X, DYN_PROMPT_R_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_5 = kernel_add_dynamic(words_prompter_s_stand, words_climb, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_RIGHT_5_X, DYN_PROMPT_LEFT_5_Y,
+						                DYN_PROMPT_X_SIZE_5, DYN_PROMPT_Y_SIZE_5);
+					kernel_dynamic_hot[local->prompt_5].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_5, PROMPT_UP_RIGHT_X, PROMPT_UP_RIGHT_Y, FACING_SOUTHWEST);
+					kernel_dynamic_cursor(local->prompt_5, CURSOR_UP);
+
+					local->floor_r_1 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_FLOOR_R_1_X, DYN_FLOOR_R_1_Y,
+						                DYN_FLOOR_R_1_X_SIZE, DYN_FLOOR_R_1_Y_SIZE);
+					kernel_dynamic_hot[local->floor_r_1].prep = PREP_ON;
+					kernel_dynamic_walk(local->floor_r_1, DYN_FLOOR_R_1_WALK_TO_X, DYN_FLOOR_R_1_WALK_TO_Y, 5);
+					local->floor_r_2 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_FLOOR_R_2_X, DYN_FLOOR_R_2_Y,
+						                DYN_FLOOR_R_2_X_SIZE, DYN_FLOOR_R_2_Y_SIZE);
+					kernel_dynamic_hot[local->floor_r_2].prep = PREP_ON;
+					kernel_dynamic_walk(local->floor_r_2, DYN_FLOOR_R_2_WALK_TO_X, DYN_FLOOR_R_2_WALK_TO_Y, 5);
+					kernel_load_variant(1);
+					room_103_adjust_rails(1);
 					break;
 				}
 			} else {
 				switch (kernel.trigger) {
 				case 0:
-					if (global[prompter_stand_status] == PROMPT_RIGHT) {
-						player.commands_allowed = false;
-						player.walker_visible   = false;
-						aa[0]                   = kernel_run_animation(kernel_name('s', 2), ROOM_103_DONE_MOVING_PROMPT);
-						player.clock            = kernel.clock;
-						kernel_synch(KERNEL_ANIM, aa[0], KERNEL_PLAYER, 0);
-						kernel_seq_delete(seq[fx_rail_pieces]);
-						kernel_seq_delete(seq[fx_steps]);
-					}
+					player.commands_allowed = false;
+					player.walker_visible   = false;
+					aa[0]                   = kernel_run_animation(kernel_name('s', 2), ROOM_103_DONE_MOVING_PROMPT);
+					player.clock            = kernel.clock;
+					kernel_synch(KERNEL_ANIM, aa[0], KERNEL_PLAYER, 0);
+					kernel_seq_delete(seq[fx_rail_pieces]);
+					kernel_seq_delete(seq[fx_steps]);
 					break;
 
 				case ROOM_103_DONE_MOVING_PROMPT:
-					if (global[prompter_stand_status] == PROMPT_RIGHT) {
-						seq[fx_steps] = kernel_seq_stamp(ss[fx_steps], false, 1);
-						kernel_seq_depth(seq[fx_steps], 4);
-						kernel_seq_loc(seq[fx_steps], PROMPT_LEFT_X, PROMPT_LEFT_Y);
-						kernel_synch(KERNEL_SERIES, seq[fx_steps], KERNEL_ANIM, aa[0]);
-						global[prompter_stand_status] = PROMPT_LEFT;
-						player.commands_allowed = true;
-						player.walker_visible   = true;
-						player.x                = AFTER_STEPS_FROM_RIGHT_X;
-						player.y                = AFTER_STEPS_FROM_RIGHT_Y;
-						player_demand_facing(FACING_WEST);
-						kernel_synch(KERNEL_PLAYER, 0, KERNEL_ANIM, aa[0]);
-						kernel_delete_dynamic(local->prompt_1);
-						kernel_delete_dynamic(local->prompt_2);
-						kernel_delete_dynamic(local->prompt_3);
-						kernel_delete_dynamic(local->prompt_4);
-						kernel_delete_dynamic(local->prompt_5);
-						kernel_delete_dynamic(local->floor_r_1);
-						kernel_delete_dynamic(local->floor_r_2);
-						local->prompt_1 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_LEFT_1_X, DYN_PROMPT_LEFT_1_Y,
-						                  DYN_PROMPT_X_SIZE_1, DYN_PROMPT_Y_SIZE_1);
-						kernel_dynamic_hot[local->prompt_1].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_1, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_2 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_LEFT_2_X, DYN_PROMPT_LEFT_2_Y,
-						                  DYN_PROMPT_X_SIZE_2, DYN_PROMPT_Y_SIZE_2);
-						kernel_dynamic_hot[local->prompt_2].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_2, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
-						local->prompt_3 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
-						                  DYN_PROMPT_LEFT_3_X, DYN_PROMPT_LEFT_3_Y,
-						                  DYN_PROMPT_X_SIZE_3, DYN_PROMPT_Y_SIZE_3);
-						kernel_dynamic_hot[local->prompt_3].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_3, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
-						local->floor_l_1 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
-						                   DYN_FLOOR_L_1_X, DYN_FLOOR_L_1_Y,
-						                   DYN_FLOOR_L_1_X_SIZE, DYN_FLOOR_L_1_Y_SIZE);
-						kernel_dynamic_hot[local->floor_l_1].prep = PREP_ON;
-						kernel_dynamic_walk(local->floor_l_1, DYN_FLOOR_L_1_WALK_TO_X, DYN_FLOOR_L_1_WALK_TO_Y, 5);
-						local->floor_l_2 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
-						                   DYN_FLOOR_L_2_X, DYN_FLOOR_L_2_Y,
-						                   DYN_FLOOR_L_2_X_SIZE, DYN_FLOOR_L_2_Y_SIZE);
-						kernel_dynamic_hot[local->floor_l_2].prep = PREP_ON;
-						kernel_dynamic_walk(local->floor_l_2, DYN_FLOOR_L_2_WALK_TO_X, DYN_FLOOR_L_2_WALK_TO_Y, 5);
-						local->prompt_5 = kernel_add_dynamic(words_prompter_s_stand, words_climb, SYNTAX_SINGULAR, KERNEL_NONE,
-						                   DYN_PROMPT_LEFT_5_X, DYN_PROMPT_LEFT_5_Y,
-						                   DYN_PROMPT_X_SIZE_5, DYN_PROMPT_Y_SIZE_5);
-						kernel_dynamic_hot[local->prompt_5].prep = PREP_ON;
-						kernel_dynamic_walk(local->prompt_5, PROMPT_UP_LEFT_X, PROMPT_UP_LEFT_Y, FACING_SOUTHWEST);
-						kernel_dynamic_cursor(local->prompt_5, CURSOR_UP);
-						kernel_load_variant(0);
-						room_103_adjust_rails(0);
-					}
+					seq[fx_steps] = kernel_seq_stamp(ss[fx_steps], false, 1);
+					kernel_seq_depth(seq[fx_steps], 4);
+					kernel_seq_loc(seq[fx_steps], PROMPT_LEFT_X, PROMPT_LEFT_Y);
+					kernel_synch(KERNEL_SERIES, seq[fx_steps], KERNEL_ANIM, aa[0]);
+					global[prompter_stand_status] = PROMPT_LEFT;
+					player.commands_allowed = true;
+					player.walker_visible   = true;
+					player.x                = AFTER_STEPS_FROM_RIGHT_X;
+					player.y                = AFTER_STEPS_FROM_RIGHT_Y;
+					player_demand_facing(FACING_WEST);
+					kernel_synch(KERNEL_PLAYER, 0, KERNEL_ANIM, aa[0]);
+					kernel_delete_dynamic(local->prompt_1);
+					kernel_delete_dynamic(local->prompt_2);
+					kernel_delete_dynamic(local->prompt_3);
+					kernel_delete_dynamic(local->prompt_4);
+					kernel_delete_dynamic(local->prompt_5);
+					kernel_delete_dynamic(local->floor_r_1);
+					kernel_delete_dynamic(local->floor_r_2);
+					local->prompt_1 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_LEFT_1_X, DYN_PROMPT_LEFT_1_Y,
+						                DYN_PROMPT_X_SIZE_1, DYN_PROMPT_Y_SIZE_1);
+					kernel_dynamic_hot[local->prompt_1].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_1, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_2 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_LEFT_2_X, DYN_PROMPT_LEFT_2_Y,
+						                DYN_PROMPT_X_SIZE_2, DYN_PROMPT_Y_SIZE_2);
+					kernel_dynamic_hot[local->prompt_2].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_2, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
+					local->prompt_3 = kernel_add_dynamic(words_prompter_s_stand, words_walk_to, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_LEFT_3_X, DYN_PROMPT_LEFT_3_Y,
+						                DYN_PROMPT_X_SIZE_3, DYN_PROMPT_Y_SIZE_3);
+					kernel_dynamic_hot[local->prompt_3].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_3, DYN_PROMPT_L_WALK_TO_X, DYN_PROMPT_L_WALK_TO_Y, FACING_NORTHWEST);
+					local->floor_l_1 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_FLOOR_L_1_X, DYN_FLOOR_L_1_Y,
+						                DYN_FLOOR_L_1_X_SIZE, DYN_FLOOR_L_1_Y_SIZE);
+					kernel_dynamic_hot[local->floor_l_1].prep = PREP_ON;
+					kernel_dynamic_walk(local->floor_l_1, DYN_FLOOR_L_1_WALK_TO_X, DYN_FLOOR_L_1_WALK_TO_Y, 5);
+					local->floor_l_2 = kernel_add_dynamic(words_floor, words_walk_across, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_FLOOR_L_2_X, DYN_FLOOR_L_2_Y,
+						                DYN_FLOOR_L_2_X_SIZE, DYN_FLOOR_L_2_Y_SIZE);
+					kernel_dynamic_hot[local->floor_l_2].prep = PREP_ON;
+					kernel_dynamic_walk(local->floor_l_2, DYN_FLOOR_L_2_WALK_TO_X, DYN_FLOOR_L_2_WALK_TO_Y, 5);
+					local->prompt_5 = kernel_add_dynamic(words_prompter_s_stand, words_climb, SYNTAX_SINGULAR, KERNEL_NONE,
+						                DYN_PROMPT_LEFT_5_X, DYN_PROMPT_LEFT_5_Y,
+						                DYN_PROMPT_X_SIZE_5, DYN_PROMPT_Y_SIZE_5);
+					kernel_dynamic_hot[local->prompt_5].prep = PREP_ON;
+					kernel_dynamic_walk(local->prompt_5, PROMPT_UP_LEFT_X, PROMPT_UP_LEFT_Y, FACING_SOUTHWEST);
+					kernel_dynamic_cursor(local->prompt_5, CURSOR_UP);
+					kernel_load_variant(0);
+					room_103_adjust_rails(0);
 					break;
 				}
 			}


Commit: d4a178fed888b6680ca8e9f891cfb234b695429f
    https://github.com/scummvm/scummvm/commit/d4a178fed888b6680ca8e9f891cfb234b695429f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:33+10:00

Commit Message:
MADS: Simplify redunant KERNEL_RESTORING_GAME checks. PVS-Studio V590

Changed paths:
    engines/mads/dragonsphere/rooms/room203.cpp
    engines/mads/dragonsphere/rooms/room301.cpp
    engines/mads/dragonsphere/rooms/room302.cpp
    engines/mads/dragonsphere/rooms/room303.cpp
    engines/mads/dragonsphere/rooms/room501.cpp
    engines/mads/dragonsphere/rooms/room503.cpp
    engines/mads/dragonsphere/rooms/room509.cpp
    engines/mads/dragonsphere/rooms/room606.cpp
    engines/mads/dragonsphere/rooms/room612.cpp
    engines/mads/dragonsphere/rooms/room613.cpp
    engines/mads/dragonsphere/rooms/room614.cpp
    engines/mads/phantom/rooms/room103.cpp
    engines/mads/phantom/rooms/room104.cpp
    engines/mads/phantom/rooms/room105.cpp
    engines/mads/phantom/rooms/room106.cpp
    engines/mads/phantom/rooms/room107.cpp
    engines/mads/phantom/rooms/room108.cpp
    engines/mads/phantom/rooms/room109.cpp
    engines/mads/phantom/rooms/room110.cpp
    engines/mads/phantom/rooms/room111.cpp
    engines/mads/phantom/rooms/room112.cpp
    engines/mads/phantom/rooms/room114.cpp
    engines/mads/phantom/rooms/room201.cpp
    engines/mads/phantom/rooms/room202.cpp
    engines/mads/phantom/rooms/room203.cpp
    engines/mads/phantom/rooms/room204.cpp
    engines/mads/phantom/rooms/room205.cpp
    engines/mads/phantom/rooms/room206.cpp
    engines/mads/phantom/rooms/room207.cpp
    engines/mads/phantom/rooms/room301.cpp
    engines/mads/phantom/rooms/room302.cpp
    engines/mads/phantom/rooms/room303.cpp
    engines/mads/phantom/rooms/room307.cpp
    engines/mads/phantom/rooms/room309.cpp
    engines/mads/phantom/rooms/room502.cpp
    engines/mads/phantom/rooms/room504.cpp
    engines/mads/phantom/rooms/room505.cpp
    engines/mads/phantom/rooms/room506.cpp


diff --git a/engines/mads/dragonsphere/rooms/room203.cpp b/engines/mads/dragonsphere/rooms/room203.cpp
index 7663e4c9491..3a0643a8dcb 100644
--- a/engines/mads/dragonsphere/rooms/room203.cpp
+++ b/engines/mads/dragonsphere/rooms/room203.cpp
@@ -475,7 +475,7 @@ static void room_203_init() {
 		player_first_walk(PLAYER_X_FROM_205, PLAYER_Y_FROM_205, FACING_WEST,
 		                  WALK_TO_X_FROM_205, WALK_TO_Y_FROM_205, FACING_WEST, true);
 		camera_jump_to(160, 0);
-	} else if ((previous_room == 201) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_201, PLAYER_Y_FROM_201, FACING_EAST,
 		                  WALK_TO_X_FROM_201, WALK_TO_Y_FROM_201, FACING_EAST, true);
 	}
diff --git a/engines/mads/dragonsphere/rooms/room301.cpp b/engines/mads/dragonsphere/rooms/room301.cpp
index 766890d4050..8dc5990c89a 100644
--- a/engines/mads/dragonsphere/rooms/room301.cpp
+++ b/engines/mads/dragonsphere/rooms/room301.cpp
@@ -255,7 +255,7 @@ static void room_301_init() {
 		player_first_walk(PLAYER_X_FROM_302, PLAYER_Y_FROM_302, FACING_EAST,
 		                  WALK_TO_X_FROM_302, WALK_TO_Y_FROM_302, FACING_EAST, true);
 
-	} else if ((previous_room == 120) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_120, PLAYER_Y_FROM_120, FACING_WEST,
 		                  WALK_TO_X_FROM_120, WALK_TO_Y_FROM_120, FACING_WEST, true);
 	}
diff --git a/engines/mads/dragonsphere/rooms/room302.cpp b/engines/mads/dragonsphere/rooms/room302.cpp
index dc8fce58206..0ea4799c3a0 100644
--- a/engines/mads/dragonsphere/rooms/room302.cpp
+++ b/engines/mads/dragonsphere/rooms/room302.cpp
@@ -592,7 +592,7 @@ static void room_302_init() {
 		player_first_walk(PLAYER_X_FROM_303, PLAYER_Y_FROM_303, FACING_EAST,
 		                  WALK_TO_X_FROM_303, WALK_TO_Y_FROM_303, FACING_EAST, true);
 
-	} else if ((previous_room == 301) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_301, PLAYER_Y_FROM_301, FACING_WEST,
 		                  WALK_TO_X_FROM_301, WALK_TO_Y_FROM_301, FACING_WEST, true);
 	}
diff --git a/engines/mads/dragonsphere/rooms/room303.cpp b/engines/mads/dragonsphere/rooms/room303.cpp
index fc2016259a6..2bcb515996c 100644
--- a/engines/mads/dragonsphere/rooms/room303.cpp
+++ b/engines/mads/dragonsphere/rooms/room303.cpp
@@ -432,7 +432,7 @@ static void room_303_init() {
 	}
 
 
-	if ((previous_room == 302) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 		camera_jump_to(160, 0);
 		player_first_walk(PLAYER_X_FROM_302, PLAYER_Y_FROM_302, FACING_WEST,
 		                  WALK_TO_X_FROM_302, WALK_TO_Y_FROM_302, FACING_WEST, true);
diff --git a/engines/mads/dragonsphere/rooms/room501.cpp b/engines/mads/dragonsphere/rooms/room501.cpp
index 841deb8441a..a26acdbca3c 100644
--- a/engines/mads/dragonsphere/rooms/room501.cpp
+++ b/engines/mads/dragonsphere/rooms/room501.cpp
@@ -73,7 +73,7 @@ static void room_501_init() {
 		                  PLAYER_X_FROM_120, PLAYER_Y_FROM_120, FACING_WEST, false);
 		player_walk_trigger(ROOM_501_BYE + 2);
 
-	} else if ((previous_room == 120) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_120, PLAYER_Y_FROM_120, FACING_WEST,
 		                  PLAYER_X_FROM_502, PLAYER_Y_FROM_502, FACING_NORTHWEST, false);
 		player_walk_trigger(ROOM_501_BYE);
diff --git a/engines/mads/dragonsphere/rooms/room503.cpp b/engines/mads/dragonsphere/rooms/room503.cpp
index 6682b8abde6..8ec558df51e 100644
--- a/engines/mads/dragonsphere/rooms/room503.cpp
+++ b/engines/mads/dragonsphere/rooms/room503.cpp
@@ -241,7 +241,7 @@ static void room_503_init() {
 			WALK_TO_X_FROM_504, WALK_TO_Y_FROM_504, FACING_SOUTHEAST, true);
 		camera_jump_to(160, 0);
 
-	} else if ((previous_room == 502) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_502, PLAYER_Y_FROM_502, FACING_WEST,
 			WALK_TO_X_FROM_502, WALK_TO_Y_FROM_502, FACING_WEST, true);
 		camera_jump_to(320, 0);
diff --git a/engines/mads/dragonsphere/rooms/room509.cpp b/engines/mads/dragonsphere/rooms/room509.cpp
index d25827014b7..803a505a9d3 100644
--- a/engines/mads/dragonsphere/rooms/room509.cpp
+++ b/engines/mads/dragonsphere/rooms/room509.cpp
@@ -331,7 +331,7 @@ static void room_509_init() {
 		player_first_walk(PLAYER_X_FROM_510, PLAYER_Y_FROM_510, FACING_EAST,
 		                  WALK_TO_X_FROM_510, WALK_TO_Y_FROM_510, FACING_SOUTHEAST, true);
 
-	} else if ((previous_room == 508) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_508, PLAYER_Y_FROM_508, FACING_WEST,
 		                  WALK_TO_X_FROM_508, WALK_TO_Y_FROM_508, FACING_NORTHWEST, true);
 	}
diff --git a/engines/mads/dragonsphere/rooms/room606.cpp b/engines/mads/dragonsphere/rooms/room606.cpp
index a8422c9c33c..249df7aae9e 100644
--- a/engines/mads/dragonsphere/rooms/room606.cpp
+++ b/engines/mads/dragonsphere/rooms/room606.cpp
@@ -542,7 +542,7 @@ static void room_606_init() {
 		kernel_seq_loc(seq[fx_elevator], ELEV_TOP_X, ELEV_TOP_Y);
 		kernel_timing_trigger(1, ROOM_606_RAT_TEXT);
 
-	} else if ((previous_room == 609) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(PLAYER_X_FROM_609, PLAYER_Y_FROM_609, FACING_SOUTH,
 		                  WALK_TO_X_FROM_609, WALK_TO_Y_FROM_609, FACING_SOUTH, true);
 		camera_jump_to(0, BOTTOM_FLOOR);
diff --git a/engines/mads/dragonsphere/rooms/room612.cpp b/engines/mads/dragonsphere/rooms/room612.cpp
index dedf58bb0f5..e3e04384ba5 100644
--- a/engines/mads/dragonsphere/rooms/room612.cpp
+++ b/engines/mads/dragonsphere/rooms/room612.cpp
@@ -165,7 +165,7 @@ static void room_612_init() {
 		aa[0] = kernel_run_animation(kernel_name('w', 1), 0);
 		kernel_reset_animation(aa[0], 37);
 
-	} else if ((previous_room == 606) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_606;
 		player.y = PLAYER_Y_FROM_606;
 		player.facing = FACING_NORTH;
diff --git a/engines/mads/dragonsphere/rooms/room613.cpp b/engines/mads/dragonsphere/rooms/room613.cpp
index ee77cb6012e..9953c3a29b5 100644
--- a/engines/mads/dragonsphere/rooms/room613.cpp
+++ b/engines/mads/dragonsphere/rooms/room613.cpp
@@ -157,7 +157,7 @@ static void room_613_init() {
 		seq[fx_right_coal] = kernel_seq_stamp(ss[fx_right_coal], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[fx_right_coal], 14);
 
-	} else if ((previous_room == 606) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 
 		if (global[floor_is_cool]) {
 			ss[fx_left_coal] = kernel_load_series(kernel_name('c', 0), false);
diff --git a/engines/mads/dragonsphere/rooms/room614.cpp b/engines/mads/dragonsphere/rooms/room614.cpp
index 3da05977f7e..3be585ae872 100644
--- a/engines/mads/dragonsphere/rooms/room614.cpp
+++ b/engines/mads/dragonsphere/rooms/room614.cpp
@@ -326,7 +326,7 @@ static void room_614_init() {
 		player.y = WALK_TO_Y_FROM_613;
 		player.facing = FACING_EAST;
 
-	} else if ((previous_room == 613) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.walker_visible = false;
 		player.commands_allowed = false;
 
diff --git a/engines/mads/phantom/rooms/room103.cpp b/engines/mads/phantom/rooms/room103.cpp
index f918a5a01d2..79013264979 100644
--- a/engines/mads/phantom/rooms/room103.cpp
+++ b/engines/mads/phantom/rooms/room103.cpp
@@ -398,7 +398,7 @@ void room_103_init() {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, 1);
 		kernel_seq_depth(seq[fx_door], 14);
 
-	} else if ((previous_room == 105) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x                = PLAYER_X_FROM_105;
 		player.y                = PLAYER_Y_FROM_105;
 		player.facing           = FACING_WEST;
@@ -408,7 +408,7 @@ void room_103_init() {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, 6);
 		kernel_seq_depth(seq[fx_door], 14);
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		if (local->top_of_stand == YES_LEFT) {
 			player.walker_visible = false;
 			aa[5]                 = kernel_run_animation(kernel_name('w', 3), 0);
diff --git a/engines/mads/phantom/rooms/room104.cpp b/engines/mads/phantom/rooms/room104.cpp
index aae4f953083..f0bc307ab9f 100644
--- a/engines/mads/phantom/rooms/room104.cpp
+++ b/engines/mads/phantom/rooms/room104.cpp
@@ -646,7 +646,7 @@ void room_104_init() {
 		player_first_walk(OFF_SCREEN_X_FROM_108, player.y, FACING_EAST,
 		                  PLAYER_X_FROM_108, player.y, FACING_EAST, true);
 
-	} else if ((previous_room == 107) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		if (player.x > 191) {
 			player.y = PLAYER_Y_FROM_107_3;
 		} else if (player.x > 104) {
diff --git a/engines/mads/phantom/rooms/room105.cpp b/engines/mads/phantom/rooms/room105.cpp
index 9792d9d9bc0..6681e534489 100644
--- a/engines/mads/phantom/rooms/room105.cpp
+++ b/engines/mads/phantom/rooms/room105.cpp
@@ -151,7 +151,7 @@ void room_105_init() {
 		seq[fx_door]  = kernel_seq_stamp(ss[fx_door], false, 1);
 		kernel_seq_depth(seq[fx_door], 10);
 
-	} else if ((previous_room == 103) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x                = PLAYER_X_FROM_103;
 		player.y                = PLAYER_Y_FROM_103;
 		player.facing           = FACING_SOUTHEAST;
diff --git a/engines/mads/phantom/rooms/room106.cpp b/engines/mads/phantom/rooms/room106.cpp
index 85d9b6fa3c8..2b754cfe5d1 100644
--- a/engines/mads/phantom/rooms/room106.cpp
+++ b/engines/mads/phantom/rooms/room106.cpp
@@ -167,7 +167,7 @@ void room_106_init() {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, 1);
 		kernel_seq_depth(seq[fx_door], 14);
 
-	} else if ((previous_room == 108) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_108, OFF_SCREEN_Y_FROM_108, FACING_SOUTHEAST,
 		                  PLAYER_X_FROM_108, PLAYER_Y_FROM_108, FACING_NORTHEAST, true);
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, 1);
diff --git a/engines/mads/phantom/rooms/room107.cpp b/engines/mads/phantom/rooms/room107.cpp
index 29f4dba6ea2..cc4d14d58c1 100644
--- a/engines/mads/phantom/rooms/room107.cpp
+++ b/engines/mads/phantom/rooms/room107.cpp
@@ -81,7 +81,7 @@ void room_107_init() {
 		player.facing = FACING_SOUTHWEST;
 		player_walk(WALK_TO_X_FROM_106, WALK_TO_Y_FROM_106, FACING_SOUTHWEST);
 
-	} else if ((previous_room == 104) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 
 		if (player.y > 128) {
 			player.x      = PLAYER_X_FROM_104_3;
diff --git a/engines/mads/phantom/rooms/room108.cpp b/engines/mads/phantom/rooms/room108.cpp
index 1d4f1b8cc2f..dbd4228586f 100644
--- a/engines/mads/phantom/rooms/room108.cpp
+++ b/engines/mads/phantom/rooms/room108.cpp
@@ -269,7 +269,7 @@ void room_108_init() {
 		player.facing = FACING_SOUTHEAST;
 		player_walk(WALK_TO_X_FROM_106, WALK_TO_Y_FROM_106, FACING_SOUTHEAST);
 
-	} else if ((previous_room == 104) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 
 		if (player.y > 128) {
 			player.x      = PLAYER_X_FROM_104_3;
diff --git a/engines/mads/phantom/rooms/room109.cpp b/engines/mads/phantom/rooms/room109.cpp
index 9aa28d45dc6..35998a133ad 100644
--- a/engines/mads/phantom/rooms/room109.cpp
+++ b/engines/mads/phantom/rooms/room109.cpp
@@ -111,7 +111,7 @@ void room_109_init() {
 		kernel_seq_depth(seq[fx_top_door], 14);
 		local->on_floor = 3;
 
-	} else if ((previous_room == 110) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x      = PLAYER_X_FROM_110;
 		player.y      = PLAYER_Y_FROM_110;
 		player.facing = FACING_EAST;
diff --git a/engines/mads/phantom/rooms/room110.cpp b/engines/mads/phantom/rooms/room110.cpp
index ced787c8753..fa15645d6da 100644
--- a/engines/mads/phantom/rooms/room110.cpp
+++ b/engines/mads/phantom/rooms/room110.cpp
@@ -82,7 +82,7 @@ void room_110_init() {
 		player.facing = FACING_SOUTH;
 		player_walk(WALK_TO_X_FROM_112, WALK_TO_Y_FROM_112, FACING_SOUTH);
 
-	} else if ((previous_room == 109) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_109, OFF_SCREEN_Y_FROM_109, FACING_WEST,
 		                  PLAYER_X_FROM_109, PLAYER_Y_FROM_109, FACING_WEST, true);
 	}
diff --git a/engines/mads/phantom/rooms/room111.cpp b/engines/mads/phantom/rooms/room111.cpp
index a865671467c..320ad43b1ad 100644
--- a/engines/mads/phantom/rooms/room111.cpp
+++ b/engines/mads/phantom/rooms/room111.cpp
@@ -186,7 +186,7 @@ void room_111_init() {
 			}
 		}
 
-	} else if ((previous_room == 109) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_109, OFF_SCREEN_Y_FROM_109, FACING_WEST,
 		                  PLAYER_X_FROM_109, PLAYER_Y_FROM_109, FACING_WEST, true);
 	}
diff --git a/engines/mads/phantom/rooms/room112.cpp b/engines/mads/phantom/rooms/room112.cpp
index 14bc71f2418..446ba30a601 100644
--- a/engines/mads/phantom/rooms/room112.cpp
+++ b/engines/mads/phantom/rooms/room112.cpp
@@ -359,7 +359,7 @@ void room_112_init() {
 		player.facing         = FACING_EAST;
 		player.walker_visible = false;
 
-	} else if ((previous_room == 110) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x      = PLAYER_X_FROM_110;
 		player.y      = PLAYER_Y_FROM_110;
 		player.facing = FACING_NORTH;
diff --git a/engines/mads/phantom/rooms/room114.cpp b/engines/mads/phantom/rooms/room114.cpp
index 14825b052ed..cde3b609dd1 100644
--- a/engines/mads/phantom/rooms/room114.cpp
+++ b/engines/mads/phantom/rooms/room114.cpp
@@ -83,7 +83,7 @@ void room_114_init() {
 
 	/* ========================= Previous Rooms ===================== */
 
-	if ((previous_room == 105) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x      = PLAYER_X_FROM_105;
 		player.y      = PLAYER_Y_FROM_105;
 		player.facing = FACING_WEST;
diff --git a/engines/mads/phantom/rooms/room201.cpp b/engines/mads/phantom/rooms/room201.cpp
index 011be352959..29ea957a1b9 100644
--- a/engines/mads/phantom/rooms/room201.cpp
+++ b/engines/mads/phantom/rooms/room201.cpp
@@ -312,7 +312,7 @@ void room_201_init() {
 
 	/* ========================= Previous Rooms ===================== */
 
-	if ((previous_room == 202) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_202;
 		player.y = PLAYER_Y_FROM_202;
 		player_walk(WALK_TO_X_FROM_202, WALK_TO_Y_FROM_202, FACING_SOUTHWEST);
diff --git a/engines/mads/phantom/rooms/room202.cpp b/engines/mads/phantom/rooms/room202.cpp
index 6ad336c2d41..bfd0c6c4a3c 100644
--- a/engines/mads/phantom/rooms/room202.cpp
+++ b/engines/mads/phantom/rooms/room202.cpp
@@ -506,7 +506,7 @@ void room_202_init() {
 		seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, 1);
 		kernel_seq_depth(seq[fx_left_door], 14);
 
-	} else if ((previous_room == 101) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x          = PLAYER_X_FROM_101;
 		player.y          = PLAYER_Y_FROM_101;
 		player_walk(WALK_TO_X_FROM_101, WALK_TO_Y_FROM_101, FACING_WEST);
diff --git a/engines/mads/phantom/rooms/room203.cpp b/engines/mads/phantom/rooms/room203.cpp
index f7505c332f9..56322ebf388 100644
--- a/engines/mads/phantom/rooms/room203.cpp
+++ b/engines/mads/phantom/rooms/room203.cpp
@@ -1830,7 +1830,7 @@ void room_203_init() {
 		conv_export_pointer(&global[christine_told_envelope]);
 		global[walker_converse] = imath_random(CONVERSE_LEAN, CONVERSE_HAND_CHIN);
 
-	} else if ((previous_room == 204) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, KERNEL_LAST);
 		kernel_seq_depth(seq[fx_door], 1);
 		player.x                = WALK_TO_X_BEHIND_DOOR;
diff --git a/engines/mads/phantom/rooms/room204.cpp b/engines/mads/phantom/rooms/room204.cpp
index bb09481e136..fa781e7a2e2 100644
--- a/engines/mads/phantom/rooms/room204.cpp
+++ b/engines/mads/phantom/rooms/room204.cpp
@@ -999,7 +999,7 @@ void room_204_init() {
 		conv_run(CONV_END_22);
 		conv_export_pointer(&global[player_score]);
 
-	} else if ((previous_room == 203) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(WALK_TO_X_BEHIND_DOOR - 10, WALK_TO_Y_BEHIND_DOOR, FACING_EAST,
 		                  WALK_TO_X_FROM_203, WALK_TO_Y_FROM_203, FACING_EAST, true);
 		player_walk_trigger(ROOM_204_DOOR_CLOSES);
diff --git a/engines/mads/phantom/rooms/room205.cpp b/engines/mads/phantom/rooms/room205.cpp
index f996ddc7921..f3ed784ca5e 100644
--- a/engines/mads/phantom/rooms/room205.cpp
+++ b/engines/mads/phantom/rooms/room205.cpp
@@ -1745,7 +1745,7 @@ void room_205_init() {
 		kernel_flip_hotspot(words_Monsieur_Richard, true);
 		conv_run(CONV_RICHARD_18);
 
-	} else if ((previous_room == 202) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 
 		if (global[jacques_status] == JACQUES_IS_DEAD) {
 			aa[0]                 = kernel_run_animation(kernel_name('b', 9), 1);
diff --git a/engines/mads/phantom/rooms/room206.cpp b/engines/mads/phantom/rooms/room206.cpp
index c014605ed88..5165590cb0c 100644
--- a/engines/mads/phantom/rooms/room206.cpp
+++ b/engines/mads/phantom/rooms/room206.cpp
@@ -536,7 +536,7 @@ void room_206_init() {
 		player_walk(PANEL_X, PANEL_Y, FACING_EAST);
 		player_walk_trigger(ROOM_206_FROM_308);
 
-	} else if ((previous_room == 205) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x      = PLAYER_X_FROM_205;
 		player.y      = PLAYER_Y_FROM_205;
 		player.facing = FACING_NORTH;
diff --git a/engines/mads/phantom/rooms/room207.cpp b/engines/mads/phantom/rooms/room207.cpp
index 2acffc7b2f6..031f965b59f 100644
--- a/engines/mads/phantom/rooms/room207.cpp
+++ b/engines/mads/phantom/rooms/room207.cpp
@@ -210,7 +210,7 @@ void room_207_init() {
 
 	/* Previous Rooms */
 
-	if ((previous_room == 205) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x      = PLAYER_X_FROM_205;
 		player.y      = PLAYER_Y_FROM_205;
 		player.facing = FACING_NORTH;
diff --git a/engines/mads/phantom/rooms/room301.cpp b/engines/mads/phantom/rooms/room301.cpp
index 0a4bd0a28d8..087f45e1112 100644
--- a/engines/mads/phantom/rooms/room301.cpp
+++ b/engines/mads/phantom/rooms/room301.cpp
@@ -122,7 +122,7 @@ void room_301_init() {
 			PLAYER_X_FROM_302, PLAYER_Y_FROM_302, FACING_EAST, true);
 		camera_jump_to(LEFT_STAGE, 0);
 
-	} else if ((previous_room == 106) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_106;
 		player.y = PLAYER_Y_FROM_106;
 		player.facing = FACING_WEST;
diff --git a/engines/mads/phantom/rooms/room302.cpp b/engines/mads/phantom/rooms/room302.cpp
index 2203e4583c6..3253ff4751b 100644
--- a/engines/mads/phantom/rooms/room302.cpp
+++ b/engines/mads/phantom/rooms/room302.cpp
@@ -72,7 +72,7 @@ void room_302_init() {
 	if (previous_room == 303) {
 		player_first_walk(OFF_SCREEN_X_FROM_303, OFF_SCREEN_Y_FROM_303, FACING_WEST,
 			PLAYER_X_FROM_303, PLAYER_Y_FROM_303, FACING_EAST, true);
-	} else if ((previous_room == 301) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_301, OFF_SCREEN_Y_FROM_301, FACING_WEST,
 			PLAYER_X_FROM_301, PLAYER_Y_FROM_301, FACING_WEST, true);
 	}
diff --git a/engines/mads/phantom/rooms/room303.cpp b/engines/mads/phantom/rooms/room303.cpp
index 6dca13742fc..26adae96aab 100644
--- a/engines/mads/phantom/rooms/room303.cpp
+++ b/engines/mads/phantom/rooms/room303.cpp
@@ -97,7 +97,7 @@ void room_303_init() {
 		player.y = PLAYER_Y_FROM_305;
 		player.facing = FACING_SOUTHWEST;
 
-	} else if ((previous_room == 302) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_302, OFF_SCREEN_Y_FROM_302, FACING_WEST,
 			PLAYER_X_FROM_302, PLAYER_Y_FROM_302, FACING_WEST, true);
 	}
diff --git a/engines/mads/phantom/rooms/room307.cpp b/engines/mads/phantom/rooms/room307.cpp
index 9d15d8204e2..041a7f778dc 100644
--- a/engines/mads/phantom/rooms/room307.cpp
+++ b/engines/mads/phantom/rooms/room307.cpp
@@ -75,7 +75,7 @@ void room_307_init() {
 		player_walk(END_X_FROM_308, END_Y_FROM_308, FACING_EAST);
 		player_walk_trigger(ROOM_307_DOOR_CLOSES);
 
-	} else if ((previous_room == 303) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player_first_walk(OFF_SCREEN_X_FROM_303, OFF_SCREEN_Y_FROM_303, FACING_WEST,
 			PLAYER_X_FROM_303, PLAYER_Y_FROM_303, FACING_WEST, true);
 	}
diff --git a/engines/mads/phantom/rooms/room309.cpp b/engines/mads/phantom/rooms/room309.cpp
index bb838a3a2d1..b36ab10f1fe 100644
--- a/engines/mads/phantom/rooms/room309.cpp
+++ b/engines/mads/phantom/rooms/room309.cpp
@@ -127,7 +127,7 @@ void room_309_init() {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[fx_door], 10);
 
-	} else if ((previous_room == 308) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_308;
 		player.y = PLAYER_Y_FROM_308;
 		player.facing = FACING_SOUTHEAST;
diff --git a/engines/mads/phantom/rooms/room502.cpp b/engines/mads/phantom/rooms/room502.cpp
index 5184b1d349d..d5a07fb703e 100644
--- a/engines/mads/phantom/rooms/room502.cpp
+++ b/engines/mads/phantom/rooms/room502.cpp
@@ -575,7 +575,7 @@ void room_502_init() {
 
 	/* ========================= Previous Rooms ================== */
 
-	if ((previous_room == 501) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 
 		if (!player.been_here_before) {
 
diff --git a/engines/mads/phantom/rooms/room504.cpp b/engines/mads/phantom/rooms/room504.cpp
index 6a9e232fc50..f4182b6ca94 100644
--- a/engines/mads/phantom/rooms/room504.cpp
+++ b/engines/mads/phantom/rooms/room504.cpp
@@ -227,7 +227,7 @@ void room_504_init() {
 		player.y = PLAYER_Y_FROM_502;
 		player.facing = FACING_EAST;
 
-	} else if ((previous_room == 502) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 
 		seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, 1);
 		kernel_seq_depth(seq[fx_left_door], 14);
diff --git a/engines/mads/phantom/rooms/room505.cpp b/engines/mads/phantom/rooms/room505.cpp
index bc5bf6e04b7..975206f659c 100644
--- a/engines/mads/phantom/rooms/room505.cpp
+++ b/engines/mads/phantom/rooms/room505.cpp
@@ -128,7 +128,7 @@ void room_505_init() {
 		}
 	}
 
-	if ((previous_room == 504) || (previous_room != KERNEL_RESTORING_GAME)) {
+	if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_504;
 		player.y = PLAYER_Y_FROM_504;
 		player.facing = FACING_EAST;
diff --git a/engines/mads/phantom/rooms/room506.cpp b/engines/mads/phantom/rooms/room506.cpp
index f0f2a8b81f9..8c79a168d05 100644
--- a/engines/mads/phantom/rooms/room506.cpp
+++ b/engines/mads/phantom/rooms/room506.cpp
@@ -160,7 +160,7 @@ void room_506_init() {
 			kernel_dynamic_anim(id, aa[0], 6);
 		}
 
-	} else if ((previous_room == 501) || (previous_room != KERNEL_RESTORING_GAME)) {
+	} else if (previous_room != KERNEL_RESTORING_GAME) {
 		player.x = PLAYER_X_FROM_501;
 		player.y = PLAYER_Y_FROM_501;
 		player.facing = FACING_EAST;


Commit: 381b22ba655fc0ad46ae3f301f7f4fc65ec5049e
    https://github.com/scummvm/scummvm/commit/381b22ba655fc0ad46ae3f301f7f4fc65ec5049e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:33+10:00

Commit Message:
MADS: PHANTOM: Simplify some init previous_room checks. PVS-Studio V560

Changed paths:
    engines/mads/phantom/rooms/room102.cpp
    engines/mads/phantom/rooms/room104.cpp
    engines/mads/phantom/rooms/room105.cpp
    engines/mads/phantom/rooms/room106.cpp
    engines/mads/phantom/rooms/room109.cpp
    engines/mads/phantom/rooms/room202.cpp
    engines/mads/phantom/rooms/room203.cpp
    engines/mads/phantom/rooms/room204.cpp
    engines/mads/phantom/rooms/room205.cpp
    engines/mads/phantom/rooms/room506.cpp


diff --git a/engines/mads/phantom/rooms/room102.cpp b/engines/mads/phantom/rooms/room102.cpp
index 9c1f96a6039..56b96bc66a3 100644
--- a/engines/mads/phantom/rooms/room102.cpp
+++ b/engines/mads/phantom/rooms/room102.cpp
@@ -119,7 +119,7 @@ void room_102_init() {
 		local->anim_0_running = true;
 		local->animation[0]   = kernel_run_animation(kernel_name('d', 1), ROOM_102_DOOR_CLOSES);
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		seq[fx_door]  = kernel_seq_stamp(ss[fx_door], false, 4);
 		kernel_seq_depth(seq[fx_door], 14);
 	}
diff --git a/engines/mads/phantom/rooms/room104.cpp b/engines/mads/phantom/rooms/room104.cpp
index f0bc307ab9f..6779d557fe9 100644
--- a/engines/mads/phantom/rooms/room104.cpp
+++ b/engines/mads/phantom/rooms/room104.cpp
@@ -646,7 +646,7 @@ void room_104_init() {
 		player_first_walk(OFF_SCREEN_X_FROM_108, player.y, FACING_EAST,
 		                  PLAYER_X_FROM_108, player.y, FACING_EAST, true);
 
-	} else if (previous_room != KERNEL_RESTORING_GAME) {
+	} else {
 		if (player.x > 191) {
 			player.y = PLAYER_Y_FROM_107_3;
 		} else if (player.x > 104) {
diff --git a/engines/mads/phantom/rooms/room105.cpp b/engines/mads/phantom/rooms/room105.cpp
index 6681e534489..7d70ab71e33 100644
--- a/engines/mads/phantom/rooms/room105.cpp
+++ b/engines/mads/phantom/rooms/room105.cpp
@@ -161,7 +161,7 @@ void room_105_init() {
 		seq[fx_door]            = kernel_seq_stamp(ss[fx_door], false, 8);
 		kernel_seq_depth(seq[fx_door], 10);
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[fx_door], 10);
 	}
diff --git a/engines/mads/phantom/rooms/room106.cpp b/engines/mads/phantom/rooms/room106.cpp
index 2b754cfe5d1..d681b65914d 100644
--- a/engines/mads/phantom/rooms/room106.cpp
+++ b/engines/mads/phantom/rooms/room106.cpp
@@ -173,7 +173,7 @@ void room_106_init() {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, 1);
 		kernel_seq_depth(seq[fx_door], 14);
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[fx_door], 14);
 	}
diff --git a/engines/mads/phantom/rooms/room109.cpp b/engines/mads/phantom/rooms/room109.cpp
index 35998a133ad..da8bfbd1c19 100644
--- a/engines/mads/phantom/rooms/room109.cpp
+++ b/engines/mads/phantom/rooms/room109.cpp
@@ -124,7 +124,7 @@ void room_109_init() {
 		kernel_seq_depth(seq[fx_middle_door], 14);
 		local->on_floor = 2;
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		if (local->on_floor == 2) {
 			camera_jump_to(0, MIDDLE_FLOOR);
 			kernel_room_scale(311, 95, 286, 78);
diff --git a/engines/mads/phantom/rooms/room202.cpp b/engines/mads/phantom/rooms/room202.cpp
index bfd0c6c4a3c..405aa7d9bba 100644
--- a/engines/mads/phantom/rooms/room202.cpp
+++ b/engines/mads/phantom/rooms/room202.cpp
@@ -514,7 +514,7 @@ void room_202_init() {
 		seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, 1);
 		kernel_seq_depth(seq[fx_left_door], 14);
 
-	} else if (previous_room == KERNEL_RESTORING_GAME) {
+	} else {
 		seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[fx_left_door], 14);
 	}
diff --git a/engines/mads/phantom/rooms/room203.cpp b/engines/mads/phantom/rooms/room203.cpp
index 56322ebf388..fb2ae54437e 100644
--- a/engines/mads/phantom/rooms/room203.cpp
+++ b/engines/mads/phantom/rooms/room203.cpp
@@ -1830,7 +1830,7 @@ void room_203_init() {
 		conv_export_pointer(&global[christine_told_envelope]);
 		global[walker_converse] = imath_random(CONVERSE_LEAN, CONVERSE_HAND_CHIN);
 
-	} else if (previous_room != KERNEL_RESTORING_GAME) {
+	} else {
 		seq[fx_door] = kernel_seq_stamp(ss[fx_door], false, KERNEL_LAST);
 		kernel_seq_depth(seq[fx_door], 1);
 		player.x                = WALK_TO_X_BEHIND_DOOR;
diff --git a/engines/mads/phantom/rooms/room204.cpp b/engines/mads/phantom/rooms/room204.cpp
index fa781e7a2e2..3fbf627d7e6 100644
--- a/engines/mads/phantom/rooms/room204.cpp
+++ b/engines/mads/phantom/rooms/room204.cpp
@@ -999,7 +999,7 @@ void room_204_init() {
 		conv_run(CONV_END_22);
 		conv_export_pointer(&global[player_score]);
 
-	} else if (previous_room != KERNEL_RESTORING_GAME) {
+	} else {
 		player_first_walk(WALK_TO_X_BEHIND_DOOR - 10, WALK_TO_Y_BEHIND_DOOR, FACING_EAST,
 		                  WALK_TO_X_FROM_203, WALK_TO_Y_FROM_203, FACING_EAST, true);
 		player_walk_trigger(ROOM_204_DOOR_CLOSES);
diff --git a/engines/mads/phantom/rooms/room205.cpp b/engines/mads/phantom/rooms/room205.cpp
index f3ed784ca5e..abbe02cfa86 100644
--- a/engines/mads/phantom/rooms/room205.cpp
+++ b/engines/mads/phantom/rooms/room205.cpp
@@ -1745,7 +1745,7 @@ void room_205_init() {
 		kernel_flip_hotspot(words_Monsieur_Richard, true);
 		conv_run(CONV_RICHARD_18);
 
-	} else if (previous_room != KERNEL_RESTORING_GAME) {
+	} else {
 
 		if (global[jacques_status] == JACQUES_IS_DEAD) {
 			aa[0]                 = kernel_run_animation(kernel_name('b', 9), 1);
diff --git a/engines/mads/phantom/rooms/room506.cpp b/engines/mads/phantom/rooms/room506.cpp
index 8c79a168d05..5aba9870712 100644
--- a/engines/mads/phantom/rooms/room506.cpp
+++ b/engines/mads/phantom/rooms/room506.cpp
@@ -160,7 +160,7 @@ void room_506_init() {
 			kernel_dynamic_anim(id, aa[0], 6);
 		}
 
-	} else if (previous_room != KERNEL_RESTORING_GAME) {
+	} else {
 		player.x = PLAYER_X_FROM_501;
 		player.y = PLAYER_Y_FROM_501;
 		player.facing = FACING_EAST;


Commit: 45c3c54ce5d479a6bb90cf093ecb65496a49db3f
    https://github.com/scummvm/scummvm/commit/45c3c54ce5d479a6bb90cf093ecb65496a49db3f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:33+10:00

Commit Message:
MADS: PHANTOM: Warning fixes. PVS-Studio V560, V519, V1037

Changed paths:
    engines/mads/phantom/rooms/room108.cpp
    engines/mads/phantom/rooms/room111.cpp
    engines/mads/phantom/rooms/room202.cpp
    engines/mads/phantom/rooms/room204.cpp
    engines/mads/phantom/rooms/room205.cpp


diff --git a/engines/mads/phantom/rooms/room108.cpp b/engines/mads/phantom/rooms/room108.cpp
index dbd4228586f..3248cd6f42b 100644
--- a/engines/mads/phantom/rooms/room108.cpp
+++ b/engines/mads/phantom/rooms/room108.cpp
@@ -397,14 +397,13 @@ static void process_conversation_charles() {
 	/* ==================== Set up me and you triggers ============== */
 
 	if ((player_verb != conv002_nomore_first) &&
-	    (player_verb != conv002_saytwo_abc) &&
-	    (player_verb != conv002_sayone_abc) &&
-	    (player_verb != conv002_interrogate_chandelier) &&
-	    (player_verb != conv002_interrogate_giry) &&
-	    (player_verb != conv002_interrogate_phantom) &&
-	    (player_verb != conv002_answers_job) &&
-	    (local->char_action != CONV2_CHAR_WRITE) &&
-	    (player_verb != conv002_sayone_abc)) {
+			(player_verb != conv002_saytwo_abc) &&
+			(player_verb != conv002_sayone_abc) &&
+			(player_verb != conv002_interrogate_chandelier) &&
+			(player_verb != conv002_interrogate_giry) &&
+			(player_verb != conv002_interrogate_phantom) &&
+			(player_verb != conv002_answers_job) &&
+			(local->char_action != CONV2_CHAR_WRITE)) {
 		conv_you_trigger(ROOM_108_CHAR_TALK);
 		conv_me_trigger(ROOM_108_CHAR_SHUT_UP);
 	}
diff --git a/engines/mads/phantom/rooms/room111.cpp b/engines/mads/phantom/rooms/room111.cpp
index 320ad43b1ad..6a801fd4f1b 100644
--- a/engines/mads/phantom/rooms/room111.cpp
+++ b/engines/mads/phantom/rooms/room111.cpp
@@ -178,7 +178,6 @@ void room_111_init() {
 				/* Daae kicked Raoul out — send to daemon to close door */
 				player_walk_trigger(ROOM_111_MADE_IT_OUT_DOOR);
 				player.commands_allowed        = false;
-				player.commands_allowed        = false;
 				global[christine_door_status]  = CHRIS_DOOR_CLOSED;
 				global[chris_kicked_raoul_out] = true;
 				global[hint_that_daae_is_home_1] = true;
diff --git a/engines/mads/phantom/rooms/room202.cpp b/engines/mads/phantom/rooms/room202.cpp
index 405aa7d9bba..ca7e51c0cd2 100644
--- a/engines/mads/phantom/rooms/room202.cpp
+++ b/engines/mads/phantom/rooms/room202.cpp
@@ -274,13 +274,10 @@ static void handle_animation_degas() {
 				degas_reset_frame = 1;
 				break; /* do talk */
 
-			case 2:
-				degas_reset_frame = 58;
-				break; /* pull bag up under arm (new node) */
-
-			case 3:
+			case 2: /* pull bag up under arm (new node) */
+			case 3: /* pull bag up under arm (new node) while shutting up */
 				degas_reset_frame = 58;
-				break; /* pull bag up under arm (new node) while shutting up */
+				break; 
 
 			default:
 				degas_reset_frame = 0;
diff --git a/engines/mads/phantom/rooms/room204.cpp b/engines/mads/phantom/rooms/room204.cpp
index 3fbf627d7e6..396ddc0675c 100644
--- a/engines/mads/phantom/rooms/room204.cpp
+++ b/engines/mads/phantom/rooms/room204.cpp
@@ -162,10 +162,6 @@ static void handle_animation_flor() {
 			local->raoul_action = CONV22_RAOUL_SHUT_UP;
 			break;
 
-		case 86:  /* a few frames just after kiss (where Florent leaves) */
-			conv_release();
-			break;
-
 		case 173: /* end of leave */
 			flor_reset_frame = 172;
 			break;
@@ -187,6 +183,7 @@ static void handle_animation_flor() {
 
 		case 21:  /* end of Raoul awaking          */
 		case 180: /* end of Raoul glancing to case */
+		case 86:  /* a few frames just after kiss (where Florent leaves) */
 			conv_release();
 			break;
 
diff --git a/engines/mads/phantom/rooms/room205.cpp b/engines/mads/phantom/rooms/room205.cpp
index abbe02cfa86..820c79a61c5 100644
--- a/engines/mads/phantom/rooms/room205.cpp
+++ b/engines/mads/phantom/rooms/room205.cpp
@@ -355,6 +355,8 @@ static void handle_animation_giry() {
 
 		switch (local->giry_frame) {
 		case 77:  /* almost end of trance */
+		case 85:  /* just starting to walk to left door */
+		case 66:  /* almost at end of getting to trance */
 			conv_release();
 			break;
 
@@ -567,10 +569,6 @@ static void handle_animation_giry() {
 			}
 			break;
 
-		case 85:  /* just starting to walk to left door */
-			conv_release();
-			break;
-
 		case 110:  /* almost end of unlock box 5 */
 			kernel_flip_hotspot_loc(words_Madame_Giry, true, HS_MADAME_X_L_1, HS_MADAME_Y_L_1);
 			kernel_flip_hotspot_loc(words_Madame_Giry, true, HS_MADAME_X_L_2, HS_MADAME_Y_L_2);
@@ -615,10 +613,6 @@ static void handle_animation_giry() {
 			}
 			break;
 
-		case 66:  /* almost at end of getting to trance */
-			conv_release();
-			break;
-
 		case 67:  /* end of trance and freeze */
 
 			switch (local->giry_action) {


Commit: 47ea74dd01c28cc4451512f704397929736d3cef
    https://github.com/scummvm/scummvm/commit/47ea74dd01c28cc4451512f704397929736d3cef
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-17T11:42:34+10:00

Commit Message:
MADS: PHANTOM: Warning fixes. PVS-Studio V1037, V760, V1048

Changed paths:
    engines/mads/phantom/rooms/room304.cpp
    engines/mads/phantom/rooms/room502.cpp
    engines/mads/phantom/rooms/room504.cpp
    engines/mads/phantom/rooms/room505.cpp


diff --git a/engines/mads/phantom/rooms/room304.cpp b/engines/mads/phantom/rooms/room304.cpp
index 0195933e412..a0db23c7316 100644
--- a/engines/mads/phantom/rooms/room304.cpp
+++ b/engines/mads/phantom/rooms/room304.cpp
@@ -407,6 +407,7 @@ static void handle_animation_raoul_fight() {
 
 		switch (local->raoul_fight_frame) {
 		case 22:  /* almost end of climbing down rope */
+		case 45:
 			conv_release();
 			break;
 
@@ -432,10 +433,6 @@ static void handle_animation_raoul_fight() {
 			local->raoul_fight_action = CONV23_RAOUL_TALK;
 			break;
 
-		case 45:
-			conv_release();
-			break;
-
 		case 46:  /* end of jumping down to second level and talk 1 */
 		case 47:  /* end of talk 2 */
 		case 48:  /* end of talk 3 */
diff --git a/engines/mads/phantom/rooms/room502.cpp b/engines/mads/phantom/rooms/room502.cpp
index d5a07fb703e..5f36b4c82c9 100644
--- a/engines/mads/phantom/rooms/room502.cpp
+++ b/engines/mads/phantom/rooms/room502.cpp
@@ -689,6 +689,7 @@ void room_502_parser() {
 		break;
 
 	case ROOM_502_ROW_1 + 1:
+	case ROOM_502_ROW_2 + 1:
 		temp = seq[fx_pusher];
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_SERIES, temp);
 		player.walker_visible = true;
@@ -709,15 +710,6 @@ void room_502_parser() {
 		goto handled;
 		break;
 
-	case ROOM_502_ROW_2 + 1:
-		temp = seq[fx_pusher];
-		kernel_synch(KERNEL_PLAYER, 0, KERNEL_SERIES, temp);
-		player.walker_visible = true;
-		player.commands_allowed = true;
-		kernel_timing_trigger(5, ROOM_502_ROW_3 + 2);
-		goto handled;
-		break;
-
 	case ROOM_502_ROW_3:
 		player.commands_allowed = false;
 		player.walker_visible = false;
@@ -731,6 +723,7 @@ void room_502_parser() {
 		break;
 
 	case ROOM_502_ROW_3 + 1:
+	case ROOM_502_ROW_4 + 1:
 		temp = seq[fx_pusher];
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_SERIES, temp);
 		player.walker_visible = true;
@@ -756,14 +749,6 @@ void room_502_parser() {
 		goto handled;
 		break;
 
-	case ROOM_502_ROW_4 + 1:
-		temp = seq[fx_pusher];
-		kernel_synch(KERNEL_PLAYER, 0, KERNEL_SERIES, temp);
-		player.walker_visible = true;
-		kernel_timing_trigger(5, ROOM_502_ROW_3 + 2);
-		goto handled;
-		break;
-
 	case ROOM_502_TRAP_DOOR_OPEN:
 		seq[fx_trap_door] = kernel_seq_stamp(ss[fx_trap_door], false, 6);
 		kernel_flip_hotspot_loc(words_rope, true, TRAP_DOOR_HS_X, TRAP_DOOR_HS_Y);
diff --git a/engines/mads/phantom/rooms/room504.cpp b/engines/mads/phantom/rooms/room504.cpp
index f4182b6ca94..556e369e2c8 100644
--- a/engines/mads/phantom/rooms/room504.cpp
+++ b/engines/mads/phantom/rooms/room504.cpp
@@ -417,8 +417,7 @@ void room_504_init() {
 			kernel_draw_to_background(ss[fx_trap_door], 1, KERNEL_HOME, KERNEL_HOME, 0, 100);
 			seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, 1);
 			kernel_seq_depth(seq[fx_left_door], 14);
-			seq[fx_left_door] = kernel_seq_stamp(ss[fx_left_door], false, 1);
-			kernel_seq_depth(seq[fx_left_door], 14);
+
 			if (!global[he_listened]) {
 				kernel_timing_trigger(HALF_SECOND, ROOM_504_FROM_502 + 2);
 				/* start listen conversation */
@@ -1047,8 +1046,6 @@ static void handle_animation_play_organ() {
 static void handle_animation_phantom_1() {
 	int phan_reset_frame;
 
-
-
 	if (kernel_anim[aa[3]].frame != local->phan_frame) {
 		local->phan_frame = kernel_anim[aa[3]].frame;
 		phan_reset_frame = -1;
@@ -1154,7 +1151,6 @@ static void handle_animation_phantom_1() {
 			aa[3] = kernel_run_animation(kernel_name('p', 2), ROOM_504_RUN_PART_3);
 
 			kernel_reset_animation(aa[3], 27);
-			phan_reset_frame = -1;
 			local->anim_3_running = false;
 			local->anim_4_running = true;  /* still keep aa[3], though */
 			break;
@@ -1168,8 +1164,6 @@ static void handle_animation_phantom_1() {
 	}
 }
 
-
-
 static void handle_animation_phantom_2() {
 	int phan_reset_frame;
 
@@ -1324,7 +1318,6 @@ static void handle_animation_chair() {
 			break;
 
 		case 47:
-			chair_reset_frame = -1;
 			player.commands_allowed = true;
 			player.walker_visible = true;
 			player.ready_to_walk = true;
@@ -1341,7 +1334,6 @@ static void handle_animation_chair() {
 	}
 }
 
-
 void room_504_daemon() {
 	int id;
 
diff --git a/engines/mads/phantom/rooms/room505.cpp b/engines/mads/phantom/rooms/room505.cpp
index 975206f659c..05d5f9112b1 100644
--- a/engines/mads/phantom/rooms/room505.cpp
+++ b/engines/mads/phantom/rooms/room505.cpp
@@ -217,9 +217,6 @@ static void process_conversation_coffin() {
 		break;
 
 	case ROOM_505_END_CONV + 1:
-		conv_release();
-		break;
-
 	case ROOM_505_START_CONV:
 		conv_release();
 		break;




More information about the Scummvm-git-logs mailing list