[Scummvm-git-logs] scummvm master -> f79484a77135bdda50a5839b290ca61367ee185d

dreammaster noreply at scummvm.org
Thu Jun 25 11:41:41 UTC 2026


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

Summary:
a8925fada7 MADS: FOREST: Added sticks and elm leaves to inventory list
64efde5174 MADS: FOREST: Clarify player.commands_allowed with true/false
5415a3fba9 MADS: FOREST: Fix global midi names array
35443dc802 MADS: FOREST: Fixes for entering room 203
f79484a771 MADS: FOREST: Improve kernel_flip_hotspot calls to use words enum


Commit: a8925fada7935568e1e63092b93394c7f2e63128
    https://github.com/scummvm/scummvm/commit/a8925fada7935568e1e63092b93394c7f2e63128
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-25T21:41:26+10:00

Commit Message:
MADS: FOREST: Added sticks and elm leaves to inventory list

Changed paths:
    engines/mads/madsv2/forest/mads/inventory.h
    engines/mads/madsv2/forest/rooms/room201.cpp


diff --git a/engines/mads/madsv2/forest/mads/inventory.h b/engines/mads/madsv2/forest/mads/inventory.h
index be15aa5b04b..cb8c23255d6 100644
--- a/engines/mads/madsv2/forest/mads/inventory.h
+++ b/engines/mads/madsv2/forest/mads/inventory.h
@@ -31,8 +31,10 @@ namespace Forest {
 enum {
 	cogs           =  0,
 	pebbles        =  5,
+	sticks         =  7,
 	twine          =  8,
-	planks         = 11
+	planks         = 11,
+	elm_leaves     = 12
 };
 
 } // namespace Forest
diff --git a/engines/mads/madsv2/forest/rooms/room201.cpp b/engines/mads/madsv2/forest/rooms/room201.cpp
index 9c12c600606..98b3e9b1f58 100644
--- a/engines/mads/madsv2/forest/rooms/room201.cpp
+++ b/engines/mads/madsv2/forest/rooms/room201.cpp
@@ -20,6 +20,7 @@
  */
 
 #include "mads/madsv2/forest/rooms/section2.h"
+#include "mads/madsv2/forest/mads/inventory.h"
 #include "mads/madsv2/forest/mads/words.h"
 #include "mads/madsv2/forest/digi.h"
 #include "mads/madsv2/forest/global.h"
@@ -77,24 +78,24 @@ static void room_201_init1() {
 	global[g131] = 0;
 	global[g141] = 0;
 
-	if (object_is_here(12)) {
+	if (object_is_here(elm_leaves)) {
 		ss[0] = kernel_load_series(kernel_name('p', 2), 0);
 		seq[0] = kernel_seq_stamp(ss[0], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[0], 2);
 		kernel_seq_loc(seq[0], 204, 153);
 		kernel_seq_scale(seq[0], 100);
 	} else {
-		kernel_flip_hotspot(93, false);
+		kernel_flip_hotspot(words_elm_leaves, false);
 	}
 
-	if (object_is_here(7)) {
+	if (object_is_here(sticks)) {
 		ss[1] = kernel_load_series(kernel_name('p', 1), 0);
 		seq[1] = kernel_seq_stamp(ss[1], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[1], 10);
 		kernel_seq_loc(seq[1], 46, 103);
 		kernel_seq_scale(seq[1], 69);
 	} else {
-		kernel_flip_hotspot(145, false);
+		kernel_flip_hotspot(words_sticks, false);
 	}
 
 	scratch._9c = kernel_run_animation_disp('r', 1, 0);
@@ -381,7 +382,7 @@ static void room_201_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		kernel_flip_hotspot(145, false);
-		inter_move_object(7, PLAYER);
+		inter_move_object(sticks, PLAYER);
 		player.commands_allowed = -1;
 	} else if (trigger == 26) {
 		if (scratch._a8 == 1) {
@@ -469,7 +470,7 @@ static void room_201_daemon() {
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
 			kernel_flip_hotspot(93, false);
-			inter_move_object(12, PLAYER);
+			inter_move_object(elm_leaves, PLAYER);
 			player.commands_allowed = -1;
 		}
 	} else if (trigger == 7) {


Commit: 64efde51740b92bca51850750731e52b3794144c
    https://github.com/scummvm/scummvm/commit/64efde51740b92bca51850750731e52b3794144c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-25T21:41:27+10:00

Commit Message:
MADS: FOREST: Clarify player.commands_allowed with true/false

Changed paths:
    engines/mads/madsv2/forest/inventory.cpp
    engines/mads/madsv2/forest/rooms/room101.cpp
    engines/mads/madsv2/forest/rooms/room103.cpp
    engines/mads/madsv2/forest/rooms/room104.cpp
    engines/mads/madsv2/forest/rooms/room106.cpp
    engines/mads/madsv2/forest/rooms/room107.cpp
    engines/mads/madsv2/forest/rooms/room199.cpp
    engines/mads/madsv2/forest/rooms/room201.cpp
    engines/mads/madsv2/forest/rooms/room203.cpp
    engines/mads/madsv2/forest/rooms/room204.cpp
    engines/mads/madsv2/forest/rooms/room205.cpp
    engines/mads/madsv2/forest/rooms/room210.cpp
    engines/mads/madsv2/forest/rooms/room211.cpp
    engines/mads/madsv2/forest/rooms/room220.cpp
    engines/mads/madsv2/forest/rooms/room301.cpp
    engines/mads/madsv2/forest/rooms/room302.cpp
    engines/mads/madsv2/forest/rooms/room303.cpp
    engines/mads/madsv2/forest/rooms/room304.cpp
    engines/mads/madsv2/forest/rooms/room305.cpp
    engines/mads/madsv2/forest/rooms/room306.cpp
    engines/mads/madsv2/forest/rooms/room307.cpp
    engines/mads/madsv2/forest/rooms/room308.cpp
    engines/mads/madsv2/forest/rooms/room321.cpp
    engines/mads/madsv2/forest/rooms/room322.cpp
    engines/mads/madsv2/forest/rooms/room401.cpp
    engines/mads/madsv2/forest/rooms/room402.cpp
    engines/mads/madsv2/forest/rooms/room403.cpp
    engines/mads/madsv2/forest/rooms/room404.cpp
    engines/mads/madsv2/forest/rooms/room405.cpp
    engines/mads/madsv2/forest/rooms/room420.cpp
    engines/mads/madsv2/forest/rooms/room501.cpp
    engines/mads/madsv2/forest/rooms/room503.cpp
    engines/mads/madsv2/forest/rooms/room509.cpp
    engines/mads/madsv2/forest/rooms/room510.cpp
    engines/mads/madsv2/forest/rooms/room520.cpp


diff --git a/engines/mads/madsv2/forest/inventory.cpp b/engines/mads/madsv2/forest/inventory.cpp
index 0103ff30d8a..82f71f25a52 100644
--- a/engines/mads/madsv2/forest/inventory.cpp
+++ b/engines/mads/madsv2/forest/inventory.cpp
@@ -343,7 +343,7 @@ void display_inventory() {
 				digi_play_build(308, 'e', 4, 1);
 				var_1C_1A = timer_read();
 				var_1E = -1;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				mouse_cursor_sprite(cursor, 2);
 				continue;
 			} else if (object_id == 5) {
@@ -351,7 +351,7 @@ void display_inventory() {
 				digi_play_build(308, 'r', 2, 1);
 				var_1C_1A = timer_read();
 				var_1E = -1;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				mouse_cursor_sprite(cursor, 2);
 				continue;
 			} else {
@@ -407,7 +407,7 @@ restore_interface:
 		stamp_sprite_to_interface(DOOR_X,    DOOR_Y,    1, int_sprite[fx_int_exit]);
 		if (inv_enable_command) {
 			mouse_cursor_sprite(cursor, 1);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		return;
 	}
diff --git a/engines/mads/madsv2/forest/rooms/room101.cpp b/engines/mads/madsv2/forest/rooms/room101.cpp
index cbd9aaf646a..8c1f8e33fd1 100644
--- a/engines/mads/madsv2/forest/rooms/room101.cpp
+++ b/engines/mads/madsv2/forest/rooms/room101.cpp
@@ -130,7 +130,7 @@ static void room_101_init2() {
 }
 
 static void room_101_init3() {
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	global[player_score] = 0;
 	global[g009] = 0;
 	midi_stop();
@@ -155,7 +155,7 @@ static void room_101_init3() {
 		kernel_reset_animation(scratch._russell, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		return;
 	}
 
@@ -181,7 +181,7 @@ static void room_101_init3() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -193,7 +193,7 @@ static void room_101_init3() {
 		kernel_reset_animation(scratch._russell, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g009] = 0;
 		aainfo[5]._active = -1;
@@ -208,7 +208,7 @@ static void room_101_init3() {
 	kernel_reset_animation(scratch._russell, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -480,7 +480,7 @@ static void room_101_anim7() {
 		player.y = 140;
 		player.facing = 3;
 		player.walker_visible = true;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		mouse_show();
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 	}
@@ -712,7 +712,7 @@ static void room_101_daemon() {
 		case 15:
 			scratch._aa = 59;
 			global[g154] = 2;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			scratch._a8 = kernel_run_animation_talk('b', 7, 0);
 			kernel_position_anim(scratch._a8, player.x, player.y, player.scale, player.depth);
 			scratch._b2 = -1;
@@ -722,7 +722,7 @@ static void room_101_daemon() {
 		case 14:
 			scratch._aa = 49;
 			global[g154] = 2;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player.walker_visible = false;
 			scratch._a8 = kernel_run_animation_talk('b', 6, 0);
 			kernel_position_anim(scratch._a8, player.x, player.y, player.scale, player.depth);
@@ -733,7 +733,7 @@ static void room_101_daemon() {
 
 		case 13:
 			scratch._aa = 69;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player.walker_visible = false;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			global[g154] = 2;
@@ -874,7 +874,7 @@ static void room_101_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 107:
@@ -939,7 +939,7 @@ static void room_101_daemon() {
 			kernel_synch(KERNEL_ANIM, scratch._russell, KERNEL_NOW, 0);
 			global[g143] = 0;
 			global[g009] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (aainfo[7]._val3 == 8) {
 			kernel_abort_animation(aa[7]);
 			aa[7] = kernel_run_animation(kernel_name('r', 3), 105);
@@ -962,7 +962,7 @@ static void room_101_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 101:
@@ -971,7 +971,7 @@ static void room_101_daemon() {
 		kernel_reset_animation(scratch._russell, 1);
 		kernel_synch(KERNEL_ANIM, scratch._russell, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -980,7 +980,7 @@ static void room_101_daemon() {
 		kernel_reset_animation(scratch._edgar, 1);
 		kernel_synch(KERNEL_ANIM, scratch._edgar, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 113:
@@ -1034,7 +1034,7 @@ static void room_101_pre_parser() {
 
 static void room_101_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		scratch._aa = 29;
 		goto handled;
@@ -1045,35 +1045,35 @@ static void room_101_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._98 = 2;
 		goto handled;
 	}
 
 	if (player_parse(words_pick_up, words_twine, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._9a = 13;
 		goto handled;
 	}
 
 	if (player_parse(words_pick_up, words_gears, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._9a = 14;
 		goto handled;
 	}
 
 	if (player_parse(words_pick_up, words_wood, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._9a = 15;
 		goto handled;
 	}
 
 	if (player_parse(words_walk_to, words_telescope, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		kernel.trigger_setup_mode = 1;
 		aainfo[5]._active = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room103.cpp b/engines/mads/madsv2/forest/rooms/room103.cpp
index 4cacbcc96eb..e9584f01e31 100644
--- a/engines/mads/madsv2/forest/rooms/room103.cpp
+++ b/engines/mads/madsv2/forest/rooms/room103.cpp
@@ -75,7 +75,7 @@ static void room_103_init() {
 	global[g009] = -1;
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int count = 0; count < 10; count++) {
 		aainfo[count]._active = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room104.cpp b/engines/mads/madsv2/forest/rooms/room104.cpp
index f5c776099c8..2780f4113d7 100644
--- a/engines/mads/madsv2/forest/rooms/room104.cpp
+++ b/engines/mads/madsv2/forest/rooms/room104.cpp
@@ -97,7 +97,7 @@ static void room_104_init() {
 
 	if (previous_room != -2 && previous_room != 199) {
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		if (flags[4] != 3)
 			flags[4]++;
 	}
@@ -154,7 +154,7 @@ static void room_104_init1() {
 	global_midi_play(8);
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 
 	for (int count = 0; count < 10; count++) {
@@ -172,7 +172,7 @@ static void room_104_init2() {
 	midi_stop();
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 
 	for (int count = 0; count < 10; count++) {
@@ -229,7 +229,7 @@ static void room_104_init3() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	} else {
 		if (global[g101] != 0) return;
@@ -239,7 +239,7 @@ static void room_104_init3() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 }
@@ -812,7 +812,7 @@ static void room_104_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -860,7 +860,7 @@ static void room_104_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		scratch._a0 = -1;
 		break;
 
@@ -870,7 +870,7 @@ static void room_104_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -879,7 +879,7 @@ static void room_104_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	}
 
@@ -908,7 +908,7 @@ static void room_104_pre_parser() {
 
 static void room_104_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
@@ -918,21 +918,21 @@ static void room_104_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		goto handled;
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
 	}
 
 	if (player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
diff --git a/engines/mads/madsv2/forest/rooms/room106.cpp b/engines/mads/madsv2/forest/rooms/room106.cpp
index 78866975842..80c73a622e3 100644
--- a/engines/mads/madsv2/forest/rooms/room106.cpp
+++ b/engines/mads/madsv2/forest/rooms/room106.cpp
@@ -109,7 +109,7 @@ static void room_106_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 i = 0; i < 10; i++) {
@@ -142,7 +142,7 @@ static void room_106_init1() {
 	global[g009] = -1;
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int16 i = 0; i < 10; i++) {
 		aainfo[i]._active = 0;
@@ -192,7 +192,7 @@ static void room_106_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	case 201:
@@ -212,7 +212,7 @@ static void room_106_init2() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -473,7 +473,7 @@ static void room_106_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._ae == 75) {
 			kernel_timing_trigger(30, 106);
 		} else if (scratch._ae == 81) {
@@ -577,7 +577,7 @@ static void room_106_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 	case 101:
@@ -586,7 +586,7 @@ static void room_106_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 102:
 		kernel_abort_animation(aa[6]);
@@ -594,7 +594,7 @@ static void room_106_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 103:
 		if (scratch._90 == 6) {
@@ -615,7 +615,7 @@ static void room_106_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 105:
 	case 106:
@@ -635,7 +635,7 @@ static void room_106_daemon() {
 		global[g133] = 0;
 		kernel_flip_hotspot(125, 0);
 		inter_move_object(5, PLAYER);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 108:
 		if (scratch._ac == 1) {
@@ -657,7 +657,7 @@ static void room_106_daemon() {
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			kernel_reset_animation(scratch._9c, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			global[g133] = 0;
 			global[g143] = 0;
 			scratch._ae = 0;
@@ -702,7 +702,7 @@ static void room_106_pre_parser() {
 
 static void room_106_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
@@ -711,18 +711,18 @@ static void room_106_parser() {
 	if (player_parse(words_mint, 0)) {
 		global[g135] = -1;
 		scratch._a2 = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 	}
 
 	if (player_parse(words_primrose, 0)) {
 		global[g135] = -1;
 		scratch._a2 = 1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 	}
 
 	if (player_parse(words_pebbles, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._a6 = kernel_run_animation_talk('b', 3, 0);
 		kernel_position_anim(scratch._a6, player.x, player.y, player.scale, player.depth);
@@ -742,7 +742,7 @@ static void room_106_parser() {
 
 	if (player_parse(words_room_210, words_door, 0) && global[g022] == 0) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._a6 = kernel_run_animation_talk('b', 9, 0);
 		kernel_position_anim(scratch._a6, player.x, player.y, player.scale, player.depth);
@@ -759,7 +759,7 @@ static void room_106_parser() {
 	if (player_parse(words_walk_to, words_room_210, 0)) {
 		global[g150] = -1;
 		scratch._90 = 6;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.command_ready = 0;
 		return;
 	}
@@ -770,7 +770,7 @@ static void room_106_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		player.command_ready = 0;
@@ -778,7 +778,7 @@ static void room_106_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0) || player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room107.cpp b/engines/mads/madsv2/forest/rooms/room107.cpp
index 2ec4f8bc8de..b47859dc51a 100644
--- a/engines/mads/madsv2/forest/rooms/room107.cpp
+++ b/engines/mads/madsv2/forest/rooms/room107.cpp
@@ -78,7 +78,7 @@ static void room_107_init() {
 	global[player_score] = 0;
 	global[g009] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 
 	for (int16 i = 0; i < 10; i++) {
diff --git a/engines/mads/madsv2/forest/rooms/room199.cpp b/engines/mads/madsv2/forest/rooms/room199.cpp
index e9ead4d331b..a3d34bd6603 100644
--- a/engines/mads/madsv2/forest/rooms/room199.cpp
+++ b/engines/mads/madsv2/forest/rooms/room199.cpp
@@ -119,7 +119,7 @@ static void room_199_init() {
 			seq[6 + slot] = kernel_seq_stamp(ss[slot], false, 1);
 			kernel_seq_depth(seq[6 + slot], 1);
 			aainfo[2]._active = slot;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel_timing_trigger(300, 111);
 			return;
 		}
@@ -135,7 +135,7 @@ static void room_199_init() {
 		seq[6 + slot] = kernel_seq_stamp(ss[slot], false, 1);
 		kernel_seq_depth(seq[6 + slot], 5);
 		aainfo[2]._active = slot;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		kernel_timing_trigger(2, 112);
 		return;
 	} else {
@@ -377,14 +377,14 @@ static void room_199_daemon() {
 	} else if (trig == 111) {
 		global[g070] = 0;
 		leave_journal();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (trig == 112) {
 		aainfo[2]._val3 = 0;
 		aainfo[2]._val4 = -1;
 		digi_play_build(521, 'e', 1, 1);
 	} else if (trig == 113) {
 		leave_journal();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (trig == 114) {
 		int result = room_199_anim1();
 		global[g100] = result;
diff --git a/engines/mads/madsv2/forest/rooms/room201.cpp b/engines/mads/madsv2/forest/rooms/room201.cpp
index 98b3e9b1f58..d02026c68b6 100644
--- a/engines/mads/madsv2/forest/rooms/room201.cpp
+++ b/engines/mads/madsv2/forest/rooms/room201.cpp
@@ -136,7 +136,7 @@ static void room_201_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	default:
@@ -146,7 +146,7 @@ static void room_201_init1() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -158,7 +158,7 @@ static void room_201_init() {
 
 	if (previous_room != KERNEL_RESTORING_GAME && previous_room != 199) {
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 	}
 
 	scratch._ac = 0;
@@ -211,7 +211,7 @@ static void room_201_anim2() {
 	case 2:
 		kernel_abort_animation(scratch._a2);
 		scratch._a4 = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		aainfo[1]._active = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
@@ -383,7 +383,7 @@ static void room_201_daemon() {
 		global[g133] = 0;
 		kernel_flip_hotspot(145, false);
 		inter_move_object(sticks, PLAYER);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (trigger == 26) {
 		if (scratch._a8 == 1) {
 			kernel_reset_animation(scratch._9a, 0);
@@ -441,7 +441,7 @@ static void room_201_daemon() {
 				global[g133] = 0;
 				global[g143] = 0;
 				kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 			}
 		} else if (trigger == 101) {
 			kernel_abort_animation(aa[scratch._94]);
@@ -449,14 +449,14 @@ static void room_201_daemon() {
 			kernel_reset_animation(scratch._9c, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 			global[g143] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (trigger == 102) {
 			kernel_abort_animation(aa[scratch._96]);
 			aainfo[scratch._96]._active = 0;
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (trigger == 105) {
 			kernel_abort_animation(aa[3]);
 			kernel_reset_animation(scratch._9c, 1);
@@ -471,13 +471,13 @@ static void room_201_daemon() {
 			global[g133] = 0;
 			kernel_flip_hotspot(93, false);
 			inter_move_object(elm_leaves, PLAYER);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 	} else if (trigger == 7) {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else {
 			switch (scratch._a4) {
 			case 40:
@@ -578,14 +578,14 @@ static void room_201_pre_parser() {
 
 static void room_201_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
 
 	if (player_parse(words_elm_leaves, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._a0 = kernel_run_animation_talk(98, 3, 0);
 		kernel_position_anim(scratch._a0, player.x, player.y, player.scale, player.depth);
@@ -598,7 +598,7 @@ static void room_201_parser() {
 
 	if (player_parse(words_sticks, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._a0 = kernel_run_animation_talk(98, 4, 0);
 		kernel_position_anim(scratch._a0, player.x, player.y, player.scale, player.depth);
@@ -610,7 +610,7 @@ static void room_201_parser() {
 	}
 
 	if (player_parse(words_look_at, words_chicory, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 1;
@@ -618,7 +618,7 @@ static void room_201_parser() {
 	}
 
 	if (player_parse(words_look_at, words_foxglove, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 2;
@@ -631,21 +631,21 @@ static void room_201_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		goto handled;
 	}
 
 	if (player_parse(words_flowers, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
 	}
 
 	if (player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
diff --git a/engines/mads/madsv2/forest/rooms/room203.cpp b/engines/mads/madsv2/forest/rooms/room203.cpp
index a2eb74caf8f..18ac1f63d4e 100644
--- a/engines/mads/madsv2/forest/rooms/room203.cpp
+++ b/engines/mads/madsv2/forest/rooms/room203.cpp
@@ -151,7 +151,7 @@ static void room_203_init1() {
 		scratch._9c = 63;
 		player.walker_visible = true;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		kernel_flip_hotspot(168, -1);
 		kernel_flip_hotspot(170, -1);
 		kernel_flip_hotspot(169, -1);
@@ -164,7 +164,7 @@ static void room_203_init1() {
 			kernel_reset_animation(aa[3], 25);
 			global[g049] = -1;
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel_synch(KERNEL_ANIM, aa[3], KERNEL_NOW, 0);
 		}
 
@@ -216,7 +216,7 @@ static void room_203_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int i = 0; i < 10; i++) {
@@ -707,11 +707,11 @@ static void room_203_anim4() {
 			kernel_flip_hotspot(169, -1);
 			player.walker_visible = true;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (local->_ae) {
 				global[g145] = -1;
 				local->_8e = 41;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				local->_a8 = 0;
 				local->_ae = 0;
 			}
@@ -728,7 +728,7 @@ static void room_203_anim4() {
 					result = 1;
 				} else if (frame == 26) {
 					room_203_flip_hotspots1();
-					player.commands_allowed = -1;
+					player.commands_allowed = true;
 				} else if (frame == 28) {
 					result = 27;
 				}
@@ -755,7 +755,7 @@ static void room_203_anim4() {
 					aainfo[3]._active = -1;
 					aainfo[3]._frame = 0;
 					local->_98 = 31;
-					player.commands_allowed = 0;
+					player.commands_allowed = false;
 					room_203_flip_hotspots2();
 				}
 			}
@@ -1642,7 +1642,7 @@ static void room_203_parser() {
 			global[g135] = -1;
 			scratch._8c = 50;
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g150] = -1;
 			scratch._90 = 15;
 		}
@@ -1651,7 +1651,7 @@ static void room_203_parser() {
 
 	if (player_parse(words_walk_to, words_room_201, 0)) {
 		if (global[g046] == 0) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g150] = -1;
 			scratch._90 = 15;
 		}
@@ -1659,14 +1659,14 @@ static void room_203_parser() {
 	}
 
 	if (player_parse(words_walk_to, words_room_204, 0) && global[g046] == 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._90 = 15;
 	}
 
 	if (global[walker_converse_state] != 0) {
 		if (global[g046] == 0) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
 			kernel_timing_trigger(1, 107);
 			scratch._a8 = 0;
@@ -1680,7 +1680,7 @@ static void room_203_parser() {
 				scratch._8c = 51;
 			}
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			digi_play_build_ii('c', 1, 1);
 			scratch._a4 = 52;
 		}
@@ -1692,7 +1692,7 @@ static void room_203_parser() {
 			if (global[g046] != 0) {
 				// TODO: display_interface()
 			} else {
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
 				kernel_timing_trigger(1, 107);
 				if (global[g049] != 0) {
@@ -1710,7 +1710,7 @@ static void room_203_parser() {
 			if (global[g046] != 0) {
 				// TODO: display_interface()
 			} else {
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
 				kernel_timing_trigger(1, 107);
 				if (global[g049] != 0) {
@@ -1733,7 +1733,7 @@ static void room_203_parser() {
 	}
 
 	if (player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		if (global[g046] == 0) {
 			global[g150] = -1;
 			scratch._90 = 15;
@@ -1759,7 +1759,7 @@ static void room_203_parser() {
 			global[g049] = -1;
 			aainfo[3]._frame = 0;
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel_synch(KERNEL_ANIM, aa[3], KERNEL_NOW, 0);
 		} else if (player_has(8)) {
 			kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
@@ -1769,9 +1769,9 @@ static void room_203_parser() {
 			scratch._98 = 31;
 			player.walker_visible = false;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g150] = -1;
 			scratch._90 = 15;
 		}
@@ -1779,21 +1779,21 @@ static void room_203_parser() {
 	}
 
 	if (player_parse(words_click_on, words_edgar, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 51;
 		goto handled;
 	}
 
 	if (player_parse(words_click_on, words_russel, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 43;
 		goto handled;
 	}
 
 	if (player_parse(words_click_on, words_abi_bubble, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		aainfo[3]._frame = 28;
 		kernel_reset_animation(aa[3], 28);
 		global[g049] = 0;
@@ -1801,7 +1801,7 @@ static void room_203_parser() {
 	}
 
 	if (player_parse(words_click_on, words_all_bubble, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		aainfo[3]._frame = 33;
 		kernel_reset_animation(aa[3], 33);
 		global[g049] = 0;
@@ -1812,7 +1812,7 @@ static void room_203_parser() {
 		return;
 
 	if (player_parse(words_walk_to, words_ground, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		aainfo[3]._frame = 41;
 		kernel_reset_animation(aa[3], 41);
 		global[g049] = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room204.cpp b/engines/mads/madsv2/forest/rooms/room204.cpp
index fab3c8d086a..22e0c9a5971 100644
--- a/engines/mads/madsv2/forest/rooms/room204.cpp
+++ b/engines/mads/madsv2/forest/rooms/room204.cpp
@@ -122,7 +122,7 @@ static void room_204_init1() {
 		global[g143] = 0;
 	}
 
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -145,7 +145,7 @@ static void room_204_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int count = 0; count < 10; count++) {
@@ -199,7 +199,7 @@ static void room_204_anim2() {
 		scratch._a4 = 4;
 		kernel_abort_animation(scratch._a2);
 		kernel_abort_animation(scratch._a0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		global[g017] = -1;
 		aainfo[1]._active = 0;
@@ -369,7 +369,7 @@ static void room_204_daemon() {
 			kernel_reset_animation(scratch._9c, 1);
 			kernel_synch(3, scratch._9c, 4, 0);
 			global[g143] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			goto bottom;
 		} else if (trigger == 102) {
 			// abort _96 slot anim, re-enable
@@ -378,7 +378,7 @@ static void room_204_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(3, scratch._9a, 4, 0);
 			global[g133] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			goto bottom;
 		} else {
 			goto bottom;
@@ -397,7 +397,7 @@ trigger_7:
 	if (global[walker_converse_state] != 0) {
 		global[walker_converse_state] = 0;
 		close_journal(3);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		goto bottom;
 	}
 	if (scratch._a4 != 400)
@@ -504,7 +504,7 @@ trigger_100:
 		kernel_synch(3, scratch._9c, 4, 0);
 		player.walker_visible = true;
 		kernel_synch(2, 0, 4, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	}
 	goto bottom;
 
@@ -522,7 +522,7 @@ trigger_103:
 	kernel_flip_hotspot(158, -1);
 	inter_move_object(9, PLAYER);
 	global[player_score] = -1;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 
 bottom:
 	global_anim1(3, scratch._9a, global[g131], &global[g132]);
diff --git a/engines/mads/madsv2/forest/rooms/room205.cpp b/engines/mads/madsv2/forest/rooms/room205.cpp
index 7be2c1a5a9e..ea7d152251f 100644
--- a/engines/mads/madsv2/forest/rooms/room205.cpp
+++ b/engines/mads/madsv2/forest/rooms/room205.cpp
@@ -96,7 +96,7 @@ static void room_205_init1() {
 		midi_stop();
 		viewing_at_y = 22;
 		flags[10]--;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		aa[6] = kernel_run_animation(kernel_name('t', 1), 104);
 		aainfo[6]._active = -1;
@@ -128,7 +128,7 @@ static void room_205_init1() {
 		global[g143] = 0;
 	}
 
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -138,7 +138,7 @@ static void room_205_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int count = 0; count < 10; count++) {
@@ -192,7 +192,7 @@ static void room_205_anim2() {
 		scratch._a4 = 4;
 		kernel_abort_animation(scratch._9e);
 		kernel_abort_animation(scratch._a2);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		global[g017] = -1;
 		aainfo[1]._active = 0;
@@ -427,7 +427,7 @@ static void room_205_pre_parser() {
 
 static void room_205_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		scratch._a4 = 120;
 		player.command_ready = false;
@@ -435,7 +435,7 @@ static void room_205_parser() {
 	}
 
 	if (player_parse(words_click_on, words_hole, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._a4 = 121;
 		digi_play_build(221, '_', 1, 1);
 		player.command_ready = false;
@@ -448,7 +448,7 @@ static void room_205_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		player.command_ready = false;
@@ -456,7 +456,7 @@ static void room_205_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0) || player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = false;
diff --git a/engines/mads/madsv2/forest/rooms/room210.cpp b/engines/mads/madsv2/forest/rooms/room210.cpp
index d96e914aa01..dd54ee62433 100644
--- a/engines/mads/madsv2/forest/rooms/room210.cpp
+++ b/engines/mads/madsv2/forest/rooms/room210.cpp
@@ -89,7 +89,7 @@ static void room_210_init1() {
 
 	if (previous_room != 199) {
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 	}
 
 	if (previous_room == 321)
@@ -147,7 +147,7 @@ static void room_210_init1() {
 	if (previous_room == 199)
 		restore_player();
 
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -390,7 +390,7 @@ static void room_210_daemon() {
 		case 4:
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0) kernel_timing_trigger(1, 109);
 			break;
 		}
@@ -453,7 +453,7 @@ static void room_210_daemon() {
 			player.walker_visible = true;
 			global[g133] = 0; global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			scratch._a8 = -1;
 		}
 		break;
@@ -546,7 +546,7 @@ static void room_210_daemon() {
 		player.walker_visible = true;
 		global[g133] = 0; global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		scratch._a8 = -1;
 		kernel_timing_trigger(1, 109);
 		break;
@@ -564,7 +564,7 @@ static void room_210_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		scratch._a8 = -1;
 		break;
 
@@ -592,7 +592,7 @@ static void room_210_daemon() {
 
 static void room_210_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		scratch._a6 = 4;
 		player.command_ready = false;
@@ -605,7 +605,7 @@ static void room_210_parser() {
 	}
 
 	if (player_parse(words_click_on, words_door_1, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g150] = -1;
 		scratch._90 = 1;
@@ -614,7 +614,7 @@ static void room_210_parser() {
 	}
 
 	if (player_parse(words_click_on, words_door_2, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g150] = -1;
 		scratch._90 = 2;
@@ -623,7 +623,7 @@ static void room_210_parser() {
 	}
 
 	if (player_parse(words_click_on, words_door_3, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g150] = -1;
 		scratch._90 = 3;
@@ -632,7 +632,7 @@ static void room_210_parser() {
 	}
 
 	if (player_parse(words_click_on, words_door_4, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g150] = -1;
 		scratch._90 = 4;
@@ -641,7 +641,7 @@ static void room_210_parser() {
 	}
 
 	if (player_parse(words_click_on, words_door_5, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		global[g150] = -1;
 		scratch._90 = 5;
diff --git a/engines/mads/madsv2/forest/rooms/room211.cpp b/engines/mads/madsv2/forest/rooms/room211.cpp
index 64dcedda3dd..886e2eb4148 100644
--- a/engines/mads/madsv2/forest/rooms/room211.cpp
+++ b/engines/mads/madsv2/forest/rooms/room211.cpp
@@ -57,7 +57,7 @@ static void room_211_init() {
 	viewing_at_y = 22;
 	global[g009] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int i = 0; i < 10; i++) {
 		aainfo[i]._active = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room220.cpp b/engines/mads/madsv2/forest/rooms/room220.cpp
index d1f0efe3785..021582a20b0 100644
--- a/engines/mads/madsv2/forest/rooms/room220.cpp
+++ b/engines/mads/madsv2/forest/rooms/room220.cpp
@@ -66,7 +66,7 @@ static void room_220_init() {
 	global_midi_play(10);
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int i = 0; i < 10; i++) {
 		aainfo[i]._active = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room301.cpp b/engines/mads/madsv2/forest/rooms/room301.cpp
index 2237046a9f3..446f1339736 100644
--- a/engines/mads/madsv2/forest/rooms/room301.cpp
+++ b/engines/mads/madsv2/forest/rooms/room301.cpp
@@ -105,7 +105,7 @@ static void room_301_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 
@@ -125,7 +125,7 @@ static void room_301_init1() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -179,7 +179,7 @@ static void room_301_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 
@@ -199,7 +199,7 @@ static void room_301_init2() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -235,7 +235,7 @@ static void room_301_init() {
 	if (previous_room != KERNEL_LAST) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int count = 0; count < 10; count++) {
@@ -549,7 +549,7 @@ static void room_301_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a4 == 300) {
 			kernel_abort_animation(scratch._9e);
 			scratch._a4 = -1;
@@ -622,7 +622,7 @@ static void room_301_daemon() {
 			kernel_flip_hotspot(101, 0);
 			inter_move_object(15, PLAYER);
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a8 == 2) {
 			kernel_abort_animation(aa[5]);
 			aa[5] = kernel_run_animation(kernel_name('P', 3), 103);
@@ -640,7 +640,7 @@ static void room_301_daemon() {
 			kernel_flip_hotspot(163, 0);
 			inter_move_object(10, PLAYER);
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -651,7 +651,7 @@ static void room_301_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		global[player_score] = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 101:
@@ -660,7 +660,7 @@ static void room_301_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 100:
@@ -702,7 +702,7 @@ static void room_301_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -711,7 +711,7 @@ static void room_301_daemon() {
 		player.x = 164;
 		player.y = 132;
 		player.facing = 3;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		global[g017] = -1;
 		aainfo[1]._active = 0;
@@ -726,7 +726,7 @@ static void room_301_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	default:
@@ -771,14 +771,14 @@ static void room_301_pre_parser() {
 
 static void room_301_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
 	}
 
 	if (player_parse(words_look_at, words_dandelion, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 1;
@@ -787,7 +787,7 @@ static void room_301_parser() {
 	}
 
 	if (player_parse(words_look_at, words_sunflower, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 2;
@@ -808,7 +808,7 @@ static void room_301_parser() {
 
 	if (player_parse(words_pick_up, words_web, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 2, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -822,7 +822,7 @@ static void room_301_parser() {
 
 	if (player_parse(words_pick_up, words_forked_stick, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 4, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
diff --git a/engines/mads/madsv2/forest/rooms/room302.cpp b/engines/mads/madsv2/forest/rooms/room302.cpp
index 47fa3c7adb0..72764a85eb6 100644
--- a/engines/mads/madsv2/forest/rooms/room302.cpp
+++ b/engines/mads/madsv2/forest/rooms/room302.cpp
@@ -122,7 +122,7 @@ static void room_302_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -143,7 +143,7 @@ static void room_302_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 	kernel_flip_hotspot(119, global[g048] == 0 ? 1 : 0);
 	kernel_flip_hotspot(27, global[g048]);
@@ -210,7 +210,7 @@ static void room_302_init() {
 	if (previous_room != KERNEL_LAST) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int i = 0; i < 10; i++) {
@@ -266,7 +266,7 @@ static void room_302_anim2() {
 		scratch._a4 = 6;
 		kernel_abort_animation(scratch._a2);
 		kernel_abort_animation(scratch._9e);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		global[g017] = -1;
 		scratch.animation_info[1]._active = 0;
@@ -537,7 +537,7 @@ static void room_302_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else {
 			if (scratch._a4 == 200) {
 				kernel_abort_animation(scratch._9e);
@@ -592,7 +592,7 @@ static void room_302_daemon() {
 			scratch.animation_info[7]._frame = 0;
 			scratch._96 = 7;
 			player.walker_visible = true;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel_reset_animation(scratch._9a, 0);
 			kernel_synch(KERNEL_ANIM, aa[7], KERNEL_ANIM, scratch._9a);
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_ANIM, aa[7]);
@@ -633,7 +633,7 @@ static void room_302_daemon() {
 				global[g141] = 0;
 				kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 				player.walker_visible = true;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				global[player_score] = 0;
 				aa[6] = kernel_run_animation(kernel_name('R', 1), 105);
 				scratch.animation_info[6]._active = -1;
@@ -719,7 +719,7 @@ static void room_302_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -729,7 +729,7 @@ static void room_302_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -739,7 +739,7 @@ static void room_302_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		global[player_score] = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 103:
@@ -755,7 +755,7 @@ static void room_302_daemon() {
 			kernel_flip_hotspot(137, 0);
 			inter_move_object(1, PLAYER);
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -788,7 +788,7 @@ static void room_302_daemon() {
 				kernel_seq_depth(seq[3], 15);
 				kernel_seq_loc(seq[3], 15, 86);
 				kernel_seq_scale(seq[3], 52);
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 			}
 		}
 		break;
@@ -800,7 +800,7 @@ static void room_302_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (scratch._96 - 7 == 0) {
 			global[g063] = -1;
 			new_room = 210;
@@ -844,7 +844,7 @@ static void room_302_pre_parser() {
 
 static void room_302_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
@@ -871,7 +871,7 @@ static void room_302_parser() {
 	if (player_parse(words_look_at, words_thistle, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 1;
@@ -882,7 +882,7 @@ static void room_302_parser() {
 	if (player_parse(words_look_at, words_comfrey, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a8 = 2;
@@ -893,7 +893,7 @@ static void room_302_parser() {
 	if (player_parse(words_pick_up, words_rubber_band, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 6, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -908,7 +908,7 @@ static void room_302_parser() {
 	if (player_parse(words_click_on, words_grass, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 4, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -922,7 +922,7 @@ static void room_302_parser() {
 
 	if (player_parse(words_click_on, words_bush, 0)) {
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 8;
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room303.cpp b/engines/mads/madsv2/forest/rooms/room303.cpp
index 58e66c04967..a983930d319 100644
--- a/engines/mads/madsv2/forest/rooms/room303.cpp
+++ b/engines/mads/madsv2/forest/rooms/room303.cpp
@@ -436,7 +436,7 @@ static void room_303_init() {
 	if (previous_room != KERNEL_LAST) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int i = 0; i < 10; i++) {
@@ -501,7 +501,7 @@ static void room_303_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -512,7 +512,7 @@ static void room_303_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -557,7 +557,7 @@ static void room_303_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -568,7 +568,7 @@ static void room_303_init2() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -589,7 +589,7 @@ static void room_303_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else {
 			global[g065] = -1;
 			aa[6] = kernel_run_animation(kernel_name('t', 5), 0);
@@ -606,7 +606,7 @@ static void room_303_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -616,7 +616,7 @@ static void room_303_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 103:
@@ -632,7 +632,7 @@ static void room_303_daemon() {
 			global[g133] = 0;
 			kernel_flip_hotspot(132, 0);
 			inter_move_object(6, PLAYER);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a6 == 2) {
 			dont_frag_the_palette();
 			kernel_abort_animation(aa[5]);
@@ -647,7 +647,7 @@ static void room_303_daemon() {
 			if (!player_has(pebbles))
 				inter_move_object(pebbles, PLAYER);
 			global[g068] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -690,7 +690,7 @@ static void room_303_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a8 == 123) {
 			dont_frag_the_palette();
 			kernel_abort_animation(scratch._9e);
@@ -698,7 +698,7 @@ static void room_303_daemon() {
 			scratch._a4 = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			player.walker_visible = true;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a8 == 300) {
 			dont_frag_the_palette();
 			kernel_abort_animation(scratch._9e);
@@ -794,7 +794,7 @@ static void room_303_daemon() {
 		kernel_reset_animation(scratch._9a, 2);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 107:
@@ -832,7 +832,7 @@ static void room_303_pre_parser() {
 
 static void room_303_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
@@ -841,7 +841,7 @@ static void room_303_parser() {
 	if (player_parse(words_nest, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._9e = kernel_run_animation_talk('b', 7, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._9e, KERNEL_PLAYER, 0);
@@ -860,7 +860,7 @@ static void room_303_parser() {
 	if (player_parse(words_look_at, words_chicory, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 1;
@@ -871,7 +871,7 @@ static void room_303_parser() {
 	if (player_parse(words_look_at, words_foxglove, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 2;
@@ -882,7 +882,7 @@ static void room_303_parser() {
 	if (player_parse(words_pick_up, words_reeds, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 1, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -897,7 +897,7 @@ static void room_303_parser() {
 	if (player_parse(words_pick_up, words_pebbles, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 3, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -910,7 +910,7 @@ static void room_303_parser() {
 	}
 
 	if (player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room304.cpp b/engines/mads/madsv2/forest/rooms/room304.cpp
index 25283da976b..8c8ca35a8bc 100644
--- a/engines/mads/madsv2/forest/rooms/room304.cpp
+++ b/engines/mads/madsv2/forest/rooms/room304.cpp
@@ -101,7 +101,7 @@ static void room_304_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -113,7 +113,7 @@ static void room_304_init() {
 	if (previous_room != KERNEL_LAST) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int i = 0; i < 10; i++) {
@@ -131,7 +131,7 @@ static void room_304_init() {
 }
 
 static void room_304_finish() {
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	if (config_file.forest1)
 		kernel_timing_trigger(1, 107);
 }
@@ -487,7 +487,7 @@ static void room_304_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			global[walker_converse_state] = 0;
 			close_journal(3);
 			break;
@@ -546,11 +546,11 @@ static void room_304_pre_parser() {
 static void room_304_parser() {
 	if (global[walker_converse_state]) {
 		if (global[g064]) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			digi_play_build_ii('c', 1, 1);
 			scratch._9e = 9;
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g150] = -1;
 			scratch._90 = 3;
 		}
@@ -564,7 +564,7 @@ static void room_304_parser() {
 	}
 
 	if (player_parse(words_click_on, words_paint_can, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._90 = 3;
 		player.command_ready = 0;
@@ -572,7 +572,7 @@ static void room_304_parser() {
 	}
 
 	if (player_parse(words_click_on, words_dam, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 2;
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room305.cpp b/engines/mads/madsv2/forest/rooms/room305.cpp
index 1b9a28dd887..4ad22a3a7f3 100644
--- a/engines/mads/madsv2/forest/rooms/room305.cpp
+++ b/engines/mads/madsv2/forest/rooms/room305.cpp
@@ -113,7 +113,7 @@ static void room_305_init1() {
 	global[g133] = 0;
 	global[g143] = 0;
 	player.walker_visible = true;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 }
 
 static void room_305_init2() {
@@ -150,7 +150,7 @@ static void room_305_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -189,7 +189,7 @@ static void room_305_init2() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -213,7 +213,7 @@ static void room_305_init() {
 	if (previous_room != KERNEL_LAST) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int count = 0; count < 10; count++) {
@@ -746,7 +746,7 @@ static void room_305_anim10() {
 		if (f == 79) {
 			kernel_abort_animation(aa[9]);
 			aainfo[9]._active = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 109);
 			global[g131] = -1;
@@ -779,7 +779,7 @@ static void room_305_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 109);
 		} else {
@@ -800,7 +800,7 @@ static void room_305_daemon() {
 				scratch._8c = 3;
 				player.walker_visible = true;
 				global[g135] = -1;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 			}
 		}
 		break;
@@ -875,7 +875,7 @@ static void room_305_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 109);
 		break;
@@ -898,7 +898,7 @@ static void room_305_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 109);
 		}
@@ -911,7 +911,7 @@ static void room_305_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 109);
 		break;
@@ -937,7 +937,7 @@ static void room_305_daemon() {
 				inter_move_object(7, PLAYER);
 			global[g069] = -1;
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 109);
 		}
@@ -987,7 +987,7 @@ static void room_305_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 109);
 		break;
@@ -999,7 +999,7 @@ static void room_305_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		global[player_score] = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 109);
 		break;
@@ -1054,7 +1054,7 @@ static void room_305_pre_parser() {
 
 static void room_305_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
@@ -1062,7 +1062,7 @@ static void room_305_parser() {
 	if (player_parse(words_room_210h, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._9e = kernel_run_animation_talk('b', 9, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
 		scratch._a8 = -1;
@@ -1077,7 +1077,7 @@ static void room_305_parser() {
 	if (player_parse(words_room_210, 0)) {
 		scratch._8c = 3;
 		global[g135] = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		goto handled;
 	}
 
@@ -1088,7 +1088,7 @@ static void room_305_parser() {
 	if (player_parse(words_look_at, words_mint, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._aa = 1;
@@ -1098,7 +1098,7 @@ static void room_305_parser() {
 	if (player_parse(words_look_at, words_snapdragon, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._aa = 2;
@@ -1109,7 +1109,7 @@ static void room_305_parser() {
 		global[player_score] = 0;
 		digi_stop(3);
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 1, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -1123,7 +1123,7 @@ static void room_305_parser() {
 	}
 
 	if (player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
diff --git a/engines/mads/madsv2/forest/rooms/room306.cpp b/engines/mads/madsv2/forest/rooms/room306.cpp
index a758de83bf6..aa3f0db3b3f 100644
--- a/engines/mads/madsv2/forest/rooms/room306.cpp
+++ b/engines/mads/madsv2/forest/rooms/room306.cpp
@@ -89,7 +89,7 @@ static void room_306_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		player.walker_visible = true;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else {
 		global[g131] = 0;
 		global[g141] = 0;
@@ -115,7 +115,7 @@ static void room_306_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 
@@ -158,7 +158,7 @@ static void room_306_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		player.walker_visible = true;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else {
 		global[g131] = 0;
 		global[g141] = 0;
@@ -187,7 +187,7 @@ static void room_306_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 
@@ -247,7 +247,7 @@ static void room_306_init3() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -265,7 +265,7 @@ static void room_306_init3() {
 	kernel_reset_animation(scratch.x9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -284,7 +284,7 @@ static void room_306_init() {
 
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 i = 0; i < 10; i++) {
@@ -385,7 +385,7 @@ static void room_306_anim7() {
 				kernel_reset_animation(scratch.x9a, 2);
 				kernel_synch(KERNEL_ANIM, scratch.x9a, KERNEL_NOW, 0);
 				global[g133] = 0;
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 			}
 			if (global[g066] != 3) {
 				scratch.xa0 = 30;
@@ -685,7 +685,7 @@ static void room_306_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0) {
 				if (global[g066] == 3) {
 					kernel_timing_trigger(1, 118);
@@ -708,7 +708,7 @@ static void room_306_daemon() {
 				kernel_reset_animation(scratch.x9a, 1);
 				kernel_synch(KERNEL_ANIM, scratch.x9a, KERNEL_NOW, 0);
 				global[g133] = 0;
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 				if (config_file.forest1 != 0) {
 					if (global[g066] == 3) {
 						kernel_timing_trigger(1, 118);
@@ -732,7 +732,7 @@ static void room_306_daemon() {
 				aainfo[2]._val3 = 3;
 				scratch.xa2 = 0;
 				scratch.x9e = -1;
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 				if (config_file.forest1 != 0) {
 					if (global[g066] == 3) {
 						kernel_timing_trigger(1, 118);
@@ -783,7 +783,7 @@ static void room_306_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch.x9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		scratch.xaa = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		scratch.xa0 = 30;
 		kernel_timing_trigger(1, 117);
 		break;
@@ -799,7 +799,7 @@ static void room_306_daemon() {
 				kernel_timing_trigger(1, 117);
 			}
 		}
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 		global[g131] = -1;
@@ -818,7 +818,7 @@ static void room_306_daemon() {
 		kernel_reset_animation(scratch.x9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch.x9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0) {
 			if (global[g066] == 3) {
 				kernel_timing_trigger(1, 118);
@@ -958,14 +958,14 @@ static void room_306_pre_parser() {
 
 static void room_306_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
 
 	if (player_parse(words_brown, 0)) {
 		aainfo[2]._val3 = 15;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch.xa8 = kernel_run_animation_talk('b', 9, 0);
 		kernel_position_anim(scratch.xa8, player.x, player.y, player.scale, player.depth);
@@ -982,7 +982,7 @@ static void room_306_parser() {
 	}
 
 	if (player_parse(words_river, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		goto handled;
 	}
diff --git a/engines/mads/madsv2/forest/rooms/room307.cpp b/engines/mads/madsv2/forest/rooms/room307.cpp
index d6087fe13cf..01b2103e56d 100644
--- a/engines/mads/madsv2/forest/rooms/room307.cpp
+++ b/engines/mads/madsv2/forest/rooms/room307.cpp
@@ -124,7 +124,7 @@ static void room_307_init2() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	case 210:
@@ -151,7 +151,7 @@ static void room_307_init2() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -224,7 +224,7 @@ static void room_307_anim3() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			break;
 		default:
 			break;
@@ -249,7 +249,7 @@ static void room_307_anim4() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (cur < 57) {
 		if (cur == 29) {
 			digi_play_build(305, 'e', 1, 1);
@@ -414,7 +414,7 @@ static void room_307_anim7() {
 				result = 0;
 				aainfo[6]._val4 = 0;
 				if (scratch._b0 != 0) {
-					player.commands_allowed = -1;
+					player.commands_allowed = true;
 					scratch._b0 = 0;
 				}
 				if (aainfo[6]._val3 == 4) {
@@ -554,7 +554,7 @@ static void room_307_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			scratch._aa = 0;
 		}
 
@@ -589,7 +589,7 @@ static void room_307_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._aa == 3) {
 			aainfo[3]._val3 = 2;
 			scratch._aa = -1;
@@ -606,7 +606,7 @@ static void room_307_daemon() {
 			aainfo[6]._val3 = 0;
 			scratch._aa = -1;
 			scratch._a0 = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._aa == 41) {
 			dont_frag_the_palette();
 			kernel_abort_animation(scratch._a4);
@@ -633,7 +633,7 @@ static void room_307_daemon() {
 			aa[1] = kernel_run_animation(kernel_name('Z', 1), 102);
 			aainfo[1]._active = -1;
 			scratch._96 = 1;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player.walker_visible = false;
 			kernel_reset_animation(scratch._9a, 0);
 			kernel_reset_animation(scratch._9c, 0);
@@ -682,7 +682,7 @@ static void room_307_daemon() {
 		kernel_reset_animation(scratch._9a, 2);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 100:
@@ -720,7 +720,7 @@ static void room_307_daemon() {
 			global[g141] = -1;
 			global[g133] = 0;
 			global[g143] = 0;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			digi_play_build(307, 'u', 11, 1);
 			scratch._aa = 40;
 			aainfo[6]._val3 = 1;
@@ -809,7 +809,7 @@ static void room_307_daemon() {
 		global[g141] = -1;
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._ac = 0;
 		digi_play_build(307, 'u', 11, 1);
 		scratch._aa = 40;
@@ -856,7 +856,7 @@ static void room_307_pre_parser() {
 		switch (kernel.trigger) {
 		case 0:
 			scratch._b0 = -1;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			digi_play_build(307, '_', 1, 2);
 			kernel_timing_trigger(120, 114);
 			break;
@@ -874,7 +874,7 @@ static void room_307_pre_parser() {
 
 static void room_307_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
@@ -882,7 +882,7 @@ static void room_307_parser() {
 	if (player_parse(words_lily_pad, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._a4 = kernel_run_animation_talk('b', 2, 0);
 		kernel_position_anim(scratch._a4, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._a4, KERNEL_PLAYER, 0);
@@ -895,7 +895,7 @@ static void room_307_parser() {
 	if (player_parse(words_room_210h, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._a4 = kernel_run_animation_talk('b', 1, 0);
 		kernel_position_anim(scratch._a4, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._a4, KERNEL_PLAYER, 0);
@@ -916,7 +916,7 @@ static void room_307_parser() {
 
 	if (player_parse(words_room_308, 0)) {
 		global[g150] = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._a2 = 2;
 		goto handled;
 	}
diff --git a/engines/mads/madsv2/forest/rooms/room308.cpp b/engines/mads/madsv2/forest/rooms/room308.cpp
index f34a61db327..350aca08bca 100644
--- a/engines/mads/madsv2/forest/rooms/room308.cpp
+++ b/engines/mads/madsv2/forest/rooms/room308.cpp
@@ -225,7 +225,7 @@ static void room_308_anim8() {
 	aainfo[6]._val4 = cur;
 
 	if (cur == 57) {
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		dont_frag_the_palette();
 		kernel_abort_animation(seq[5]);
 		aainfo[2]._frame = 0;
@@ -690,7 +690,7 @@ static void room_308_anim16() {
 		kernel_reset_animation(seq[3], 0);
 		aainfo[5]._val3 = 0;
 		kernel_synch(KERNEL_ANIM, seq[3], KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	}
 }
 
@@ -745,7 +745,7 @@ static void room_308_anim18() {
 		kernel_reset_animation(seq[0], 0);
 		aainfo[3]._frame = 0;
 		kernel_synch(KERNEL_ANIM, seq[0], KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	}
 }
 
@@ -1036,14 +1036,14 @@ static void room_308_init() {
 	}
 
 	if (previous_room == 401) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		aa[5] = kernel_run_animation(kernel_name('t', 27), 0);
 		scratch._a2 = -1;
 		return;
 	}
 
 	if (previous_room == 307 || previous_room == 322) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		if (player_has_been_in_room(401)) {
 			aa[7] = kernel_run_animation(kernel_name('t', 40), 0);
 			kernel_reset_animation(aa[7], 13);
@@ -1056,7 +1056,7 @@ static void room_308_init() {
 			kernel_synch(KERNEL_ANIM, ss[7], KERNEL_NOW, 0);
 			global[g009] = -1;
 			global_midi_play(15);
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			return;
 		}
 		if (!player.been_here_before) {
@@ -1136,7 +1136,7 @@ static void room_308_daemon() {
 			display_interface();
 			aainfo[5]._val3 = 0;
 			scratch._b4 = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			scratch._c2 = 0;
 			break;
 		case 2:
@@ -1144,7 +1144,7 @@ static void room_308_daemon() {
 			aainfo[5]._val3 = 0;
 			aainfo[8]._frame = 0;
 			scratch._b4 = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			scratch._c2 = 0;
 			break;
 		case 3:
@@ -1303,20 +1303,20 @@ static void room_308_parser() {
 
 	if (global[walker_converse_state] != 0) {
 		scratch._bc = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		aainfo[5]._val3 = 8;
 		goto handled;
 	}
 
 	if (player_parse(words_tail, 0)) {
 		scratch._bc = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		goto handled;
 	}
 
 	if (player_parse(words_russel, 0)) {
 		scratch._be = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		goto handled;
 	}
 
diff --git a/engines/mads/madsv2/forest/rooms/room321.cpp b/engines/mads/madsv2/forest/rooms/room321.cpp
index 99823d318f2..1bdbe354a7d 100644
--- a/engines/mads/madsv2/forest/rooms/room321.cpp
+++ b/engines/mads/madsv2/forest/rooms/room321.cpp
@@ -125,7 +125,7 @@ static void room_321_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -164,7 +164,7 @@ static void room_321_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 i = 0; i < 10; i++) {
@@ -504,7 +504,7 @@ static void room_321_anim9() {
 		break;
 	case 17:
 		var_2 = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	default:
 		break;
@@ -543,7 +543,7 @@ static void room_321_daemon() {
 		case -666:
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			break;
 
 		case 300:
@@ -574,14 +574,14 @@ static void room_321_daemon() {
 			scratch._a8 = -1;
 			aainfo[9]._frame = 10;
 			kernel_reset_animation(aa[9], 10);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			break;
 
 		case 501:
 			scratch._a8 = -1;
 			aainfo[5]._frame = 0;
 			kernel_reset_animation(aa[5], 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			break;
 
 		default:
@@ -668,7 +668,7 @@ static void room_321_daemon() {
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 		if (scratch._aa == 0) {
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			break;
 		}
 		kernel_seq_delete(seq[5]);
@@ -684,7 +684,7 @@ static void room_321_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -694,7 +694,7 @@ static void room_321_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 103:
@@ -712,7 +712,7 @@ static void room_321_daemon() {
 			kernel_flip_hotspot(132, 0);
 			inter_move_object(6, PLAYER);
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._a6 == 2) {
 			dont_frag_the_palette();
 			kernel_abort_animation(aa[3]);
@@ -729,7 +729,7 @@ static void room_321_daemon() {
 				inter_move_object(pebbles, PLAYER);
 			global[g068] = -1;
 			global[player_score] = -1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		}
 		break;
 
@@ -737,7 +737,7 @@ static void room_321_daemon() {
 		dont_frag_the_palette();
 		kernel_abort_animation(aa[9]);
 		aainfo[9]._active = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	default:
@@ -768,7 +768,7 @@ static void room_321_pre_parser() {
 
 static void room_321_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		scratch._a8 = -666;
 		goto handled;
@@ -781,7 +781,7 @@ static void room_321_parser() {
 	if (player_parse(words_look_at, words_chicory, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 1;
@@ -791,7 +791,7 @@ static void room_321_parser() {
 	if (player_parse(words_look_at, words_foxglove, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 2;
@@ -801,7 +801,7 @@ static void room_321_parser() {
 	if (player_parse(words_pick_up, words_reeds, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 1, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -815,7 +815,7 @@ static void room_321_parser() {
 	if (player_parse(words_pick_up, words_pebbles, 0)) {
 		global[g154] = 2;
 		global[player_score] = 0;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 3, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -829,7 +829,7 @@ static void room_321_parser() {
 	if (player_parse(words_click_on, words_turtle, 0)) {
 		aainfo[8]._frame = 1;
 		kernel_reset_animation(aa[8], 1);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		goto handled;
 	}
 
@@ -842,7 +842,7 @@ static void room_321_parser() {
 	if (player_parse(words_click_on, words_nest, 0)) {
 		aainfo[5]._frame = 1;
 		kernel_reset_animation(aa[5], 1);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		goto handled;
 	}
 
diff --git a/engines/mads/madsv2/forest/rooms/room322.cpp b/engines/mads/madsv2/forest/rooms/room322.cpp
index 3d6e8997863..4a85a499cf8 100644
--- a/engines/mads/madsv2/forest/rooms/room322.cpp
+++ b/engines/mads/madsv2/forest/rooms/room322.cpp
@@ -115,7 +115,7 @@ static void room_322_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -149,7 +149,7 @@ static void room_322_init1() {
 	kernel_reset_animation(scratch._a6, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -182,7 +182,7 @@ static void room_322_anim2() {
 			kernel_reset_animation(scratch._a4, 1);
 			kernel_synch(KERNEL_ANIM, scratch._a4, KERNEL_NOW, 0);
 			global[g133] = 0;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (cur < 54) {
 			if (cur == 21) {
 				seq_handle = seq[1];
@@ -290,7 +290,7 @@ static void room_322_anim6() {
 		kernel_reset_animation(scratch._a4, 1);
 		kernel_synch(KERNEL_ANIM, scratch._a4, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (cur == 29) {
 		digi_play_build(305, 'e', 1, 1);
 		scratch._b4 = 3;
@@ -395,7 +395,7 @@ static void room_322_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			scratch._b4 = 0;
 		}
 
@@ -422,7 +422,7 @@ static void room_322_daemon() {
 		if (global[walker_converse_state]) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 		} else if (scratch._b4 == 1) {
 			global[g150] = -1;
 			dont_frag_the_palette();
@@ -468,7 +468,7 @@ static void room_322_daemon() {
 			aa[1] = kernel_run_animation("*rm307z1", 118);
 			aainfo[1]._frame = -1;
 			scratch._a0 = 1;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player.walker_visible = false;
 			kernel_reset_animation(scratch._a4, 0);
 			kernel_reset_animation(scratch._a6, 0);
@@ -496,7 +496,7 @@ static void room_322_daemon() {
 			}
 		} else if (scratch._ac == 3) {
 			aa[7] = kernel_run_animation(kernel_name('z', 2), 116);
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player.walker_visible = false;
 			kernel_reset_animation(scratch._a4, 0);
 			kernel_reset_animation(scratch._a6, 0);
@@ -632,7 +632,7 @@ static void room_322_daemon() {
 		}
 		kernel_reset_animation(scratch._a4, 1);
 		kernel_synch(KERNEL_ANIM, scratch._a4, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 		break;
@@ -717,7 +717,7 @@ static void room_322_pre_parser() {
 
 static void room_322_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
@@ -726,7 +726,7 @@ static void room_322_parser() {
 	if (player_parse(words_room_301, 0)) {
 		global[g150] = -1;
 		scratch._ac = 3;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.command_ready = 0;
 		return;
 	}
@@ -734,7 +734,7 @@ static void room_322_parser() {
 	if (player_parse(words_lily_pad, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._ae = kernel_run_animation_talk('b', 2, 0);
 		kernel_position_anim(scratch._ae, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._ae, KERNEL_PLAYER, 0);
@@ -748,7 +748,7 @@ static void room_322_parser() {
 	if (player_parse(words_room_210h, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._ae = kernel_run_animation_talk('b', 1, 0);
 		kernel_position_anim(scratch._ae, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._ae, KERNEL_PLAYER, 0);
@@ -765,14 +765,14 @@ static void room_322_parser() {
 	if (player_parse(words_room_210, 0)) {
 		global[g150] = -1;
 		scratch._ac = 1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.command_ready = 0;
 		return;
 	}
 
 	if (player_parse(words_room_308, 0)) {
 		global[g150] = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._ac = 2;
 		player.command_ready = 0;
 		return;
diff --git a/engines/mads/madsv2/forest/rooms/room401.cpp b/engines/mads/madsv2/forest/rooms/room401.cpp
index f736ed99f74..5978486dfe6 100644
--- a/engines/mads/madsv2/forest/rooms/room401.cpp
+++ b/engines/mads/madsv2/forest/rooms/room401.cpp
@@ -104,7 +104,7 @@ static void room_401_anim_state(int16 state) {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		if (config_file.forest1) {
 			digi_stop(1);
@@ -386,7 +386,7 @@ static void room_401_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -428,7 +428,7 @@ static void room_401_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -446,7 +446,7 @@ static void room_401_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 count = 0; count < 10; count++) {
@@ -470,7 +470,7 @@ static void room_401_daemon() {
 			break;
 		global[walker_converse_state] = 0;
 		close_journal(3);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 106);
 		break;
@@ -504,7 +504,7 @@ static void room_401_daemon() {
 	case 26:
 		kernel_reset_animation(scratch._9a, 0);
 		kernel_reset_animation(scratch._9c, 0);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_ANIM, aa[1]);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_ANIM, aa[1]);
@@ -534,7 +534,7 @@ static void room_401_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 101:
@@ -544,7 +544,7 @@ static void room_401_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		kernel_timing_trigger(1, 106);
 		break;
 
@@ -555,7 +555,7 @@ static void room_401_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		kernel_timing_trigger(1, 106);
 		break;
 
@@ -610,7 +610,7 @@ static void room_401_pre_parser() {
 
 static void room_401_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		scratch._a0 = 668;
 		player.command_ready = 0;
@@ -620,7 +620,7 @@ static void room_401_parser() {
 	if (player_parse(words_walk_to, words_room_308, 0)) {
 		global[g150] = -1;
 		scratch._90 = 16;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.command_ready = 0;
 		return;
 	}
@@ -631,7 +631,7 @@ static void room_401_parser() {
 	}
 
 	if (player_parse(words_look_at, words_thistle, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 20;
 		scratch._a2 = 1;
diff --git a/engines/mads/madsv2/forest/rooms/room402.cpp b/engines/mads/madsv2/forest/rooms/room402.cpp
index 376c1c97a8d..9c9b0af58d1 100644
--- a/engines/mads/madsv2/forest/rooms/room402.cpp
+++ b/engines/mads/madsv2/forest/rooms/room402.cpp
@@ -142,7 +142,7 @@ static void room_402_init1() {
 		aainfo[1]._frame = 0;
 		scratch._98 = 15;
 		kernel_flip_hotspot(187, -1);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 3:
 		kernel_flip_hotspot(48, -1);
@@ -160,7 +160,7 @@ static void room_402_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		return;
 	default:
 		return;
@@ -183,7 +183,7 @@ static void room_402_init() {
 	}
 
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int16 count = 0; count < 10; count++) {
 		aainfo[count]._active = 0;
@@ -211,7 +211,7 @@ static void room_402_anim_case7() {
 	if (a2 == -668) {
 		global[walker_converse_state] = 0;
 		close_journal(3);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 	} else if (a2 == 1) {
 		result = 14;
 		kernel_timing_trigger(30, 7);
@@ -339,7 +339,7 @@ static void room_402_anim_state() {
 		close_journal(3);
 		kernel_flip_hotspot(187, -1);
 		kernel_flip_hotspot(46, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 	case 15:
 		aa[1] = kernel_run_animation(kernel_name('L', 11), 103);
@@ -384,7 +384,7 @@ static void room_402_anim_state() {
 		player_demand_location(136, 142);
 		player.walker_visible = true;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		global[walker_converse_state] = 0;
 		close_journal(3);
 		global[player_score] = -1;
@@ -584,7 +584,7 @@ static void room_402_anim2() {
 		int16 frame = aainfo[1]._frame;
 		if (frame == 2) {
 			global_midi_play(15);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			global[g083] = 0;
 			room_402_anim6();
 		} else if (frame == 4) {
@@ -658,7 +658,7 @@ static void room_402_daemon() {
 		global[g154] = 2;
 		global[g156] = 0;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		break;
 
 	case 25:
@@ -705,7 +705,7 @@ static void room_402_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 101:
@@ -714,7 +714,7 @@ static void room_402_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -723,7 +723,7 @@ static void room_402_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 103:
@@ -767,7 +767,7 @@ static void room_402_pre_parser() {
 			return;
 		}
 		scratch._a0 = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		return;
 	}
 
@@ -790,14 +790,14 @@ static void room_402_pre_parser() {
 static void room_402_parser() {
 	if (global[walker_converse_state] != 0) {
 		if (global[g083] == 0) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			aainfo[1]._frame = 4;
 			kernel_reset_animation(aa[1], 4);
 		} else if (global[g083] == 2) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			scratch._90 = 17;
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			digi_play_build_ii('c', 1, 1);
 			scratch._a2 = -668;
 		}
@@ -812,12 +812,12 @@ static void room_402_parser() {
 
 	if (global[g083] == 0) {
 		if (player_parse(words_walk_to, words_lever, 0)) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			aainfo[1]._frame = 4;
 			kernel_reset_animation(aa[1], 4);
 		} else {
 			scratch._a0 = -1;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 		player.command_ready = 0;
 		return;
@@ -825,7 +825,7 @@ static void room_402_parser() {
 
 	if (global[g083] == 2) {
 		if (player_parse(words_click_on, words_rock, 0)) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			scratch._90 = 17;
 		}
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room403.cpp b/engines/mads/madsv2/forest/rooms/room403.cpp
index b0e840361bf..89932cb04a8 100644
--- a/engines/mads/madsv2/forest/rooms/room403.cpp
+++ b/engines/mads/madsv2/forest/rooms/room403.cpp
@@ -107,7 +107,7 @@ static void room_403_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 		return;
 	}
@@ -130,7 +130,7 @@ static void room_403_init1() {
 	kernel_reset_animation(scratch._9c, 2);
 	global[g133] = 0;
 	global[g143] = 0;
-	player.commands_allowed = -1;
+	player.commands_allowed = true;
 	player.walker_visible = true;
 }
 
@@ -165,7 +165,7 @@ static void room_403_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 count = 0; count < 10; count++) {
@@ -461,7 +461,7 @@ static void room_403_daemon() {
 		if (global[walker_converse_state] != 0) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 105);
 		} else if (scratch._a4 == 300) {
@@ -565,7 +565,7 @@ static void room_403_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 105);
 		break;
@@ -583,7 +583,7 @@ static void room_403_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 105);
 		break;
@@ -594,7 +594,7 @@ static void room_403_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 105);
 		break;
@@ -605,7 +605,7 @@ static void room_403_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1 != 0)
 			kernel_timing_trigger(1, 105);
 		break;
@@ -623,7 +623,7 @@ static void room_403_daemon() {
 			kernel_flip_hotspot(166, 0);
 			inter_move_object(13, PLAYER);
 			display_interface();
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 105);
 		} else if (scratch._a2 == 2) {
@@ -638,7 +638,7 @@ static void room_403_daemon() {
 			global[g133] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			kernel_flip_hotspot(95, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 105);
 		}
@@ -702,7 +702,7 @@ static void room_403_pre_parser() {
 
 static void room_403_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = 0;
 		return;
@@ -714,7 +714,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_look_at, words_snapdragon, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a2 = 1;
@@ -723,7 +723,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_look_at, words_dandelion, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a2 = 2;
@@ -732,7 +732,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_look_at, words_primrose, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a2 = 3;
@@ -741,7 +741,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_look_at, words_sunflower, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a2 = 4;
@@ -750,7 +750,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		player.command_ready = 0;
@@ -760,7 +760,7 @@ static void room_403_parser() {
 	if (player_parse(words_pick_up, words_wrench, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._9e = kernel_run_animation_talk('b', 2, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._9e, KERNEL_PLAYER, 0);
@@ -776,7 +776,7 @@ static void room_403_parser() {
 	if (player_parse(words_pick_up, words_eyebright, 0)) {
 		global[g154] = 2;
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		scratch._9e = kernel_run_animation_talk('b', 4, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
 		kernel_synch(KERNEL_ANIM, scratch._9e, KERNEL_PLAYER, 0);
@@ -790,7 +790,7 @@ static void room_403_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0) || player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room404.cpp b/engines/mads/madsv2/forest/rooms/room404.cpp
index f867583e041..f58d1f8067f 100644
--- a/engines/mads/madsv2/forest/rooms/room404.cpp
+++ b/engines/mads/madsv2/forest/rooms/room404.cpp
@@ -116,7 +116,7 @@ static void room_404_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	} else if (previous_room == 401) {
 		aa[0] = kernel_run_animation(kernel_name('y', 1), 100);
@@ -137,7 +137,7 @@ static void room_404_init1() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 
@@ -191,7 +191,7 @@ static void room_404_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 count = 0; count < 10; count++) {
@@ -516,7 +516,7 @@ static void room_404_daemon() {
 		if (global[walker_converse_state] && global[g081]) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 110);
 		} else if (scratch._a6 == 400) {
@@ -525,7 +525,7 @@ static void room_404_daemon() {
 			scratch._a2 = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			player.walker_visible = true;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 110);
 		}
@@ -593,7 +593,7 @@ static void room_404_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 110);
 		break;
@@ -607,7 +607,7 @@ static void room_404_daemon() {
 				aa[9] = kernel_run_animation(kernel_name('t', 1), 107);
 				kernel_synch(KERNEL_ANIM, aa[9], KERNEL_ANIM, aa[0]);
 				scratch.animation_info[9]._active = -1;
-				player.commands_allowed = 0;
+				player.commands_allowed = false;
 				kernel_timing_trigger(1, 110);
 			} else {
 				global[g131] = -1;
@@ -620,7 +620,7 @@ static void room_404_daemon() {
 				global[g133] = 0;
 				global[g143] = 0;
 				kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 				if (config_file.forest1)
 					kernel_timing_trigger(1, 110);
 			}
@@ -635,7 +635,7 @@ static void room_404_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 110);
 		}
@@ -647,7 +647,7 @@ static void room_404_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 110);
 		break;
@@ -658,7 +658,7 @@ static void room_404_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 110);
 		break;
@@ -687,7 +687,7 @@ static void room_404_daemon() {
 			if (global[walker_converse_state]) {
 				kernel_timing_trigger(5, 104);
 			} else {
-				player.commands_allowed = -1;
+				player.commands_allowed = true;
 			}
 			kernel_timing_trigger(1, 110);
 		} else if (scratch._a4 == 2) {
@@ -716,14 +716,14 @@ static void room_404_daemon() {
 				global[walker_converse_state] = 0;
 				close_journal(3);
 			}
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 110);
 		}
 		break;
 
 	case 104:
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		if (global[walker_converse_state])
 			inter_spin_object(13);
 		global[g150] = -1;
@@ -758,7 +758,7 @@ static void room_404_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 110);
 		}
@@ -770,7 +770,7 @@ static void room_404_daemon() {
 		break;
 
 	case 109:
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player_walk(202, 133, 3);
 		player_walk_trigger(104);
 		break;
@@ -816,14 +816,14 @@ static void room_404_pre_parser() {
 
 static void room_404_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		if (global[g081]) {
 			digi_play_build_ii('c', 1, 1);
 			player.command_ready = false;
 			return;
 		}
 		if (global[g084] == 16) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			player_walk(202, 133, 3);
 			kernel.trigger_setup_mode = 1;
 			player_walk_trigger(104);
@@ -852,7 +852,7 @@ static void room_404_parser() {
 				display_interface();
 			}
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g135] = -1;
 			scratch._8c = 7;
 		}
@@ -861,7 +861,7 @@ static void room_404_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		player.command_ready = false;
@@ -869,7 +869,7 @@ static void room_404_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = false;
@@ -878,11 +878,11 @@ static void room_404_parser() {
 
 	if (player_parse(words_click_on, words_hole, 0)) {
 		if (!global[g082]) {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g150] = -1;
 			scratch._90 = 6;
 		} else {
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			global[g135] = -1;
 			scratch._8c = 7;
 		}
@@ -892,7 +892,7 @@ static void room_404_parser() {
 
 	if (player_parse(words_click_on, words_dragon1, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 7, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
@@ -908,7 +908,7 @@ static void room_404_parser() {
 
 	if (player_parse(words_click_on, words_dragon2, 0)) {
 		global[g154] = 2;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		player.walker_visible = false;
 		scratch._9e = kernel_run_animation_talk('b', 9, 0);
 		kernel_position_anim(scratch._9e, player.x, player.y, player.scale, player.depth);
diff --git a/engines/mads/madsv2/forest/rooms/room405.cpp b/engines/mads/madsv2/forest/rooms/room405.cpp
index 72bfc0409cb..627bc558373 100644
--- a/engines/mads/madsv2/forest/rooms/room405.cpp
+++ b/engines/mads/madsv2/forest/rooms/room405.cpp
@@ -98,7 +98,7 @@ static void room_405_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	} else if (previous_room == 404) {
 		global[g009] = -1;
@@ -117,7 +117,7 @@ static void room_405_init1() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 }
@@ -136,7 +136,7 @@ static void room_405_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int16 count = 0; count < 10; count++) {
@@ -279,7 +279,7 @@ static void room_405_daemon() {
 		if (global[walker_converse_state]) {
 			global[walker_converse_state] = 0;
 			close_journal(3);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 106);
 		}
@@ -339,7 +339,7 @@ static void room_405_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 106);
 		break;
@@ -351,7 +351,7 @@ static void room_405_daemon() {
 			aa[6] = kernel_run_animation(kernel_name('t', 1), 104);
 			kernel_synch(KERNEL_ANIM, aa[6], KERNEL_ANIM, aa[0]);
 			scratch.animation_info[6]._active = -1;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 			kernel_timing_trigger(1, 106);
 		} else {
 			global[g131] = -1;
@@ -364,7 +364,7 @@ static void room_405_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 106);
 		}
@@ -376,7 +376,7 @@ static void room_405_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 106);
 		break;
@@ -387,7 +387,7 @@ static void room_405_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		if (config_file.forest1)
 			kernel_timing_trigger(1, 106);
 		break;
@@ -405,7 +405,7 @@ static void room_405_daemon() {
 			global[g133] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			global[g082] = 1;
-			player.commands_allowed = -1;
+			player.commands_allowed = true;
 			if (config_file.forest1)
 				kernel_timing_trigger(1, 106);
 		}
@@ -459,7 +459,7 @@ static void room_405_pre_parser() {
 
 static void room_405_parser() {
 	if (global[walker_converse_state]) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		player.command_ready = false;
 		return;
@@ -477,7 +477,7 @@ static void room_405_parser() {
 	}
 
 	if (player_parse(words_look_at, words_map, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g145] = -1;
 		scratch._8e = 2;
 		player.command_ready = false;
@@ -485,7 +485,7 @@ static void room_405_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		player.command_ready = false;
@@ -493,7 +493,7 @@ static void room_405_parser() {
 	}
 
 	if (player_parse(words_click_on, words_dragon1, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g150] = -1;
 		scratch._90 = 6;
 		player.command_ready = false;
diff --git a/engines/mads/madsv2/forest/rooms/room420.cpp b/engines/mads/madsv2/forest/rooms/room420.cpp
index 53745f23bfc..546d73524eb 100644
--- a/engines/mads/madsv2/forest/rooms/room420.cpp
+++ b/engines/mads/madsv2/forest/rooms/room420.cpp
@@ -196,7 +196,7 @@ static void room_420_init() {
     global[player_score] = -1;
     global[g009] = 0;
     player.walker_visible = false;
-    player.commands_allowed = 0;
+    player.commands_allowed = false;
 
     for (int16 count = 0; count < 10; count++) {
         scratch.animation_info[count]._active = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room501.cpp b/engines/mads/madsv2/forest/rooms/room501.cpp
index 6236d219d07..efdf927b486 100644
--- a/engines/mads/madsv2/forest/rooms/room501.cpp
+++ b/engines/mads/madsv2/forest/rooms/room501.cpp
@@ -86,7 +86,7 @@ static void room_501_init() {
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		if (previous_room != 199) {
 			player.walker_visible = false;
-			player.commands_allowed = 0;
+			player.commands_allowed = false;
 		}
 
 		for (int count = 0; count < 10; count++) {
@@ -134,7 +134,7 @@ static void room_501_init1() {
 		global[g133] = 0;
 		global[g143] = 0;
 		restore_player();
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	} else if (previous_room == 405) {
 		if (flags[32] == 1) {
@@ -158,7 +158,7 @@ static void room_501_init1() {
 		kernel_reset_animation(scratch._9c, 2);
 		global[g133] = 0;
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		player.walker_visible = true;
 	}
 }
@@ -394,7 +394,7 @@ static void room_501_daemon() {
 			global[walker_converse_state] = 0;
 			close_journal(3);
 		}
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 24:
@@ -457,7 +457,7 @@ static void room_501_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 100:
@@ -473,7 +473,7 @@ static void room_501_daemon() {
 		global[g133] = 0;
 		global[g143] = 0;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 101:
@@ -482,7 +482,7 @@ static void room_501_daemon() {
 		kernel_reset_animation(scratch._9c, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
 		global[g143] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 102:
@@ -492,7 +492,7 @@ static void room_501_daemon() {
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
 		global[player_score] = -1;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 105:
@@ -545,7 +545,7 @@ static void room_501_pre_parser() {
 
 static void room_501_parser() {
 	if (global[walker_converse_state] != 0) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_play_build_ii('c', 1, 1);
 		goto handled;
 	}
@@ -562,7 +562,7 @@ static void room_501_parser() {
 	if (player_parse(words_look_at, words_snapdragon, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 1;
@@ -572,7 +572,7 @@ static void room_501_parser() {
 	if (player_parse(words_look_at, words_snapdragon2, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 2;
@@ -582,7 +582,7 @@ static void room_501_parser() {
 	if (player_parse(words_look_at, words_primrose, 0)) {
 		global[player_score] = 0;
 		digi_stop(3);
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 5;
 		scratch._a6 = 3;
@@ -590,7 +590,7 @@ static void room_501_parser() {
 	}
 
 	if (player_parse(words_pick_up, words_flowers, 0) || player_parse(words_click_on, words_moss, 0)) {
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		global[g135] = -1;
 		scratch._8c = 3;
 		goto handled;
diff --git a/engines/mads/madsv2/forest/rooms/room503.cpp b/engines/mads/madsv2/forest/rooms/room503.cpp
index e1f873b733b..97676ea7115 100644
--- a/engines/mads/madsv2/forest/rooms/room503.cpp
+++ b/engines/mads/madsv2/forest/rooms/room503.cpp
@@ -97,7 +97,7 @@ static void room_503_init() {
 
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		player.walker_visible = false;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 
 		for (int count = 0; count < 12; count++) {
 			aainfo[count]._val3 = 0;
@@ -140,7 +140,7 @@ static void room_503_init() {
 static void room_503_init1() {
 	global[player_score] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	if (previous_room == 199) {
 		if (global[g100] != 0) {
@@ -193,7 +193,7 @@ static void room_503_init2() {
 	viewing_at_y = 22;
 	global[player_score] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 	scratch._ba = -1;
 	aa[6] = kernel_run_animation(kernel_name('F', 2), 0);
@@ -203,7 +203,7 @@ static void room_503_init2() {
 static void room_503_init3() {
 	global[player_score] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	if (previous_room == 199) {
 		if (global[g100] != 0) {
@@ -1077,7 +1077,7 @@ static void room_503_daemon() {
 		kernel_reset_animation(scratch._ae, 1);
 		kernel_synch(KERNEL_ANIM, scratch._ae, KERNEL_NOW, 0);
 		global[g133] = 0;
-		player.commands_allowed = -1;
+		player.commands_allowed = true;
 		break;
 
 	case 100:
@@ -1086,7 +1086,7 @@ static void room_503_daemon() {
 		aa[1] = kernel_run_animation(kernel_name('t', 1), 1);
 		kernel_synch(KERNEL_ANIM, aa[1], KERNEL_NOW, 0);
 		aainfo[1]._val3 = -1;
-		player.commands_allowed = 0;
+		player.commands_allowed = false;
 		digi_initial_volume(20);
 		scratch._b4 = 1;
 		digi_play_build(503, '_', 1, 3);
diff --git a/engines/mads/madsv2/forest/rooms/room509.cpp b/engines/mads/madsv2/forest/rooms/room509.cpp
index 03856bc5c46..3399300cb4c 100644
--- a/engines/mads/madsv2/forest/rooms/room509.cpp
+++ b/engines/mads/madsv2/forest/rooms/room509.cpp
@@ -68,7 +68,7 @@ static void room_509_init() {
 	viewing_at_y = 22;
 	global[player_score] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 
 	for (int count = 0; count < 10; count++) {
 		aainfo[count]._active = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room510.cpp b/engines/mads/madsv2/forest/rooms/room510.cpp
index 1ba2f623f28..e1934a913a1 100644
--- a/engines/mads/madsv2/forest/rooms/room510.cpp
+++ b/engines/mads/madsv2/forest/rooms/room510.cpp
@@ -244,7 +244,7 @@ static void room_510_init() {
 	scratch._98 = 670;
 	viewing_at_y = 22;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 
 	for (int count = 0; count < 10; count++) {
diff --git a/engines/mads/madsv2/forest/rooms/room520.cpp b/engines/mads/madsv2/forest/rooms/room520.cpp
index c4affc81f0a..3de6217df73 100644
--- a/engines/mads/madsv2/forest/rooms/room520.cpp
+++ b/engines/mads/madsv2/forest/rooms/room520.cpp
@@ -74,7 +74,7 @@ static void room_520_init() {
 	global[player_score] = 0;
 	global[g009] = 0;
 	player.walker_visible = false;
-	player.commands_allowed = 0;
+	player.commands_allowed = false;
 	mouse_hide();
 
 	for (int i = 0; i < 10; i++) {


Commit: 5415a3fba9d54cf752c144d0747a32f831198e38
    https://github.com/scummvm/scummvm/commit/5415a3fba9d54cf752c144d0747a32f831198e38
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-25T21:41:27+10:00

Commit Message:
MADS: FOREST: Fix global midi names array

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


diff --git a/engines/mads/madsv2/forest/global.cpp b/engines/mads/madsv2/forest/global.cpp
index 21b0c87a507..c3e40a34e89 100644
--- a/engines/mads/madsv2/forest/global.cpp
+++ b/engines/mads/madsv2/forest/global.cpp
@@ -987,12 +987,12 @@ void global_error_code() {
 }
 
 void global_midi_play(int num) {
-	static const char *NAMES[14] = {
+	static const char *NAMES[15] = {
 		"adven2", "foolarnd", "homeag", "humorus1", "humorus2", "pianogtr", "raindrop",
-		"xad", "xcarey", "xuspens1", "travels1", "birdsong", "adventur", "action1"
+		"xad", "xcarey", "xuspens1", "travels1", "xcarey2", "birdsong", "adventur", "action1"
 	};
 
-	assert(num >= 1 && num <= 14);
+	assert(num >= 1 && num <= 15);
 	Common::String name = Common::String::format("*%s.hmi", NAMES[num - 1]);
 
 	midi_play(name.c_str());


Commit: 35443dc802c575fb94d5d80bf8cac56ff0f8258d
    https://github.com/scummvm/scummvm/commit/35443dc802c575fb94d5d80bf8cac56ff0f8258d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-25T21:41:27+10:00

Commit Message:
MADS: FOREST: Fixes for entering room 203

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


diff --git a/engines/mads/madsv2/forest/rooms/room203.cpp b/engines/mads/madsv2/forest/rooms/room203.cpp
index 18ac1f63d4e..c0967fc3ece 100644
--- a/engines/mads/madsv2/forest/rooms/room203.cpp
+++ b/engines/mads/madsv2/forest/rooms/room203.cpp
@@ -234,6 +234,7 @@ static void room_203_init() {
 }
 
 static void room_203_anim5();
+static void room_203_anim7();
 
 static void room_203_anim1() {
 	int result = -1;
@@ -378,7 +379,7 @@ static void room_203_anim1() {
 			dont_frag_the_palette();
 			kernel_abort_animation(aa[0]);
 			aainfo[0]._active = 0;
-			room_203_anim5();
+			room_203_anim7();
 		} else if (frame < 29) {
 			if (frame == 22) {
 				result = 20;
@@ -996,6 +997,28 @@ static void room_203_anim6() {
 	}
 }
 
+static void room_203_anim7() {
+	global[g131] = -1;
+	global[g141] = -1;
+	kernel_reset_animation(local->_9e, 1);
+	kernel_reset_animation(local->_a0, 1);
+	kernel_synch(KERNEL_ANIM, local->_9e, KERNEL_NOW, 0);
+	kernel_synch(KERNEL_ANIM, local->_a0, KERNEL_NOW, 0);
+	global[g133] = 0;
+	global[g143] = 0;
+	aa[4] = kernel_run_animation(kernel_name('w', 4), 105);
+	aainfo[4]._active = -1;
+	aainfo[4]._frame = 0;
+	local->_9c = 63;
+	local->_aa = -1;
+	player.walker_visible = true;
+	kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
+	player.commands_allowed = -1;
+	kernel_flip_hotspot(168, -1);
+	kernel_flip_hotspot(170, -1);
+	kernel_flip_hotspot(169, -1);
+}
+
 static void room_203_daemon() {
 	switch (kernel.trigger) {
 	case 7:
@@ -1548,6 +1571,21 @@ static void room_203_daemon() {
 
 	case 106:
 		switch (local->_a4) {
+		case 11:
+			aainfo[0]._frame = 11;
+			kernel_reset_animation(aa[0], 11);
+			break;
+
+		case 12:
+			aainfo[0]._frame = 35;
+			kernel_reset_animation(aa[0], 35);
+			break;
+
+		case 21:
+			aainfo[0]._frame = 19;
+			kernel_reset_animation(aa[0], 19);
+			break;
+
 		case 23:
 			digi_play_build(203, 'W', 1, 1);
 			local->_a4 = 51;
@@ -1572,19 +1610,9 @@ static void room_203_daemon() {
 			local->_a4 = 38;
 			break;
 
-		case 34:
-			aainfo[0]._frame = 11;
-			kernel_reset_animation(aa[0], 11);
-			break;
-
-		case 35:
-			aainfo[0]._frame = 35;
-			kernel_reset_animation(aa[0], 35);
-			break;
-
-		case 44:
-			aainfo[0]._frame = 19;
-			kernel_reset_animation(aa[0], 19);
+		case 51:
+			aainfo[0]._frame = 25;
+			kernel_reset_animation(aa[0], 25);
 			break;
 
 		default:


Commit: f79484a77135bdda50a5839b290ca61367ee185d
    https://github.com/scummvm/scummvm/commit/f79484a77135bdda50a5839b290ca61367ee185d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-25T21:41:27+10:00

Commit Message:
MADS: FOREST: Improve kernel_flip_hotspot calls to use words enum

Changed paths:
    engines/mads/madsv2/forest/rooms/room101.cpp
    engines/mads/madsv2/forest/rooms/room106.cpp
    engines/mads/madsv2/forest/rooms/room199.cpp
    engines/mads/madsv2/forest/rooms/room201.cpp
    engines/mads/madsv2/forest/rooms/room203.cpp
    engines/mads/madsv2/forest/rooms/room204.cpp
    engines/mads/madsv2/forest/rooms/room301.cpp
    engines/mads/madsv2/forest/rooms/room302.cpp
    engines/mads/madsv2/forest/rooms/room303.cpp
    engines/mads/madsv2/forest/rooms/room304.cpp
    engines/mads/madsv2/forest/rooms/room305.cpp
    engines/mads/madsv2/forest/rooms/room306.cpp
    engines/mads/madsv2/forest/rooms/room307.cpp
    engines/mads/madsv2/forest/rooms/room308.cpp
    engines/mads/madsv2/forest/rooms/room321.cpp
    engines/mads/madsv2/forest/rooms/room322.cpp
    engines/mads/madsv2/forest/rooms/room401.cpp
    engines/mads/madsv2/forest/rooms/room402.cpp
    engines/mads/madsv2/forest/rooms/room403.cpp
    engines/mads/madsv2/forest/rooms/room404.cpp


diff --git a/engines/mads/madsv2/forest/rooms/room101.cpp b/engines/mads/madsv2/forest/rooms/room101.cpp
index 8c1f8e33fd1..6fd0b34d514 100644
--- a/engines/mads/madsv2/forest/rooms/room101.cpp
+++ b/engines/mads/madsv2/forest/rooms/room101.cpp
@@ -239,7 +239,7 @@ static void room_101_init() {
 		kernel_seq_loc(seq[0], 264, 131);
 		kernel_seq_scale(seq[0], 68);
 	} else {
-		kernel_flip_hotspot(164, false);
+		kernel_flip_hotspot(words_wood, false);
 	}
 
 	if (object_is_here(cogs)) {
@@ -249,7 +249,7 @@ static void room_101_init() {
 		kernel_seq_loc(seq[2], 159, 116);
 		kernel_seq_scale(seq[2], 100);
 	} else {
-		kernel_flip_hotspot(105, false);
+		kernel_flip_hotspot(words_gears, false);
 	}
 
 	if (object_is_here(twine)) {
@@ -259,7 +259,7 @@ static void room_101_init() {
 		kernel_seq_loc(seq[1], 21, 127);
 		kernel_seq_scale(seq[1], 100);
 	} else {
-		kernel_flip_hotspot(154, false);
+		kernel_flip_hotspot(words_twine, false);
 	}
 
 	switch (flags[0]) {
@@ -662,7 +662,7 @@ static void room_101_daemon() {
 			global[g143] = 1;
 			inter_move_object(cogs, PLAYER);
 			kernel_seq_delete(seq[2]);
-			kernel_flip_hotspot(105, 0);
+			kernel_flip_hotspot(words_gears, false);
 			aa[4] = kernel_run_animation(kernel_name('R', 5), 103);
 			aainfo[4]._active = -1;
 			aainfo[4]._val3 = 14;
@@ -687,7 +687,7 @@ static void room_101_daemon() {
 			global[g143] = 1;
 			inter_move_object(planks, PLAYER);
 			kernel_seq_delete(seq[0]);
-			kernel_flip_hotspot(164, 0);
+			kernel_flip_hotspot(words_wood, false);
 			aa[4] = kernel_run_animation(kernel_name('R', 6), 103);
 			aainfo[4]._active = -1;
 			aainfo[4]._val3 = 15;
@@ -808,7 +808,7 @@ static void room_101_daemon() {
 			break;
 		case 5:
 			kernel_seq_delete(seq[3]);
-			kernel_flip_hotspot(110, 0);
+			kernel_flip_hotspot(words_journal, false);
 			kernel_abort_animation(aa[6]);
 			aa[6] = kernel_run_animation(kernel_name('e', 2), 104);
 			aainfo[6]._active = -1;
@@ -913,7 +913,7 @@ static void room_101_daemon() {
 		global[g143] = 1;
 		inter_move_object(twine, PLAYER);
 		kernel_seq_delete(seq[1]);
-		kernel_flip_hotspot(154, 0);
+		kernel_flip_hotspot(words_twine, false);
 		aa[4] = kernel_run_animation(kernel_name('R', 4), 103);
 		aainfo[4]._active = -1;
 		aainfo[4]._val3 = 13;
diff --git a/engines/mads/madsv2/forest/rooms/room106.cpp b/engines/mads/madsv2/forest/rooms/room106.cpp
index 80c73a622e3..4094374e1f4 100644
--- a/engines/mads/madsv2/forest/rooms/room106.cpp
+++ b/engines/mads/madsv2/forest/rooms/room106.cpp
@@ -94,7 +94,7 @@ static void room_106_init() {
 	scratch._ae = -1;
 
 	if (global[g022] != 0)
-		kernel_flip_hotspot(84, 0);
+		kernel_flip_hotspot(words_door, false);
 
 	if (object_is_here(5)) {
 		ss[0] = kernel_load_series(kernel_name('p', 2), 0);
@@ -103,7 +103,7 @@ static void room_106_init() {
 		kernel_seq_loc(seq[0], 235, 99);
 		kernel_seq_scale(seq[0], 58);
 	} else {
-		kernel_flip_hotspot(125, 0);
+		kernel_flip_hotspot(words_pebbles, false);
 	}
 
 	if (previous_room != KERNEL_RESTORING_GAME) {
@@ -633,7 +633,7 @@ static void room_106_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		kernel_flip_hotspot(125, 0);
+		kernel_flip_hotspot(words_pebbles, false);
 		inter_move_object(5, PLAYER);
 		player.commands_allowed = true;
 		break;
@@ -750,7 +750,7 @@ static void room_106_parser() {
 		digi_play_build_ii('b', 1, 1);
 		scratch._ae = 89;
 		scratch._aa = -1;
-		kernel_flip_hotspot(84, 0);
+		kernel_flip_hotspot(words_door, false);
 		global[g022] = -1;
 		player.command_ready = 0;
 		return;
diff --git a/engines/mads/madsv2/forest/rooms/room199.cpp b/engines/mads/madsv2/forest/rooms/room199.cpp
index a3d34bd6603..d9f59a2d271 100644
--- a/engines/mads/madsv2/forest/rooms/room199.cpp
+++ b/engines/mads/madsv2/forest/rooms/room199.cpp
@@ -113,8 +113,8 @@ static void room_199_init() {
 		if (global[g070] != 0) {
 			aainfo[2]._frame = 1;
 			ss[1] = kernel_load_series("*rm199z1", 0);
-			kernel_flip_hotspot(99, false);
-			kernel_flip_hotspot(174, false);
+			kernel_flip_hotspot(words_flowers, false);
+			kernel_flip_hotspot(words_fwt, false);
 			int16 slot = aainfo[2]._frame;
 			seq[6 + slot] = kernel_seq_stamp(ss[slot], false, 1);
 			kernel_seq_depth(seq[6 + slot], 1);
@@ -129,8 +129,8 @@ static void room_199_init() {
 	} else if (previous_room == 503) {
 		aainfo[2]._frame = 3;
 		ss[3] = kernel_load_series("*rm199v1", 0);
-		kernel_flip_hotspot(99, false);
-		kernel_flip_hotspot(174, false);
+		kernel_flip_hotspot(words_flowers, false);
+		kernel_flip_hotspot(words_fwt, false);
 		int16 slot = aainfo[2]._frame;
 		seq[6 + slot] = kernel_seq_stamp(ss[slot], false, 1);
 		kernel_seq_depth(seq[6 + slot], 5);
@@ -144,8 +144,8 @@ static void room_199_init() {
 		ss[0] = kernel_load_series("*rm199n1", 0);
 	}
 
-	kernel_flip_hotspot(99, false);
-	kernel_flip_hotspot(174, false);
+	kernel_flip_hotspot(words_flowers, false);
+	kernel_flip_hotspot(words_fwt, false);
 	int16 slot = aainfo[2]._frame;
 	seq[6 + slot] = kernel_seq_stamp(ss[slot], false, 1);
 	kernel_seq_depth(seq[6 + slot], 1);
@@ -461,9 +461,9 @@ static void room_199_parser2() {
 
 static void room_199_parser1() {
 	if (aainfo[2]._active == 2)
-		kernel_flip_hotspot(99, 0);
+		kernel_flip_hotspot(words_flowers, false);
 	if (aainfo[2]._active == 3)
-		kernel_flip_hotspot(174, 0);
+		kernel_flip_hotspot(words_fwt, false);
 
 	int16 old_slot = aainfo[2]._active;
 	kernel_seq_delete(seq[6 + old_slot]);
@@ -483,11 +483,11 @@ static void room_199_parser1() {
 		break;
 	case 2:
 		ss[new_slot] = kernel_load_series("*rm199i1", 0);
-		kernel_flip_hotspot(99, -1);
+		kernel_flip_hotspot(words_flowers, true);
 		break;
 	case 3:
 		ss[new_slot] = kernel_load_series("*rm199v1", 0);
-		kernel_flip_hotspot(174, -1);
+		kernel_flip_hotspot(words_fwt, true);
 		break;
 	}
 
diff --git a/engines/mads/madsv2/forest/rooms/room201.cpp b/engines/mads/madsv2/forest/rooms/room201.cpp
index d02026c68b6..9a97ccc5648 100644
--- a/engines/mads/madsv2/forest/rooms/room201.cpp
+++ b/engines/mads/madsv2/forest/rooms/room201.cpp
@@ -381,7 +381,7 @@ static void room_201_daemon() {
 		kernel_reset_animation(scratch._9a, 1);
 		kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 		global[g133] = 0;
-		kernel_flip_hotspot(145, false);
+		kernel_flip_hotspot(words_sticks, false);
 		inter_move_object(sticks, PLAYER);
 		player.commands_allowed = true;
 	} else if (trigger == 26) {
@@ -469,7 +469,7 @@ static void room_201_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(93, false);
+			kernel_flip_hotspot(words_elm_leaves, false);
 			inter_move_object(elm_leaves, PLAYER);
 			player.commands_allowed = true;
 		}
diff --git a/engines/mads/madsv2/forest/rooms/room203.cpp b/engines/mads/madsv2/forest/rooms/room203.cpp
index c0967fc3ece..ce5c5030600 100644
--- a/engines/mads/madsv2/forest/rooms/room203.cpp
+++ b/engines/mads/madsv2/forest/rooms/room203.cpp
@@ -152,9 +152,9 @@ static void room_203_init1() {
 		player.walker_visible = true;
 		kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 		player.commands_allowed = true;
-		kernel_flip_hotspot(168, -1);
-		kernel_flip_hotspot(170, -1);
-		kernel_flip_hotspot(169, -1);
+		kernel_flip_hotspot(words_abigail, true);
+		kernel_flip_hotspot(words_russel, true);
+		kernel_flip_hotspot(words_edgar, true);
 
 		if (global[g049] != 0) {
 			aa[3] = kernel_run_animation(kernel_name('a', 1), 104);
@@ -188,25 +188,25 @@ static void room_203_init() {
 	scratch._a6 = 5;
 	global[player_score] = -1;
 	global[g009] = -1;
-	kernel_flip_hotspot(65, false);
-	kernel_flip_hotspot(66, false);
-	kernel_flip_hotspot(168, false);
-	kernel_flip_hotspot(170, false);
-	kernel_flip_hotspot(169, false);
+	kernel_flip_hotspot(words_abi_bubble, false);
+	kernel_flip_hotspot(words_all_bubble, false);
+	kernel_flip_hotspot(words_abigail, false);
+	kernel_flip_hotspot(words_russel, false);
+	kernel_flip_hotspot(words_edgar, false);
 
 	ss[0] = kernel_load_series(kernel_name('p', 5), 0);
 	ss[1] = kernel_load_series(kernel_name('p', 6), 0);
 
 	if (global[g047] != 0) {
-		kernel_flip_hotspot(119, false);
-		kernel_flip_hotspot(27, -1);
+		kernel_flip_hotspot(words_moss, false);
+		kernel_flip_hotspot(words_room_210, true);
 		seq[1] = kernel_seq_stamp(ss[1], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[1], 15);
 		kernel_seq_loc(seq[1], 128, 74);
 		kernel_seq_scale(seq[1], 100);
 	} else {
-		kernel_flip_hotspot(119, -1);
-		kernel_flip_hotspot(27, false);
+		kernel_flip_hotspot(words_moss, true);
+		kernel_flip_hotspot(words_room_210, false);
 		seq[0] = kernel_seq_stamp(ss[0], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[0], 15);
 		kernel_seq_loc(seq[0], 129, 79);
@@ -667,24 +667,24 @@ static void room_203_anim3() {
 }
 
 static void room_203_flip_hotspots1() {
-	kernel_flip_hotspot(65, true);
-	kernel_flip_hotspot(66, true);
-	kernel_flip_hotspot(168, false);
-	kernel_flip_hotspot(170, false);
-	kernel_flip_hotspot(169, false);
-	kernel_flip_hotspot(119, false);
-	kernel_flip_hotspot(27, false);
-	kernel_flip_hotspot(21, false);
-	kernel_flip_hotspot(24, false);
+	kernel_flip_hotspot(words_abi_bubble, true);
+	kernel_flip_hotspot(words_all_bubble, true);
+	kernel_flip_hotspot(words_abigail, false);
+	kernel_flip_hotspot(words_russel, false);
+	kernel_flip_hotspot(words_edgar, false);
+	kernel_flip_hotspot(words_moss, false);
+	kernel_flip_hotspot(words_room_210, false);
+	kernel_flip_hotspot(words_room_201, false);
+	kernel_flip_hotspot(words_room_204, false);
 }
 
 static void room_203_flip_hotspots2() {
-	kernel_flip_hotspot(65, 0);
-	kernel_flip_hotspot(66, 0);
+	kernel_flip_hotspot(words_abi_bubble, false);
+	kernel_flip_hotspot(words_all_bubble, false);
 	kernel_flip_hotspot(119, global[g047] < 1 ? 1 : 0);
 	kernel_flip_hotspot(27, global[g047]);
-	kernel_flip_hotspot(21, -1);
-	kernel_flip_hotspot(24, -1);
+	kernel_flip_hotspot(words_room_201, true);
+	kernel_flip_hotspot(words_room_204, true);
 }
 
 static void room_203_anim4() {
@@ -703,9 +703,9 @@ static void room_203_anim4() {
 			kernel_abort_animation(aa[3]);
 			aainfo[3]._active = 0;
 			room_203_flip_hotspots2();
-			kernel_flip_hotspot(168, -1);
-			kernel_flip_hotspot(170, -1);
-			kernel_flip_hotspot(169, -1);
+			kernel_flip_hotspot(words_abigail, true);
+			kernel_flip_hotspot(words_russel, true);
+			kernel_flip_hotspot(words_edgar, true);
 			player.walker_visible = true;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			player.commands_allowed = true;
@@ -1014,9 +1014,9 @@ static void room_203_anim7() {
 	player.walker_visible = true;
 	kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 	player.commands_allowed = -1;
-	kernel_flip_hotspot(168, -1);
-	kernel_flip_hotspot(170, -1);
-	kernel_flip_hotspot(169, -1);
+	kernel_flip_hotspot(words_abigail, true);
+	kernel_flip_hotspot(words_russel, true);
+	kernel_flip_hotspot(words_edgar, true);
 }
 
 static void room_203_daemon() {
@@ -1361,9 +1361,9 @@ static void room_203_daemon() {
 			if (local->_ac)
 				global[g050] = -1;
 
-			kernel_flip_hotspot(168, false);
-			kernel_flip_hotspot(170, false);
-			kernel_flip_hotspot(169, false);
+			kernel_flip_hotspot(words_abigail, false);
+			kernel_flip_hotspot(words_russel, false);
+			kernel_flip_hotspot(words_edgar, false);
 
 			global[g131] = -1;
 			global[g141] = -1;
@@ -1397,7 +1397,7 @@ static void room_203_daemon() {
 			global[g133] = 0;
 			global[g143] = 0;
 
-			kernel_flip_hotspot(27, true);
+			kernel_flip_hotspot(words_room_210, true);
 			seq[1] = kernel_seq_stamp(ss[1], true, -1);
 			kernel_seq_depth(seq[1], 15);
 			kernel_seq_loc(seq[1], 128, 74);
diff --git a/engines/mads/madsv2/forest/rooms/room204.cpp b/engines/mads/madsv2/forest/rooms/room204.cpp
index 22e0c9a5971..e4454481b08 100644
--- a/engines/mads/madsv2/forest/rooms/room204.cpp
+++ b/engines/mads/madsv2/forest/rooms/room204.cpp
@@ -139,7 +139,7 @@ static void room_204_init() {
 		kernel_seq_loc(seq[0], 293, 87);
 		kernel_seq_scale(seq[0], 54);
 	} else {
-		kernel_flip_hotspot(158, -1);
+		kernel_flip_hotspot(words_vine_weed, true);
 	}
 
 	if (previous_room != KERNEL_RESTORING_GAME) {
@@ -519,7 +519,7 @@ trigger_103:
 	kernel_reset_animation(scratch._9a, 1);
 	kernel_synch(3, scratch._9a, 4, 0);
 	global[g133] = 0;
-	kernel_flip_hotspot(158, -1);
+	kernel_flip_hotspot(words_vine_weed, true);
 	inter_move_object(9, PLAYER);
 	global[player_score] = -1;
 	player.commands_allowed = true;
diff --git a/engines/mads/madsv2/forest/rooms/room301.cpp b/engines/mads/madsv2/forest/rooms/room301.cpp
index 446f1339736..7fef95d2949 100644
--- a/engines/mads/madsv2/forest/rooms/room301.cpp
+++ b/engines/mads/madsv2/forest/rooms/room301.cpp
@@ -219,7 +219,7 @@ static void room_301_init() {
 		kernel_seq_loc(seq[0], 195, 124);
 		kernel_seq_scale(seq[0], 59);
 	} else {
-		kernel_flip_hotspot(101, 0);
+		kernel_flip_hotspot(words_forked_stick, false);
 	}
 
 	if (object_is_here(10)) {
@@ -229,7 +229,7 @@ static void room_301_init() {
 		kernel_seq_loc(seq[1], 302, 143);
 		kernel_seq_scale(seq[1], 85);
 	} else {
-		kernel_flip_hotspot(163, 0);
+		kernel_flip_hotspot(words_web, false);
 	}
 
 	if (previous_room != KERNEL_LAST) {
@@ -619,7 +619,7 @@ static void room_301_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(101, 0);
+			kernel_flip_hotspot(words_forked_stick, false);
 			inter_move_object(15, PLAYER);
 			global[player_score] = -1;
 			player.commands_allowed = true;
@@ -637,7 +637,7 @@ static void room_301_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(163, 0);
+			kernel_flip_hotspot(words_web, false);
 			inter_move_object(10, PLAYER);
 			global[player_score] = -1;
 			player.commands_allowed = true;
diff --git a/engines/mads/madsv2/forest/rooms/room302.cpp b/engines/mads/madsv2/forest/rooms/room302.cpp
index 72764a85eb6..983939bac9e 100644
--- a/engines/mads/madsv2/forest/rooms/room302.cpp
+++ b/engines/mads/madsv2/forest/rooms/room302.cpp
@@ -172,7 +172,7 @@ static void room_302_init() {
 		kernel_seq_loc(seq[0], 244, 105);
 		kernel_seq_scale(seq[0], 65);
 	} else {
-		kernel_flip_hotspot(137, 0);
+		kernel_flip_hotspot(words_rubber_band, false);
 	}
 
 	ss[1] = kernel_load_series(kernel_name('p', 1), 0);
@@ -180,8 +180,8 @@ static void room_302_init() {
 	ss[3] = kernel_load_series("*rm302p21", 0);
 
 	if (global[g048]) {
-		kernel_flip_hotspot(173, 0);
-		kernel_flip_hotspot(27, -1);
+		kernel_flip_hotspot(words_grass, false);
+		kernel_flip_hotspot(words_room_210, true);
 		seq[2] = kernel_seq_stamp(ss[2], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[2], 15);
 		kernel_seq_loc(seq[2], 33, 86);
@@ -191,8 +191,8 @@ static void room_302_init() {
 		kernel_seq_loc(seq[3], 15, 86);
 		kernel_seq_scale(seq[3], 52);
 	} else {
-		kernel_flip_hotspot(173, -1);
-		kernel_flip_hotspot(27, 0);
+		kernel_flip_hotspot(words_grass, true);
+		kernel_flip_hotspot(words_room_210, false);
 		seq[1] = kernel_seq_stamp(ss[1], false, KERNEL_FIRST);
 		kernel_seq_depth(seq[1], 15);
 		kernel_seq_loc(seq[1], 18, 90);
@@ -200,11 +200,11 @@ static void room_302_init() {
 	}
 
 	if (global[g067]) {
-		kernel_flip_hotspot(75, 0);
-		kernel_flip_hotspot(37, -1);
+		kernel_flip_hotspot(words_bush, false);
+		kernel_flip_hotspot(words_room_304, true);
 	} else {
-		kernel_flip_hotspot(75, -1);
-		kernel_flip_hotspot(37, 0);
+		kernel_flip_hotspot(words_bush, true);
+		kernel_flip_hotspot(words_room_304, false);
 	}
 
 	if (previous_room != KERNEL_LAST) {
@@ -752,7 +752,7 @@ static void room_302_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(137, 0);
+			kernel_flip_hotspot(words_rubber_band, false);
 			inter_move_object(1, PLAYER);
 			global[player_score] = -1;
 			player.commands_allowed = true;
@@ -778,8 +778,8 @@ static void room_302_daemon() {
 				global[g048] = -1;
 				global[g133] = 0;
 				global[g143] = 0;
-				kernel_flip_hotspot(173, 0);
-				kernel_flip_hotspot(27, -1);
+				kernel_flip_hotspot(words_grass, false);
+				kernel_flip_hotspot(words_room_210, true);
 				seq[2] = kernel_seq_stamp(ss[2], 0, -1);
 				kernel_seq_depth(seq[2], 15);
 				kernel_seq_loc(seq[2], 33, 86);
diff --git a/engines/mads/madsv2/forest/rooms/room303.cpp b/engines/mads/madsv2/forest/rooms/room303.cpp
index a983930d319..7de62b80815 100644
--- a/engines/mads/madsv2/forest/rooms/room303.cpp
+++ b/engines/mads/madsv2/forest/rooms/room303.cpp
@@ -420,7 +420,7 @@ static void room_303_init() {
 	if (!player_has(6)) {
 		scratch._a6 = -1;
 	} else {
-		kernel_flip_hotspot(132, 0);
+		kernel_flip_hotspot(words_reeds, false);
 	}
 
 	if (!global[g068]) {
@@ -430,7 +430,7 @@ static void room_303_init() {
 		kernel_seq_loc(seq[0], 280, 130);
 		kernel_seq_scale(seq[0], 91);
 	} else {
-		kernel_flip_hotspot(125, 0);
+		kernel_flip_hotspot(words_pebbles, false);
 	}
 
 	if (previous_room != KERNEL_LAST) {
@@ -630,7 +630,7 @@ static void room_303_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(132, 0);
+			kernel_flip_hotspot(words_reeds, false);
 			inter_move_object(6, PLAYER);
 			player.commands_allowed = true;
 		} else if (scratch._a6 == 2) {
@@ -643,7 +643,7 @@ static void room_303_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(125, 0);
+			kernel_flip_hotspot(words_pebbles, false);
 			if (!player_has(pebbles))
 				inter_move_object(pebbles, PLAYER);
 			global[g068] = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room304.cpp b/engines/mads/madsv2/forest/rooms/room304.cpp
index 8c8ca35a8bc..c23c77a7f2a 100644
--- a/engines/mads/madsv2/forest/rooms/room304.cpp
+++ b/engines/mads/madsv2/forest/rooms/room304.cpp
@@ -69,8 +69,8 @@ static void room_304_init1() {
 	kernel_position_anim(scratch._9a, 87, 150, 98, 3);
 
 	if (global[g064]) {
-		kernel_flip_hotspot(178, 0);
-		kernel_flip_hotspot(179, 0);
+		kernel_flip_hotspot(words_paint_can, false);
+		kernel_flip_hotspot(words_dam, false);
 	} else {
 		kernel_timing_trigger(1, 107);
 		aa[4] = kernel_run_animation(kernel_name('n', 2), 105);
@@ -374,8 +374,8 @@ static void room_304_daemon() {
 			dont_frag_the_palette();
 			kernel_abort_animation(aa[5]);
 			scratch.animation_info[5]._active = 0;
-			kernel_flip_hotspot(178, 0);
-			kernel_flip_hotspot(179, 0);
+			kernel_flip_hotspot(words_paint_can, false);
+			kernel_flip_hotspot(words_dam, false);
 			aa[3] = kernel_run_animation(kernel_name('e', 2), 103);
 			scratch.animation_info[3]._active = -1;
 			scratch._98 = 3;
diff --git a/engines/mads/madsv2/forest/rooms/room305.cpp b/engines/mads/madsv2/forest/rooms/room305.cpp
index 4ad22a3a7f3..044892a869b 100644
--- a/engines/mads/madsv2/forest/rooms/room305.cpp
+++ b/engines/mads/madsv2/forest/rooms/room305.cpp
@@ -198,7 +198,7 @@ static void room_305_init() {
 	scratch._aa = -1;
 
 	if (global[g074] != 0)
-		kernel_flip_hotspot(28, 0);
+		kernel_flip_hotspot(words_room_210h, false);
 
 	if (global[g069] == 0) {
 		ss[0] = kernel_load_series(kernel_name('p', 1), 0);
@@ -207,7 +207,7 @@ static void room_305_init() {
 		kernel_seq_loc(seq[0], 229, 146);
 		kernel_seq_scale(seq[0], 100);
 	} else {
-		kernel_flip_hotspot(145, 0);
+		kernel_flip_hotspot(words_sticks, false);
 	}
 
 	if (previous_room != KERNEL_LAST) {
@@ -812,7 +812,7 @@ static void room_305_daemon() {
 				aa[9] = kernel_run_animation(kernel_name('e', 1), 0);
 				aainfo[9]._active = -1;
 				aainfo[9]._val3 = 15;
-				kernel_flip_hotspot(28, 0);
+				kernel_flip_hotspot(words_room_210h, false);
 			} else {
 				aa[0] = kernel_run_animation(kernel_name('Z', 1), 102);
 				aainfo[0]._active = -1;
@@ -932,7 +932,7 @@ static void room_305_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(145, false);
+			kernel_flip_hotspot(words_sticks, false);
 			if (!player_has(7))
 				inter_move_object(7, PLAYER);
 			global[g069] = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room306.cpp b/engines/mads/madsv2/forest/rooms/room306.cpp
index aa3f0db3b3f..b7b970343bb 100644
--- a/engines/mads/madsv2/forest/rooms/room306.cpp
+++ b/engines/mads/madsv2/forest/rooms/room306.cpp
@@ -276,7 +276,7 @@ static void room_306_init() {
 	scratch.xa4 = 0;
 
 	if (global[g066] >= 2)
-		kernel_flip_hotspot(180, 0);
+		kernel_flip_hotspot(words_brown, false);
 
 	if (previous_room != KERNEL_RESTORING_GAME) {
 		scratch.xaa = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room307.cpp b/engines/mads/madsv2/forest/rooms/room307.cpp
index 01b2103e56d..5e7d4bdddfa 100644
--- a/engines/mads/madsv2/forest/rooms/room307.cpp
+++ b/engines/mads/madsv2/forest/rooms/room307.cpp
@@ -205,7 +205,7 @@ static void room_307_anim3() {
 			kernel_seq_delete(seq[0]);
 			inter_move_object(4, PLAYER);
 			kernel_synch(KERNEL_SERIES, old, KERNEL_ANIM, aa[2]);
-			kernel_flip_hotspot(113, 0);
+			kernel_flip_hotspot(words_lily_pad, false);
 			break;
 		}
 		case 28:
@@ -540,7 +540,7 @@ static void room_307_init() {
 		kernel_seq_loc(seq[0], 184, 149);
 		kernel_seq_scale(seq[0], 98);
 	} else {
-		kernel_flip_hotspot(113, 0);
+		kernel_flip_hotspot(words_lily_pad, false);
 	}
 
 	if (object_is_here(14)) {
@@ -902,8 +902,8 @@ static void room_307_parser() {
 		digi_play_build_ii('b', 1, 1);
 		scratch._aa = 4;
 		scratch._a0 = -1;
-		kernel_flip_hotspot(28, 0);
-		kernel_flip_hotspot(27, -1);
+		kernel_flip_hotspot(words_room_210h, false);
+		kernel_flip_hotspot(words_room_210, true);
 		global[g075] = -1;
 		goto handled;
 	}
diff --git a/engines/mads/madsv2/forest/rooms/room308.cpp b/engines/mads/madsv2/forest/rooms/room308.cpp
index 350aca08bca..9fa29185cff 100644
--- a/engines/mads/madsv2/forest/rooms/room308.cpp
+++ b/engines/mads/madsv2/forest/rooms/room308.cpp
@@ -974,8 +974,8 @@ static void room_308_init() {
 	global[perform_displacements] = 180;
 
 	if (player_has_been_in_room(401)) {
-		kernel_flip_hotspot(189, 0);
-		kernel_flip_hotspot(170, 0);
+		kernel_flip_hotspot(words_tail, false);
+		kernel_flip_hotspot(words_russel, false);
 	}
 
 	player.walker_visible = false;
@@ -1020,8 +1020,8 @@ static void room_308_init() {
 	scratch._c5 = 0;
 	stop_speech_on_run_animation = true;
 
-	kernel_flip_hotspot(40, 0);
-	kernel_flip_hotspot(46, 0);
+	kernel_flip_hotspot(words_room_307, false);
+	kernel_flip_hotspot(words_room_401, false);
 
 	if (!player_has_been_in_room(401)) {
 		ss[0] = kernel_load_series(kernel_name('p', 3), 0);
diff --git a/engines/mads/madsv2/forest/rooms/room321.cpp b/engines/mads/madsv2/forest/rooms/room321.cpp
index 1bdbe354a7d..e7ad6f6e520 100644
--- a/engines/mads/madsv2/forest/rooms/room321.cpp
+++ b/engines/mads/madsv2/forest/rooms/room321.cpp
@@ -135,7 +135,7 @@ static void room_321_init() {
 	scratch._aa = 0;
 
 	if (player_has(6))
-		kernel_flip_hotspot(132, 0);
+		kernel_flip_hotspot(words_reeds, false);
 
 	if (global[g068] == 0) {
 		ss[0] = kernel_load_series(kernel_name('p', 6), 0);
@@ -144,7 +144,7 @@ static void room_321_init() {
 		kernel_seq_loc(seq[0], 278, 126);
 		kernel_seq_scale(seq[0], 91);
 	} else {
-		kernel_flip_hotspot(125, 0);
+		kernel_flip_hotspot(words_pebbles, false);
 	}
 
 	if (global[g071] == 0) {
@@ -153,7 +153,7 @@ static void room_321_init() {
 		kernel_seq_depth(seq[4], 15);
 		kernel_seq_loc(seq[4], 230, 105);
 		kernel_seq_scale(seq[4], 83);
-		kernel_flip_hotspot(177, 0);
+		kernel_flip_hotspot(words_nest, false);
 		global_midi_play(13);
 	} else {
 		global_midi_play(3);
@@ -709,7 +709,7 @@ static void room_321_daemon() {
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
 			room_321_anim2();
-			kernel_flip_hotspot(132, 0);
+			kernel_flip_hotspot(words_reeds, false);
 			inter_move_object(6, PLAYER);
 			global[player_score] = -1;
 			player.commands_allowed = true;
@@ -724,7 +724,7 @@ static void room_321_daemon() {
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
 			room_321_anim2();
-			kernel_flip_hotspot(125, 0);
+			kernel_flip_hotspot(words_pebbles, false);
 			if (!player_has(5))
 				inter_move_object(pebbles, PLAYER);
 			global[g068] = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room322.cpp b/engines/mads/madsv2/forest/rooms/room322.cpp
index 4a85a499cf8..6da21147065 100644
--- a/engines/mads/madsv2/forest/rooms/room322.cpp
+++ b/engines/mads/madsv2/forest/rooms/room322.cpp
@@ -194,7 +194,7 @@ static void room_322_anim2() {
 				kernel_seq_delete(seq_handle);
 				inter_move_object(4, PLAYER);
 				kernel_synch(KERNEL_SERIES, seq_handle, KERNEL_ANIM, aa[2]);
-				kernel_flip_hotspot(113, 0);
+				kernel_flip_hotspot(words_lily_pad, false);
 			} else if (cur == 28) {
 				digi_play_build(307, '_', 2, 2);
 			} else if (cur == 31) {
@@ -375,7 +375,7 @@ static void room_322_init() {
 		kernel_seq_loc(seq[0], 184, 149);
 		kernel_seq_scale(seq[0], 98);
 	} else {
-		kernel_flip_hotspot(113, 0);
+		kernel_flip_hotspot(words_lily_pad, false);
 	}
 
 	if (object[14].location == 307) {
@@ -755,8 +755,8 @@ static void room_322_parser() {
 		digi_play_build_ii('b', 1, 1);
 		scratch._b4 = 4;
 		scratch._aa = -1;
-		kernel_flip_hotspot(28, 0);
-		kernel_flip_hotspot(27, -1);
+		kernel_flip_hotspot(words_room_210h, false);
+		kernel_flip_hotspot(words_room_210, true);
 		global[g075] = -1;
 		player.command_ready = 0;
 		return;
diff --git a/engines/mads/madsv2/forest/rooms/room401.cpp b/engines/mads/madsv2/forest/rooms/room401.cpp
index 5978486dfe6..7940b6e96c0 100644
--- a/engines/mads/madsv2/forest/rooms/room401.cpp
+++ b/engines/mads/madsv2/forest/rooms/room401.cpp
@@ -437,7 +437,7 @@ static void room_401_init() {
 	midi_stop();
 
 	if (!flags[31] || !global[g066])
-		kernel_flip_hotspot(49, 0);
+		kernel_flip_hotspot(words_room_404, false);
 
 	kernel_timing_trigger(1, 106);
 	global[player_score] = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room402.cpp b/engines/mads/madsv2/forest/rooms/room402.cpp
index 9c9b0af58d1..813c5f4b4bb 100644
--- a/engines/mads/madsv2/forest/rooms/room402.cpp
+++ b/engines/mads/madsv2/forest/rooms/room402.cpp
@@ -136,16 +136,16 @@ static void room_402_init1() {
 		scratch._98 = 6;
 		break;
 	case 2:
-		kernel_flip_hotspot(46, 0);
+		kernel_flip_hotspot(words_room_401, false);
 		aa[1] = kernel_run_animation(kernel_name('N', 1), 103);
 		aainfo[1]._active = -1;
 		aainfo[1]._frame = 0;
 		scratch._98 = 15;
-		kernel_flip_hotspot(187, -1);
+		kernel_flip_hotspot(words_rock, true);
 		player.commands_allowed = true;
 		break;
 	case 3:
-		kernel_flip_hotspot(48, -1);
+		kernel_flip_hotspot(words_room_403, true);
 		aa[1] = kernel_run_animation(kernel_name('L', 14), 103);
 		aainfo[1]._active = -1;
 		aainfo[1]._frame = 0;
@@ -195,8 +195,8 @@ static void room_402_init() {
 	if (previous_room != KERNEL_RESTORING_GAME && previous_room != 199 && flags[27] != 3)
 		flags[27]++;
 
-	kernel_flip_hotspot(187, 0);
-	kernel_flip_hotspot(48, 0);
+	kernel_flip_hotspot(words_rock, false);
+	kernel_flip_hotspot(words_room_403, false);
 
 	room_402_init1();
 }
@@ -337,8 +337,8 @@ static void room_402_anim_state() {
 		room_402_anim5();
 		global[walker_converse_state] = 0;
 		close_journal(3);
-		kernel_flip_hotspot(187, -1);
-		kernel_flip_hotspot(46, 0);
+		kernel_flip_hotspot(words_rock, true);
+		kernel_flip_hotspot(words_room_401, false);
 		player.commands_allowed = true;
 		break;
 	case 15:
@@ -352,7 +352,7 @@ static void room_402_anim_state() {
 		aainfo[1]._active = -1;
 		aainfo[1]._frame = 0;
 		scratch._98 = 17;
-		kernel_flip_hotspot(187, 0);
+		kernel_flip_hotspot(words_rock, false);
 		break;
 	case 17:
 		global_midi_play(5);
@@ -368,8 +368,8 @@ static void room_402_anim_state() {
 		aainfo[1]._frame = 0;
 		scratch._98 = 19;
 		global[g083] = 3;
-		kernel_flip_hotspot(48, -1);
-		kernel_flip_hotspot(46, -1);
+		kernel_flip_hotspot(words_room_403, true);
+		kernel_flip_hotspot(words_room_401, true);
 		kernel_position_anim(scratch._9c, 71, 128, 63, 5);
 		kernel_position_anim(scratch._9a, 112, 131, 65, 5);
 		global[g131] = -1;
@@ -690,7 +690,7 @@ static void room_402_daemon() {
 			scratch._98 = 3;
 			break;
 		}
-		kernel_flip_hotspot(48, -1);
+		kernel_flip_hotspot(words_room_403, true);
 		aa[1] = kernel_run_animation(kernel_name('L', 14), 103);
 		aainfo[1]._active = -1;
 		aainfo[1]._frame = 0;
diff --git a/engines/mads/madsv2/forest/rooms/room403.cpp b/engines/mads/madsv2/forest/rooms/room403.cpp
index 89932cb04a8..53b1d795be8 100644
--- a/engines/mads/madsv2/forest/rooms/room403.cpp
+++ b/engines/mads/madsv2/forest/rooms/room403.cpp
@@ -149,7 +149,7 @@ static void room_403_init() {
 		kernel_seq_loc(seq[0], 276, 154);
 		kernel_seq_scale(seq[0], 99);
 	} else {
-		kernel_flip_hotspot(166, 0);
+		kernel_flip_hotspot(words_wrench, false);
 	}
 
 	if (global[g080] == 0) {
@@ -159,7 +159,7 @@ static void room_403_init() {
 		kernel_seq_loc(seq[1], 51, 154);
 		kernel_seq_scale(seq[1], 100);
 	} else {
-		kernel_flip_hotspot(95, 0);
+		kernel_flip_hotspot(words_eyebright, false);
 	}
 
 	if (previous_room != KERNEL_RESTORING_GAME) {
@@ -620,7 +620,7 @@ static void room_403_daemon() {
 			kernel_reset_animation(scratch._9a, 1);
 			kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
 			global[g133] = 0;
-			kernel_flip_hotspot(166, 0);
+			kernel_flip_hotspot(words_wrench, false);
 			inter_move_object(13, PLAYER);
 			display_interface();
 			player.commands_allowed = true;
@@ -637,7 +637,7 @@ static void room_403_daemon() {
 			player.walker_visible = true;
 			global[g133] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
-			kernel_flip_hotspot(95, 0);
+			kernel_flip_hotspot(words_eyebright, false);
 			player.commands_allowed = true;
 			if (config_file.forest1 != 0)
 				kernel_timing_trigger(1, 105);
diff --git a/engines/mads/madsv2/forest/rooms/room404.cpp b/engines/mads/madsv2/forest/rooms/room404.cpp
index f58d1f8067f..00ca65ce7e0 100644
--- a/engines/mads/madsv2/forest/rooms/room404.cpp
+++ b/engines/mads/madsv2/forest/rooms/room404.cpp
@@ -129,7 +129,7 @@ static void room_404_init1() {
 		scratch._92 = 97;
 		global[g081] = -1;
 		global[g082] = 0;
-		kernel_flip_hotspot(107, 0);
+		kernel_flip_hotspot(words_hole, false);
 	} else {
 		global[g131] = -1;
 		global[g141] = -1;
@@ -179,7 +179,7 @@ static void room_404_init() {
 		kernel_seq_loc(seq[0], 271, 147);
 		kernel_seq_scale(seq[0], 77);
 	} else {
-		kernel_flip_hotspot(107, 0);
+		kernel_flip_hotspot(words_hole, false);
 		seq[1] = kernel_seq_stamp(ss[1], false, -1);
 		kernel_seq_depth(seq[1], 1);
 		kernel_seq_loc(seq[1], 229, 161);
@@ -708,7 +708,7 @@ static void room_404_daemon() {
 			global[g133] = 0;
 			kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
 			global[g081] = -1;
-			kernel_flip_hotspot(107, 0);
+			kernel_flip_hotspot(words_hole, false);
 			object_set_quality(13, 0, 0L);
 			inter_move_object(13, NOWHERE);
 			display_interface();




More information about the Scummvm-git-logs mailing list