[Scummvm-git-logs] scummvm master -> 38873b38840557ac1da73782afd75043ecdbc54d

dreammaster noreply at scummvm.org
Mon Jun 29 12:13:54 UTC 2026


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

Summary:
74fe590cc2 MADS: FOREST: Cleanup of journal room
92ba6ed57e MADS: FOREST: Only allow saving when commands are allowed
796c418419 MADS: FOREST: Fixes for not redundantly drawing selected item
38873b3884 MADS: FOREST: Tunnel global named


Commit: 74fe590cc26d262fddc1725a8392b18d6b9b3145
    https://github.com/scummvm/scummvm/commit/74fe590cc26d262fddc1725a8392b18d6b9b3145
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T22:13:44+10:00

Commit Message:
MADS: FOREST: Cleanup of journal room

Changed paths:
    engines/mads/madsv2/forest/rooms/room199.cpp


diff --git a/engines/mads/madsv2/forest/rooms/room199.cpp b/engines/mads/madsv2/forest/rooms/room199.cpp
index 617f3fd47f2..73bcd334282 100644
--- a/engines/mads/madsv2/forest/rooms/room199.cpp
+++ b/engines/mads/madsv2/forest/rooms/room199.cpp
@@ -39,7 +39,7 @@ namespace Rooms {
 struct Scratch {
 	int16 sprite[16];
 	int16 sequence[16];
-	int16 val3;
+	int16 needed_item_num;
 	int16 val4;
 	int16 bg_active;
 	int16 bg_frame;
@@ -107,7 +107,7 @@ static void room_199_init() {
 	global[g009] = -1;
 	global_midi_play(7);
 
-	local->val3      = -1;
+	local->needed_item_num      = -1;
 	local->val4      = 0;
 	local->anim_flag  = 0;
 	local->anim_frame = -1;
@@ -162,95 +162,95 @@ static int room_199_has_materials() {
 		player_has(planks) && player_has(sticks) ? 1 : 0;
 }
 
-static void room_199_anim2() {
+static void room_199_iterate_missing_items() {
 	if (kernel.trigger == 7)
 		kernel_timing_trigger(30, 28);
 	if (kernel.trigger != 28)
 		return;
 
-	switch (local->val3) {
+	switch (local->needed_item_num) {
 	case 1:
 		if (!player_has(stick))
 			digi_play_build(521, 'e', 6, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 2;
+		local->needed_item_num = 2;
 		break;
 	case 2:
 		if (!player_has(planks))
 			digi_play_build(521, 'e', 10, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 3;
+		local->needed_item_num = 3;
 		break;
 	case 3:
 		if (!player_has(elm_leaves))
 			digi_play_build(521, 'e', 3, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 4;
+		local->needed_item_num = 4;
 		break;
 	case 4:
 		if (!player_has(web)) digi_play_build(521, 'e', 8, 1);
 		else kernel_timing_trigger(2, 28);
-		local->val3 = 5;
+		local->needed_item_num = 5;
 		break;
 	case 5:
 		if (!player_has(vine_weed))
 			digi_play_build(521, 'e', 9, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 6;
+		local->needed_item_num = 6;
 		break;
 	case 6:
 		if (!player_has(twine)) digi_play_build(521, 'e', 20, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 7;
+		local->needed_item_num = 7;
 		break;
 	case 7:
 		if (!player_has(feather))
 			digi_play_build(521, 'e', 5, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 8;
+		local->needed_item_num = 8;
 		break;
 	case 8:
 		if (!player_has(reeds))
 			digi_play_build(521, 'e', 2, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 9;
+		local->needed_item_num = 9;
 		break;
 	case 9:
 		if (!player_has(lily_pad))
 			digi_play_build(521, 'e', 7, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 10;
+		local->needed_item_num = 10;
 		break;
 	case 10:
 		if (!player_has(cogs))
 			digi_play_build(521, 'e', 4, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 11;
+		local->needed_item_num = 11;
 		break;
 	case 11:
 		if (!player_has(sticks))
 			digi_play_build(521, 'e', 21, 1);
 		else
 			kernel_timing_trigger(2, 28);
-		local->val3 = 12;
+		local->needed_item_num = 12;
 		break;
 	case 12:
 		digi_play_build(521, 'b', 1, 1);
-		local->val3 = 20;
+		local->needed_item_num = 14;
 		break;
 	case 14:
-		local->val4      = 0;
-		local->val3      = -1;
-		local->anim_flag  = 0;
+		local->val4 = 0;
+		local->needed_item_num = -1;
+		local->anim_flag = 0;
 		kernel_timing_trigger(2, 113);
 		break;
 	default:
@@ -259,7 +259,7 @@ static void room_199_anim2() {
 }
 
 static void room_199_anim3() {
-	switch (local->val3) {
+	switch (local->needed_item_num) {
 	case 1:  digi_play_build(521, 'e', 6, 1);  break;
 	case 2:  digi_play_build(521, 'e', 10, 1); break;
 	case 3:  digi_play_build(521, 'e', 3, 1);  break;
@@ -278,12 +278,12 @@ static void room_199_anim3() {
 static void room_199_anim4() {
 	if (kernel.trigger == 7) {
 		kernel_timing_trigger(15, 28);
-		local->val3++;
+		local->needed_item_num++;
 	}
 	if (kernel.trigger != 28)
 		return;
 
-	switch (local->val3) {
+	switch (local->needed_item_num) {
 	case 1:
 		if (player_has(stick)) {
 			ss[8] = kernel_load_series("*ob014i", 0);
@@ -384,7 +384,7 @@ static void room_199_anim4() {
 		kernel_timing_trigger(15, 115); return;
 	case 12:
 		local->val4 = 0;
-		local->val3 = -1;
+		local->needed_item_num = -1;
 		kernel_timing_trigger(30, 114);
 		return;
 	default:
@@ -393,48 +393,61 @@ static void room_199_anim4() {
 }
 
 static void room_199_daemon() {
-	int16 trig = kernel.trigger;
+	int hasMaterials;
 
-	if (trig == 7) {
+	switch (kernel.trigger) {
+	case 7:
 		if (local->anim_frame == 11) {
 			local->anim_frame = -1;
 			kernel_timing_trigger(30, 113);
 		}
-	} else if (trig == 111) {
+		break;
+
+	case 111:
 		global[g070] = 0;
 		leave_journal();
 		player.commands_allowed = true;
-	} else if (trig == 112) {
-		local->val3 = 0;
+		break;
+
+	case 112:
+		local->needed_item_num = 0;
 		local->val4 = -1;
 		digi_play_build(521, 'e', 1, 1);
-	} else if (trig == 113) {
+		break;
+
+	case 113:
 		leave_journal();
 		player.commands_allowed = true;
-	} else if (trig == 114) {
-		int result = room_199_has_materials();
-		global[g100] = result;
-		if (result) {
+		break;
+
+	case 114:
+		hasMaterials = room_199_has_materials();
+		global[g100] = hasMaterials;
+		if (hasMaterials) {
+			// Got everything we need
 			digi_play_build(521, 'e', 11, 1);
 			local->anim_frame = 11;
 		} else {
-			local->val3      = 1;
+			// Start iterating through items to list what's missing
+			local->needed_item_num = 1;
 			local->anim_flag  = -1;
 			digi_play_build(521, 'e', 12, 1);
-			room_199_anim2();
+			room_199_iterate_missing_items();
 		}
-	} else if (trig == 115) {
+		break;
+
+	case 115:
 		room_199_anim3();
+		break;
+
+	default:
+		break;
 	}
 
 	if (local->val4 != 0)
 		room_199_anim4();
 	if (local->anim_flag != 0)
-		room_199_anim2();
-}
-
-static void room_199_pre_parser() {
-	// No implementation
+		room_199_iterate_missing_items();
 }
 
 static void room_199_parser2() {
@@ -583,7 +596,7 @@ done:
 void room_199_synchronize(Common::Serializer &s) {
 	for (int16 &v : scratch.sprite)    s.syncAsSint16LE(v);
 	for (int16 &v : scratch.sequence)  s.syncAsSint16LE(v);
-	s.syncAsSint16LE(scratch.val3);
+	s.syncAsSint16LE(scratch.needed_item_num);
 	s.syncAsSint16LE(scratch.val4);
 	s.syncAsSint16LE(scratch.bg_active);
 	s.syncAsSint16LE(scratch.bg_frame);
@@ -593,7 +606,6 @@ void room_199_synchronize(Common::Serializer &s) {
 
 void room_199_preload() {
 	room_init_code_pointer = room_199_init;
-	room_pre_parser_code_pointer = room_199_pre_parser;
 	room_parser_code_pointer = room_199_parser;
 	room_daemon_code_pointer = room_199_daemon;
 


Commit: 92ba6ed57eb4aa2c3c29d15478982f755ee2f115
    https://github.com/scummvm/scummvm/commit/92ba6ed57eb4aa2c3c29d15478982f755ee2f115
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T22:13:44+10:00

Commit Message:
MADS: FOREST: Only allow saving when commands are allowed

Changed paths:
    engines/mads/madsv2/forest/forest.cpp


diff --git a/engines/mads/madsv2/forest/forest.cpp b/engines/mads/madsv2/forest/forest.cpp
index df539385cf4..5d195381ac4 100644
--- a/engines/mads/madsv2/forest/forest.cpp
+++ b/engines/mads/madsv2/forest/forest.cpp
@@ -141,7 +141,7 @@ void ForestEngine::global_section_constructor() {
 }
 
 bool ForestEngine::canLoadGameStateCurrently(Common::U32String *msg) {
-	return game.going && !win_status && !kernel.activate_menu &&
+	return game.going && !win_status && !kernel.activate_menu && player.commands_allowed &&
 		inter_input_mode == INTER_LIMITED_SENTENCES && section_id != 9;
 }
 


Commit: 796c418419c16885d1339f3f68a6f392c9bd7e08
    https://github.com/scummvm/scummvm/commit/796c418419c16885d1339f3f68a6f392c9bd7e08
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T22:13:44+10:00

Commit Message:
MADS: FOREST: Fixes for not redundantly drawing selected item

Changed paths:
    engines/mads/madsv2/core/game.cpp
    engines/mads/madsv2/forest/extra.cpp


diff --git a/engines/mads/madsv2/core/game.cpp b/engines/mads/madsv2/core/game.cpp
index fdbe0f7767f..803e3317a34 100644
--- a/engines/mads/madsv2/core/game.cpp
+++ b/engines/mads/madsv2/core/game.cpp
@@ -1504,7 +1504,7 @@ void game_control() {
 			player.clock = kernel.clock;
 			player_stationary_update();
 
-			if (active_inven >= 0) {
+			if (g_engine->getGameID() != GType_Forest && active_inven >= 0) {
 				inter_spin_object(inven[active_inven]);
 			} else {
 				inter_turn_off_object();
diff --git a/engines/mads/madsv2/forest/extra.cpp b/engines/mads/madsv2/forest/extra.cpp
index cd102bef847..fb50d11d874 100644
--- a/engines/mads/madsv2/forest/extra.cpp
+++ b/engines/mads/madsv2/forest/extra.cpp
@@ -122,35 +122,32 @@ void unload_interface() {
 }
 
 void draw_interface() {
-	// Once Upon a Forest uses a custom interface
+	// Draw backpack icon
 	stamp_sprite_to_interface(BP_X, BP_Y, 1, int_sprite[fx_int_backpack]);
-	if (global[Forest::walker_converse_state]) {  // candle_is_on
+
+	// Draw candle cion
+	if (global[Forest::walker_converse_state]) {
 		stamp_sprite_to_interface(CANDLE_X, CANDLE_Y, 1, int_sprite[fx_int_candle_on]);
 	} else {
 		stamp_sprite_to_interface(CANDLE_X, CANDLE_Y, 1, int_sprite[fx_int_candle]);
 	}
+
+	// Draw door icon
 	stamp_sprite_to_interface(DOOR_X, DOOR_Y, 1, int_sprite[fx_int_exit]);
 
-	if (room_id != 199) {  // Taranjeet, if this is not journal room
+	// Draw journal icon, except when in journal room
+	if (room_id != 199) {
 		stamp_sprite_to_interface(JOURNAL_X, JOURNAL_Y, 1, int_sprite[fx_int_journal]);
 	}
-
 }
 
 void do_interface() {
-	if (mouse_y > 156 &&
-		mouse_stop_stroke &&
-		player.commands_allowed &&
-		/* global[4] == -1 && */
-		!kernel.trigger &&
-		/* player.command_ready && */
-		inter_input_mode == INTER_LIMITED_SENTENCES &&
-		!global[inventory_is_displayed]
-		/* pl conv_control.running < 0 */) {
+	if (mouse_y > 156 && mouse_stop_stroke && player.commands_allowed &&
+			!kernel.trigger && inter_input_mode == INTER_LIMITED_SENTENCES &&
+			!global[inventory_is_displayed]) {
+		// Interface click handling
 		if (room_id == 199) {
-			// Taranjeet's Journal
 			leave_journal();
-
 		} else if (mouse_x < 64) {
 			display_journal();
 		} else if (mouse_x < 139) {


Commit: 38873b38840557ac1da73782afd75043ecdbc54d
    https://github.com/scummvm/scummvm/commit/38873b38840557ac1da73782afd75043ecdbc54d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T22:13:44+10:00

Commit Message:
MADS: FOREST: Tunnel global named

Changed paths:
    engines/mads/madsv2/forest/forest.cpp
    engines/mads/madsv2/forest/global.h
    engines/mads/madsv2/forest/rooms/room106.cpp
    engines/mads/madsv2/forest/rooms/room203.cpp
    engines/mads/madsv2/forest/rooms/room210.cpp
    engines/mads/madsv2/forest/rooms/room302.cpp
    engines/mads/madsv2/forest/rooms/room305.cpp
    engines/mads/madsv2/forest/rooms/room307.cpp
    engines/mads/madsv2/forest/rooms/room322.cpp


diff --git a/engines/mads/madsv2/forest/forest.cpp b/engines/mads/madsv2/forest/forest.cpp
index 5d195381ac4..61840529d5f 100644
--- a/engines/mads/madsv2/forest/forest.cpp
+++ b/engines/mads/madsv2/forest/forest.cpp
@@ -102,9 +102,14 @@ void ForestEngine::global_init_code() {
 	global[player_score] = -1;
 	global[g022] = 0;
 
+	// Randomly select the destinations for the passageways in the underground quick transport area
 	int16 table[5] = { 106, 203, 302, 305, 307 };
+	int16 *const global_ptrs[5] = {
+		&global[tunnel_1_room], &global[tunnel_2_room], &global[tunnel_3_room],
+		&global[tunnel_4_room], &global[tunnel_5_room]
+	};
 
-	for (int16 *dest : { &global[g041], &global[g042], &global[g043], &global[g044], &global[g045] }) {
+	for (int16 *dest : global_ptrs) {
 		int pick;
 		do {
 			int index = imath_random(0, 4);
diff --git a/engines/mads/madsv2/forest/global.h b/engines/mads/madsv2/forest/global.h
index 5c847f1e4df..2196fe32be9 100644
--- a/engines/mads/madsv2/forest/global.h
+++ b/engines/mads/madsv2/forest/global.h
@@ -51,7 +51,7 @@ enum {
 	g018                      =  18,
 	g019                      =  19,
 	g020                      =  20,
-	g021                      =  21,
+	tunnel_exit_1_opened      =  21,
 	g022                      =  22,
 	g023                      =  23,
 	g024                      =  24,
@@ -70,12 +70,12 @@ enum {
 	g037                      =  37,
 	g038                      =  38,
 	g039                      =  39,
-	g040                      =  40,
-	g041                      =  41,
-	g042                      =  42,
-	g043                      =  43,
-	g044                      =  44,
-	g045                      =  45,
+	tunnel_exit_2_opened      =  40,
+	tunnel_1_room             =  41,
+	tunnel_2_room             =  42,
+	tunnel_3_room             =  43,
+	tunnel_4_room             =  44,
+	tunnel_5_room             =  45,
 	g046                      =  46,
 	g047                      =  47,
 	g048                      =  48,
@@ -90,10 +90,10 @@ enum {
 	g057                      =  57,
 	g058                      =  58,
 	g059                      =  59,
-	g060                      =  60,
-	g061                      =  61,
+	tunnel_exit_4_opened      =  60,
+	tunnel_exit_5_opened      =  61,
 	g062                      =  62,
-	g063                      =  63,
+	tunnel_exit_3_opened      =  63,
 	g064                      =  64,
 	g065                      =  65,
 	g066                      =  66,
diff --git a/engines/mads/madsv2/forest/rooms/room106.cpp b/engines/mads/madsv2/forest/rooms/room106.cpp
index 0045cf39c46..489f8edec2d 100644
--- a/engines/mads/madsv2/forest/rooms/room106.cpp
+++ b/engines/mads/madsv2/forest/rooms/room106.cpp
@@ -598,7 +598,7 @@ static void room_106_daemon() {
 		break;
 	case 103:
 		if (scratch._90 == 6) {
-			global[g021] = -1;
+			global[tunnel_exit_1_opened] = -1;
 			new_room = 210;
 		}
 		break;
diff --git a/engines/mads/madsv2/forest/rooms/room203.cpp b/engines/mads/madsv2/forest/rooms/room203.cpp
index ca964400e14..21e50bdc8e6 100644
--- a/engines/mads/madsv2/forest/rooms/room203.cpp
+++ b/engines/mads/madsv2/forest/rooms/room203.cpp
@@ -1463,7 +1463,7 @@ static void room_203_daemon() {
 
 		switch (local->_96) {
 		case 50:
-			global[g040] = -1;
+			global[tunnel_exit_2_opened] = -1;
 			new_room = 210;
 			break;
 
diff --git a/engines/mads/madsv2/forest/rooms/room210.cpp b/engines/mads/madsv2/forest/rooms/room210.cpp
index 6426f14a352..f7b648984b4 100644
--- a/engines/mads/madsv2/forest/rooms/room210.cpp
+++ b/engines/mads/madsv2/forest/rooms/room210.cpp
@@ -97,7 +97,7 @@ static void room_210_init1() {
 	if (previous_room == 322)
 		previous_room = 307;
 
-	if (previous_room == global[g041]) {
+	if (previous_room == global[tunnel_1_room]) {
 		aa[0] = kernel_run_animation(kernel_name('y', 1), 100);
 		aainfo[0]._active = -1;
 		aainfo[0]._frame = 0;
@@ -105,7 +105,7 @@ static void room_210_init1() {
 		return;
 	}
 
-	if (previous_room == global[g042]) {
+	if (previous_room == global[tunnel_2_room]) {
 		aa[0] = kernel_run_animation(kernel_name('y', 2), 100);
 		aainfo[0]._active = -1;
 		aainfo[0]._frame = 0;
@@ -113,7 +113,7 @@ static void room_210_init1() {
 		return;
 	}
 
-	if (previous_room == global[g043]) {
+	if (previous_room == global[tunnel_3_room]) {
 		aa[0] = kernel_run_animation(kernel_name('y', 3), 100);
 		aainfo[0]._active = -1;
 		aainfo[0]._frame = 0;
@@ -121,7 +121,7 @@ static void room_210_init1() {
 		return;
 	}
 
-	if (previous_room == global[g044]) {
+	if (previous_room == global[tunnel_4_room]) {
 		aa[0] = kernel_run_animation(kernel_name('y', 4), 100);
 		aainfo[0]._active = -1;
 		aainfo[0]._frame = 0;
@@ -129,7 +129,7 @@ static void room_210_init1() {
 		return;
 	}
 
-	if (previous_room == global[g045]) {
+	if (previous_room == global[tunnel_5_room]) {
 		aa[0] = kernel_run_animation(kernel_name('y', 5), 100);
 		scratch._92 = 88;
 		aainfo[0]._active = -1;
@@ -189,61 +189,61 @@ static void room_210_anim1() {
 	if (kernel_anim[aa[0]].frame != aainfo[0]._frame)
 		aainfo[0]._frame = kernel_anim[aa[0]].frame;
 
-	if (global[player_hyperwalked] != -1)
-		return;
-	aainfo[0]._frame = scratch._92 - 1;
-	kernel_reset_animation(aa[0], aainfo[0]._frame);
+	if (global[player_hyperwalked] == -1) {
+		aainfo[0]._frame = scratch._92 - 1;
+		kernel_reset_animation(aa[0], aainfo[0]._frame);
+	}
 }
 
 static void room_210_anim2() {
 	if (kernel_anim[aa[1]].frame != aainfo[1]._frame)
 		aainfo[1]._frame = kernel_anim[aa[1]].frame;
 
-	if (global[player_hyperwalked] != -1)
-		return;
-	aainfo[1]._frame = scratch._94 - 1;
-	kernel_reset_animation(aa[1], aainfo[1]._frame);
+	if (global[player_hyperwalked] == -1) {
+		aainfo[1]._frame = scratch._94 - 1;
+		kernel_reset_animation(aa[1], aainfo[1]._frame);
+	}
 }
 
 static void room_210_anim3() {
-	if (kernel_anim[aa[7]].frame == aainfo[7]._frame)
-		return;
-	aainfo[7]._frame = kernel_anim[aa[7]].frame;
+	if (kernel_anim[aa[7]].frame != aainfo[7]._frame) {
+		aainfo[7]._frame = kernel_anim[aa[7]].frame;
 
-	int16 f = aainfo[7]._frame;
-	if (f == 1) {
-		kernel_timing_trigger(10, 114);
-	} else if (f == 6) {
-		aainfo[7]._frame = 2;
-		kernel_reset_animation(aa[7], 2);
+		int16 f = aainfo[7]._frame;
+		if (f == 1) {
+			kernel_timing_trigger(10, 114);
+		} else if (f == 6) {
+			aainfo[7]._frame = 2;
+			kernel_reset_animation(aa[7], 2);
+		}
 	}
 }
 
 static void room_210_anim4() {
 	int16 result = -1;
 
-	if (kernel_anim[aa[8]].frame == aainfo[8]._frame)
-		return;
-	aainfo[8]._frame = kernel_anim[aa[8]].frame;
-	int16 f = aainfo[8]._frame;
-
-	if (f == 11) {
-		result = 9;
-	} else if (f < 11) {
-		if (f == 1) {
-			digi_play_build(210, 'R', 1, 1);
-			scratch._a6 = 2;
-		} else if (f == 3) {
-			result = 1;
-		} else if (f == 9) {
-			digi_play_build(210, 'E', 1, 1);
-			scratch._a6 = 3;
+	if (kernel_anim[aa[8]].frame != aainfo[8]._frame) {
+		aainfo[8]._frame = kernel_anim[aa[8]].frame;
+		int16 f = aainfo[8]._frame;
+
+		if (f == 11) {
+			result = 9;
+		} else if (f < 11) {
+			if (f == 1) {
+				digi_play_build(210, 'R', 1, 1);
+				scratch._a6 = 2;
+			} else if (f == 3) {
+				result = 1;
+			} else if (f == 9) {
+				digi_play_build(210, 'E', 1, 1);
+				scratch._a6 = 3;
+			}
 		}
-	}
 
-	if (result >= 0) {
-		aainfo[8]._frame = result;
-		kernel_reset_animation(aa[8], result);
+		if (result >= 0) {
+			aainfo[8]._frame = result;
+			kernel_reset_animation(aa[8], result);
+		}
 	}
 }
 
@@ -314,17 +314,17 @@ static void room_210_anim5() {
 	}
 }
 
-static void room_210_anim6(int roomNum) {
+static void room_210_change_room(int roomNum) {
 	if (roomNum == 106) {
-		if (global[g021] != 0) { new_room = 106; return; }
+		if (global[tunnel_exit_1_opened] != 0) { new_room = 106; return; }
 	} else if (roomNum == 203) {
-		if (global[g040] != 0) { new_room = 203; return; }
+		if (global[tunnel_exit_2_opened] != 0) { new_room = 203; return; }
 	} else if (roomNum == 302) {
-		if (global[g063] != 0) { new_room = 302; return; }
+		if (global[tunnel_exit_3_opened] != 0) { new_room = 302; return; }
 	} else if (roomNum == 305) {
-		if (global[g060] != 0) { new_room = 305; return; }
+		if (global[tunnel_exit_4_opened] != 0) { new_room = 305; return; }
 	} else if (roomNum == 307) {
-		if (global[g061] != 0) {
+		if (global[tunnel_exit_5_opened] != 0) {
 			if (global[g064] != 0)
 				new_room = 322;
 			else
@@ -401,6 +401,7 @@ static void room_210_daemon() {
 		kernel_abort_animation(scratch._a2);
 		kernel_abort_animation(scratch._a4);
 		scratch._a2 = -1;
+
 		switch (scratch._90) {
 		case 1:
 			aa[1] = kernel_run_animation(kernel_name('z', 1), 101);
@@ -463,23 +464,23 @@ static void room_210_daemon() {
 		aainfo[1]._active = 0;
 		switch (scratch._90) {
 		case 1:
-			room_210_anim6(global[g041]);
+			room_210_change_room(global[tunnel_1_room]);
 			scratch._aa = 1;
 			break;
 		case 2:
-			room_210_anim6(global[g042]);
+			room_210_change_room(global[tunnel_2_room]);
 			scratch._aa = 2;
 			break;
 		case 3:
-			room_210_anim6(global[g043]);
+			room_210_change_room(global[tunnel_3_room]);
 			scratch._aa = 3;
 			break;
 		case 4:
-			room_210_anim6(global[g044]);
+			room_210_change_room(global[tunnel_4_room]);
 			scratch._aa = 4;
 			break;
 		case 5:
-			room_210_anim6(global[g045]);
+			room_210_change_room(global[tunnel_5_room]);
 			scratch._aa = 5;
 			break;
 		default:
diff --git a/engines/mads/madsv2/forest/rooms/room302.cpp b/engines/mads/madsv2/forest/rooms/room302.cpp
index d8ba985c7e2..545fa045b25 100644
--- a/engines/mads/madsv2/forest/rooms/room302.cpp
+++ b/engines/mads/madsv2/forest/rooms/room302.cpp
@@ -802,7 +802,7 @@ static void room_302_daemon() {
 		global[g143] = 0;
 		player.commands_allowed = true;
 		if (scratch._96 - 7 == 0) {
-			global[g063] = -1;
+			global[tunnel_exit_3_opened] = -1;
 			new_room = 210;
 		}
 		scratch._96 = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room305.cpp b/engines/mads/madsv2/forest/rooms/room305.cpp
index 1ee6d8cb37a..6e45115f160 100644
--- a/engines/mads/madsv2/forest/rooms/room305.cpp
+++ b/engines/mads/madsv2/forest/rooms/room305.cpp
@@ -910,7 +910,7 @@ static void room_305_daemon() {
 	}
 
 	case 102:
-		global[g060] = -1;
+		global[tunnel_exit_4_opened] = -1;
 		new_room = 210;
 		break;
 
diff --git a/engines/mads/madsv2/forest/rooms/room307.cpp b/engines/mads/madsv2/forest/rooms/room307.cpp
index f962111002d..a8a720189db 100644
--- a/engines/mads/madsv2/forest/rooms/room307.cpp
+++ b/engines/mads/madsv2/forest/rooms/room307.cpp
@@ -733,7 +733,7 @@ static void room_307_daemon() {
 		break;
 
 	case 102:
-		global[g061] = -1;
+		global[tunnel_exit_5_opened] = -1;
 		new_room = 210;
 		break;
 
diff --git a/engines/mads/madsv2/forest/rooms/room322.cpp b/engines/mads/madsv2/forest/rooms/room322.cpp
index b7217c4f1cf..a517b9637d5 100644
--- a/engines/mads/madsv2/forest/rooms/room322.cpp
+++ b/engines/mads/madsv2/forest/rooms/room322.cpp
@@ -664,7 +664,7 @@ static void room_322_daemon() {
 		break;
 
 	case 119:
-		global[g061] = -1;
+		global[tunnel_exit_5_opened] = -1;
 		new_room = 210;
 		midi_stop();
 		break;




More information about the Scummvm-git-logs mailing list