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

dreammaster noreply at scummvm.org
Tue May 26 08:31:09 UTC 2026


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

Summary:
33dbe44d2c MADS: DRAGONSPHERE: Add missing room 120 world map room
1a5d76a243 MADS: DRAGONSPHERE: Add missing room synchronize calls
b17edb4dae MADS: DRAGONSPHERE: Remove unneeded error functions


Commit: 33dbe44d2cb7949fbc18657462bdd18788caede0
    https://github.com/scummvm/scummvm/commit/33dbe44d2cb7949fbc18657462bdd18788caede0
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T18:30:56+10:00

Commit Message:
MADS: DRAGONSPHERE: Add missing room 120 world map room

Changed paths:
  A engines/mads/madsv2/dragonsphere/rooms/room120.cpp
  A engines/mads/madsv2/dragonsphere/rooms/room120.h
    engines/mads/madsv2/dragonsphere/mads/sounds.h
    engines/mads/madsv2/dragonsphere/rooms/section1.cpp
    engines/mads/madsv2/engine.cpp
    engines/mads/madsv2/engine.h
    engines/mads/module.mk


diff --git a/engines/mads/madsv2/dragonsphere/mads/sounds.h b/engines/mads/madsv2/dragonsphere/mads/sounds.h
index 0a20ac83868..98f1602a975 100644
--- a/engines/mads/madsv2/dragonsphere/mads/sounds.h
+++ b/engines/mads/madsv2/dragonsphere/mads/sounds.h
@@ -64,6 +64,7 @@ enum {
 	N_MagicDoorUnlocked  =  89,
 	N_JumpDownWell       =  93,
 	N_BooksRumble        =  94,
+	N_WorldEmerges       =  95,
 	N_McMornTipsTable    = 100,
 
 	// Section 2
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room120.cpp b/engines/mads/madsv2/dragonsphere/rooms/room120.cpp
new file mode 100644
index 00000000000..940026c1132
--- /dev/null
+++ b/engines/mads/madsv2/dragonsphere/rooms/room120.cpp
@@ -0,0 +1,690 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "mads/madsv2/core/conv.h"
+#include "mads/madsv2/core/game.h"
+#include "mads/madsv2/core/imath.h"
+#include "mads/madsv2/core/inter.h"
+#include "mads/madsv2/core/kernel.h"
+#include "mads/madsv2/core/mouse.h"
+#include "mads/madsv2/core/sound.h"
+#include "mads/madsv2/core/text.h"
+#include "mads/madsv2/dragonsphere/mads/conv.h"
+#include "mads/madsv2/dragonsphere/mads/inventory.h"
+#include "mads/madsv2/dragonsphere/mads/sounds.h"
+#include "mads/madsv2/dragonsphere/mads/words.h"
+#include "mads/madsv2/dragonsphere/global.h"
+#include "mads/madsv2/dragonsphere/rooms/section1.h"
+#include "mads/madsv2/dragonsphere/rooms/room120.h"
+
+namespace MADS {
+namespace MADSV2 {
+namespace Dragonsphere {
+namespace Rooms {
+
+struct Scratch {
+	int16 sprite[15];       /* Sprite series handles */
+	int16 sequence[15];     /* Sequence handles      */
+	int16 animation[4];     /* Animation handles     */
+
+	char path_0[3];
+	char path_1[3];
+
+	int16 highlighting;
+	int16 prevent;
+};
+
+static Scratch scratch;
+
+#define local (&scratch)
+#define ss    local->sprite
+#define seq   local->sequence
+#define aa    local->animation
+
+
+/* ========================= Sprite Series =================== */
+
+#define fx_icon_wizard          0       /* rm120a0   */
+#define fx_icon_desert          1       /* rm120b0   */
+#define fx_icon_tree_left       2       /* rm120c0   */
+#define fx_icon_tree_right      3       /* rm120f0   */
+
+#define fx_wizard               4       /* rm120a1   */
+#define fx_desert               5       /* rm120b1   */
+#define fx_tree_left            6       /* rm120c1   */
+#define fx_tree_right           7       /* rm120f1   */
+
+#define fx_path_0               8       /* anything  */
+#define fx_path_1               9       /* anything  */
+#define fx_test                 10      /* interface */
+
+
+/* ========================= Triggers ======================== */
+
+#define ROOM_120_DOOR_CLOSES    60 
+#define MUSIC                   79
+
+/* these are coordinates within the big boxes */
+
+#define WIZARD_X                108
+#define WIZARD_Y                140
+
+#define DESERT_X                9
+#define DESERT_Y                90
+
+#define TREE_LEFT_X             70
+#define TREE_LEFT_Y             65
+
+#define TREE_RIGHT_X            213
+#define TREE_RIGHT_Y            54
+
+
+static void room_120_init() {
+	kernel_init_dialog();
+	kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
+
+	player.walker_visible = false;
+	local->highlighting = -1;
+	local->prevent = false;
+
+	if (global[llanie_status] == IS_SAVED) {
+		global[make_504_empty] = true;
+	}
+
+	ss[fx_icon_desert] = kernel_load_series(kernel_name('b', 0), false);
+	ss[fx_icon_tree_left] = kernel_load_series(kernel_name('c', 0), false);
+	ss[fx_icon_tree_right] = kernel_load_series(kernel_name('f', 0), false);
+	ss[fx_icon_wizard] = kernel_load_series(kernel_name('a', 0), false);
+
+	ss[fx_tree_left] = kernel_load_series(kernel_name('c', 1), false);
+	ss[fx_tree_right] = kernel_load_series(kernel_name('f', 1), false);
+	ss[fx_wizard] = kernel_load_series(kernel_name('a', 1), false);
+	ss[fx_desert] = kernel_load_series(kernel_name('b', 1), false);
+
+	if (player_has_been_in_room(301)) {
+		seq[fx_tree_left] = kernel_seq_stamp(ss[fx_tree_left], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_tree_left], 2);
+	} else {
+		ss[fx_icon_tree_left] = kernel_load_series(kernel_name('c', 0), false);
+		seq[fx_icon_tree_left] = kernel_seq_stamp(ss[fx_icon_tree_left], false, KERNEL_FIRST);
+		kernel_seq_depth(seq[fx_icon_tree_left], 2);
+		kernel_flip_hotspot_loc(words_Brynn_Fann, false, TREE_LEFT_X, TREE_LEFT_Y);
+	}
+
+	if (player_has_been_in_room(201)) {
+		seq[fx_tree_right] = kernel_seq_stamp(ss[fx_tree_right], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_tree_right], 2);
+	} else {
+		ss[fx_icon_tree_right] = kernel_load_series(kernel_name('f', 0), false);
+		seq[fx_icon_tree_right] = kernel_seq_stamp(ss[fx_icon_tree_right], false, KERNEL_FIRST);
+		kernel_seq_depth(seq[fx_icon_tree_right], 2);
+		kernel_flip_hotspot_loc(words_Slathan_ni_Patan, false, TREE_RIGHT_X, TREE_RIGHT_Y);
+	}
+
+	if (player_has_been_in_room(401)) {
+		seq[fx_desert] = kernel_seq_stamp(ss[fx_desert], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_desert], 2);
+	} else {
+		ss[fx_icon_desert] = kernel_load_series(kernel_name('b', 0), false);
+		seq[fx_icon_desert] = kernel_seq_stamp(ss[fx_icon_desert], false, KERNEL_FIRST);
+		kernel_seq_depth(seq[fx_icon_desert], 2);
+		kernel_flip_hotspot_loc(words_Soptus_Ecliptus, false, DESERT_X, DESERT_Y);
+	}
+
+	if (player_has_been_in_room(501)) {
+		seq[fx_wizard] = kernel_seq_stamp(ss[fx_wizard], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_wizard], 2);
+	} else {
+		ss[fx_icon_wizard] = kernel_load_series(kernel_name('a', 0), false);
+		seq[fx_icon_wizard] = kernel_seq_stamp(ss[fx_icon_wizard], false, KERNEL_FIRST);
+		kernel_seq_depth(seq[fx_icon_wizard], 2);
+		kernel_flip_hotspot_loc(words_Hightower, false, WIZARD_X, WIZARD_Y);
+	}
+
+	section_1_music();
+}
+
+static void generate_path(void) {
+	if (local->highlighting == words_Gran_Callahach) {
+		if (global[pre_room] == 110) { /* Gran Callahach */
+			local->path_0[0] = ' ';
+			local->path_0[1] = ' ';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 301) { /* Brynn-Fann */
+			local->path_0[0] = 'c';
+			local->path_0[1] = '5';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 201) { /* Slathan ni Patan */
+			local->path_0[0] = 'f';
+			local->path_0[1] = '5';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 401) { /* Soptus Ecliptus */
+			local->path_0[0] = 'b';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '7';
+
+		} else { /* Hightower */
+			local->path_0[0] = 'a';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '7';
+		}
+
+	} else if (local->highlighting == words_Slathan_ni_Patan) {
+		if (global[pre_room] == 110) { /* Gran Callahach */
+			local->path_0[0] = 'e';
+			local->path_0[1] = '2';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 301) { /* Brynn-Fann */
+			local->path_0[0] = 'c';
+			local->path_0[1] = '4';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 201) { /* Slathan ni Patan */
+			local->path_0[0] = ' ';
+			local->path_0[1] = ' ';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 401) { /* Soptus Ecliptus */
+			local->path_0[0] = 'b';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '8';
+
+		} else { /* Hightower */
+			local->path_0[0] = 'a';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '8';
+		}
+
+	} else if (local->highlighting == words_Hightower) {
+		if (global[pre_room] == 110) { /* Gran Callahach */
+			local->path_0[0] = 'e';
+			local->path_0[1] = '1';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 301) { /* Brynn-Fann */
+			local->path_0[0] = 'c';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 201) { /* Slathan ni Patan */
+			local->path_0[0] = 'f';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 401) { /* Soptus Ecliptus */
+			local->path_0[0] = 'b';
+			local->path_0[1] = '5';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else { /* Hightower */
+			local->path_0[0] = ' ';
+			local->path_0[1] = ' ';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+		}
+
+	} else if (local->highlighting == words_Soptus_Ecliptus) {
+		if (global[pre_room] == 110) { /* Gran Callahach */
+			local->path_0[0] = 'e';
+			local->path_0[1] = '1';
+			local->path_1[0] = 'b';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 301) { /* Brynn-Fann */
+			local->path_0[0] = 'c';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'b';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 201) { /* Slathan ni Patan */
+			local->path_0[0] = 'f';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'b';
+			local->path_1[1] = '4';
+
+		} else if (global[pre_room] == 401) { /* Soptus Ecliptus */
+			local->path_0[0] = ' ';
+			local->path_0[1] = ' ';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else { /* Hightower */
+			local->path_0[0] = 'a';
+			local->path_0[1] = '5';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+		}
+
+	} else if (local->highlighting == words_Brynn_Fann) {
+		if (global[pre_room] == 110) { /* Gran Callahach */
+			local->path_0[0] = 'e';
+			local->path_0[1] = '0';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 301) { /* Brynn-Fann */
+			local->path_0[0] = ' ';
+			local->path_0[1] = ' ';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 201) { /* Slathan ni Patan */
+			local->path_0[0] = 'f';
+			local->path_0[1] = '4';
+			local->path_1[0] = ' ';
+			local->path_1[1] = ' ';
+
+		} else if (global[pre_room] == 401) { /* Soptus Ecliptus */
+			local->path_0[0] = 'b';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '6';
+
+		} else { /* Hightower */
+			local->path_0[0] = 'a';
+			local->path_0[1] = '3';
+			local->path_1[0] = 'a';
+			local->path_1[1] = '6';
+		}
+	}
+
+	local->path_0[2] = '\0';
+	local->path_1[2] = '\0';
+}
+
+void room_120_daemon() {
+	int temp; /* for synching purposes */
+	char name[9] = "";
+	int count;
+	int good;
+
+	if (kernel.trigger == 10) {
+		generate_path();
+		player.commands_allowed = false;
+
+		if (local->highlighting == words_Brynn_Fann) {
+			if (!player_has_been_in_room(301)) {
+				kernel_seq_delete(seq[fx_icon_tree_left]);
+				seq[fx_tree_left] = kernel_seq_forward(ss[fx_tree_left], false, 7, 0, 0, 1);
+				kernel_seq_depth(seq[fx_tree_left], 2);
+				kernel_seq_range(seq[fx_tree_left], KERNEL_FIRST, KERNEL_LAST);
+				kernel_seq_trigger(seq[fx_tree_left], KERNEL_TRIGGER_EXPIRE, 0, 1);
+				sound_play(N_WorldEmerges);
+			} else {
+				kernel_timing_trigger(1, 2);  /* start path 0 of 1 */
+			}
+
+		} else if (local->highlighting == words_Slathan_ni_Patan) {
+			if (!player_has_been_in_room(201)) {
+				kernel_seq_delete(seq[fx_icon_tree_right]);
+				seq[fx_tree_right] = kernel_seq_forward(ss[fx_tree_right], false, 7, 0, 0, 1);
+				kernel_seq_depth(seq[fx_tree_right], 2);
+				kernel_seq_range(seq[fx_tree_right], KERNEL_FIRST, KERNEL_LAST);
+				kernel_seq_trigger(seq[fx_tree_right], KERNEL_TRIGGER_EXPIRE, 0, 1);
+				sound_play(N_WorldEmerges);
+			} else {
+				kernel_timing_trigger(1, 2);  /* start path 0 of 1 */
+			}
+
+		} else if (local->highlighting == words_Soptus_Ecliptus) {
+			if (!player_has_been_in_room(401)) {
+				kernel_seq_delete(seq[fx_icon_desert]);
+				seq[fx_desert] = kernel_seq_forward(ss[fx_desert], false, 7, 0, 0, 1);
+				kernel_seq_depth(seq[fx_desert], 2);
+				kernel_seq_range(seq[fx_desert], KERNEL_FIRST, KERNEL_LAST);
+				kernel_seq_trigger(seq[fx_desert], KERNEL_TRIGGER_EXPIRE, 0, 1);
+				sound_play(N_WorldEmerges);
+			} else {
+				kernel_timing_trigger(1, 2);  /* start path 0 of 1 */
+			}
+
+		} else if (local->highlighting == words_Hightower) {
+			if (!player_has_been_in_room(501)) {
+				kernel_seq_delete(seq[fx_icon_wizard]);
+				seq[fx_wizard] = kernel_seq_forward(ss[fx_wizard], false, 7, 0, 0, 1);
+				kernel_seq_depth(seq[fx_wizard], 2);
+				kernel_seq_range(seq[fx_wizard], KERNEL_FIRST, KERNEL_LAST);
+				kernel_seq_trigger(seq[fx_wizard], KERNEL_TRIGGER_EXPIRE, 0, 1);
+				sound_play(N_WorldEmerges);
+			} else {
+				kernel_timing_trigger(1, 2);  /* start path 0 of 1 */
+			}
+
+		} else {
+			/* gran callahach */
+			kernel_timing_trigger(1, 2);  /* start path 0 of 1 */
+		}
+	}
+
+	if (kernel.trigger == 1) {
+		if (local->highlighting == words_Brynn_Fann) {
+			temp = seq[fx_tree_left];
+			seq[fx_tree_left] = kernel_seq_stamp(ss[fx_tree_left], false, KERNEL_LAST);
+			kernel_seq_depth(seq[fx_tree_left], 2);
+			kernel_synch(KERNEL_SERIES, seq[fx_tree_left], KERNEL_SERIES, temp);
+			kernel_timing_trigger(1, 2);
+
+		} else if (local->highlighting == words_Slathan_ni_Patan) {
+			temp = seq[fx_tree_right];
+			seq[fx_tree_right] = kernel_seq_stamp(ss[fx_tree_right], false, KERNEL_LAST);
+			kernel_seq_depth(seq[fx_tree_right], 2);
+			kernel_synch(KERNEL_SERIES, seq[fx_tree_right], KERNEL_SERIES, temp);
+			kernel_timing_trigger(1, 2);
+
+		} else if (local->highlighting == words_Soptus_Ecliptus) {
+			temp = seq[fx_desert];
+			seq[fx_desert] = kernel_seq_stamp(ss[fx_desert], false, KERNEL_LAST);
+			kernel_seq_depth(seq[fx_desert], 2);
+			kernel_synch(KERNEL_SERIES, seq[fx_desert], KERNEL_SERIES, temp);
+			kernel_timing_trigger(1, 2);
+
+		} else if (local->highlighting == words_Hightower) {
+			temp = seq[fx_wizard];
+			seq[fx_wizard] = kernel_seq_stamp(ss[fx_wizard], false, KERNEL_LAST);
+			kernel_seq_depth(seq[fx_wizard], 2);
+			kernel_synch(KERNEL_SERIES, seq[fx_wizard], KERNEL_SERIES, temp);
+			kernel_timing_trigger(1, 2);
+		}
+	}
+
+	if (kernel.trigger == 2) {
+		Common::strcpy_s(name, "*RM120");
+		Common::strcat_s(name, local->path_0);
+
+		if ((local->highlighting == words_Brynn_Fann) && (global[pre_room] == 301)) {
+			new_room = 301;
+
+		} else if ((local->highlighting == words_Gran_Callahach) && (global[pre_room] == 110)) {
+			new_room = 110;
+
+		} else if ((local->highlighting == words_Slathan_ni_Patan) && (global[pre_room] == 201)) {
+			new_room = 201;
+
+		} else if ((local->highlighting == words_Hightower) && (global[pre_room] == 501)) {
+			new_room = 501;
+
+		} else if ((local->highlighting == words_Soptus_Ecliptus) && (global[pre_room] == 401)) {
+			if (!player_has_been_in_room(404)) {
+				new_room = 404;
+			} else {
+				global[desert_room] = 42;
+				global[from_direction] = FROM_EAST;
+				new_room = 401;
+			}
+
+		} else {
+			ss[fx_path_0] = kernel_load_series(name, false);
+			seq[fx_path_0] = kernel_seq_forward(ss[fx_path_0], false, 5, 0, 0, 1);
+			kernel_seq_depth(seq[fx_path_0], 1);
+			kernel_seq_range(seq[fx_path_0], KERNEL_FIRST, KERNEL_LAST);
+			kernel_seq_trigger(seq[fx_path_0], KERNEL_TRIGGER_EXPIRE, 0, 3);
+		}
+	}
+
+	if (kernel.trigger == 3) {
+		temp = seq[fx_path_0];
+		seq[fx_path_0] = kernel_seq_stamp(ss[fx_path_0], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_path_0], 1);
+		kernel_synch(KERNEL_SERIES, seq[fx_path_0], KERNEL_SERIES, temp);
+		kernel_timing_trigger(6, 4);
+	}
+
+	if (kernel.trigger == 4) {
+		if (local->path_1[0] == ' ') {
+			kernel_timing_trigger(6, 6);
+
+		} else {
+			Common::strcpy_s(name, "*RM120");
+			Common::strcat_s(name, local->path_1);
+			ss[fx_path_1] = kernel_load_series(name, false);
+			seq[fx_path_1] = kernel_seq_forward(ss[fx_path_1], false, 5, 0, 0, 1);
+			kernel_seq_depth(seq[fx_path_1], 1);
+			kernel_seq_range(seq[fx_path_1], KERNEL_FIRST, KERNEL_LAST);
+			kernel_seq_trigger(seq[fx_path_1], KERNEL_TRIGGER_EXPIRE, 0, 5);
+		}
+	}
+
+	if (kernel.trigger == 5) {
+		temp = seq[fx_path_1];
+		seq[fx_path_1] = kernel_seq_stamp(ss[fx_path_1], false, KERNEL_LAST);
+		kernel_seq_depth(seq[fx_path_1], 1);
+		kernel_synch(KERNEL_SERIES, seq[fx_path_1], KERNEL_SERIES, temp);
+		kernel_timing_trigger(6, 6);
+	}
+
+	if (kernel.trigger == 6) {
+		if (local->highlighting == words_Brynn_Fann) {
+			new_room = 301;
+
+		} else if (local->highlighting == words_Gran_Callahach) {
+			new_room = 110;
+
+		} else if (local->highlighting == words_Slathan_ni_Patan) {
+			new_room = 201;
+
+		} else if (local->highlighting == words_Soptus_Ecliptus) {
+			if (!player_has_been_in_room(404)) {
+				new_room = 404;
+			} else {
+				global[desert_room] = 42;
+				global[from_direction] = FROM_EAST;
+				new_room = 401;
+			}
+
+		} else if (local->highlighting == words_Hightower) {
+			if (global[player_persona] == PLAYER_IS_KING) {
+				new_room = 501;
+			} else {
+				new_room = 502;
+			}
+		}
+	}
+
+	if (((mouse_status & 1) || (mouse_status & 2)) && local->highlighting == -1) {
+		good = -1;
+
+		for (count = 0; count < room_num_spots; count++) {
+			if (room_spots[count].active) {
+				if (mouse_x >= room_spots[count].ul_x &&
+					mouse_x <= room_spots[count].lr_x &&
+					mouse_y >= room_spots[count].ul_y &&
+					mouse_y <= room_spots[count].lr_y) {
+					good = count;
+				}
+			}
+		}
+
+		if (room_spots[good].vocab == words_Soptus_Ecliptus) {
+			if (!player_has_been_in_room(401)) {
+				kernel_seq_delete(seq[fx_icon_desert]);
+				seq[fx_icon_desert] = kernel_seq_stamp(ss[fx_icon_desert], false, KERNEL_LAST);
+				kernel_seq_depth(seq[fx_icon_desert], 2);
+			}
+			local->highlighting = words_Soptus_Ecliptus;
+
+		} else if (room_spots[good].vocab == words_Brynn_Fann) {
+			if (!player_has_been_in_room(301)) {
+				kernel_seq_delete(seq[fx_icon_tree_left]);
+				seq[fx_icon_tree_left] = kernel_seq_stamp(ss[fx_icon_tree_left], false, KERNEL_LAST);
+				kernel_seq_depth(seq[fx_icon_tree_left], 2);
+			}
+			local->highlighting = words_Brynn_Fann;
+
+		} else if (room_spots[good].vocab == words_Slathan_ni_Patan) {
+			if (!player_has_been_in_room(201)) {
+				kernel_seq_delete(seq[fx_icon_tree_right]);
+				seq[fx_icon_tree_right] = kernel_seq_stamp(ss[fx_icon_tree_right], false, KERNEL_LAST);
+				kernel_seq_depth(seq[fx_icon_tree_right], 2);
+			}
+			local->highlighting = words_Slathan_ni_Patan;
+
+		} else if (room_spots[good].vocab == words_Hightower) {
+			if (!player_has_been_in_room(501)) {
+				kernel_seq_delete(seq[fx_icon_wizard]);
+				seq[fx_icon_wizard] = kernel_seq_stamp(ss[fx_icon_wizard], false, KERNEL_LAST);
+				kernel_seq_depth(seq[fx_icon_wizard], 2);
+			}
+			local->highlighting = words_Hightower;
+
+		} else if (room_spots[good].vocab == words_Gran_Callahach) {
+			local->highlighting = words_Gran_Callahach;
+		}
+	}
+
+	good = 0;
+
+	if (((mouse_status & 1) || (mouse_status & 2)) && local->highlighting != -1 && player.commands_allowed) {
+
+		for (count = 0; count < room_num_spots; count++) {
+			if (room_spots[count].active) {
+				if (mouse_x >= room_spots[count].ul_x &&
+					mouse_x <= room_spots[count].lr_x &&
+					mouse_y >= room_spots[count].ul_y &&
+					mouse_y <= room_spots[count].lr_y) {
+					good = 1;
+				}
+			}
+		}
+	}
+
+	if (!good && (local->highlighting != -1) && !local->prevent) {
+		switch (local->highlighting) {
+		case words_Soptus_Ecliptus:
+			if (!player_has_been_in_room(401)) {
+				kernel_seq_delete(seq[fx_icon_desert]);
+				seq[fx_icon_desert] = kernel_seq_stamp(ss[fx_icon_desert], false, KERNEL_FIRST);
+				kernel_seq_depth(seq[fx_icon_desert], 2);
+				kernel_flip_hotspot_loc(words_Soptus_Ecliptus, false, DESERT_X, DESERT_Y);
+			}
+			break;
+
+		case words_Brynn_Fann:
+			if (!player_has_been_in_room(301)) {
+				kernel_seq_delete(seq[fx_icon_tree_left]);
+				seq[fx_icon_tree_left] = kernel_seq_stamp(ss[fx_icon_tree_left], false, KERNEL_FIRST);
+				kernel_seq_depth(seq[fx_icon_tree_left], 2);
+				kernel_flip_hotspot_loc(words_Brynn_Fann, false, TREE_LEFT_X, TREE_LEFT_Y);
+			}
+			break;
+
+		case words_Slathan_ni_Patan:
+			if (!player_has_been_in_room(201)) {
+				kernel_seq_delete(seq[fx_icon_tree_right]);
+				seq[fx_icon_tree_right] = kernel_seq_stamp(ss[fx_icon_tree_right], false, KERNEL_FIRST);
+				kernel_seq_depth(seq[fx_icon_tree_right], 2);
+				kernel_flip_hotspot_loc(words_Slathan_ni_Patan, false, TREE_RIGHT_X, TREE_RIGHT_Y);
+			}
+			break;
+
+		case words_Hightower:
+			if (!player_has_been_in_room(501)) {
+				kernel_seq_delete(seq[fx_icon_wizard]);
+				seq[fx_icon_wizard] = kernel_seq_stamp(ss[fx_icon_wizard], false, KERNEL_FIRST);
+				kernel_seq_depth(seq[fx_icon_wizard], 2);
+				kernel_flip_hotspot_loc(words_Hightower, false, WIZARD_X, WIZARD_Y);
+			}
+			break;
+		}
+
+		if (local->highlighting != -1 && local->highlighting != 1000 && !local->prevent) {
+			good = -1;
+
+			for (count = 0; count < room_num_spots; count++) {
+				if (room_spots[count].active) {
+					if (mouse_x >= room_spots[count].ul_x &&
+						mouse_x <= room_spots[count].lr_x &&
+						mouse_y >= room_spots[count].ul_y &&
+						mouse_y <= room_spots[count].lr_y) {
+						good = count;
+					}
+				}
+			}
+
+			if (good != -1) {
+				kernel_timing_trigger(1, 10);
+				local->prevent = true;
+
+			} else {
+				local->highlighting = -1;
+			}
+
+		} else {
+			local->highlighting = -1;
+		}
+	}
+
+	if (kernel.trigger == MUSIC) {
+		sound_play(N_WalkingMus);
+	}
+}
+
+static void room_120_pre_parser() {
+	player_cancel_command();
+	player.need_to_walk = false;
+}
+
+
+static void room_120_parser() {
+}
+
+void room_120_synchronize(Common::Serializer &s) {
+	for (int16 &v : scratch.sprite)    s.syncAsSint16LE(v);
+	for (int16 &v : scratch.sequence)  s.syncAsSint16LE(v);
+	for (int16 &v : scratch.animation) s.syncAsSint16LE(v);
+	s.syncBytes((byte *)scratch.path_0, 3);
+	s.syncBytes((byte *)scratch.path_1, 3);
+	s.syncAsSint16LE(scratch.highlighting);
+	s.syncAsSint16LE(scratch.prevent);
+}
+
+void room_120_preload() {
+	room_init_code_pointer = room_120_init;
+	room_pre_parser_code_pointer = room_120_pre_parser;
+	room_parser_code_pointer = room_120_parser;
+	room_daemon_code_pointer = room_120_daemon;
+
+	/* inter_init_sentence(); */
+	section_1_walker();
+	section_1_interface();
+}
+
+} // namespace Rooms
+} // namespace Dragonsphere
+} // namespace MADSV2
+} // namespace MADS
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room120.h b/engines/mads/madsv2/dragonsphere/rooms/room120.h
new file mode 100644
index 00000000000..74799b70447
--- /dev/null
+++ b/engines/mads/madsv2/dragonsphere/rooms/room120.h
@@ -0,0 +1,41 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef MADS_DRAGONSPHERE_ROOMS_120_H
+#define MADS_DRAGONSPHERE_ROOMS_120_H
+
+#include "common/serializer.h"
+#include "mads/madsv2/core/general.h"
+
+namespace MADS {
+namespace MADSV2 {
+namespace Dragonsphere {
+namespace Rooms {
+
+extern void room_120_preload();
+extern void room_120_synchronize(Common::Serializer &s);
+
+} // namespace Rooms
+} // namespace Dragonsphere
+} // namespace MADSV2
+} // namespace MADS
+
+#endif
diff --git a/engines/mads/madsv2/dragonsphere/rooms/section1.cpp b/engines/mads/madsv2/dragonsphere/rooms/section1.cpp
index 8f3851b9360..1f82c0cff90 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/section1.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/section1.cpp
@@ -55,7 +55,7 @@ extern void room_116_preload();
 extern void room_117_preload();
 extern void room_118_preload();
 extern void room_119_preload();
-
+extern void room_120_preload();
 
 void section_1_init() {
 	player.scaling_velocity = true;
@@ -311,6 +311,9 @@ void section_1_constructor() {
 	case 119:
 		room_preload_code_pointer = room_119_preload;
 		break;
+	case 120:
+		room_preload_code_pointer = room_120_preload;
+		break;
 	}
 
 	room_himem_preload(new_room, SECTION);
diff --git a/engines/mads/madsv2/engine.cpp b/engines/mads/madsv2/engine.cpp
index 3ad4b61544b..b81ee403683 100644
--- a/engines/mads/madsv2/engine.cpp
+++ b/engines/mads/madsv2/engine.cpp
@@ -287,7 +287,7 @@ void MADSV2Engine::pollEvents() {
 		if (isMouse)
 			_mousePos = e.mouse;
 
-		if (e.type == Common::EVENT_KEYDOWN)
+		if (e.type == Common::EVENT_KEYDOWN && !isSpecialKey(e.kbd.keycode))
 			_keyEvents.push(e.kbd);
 		if (e.type == Common::EVENT_CUSTOM_ENGINE_ACTION_START &&
 				KEYBINDING_ACTIONS[e.customType] != Common::KEYCODE_INVALID)
@@ -295,6 +295,19 @@ void MADSV2Engine::pollEvents() {
 	}
 }
 
+bool MADSV2Engine::isSpecialKey(Common::KeyCode key) const {
+	static const Common::KeyCode KEYS[] = {
+		Common::KEYCODE_LCTRL, Common::KEYCODE_LALT, Common::KEYCODE_RSHIFT, Common::KEYCODE_RALT,
+	};
+
+	for (const Common::KeyCode &kc : KEYS) {
+		if (kc == key)
+			return true;
+	}
+
+	return false;
+}
+
 void MADSV2Engine::checkForTimerFunction() {
 	if (_timerFunction && _nextTimerTime != (uint32)-1) {
 		uint32 time = g_system->getMillis();
diff --git a/engines/mads/madsv2/engine.h b/engines/mads/madsv2/engine.h
index ccb55f8373d..a7ff7a00890 100644
--- a/engines/mads/madsv2/engine.h
+++ b/engines/mads/madsv2/engine.h
@@ -41,6 +41,7 @@ class MADSV2Engine : public MADSEngine {
 private:
 	void initGlobals();
 	void syncGame(Common::Serializer &s);
+	bool isSpecialKey(Common::KeyCode key) const;
 	
 protected:
 	Graphics::Screen *_screen = nullptr;
diff --git a/engines/mads/module.mk b/engines/mads/module.mk
index b81eab8257c..67398c127f4 100644
--- a/engines/mads/module.mk
+++ b/engines/mads/module.mk
@@ -208,6 +208,7 @@ MODULE_OBJS += \
 	madsv2/dragonsphere/rooms/room117.o \
 	madsv2/dragonsphere/rooms/room118.o \
 	madsv2/dragonsphere/rooms/room119.o \
+	madsv2/dragonsphere/rooms/room120.o \
 	madsv2/dragonsphere/rooms/room201.o \
 	madsv2/dragonsphere/rooms/room203.o \
 	madsv2/dragonsphere/rooms/room204.o \


Commit: 1a5d76a243a516d3ddc9216388a8b8d24329dd54
    https://github.com/scummvm/scummvm/commit/1a5d76a243a516d3ddc9216388a8b8d24329dd54
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T18:30:56+10:00

Commit Message:
MADS: DRAGONSPHERE: Add missing room synchronize calls

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


diff --git a/engines/mads/madsv2/dragonsphere/global.cpp b/engines/mads/madsv2/dragonsphere/global.cpp
index 11cdaec32a8..77981cc1a84 100644
--- a/engines/mads/madsv2/dragonsphere/global.cpp
+++ b/engines/mads/madsv2/dragonsphere/global.cpp
@@ -39,6 +39,72 @@ extern void section_5_preload();
 extern void section_6_preload();
 extern void section_9_preload();
 
+extern void room_101_synchronize(Common::Serializer &s);
+extern void room_102_synchronize(Common::Serializer &s);
+extern void room_103_synchronize(Common::Serializer &s);
+extern void room_104_synchronize(Common::Serializer &s);
+extern void room_105_synchronize(Common::Serializer &s);
+extern void room_106_synchronize(Common::Serializer &s);
+extern void room_107_synchronize(Common::Serializer &s);
+extern void room_108_synchronize(Common::Serializer &s);
+extern void room_109_synchronize(Common::Serializer &s);
+extern void room_110_synchronize(Common::Serializer &s);
+extern void room_111_synchronize(Common::Serializer &s);
+extern void room_112_synchronize(Common::Serializer &s);
+extern void room_113_synchronize(Common::Serializer &s);
+extern void room_114_synchronize(Common::Serializer &s);
+extern void room_115_synchronize(Common::Serializer &s);
+extern void room_116_synchronize(Common::Serializer &s);
+extern void room_117_synchronize(Common::Serializer &s);
+extern void room_118_synchronize(Common::Serializer &s);
+extern void room_119_synchronize(Common::Serializer &s);
+extern void room_120_synchronize(Common::Serializer &s);
+extern void room_201_synchronize(Common::Serializer &s);
+extern void room_203_synchronize(Common::Serializer &s);
+extern void room_204_synchronize(Common::Serializer &s);
+extern void room_205_synchronize(Common::Serializer &s);
+extern void room_206_synchronize(Common::Serializer &s);
+extern void room_301_synchronize(Common::Serializer &s);
+extern void room_302_synchronize(Common::Serializer &s);
+extern void room_303_synchronize(Common::Serializer &s);
+extern void room_401_synchronize(Common::Serializer &s);
+extern void room_402_synchronize(Common::Serializer &s);
+extern void room_403_synchronize(Common::Serializer &s);
+extern void room_404_synchronize(Common::Serializer &s);
+extern void room_405_synchronize(Common::Serializer &s);
+extern void room_406_synchronize(Common::Serializer &s);
+extern void room_407_synchronize(Common::Serializer &s);
+extern void room_408_synchronize(Common::Serializer &s);
+extern void room_409_synchronize(Common::Serializer &s);
+extern void room_410_synchronize(Common::Serializer &s);
+extern void room_411_synchronize(Common::Serializer &s);
+extern void room_412_synchronize(Common::Serializer &s);
+extern void room_454_synchronize(Common::Serializer &s);
+extern void room_501_synchronize(Common::Serializer &s);
+extern void room_502_synchronize(Common::Serializer &s);
+extern void room_503_synchronize(Common::Serializer &s);
+extern void room_504_synchronize(Common::Serializer &s);
+extern void room_505_synchronize(Common::Serializer &s);
+extern void room_506_synchronize(Common::Serializer &s);
+extern void room_507_synchronize(Common::Serializer &s);
+extern void room_508_synchronize(Common::Serializer &s);
+extern void room_509_synchronize(Common::Serializer &s);
+extern void room_510_synchronize(Common::Serializer &s);
+extern void room_511_synchronize(Common::Serializer &s);
+extern void room_512_synchronize(Common::Serializer &s);
+extern void room_557_synchronize(Common::Serializer &s);
+extern void room_601_synchronize(Common::Serializer &s);
+extern void room_603_synchronize(Common::Serializer &s);
+extern void room_604_synchronize(Common::Serializer &s);
+extern void room_605_synchronize(Common::Serializer &s);
+extern void room_606_synchronize(Common::Serializer &s);
+extern void room_607_synchronize(Common::Serializer &s);
+extern void room_609_synchronize(Common::Serializer &s);
+extern void room_612_synchronize(Common::Serializer &s);
+extern void room_613_synchronize(Common::Serializer &s);
+extern void room_614_synchronize(Common::Serializer &s);
+extern void room_909_synchronize(Common::Serializer &s);
+
 } // namespace Rooms
 
 void global_section_constructor() {
@@ -82,7 +148,74 @@ void global_section_constructor() {
 }
 
 void sync_room(Common::Serializer &s) {
-	// TODO
+	switch (new_room) {
+	case 101: Rooms::room_101_synchronize(s); break;
+	case 102: Rooms::room_102_synchronize(s); break;
+	case 103: Rooms::room_103_synchronize(s); break;
+	case 104: Rooms::room_104_synchronize(s); break;
+	case 105: Rooms::room_105_synchronize(s); break;
+	case 106: Rooms::room_106_synchronize(s); break;
+	case 107: Rooms::room_107_synchronize(s); break;
+	case 108: Rooms::room_108_synchronize(s); break;
+	case 109: Rooms::room_109_synchronize(s); break;
+	case 110: Rooms::room_110_synchronize(s); break;
+	case 111: Rooms::room_111_synchronize(s); break;
+	case 112: Rooms::room_112_synchronize(s); break;
+	case 113: Rooms::room_113_synchronize(s); break;
+	case 114: Rooms::room_114_synchronize(s); break;
+	case 115: Rooms::room_115_synchronize(s); break;
+	case 116: Rooms::room_116_synchronize(s); break;
+	case 117: Rooms::room_117_synchronize(s); break;
+	case 118: Rooms::room_118_synchronize(s); break;
+	case 119: Rooms::room_119_synchronize(s); break;
+	case 120: Rooms::room_120_synchronize(s); break;
+	case 201: Rooms::room_201_synchronize(s); break;
+	case 203: Rooms::room_203_synchronize(s); break;
+	case 204: Rooms::room_204_synchronize(s); break;
+	case 205: Rooms::room_205_synchronize(s); break;
+	case 206: Rooms::room_206_synchronize(s); break;
+	case 301: Rooms::room_301_synchronize(s); break;
+	case 302: Rooms::room_302_synchronize(s); break;
+	case 303: Rooms::room_303_synchronize(s); break;
+	case 401: Rooms::room_401_synchronize(s); break;
+	case 402: Rooms::room_402_synchronize(s); break;
+	case 403: Rooms::room_403_synchronize(s); break;
+	case 404: Rooms::room_404_synchronize(s); break;
+	case 405: Rooms::room_405_synchronize(s); break;
+	case 406: Rooms::room_406_synchronize(s); break;
+	case 407: Rooms::room_407_synchronize(s); break;
+	case 408: Rooms::room_408_synchronize(s); break;
+	case 409: Rooms::room_409_synchronize(s); break;
+	case 410: Rooms::room_410_synchronize(s); break;
+	case 411: Rooms::room_411_synchronize(s); break;
+	case 412: Rooms::room_412_synchronize(s); break;
+	case 454: Rooms::room_454_synchronize(s); break;
+	case 501: Rooms::room_501_synchronize(s); break;
+	case 502: Rooms::room_502_synchronize(s); break;
+	case 503: Rooms::room_503_synchronize(s); break;
+	case 504: Rooms::room_504_synchronize(s); break;
+	case 505: Rooms::room_505_synchronize(s); break;
+	case 506: Rooms::room_506_synchronize(s); break;
+	case 507: Rooms::room_507_synchronize(s); break;
+	case 508: Rooms::room_508_synchronize(s); break;
+	case 509: Rooms::room_509_synchronize(s); break;
+	case 510: Rooms::room_510_synchronize(s); break;
+	case 511: Rooms::room_511_synchronize(s); break;
+	case 512: Rooms::room_512_synchronize(s); break;
+	case 557: Rooms::room_557_synchronize(s); break;
+	case 601: Rooms::room_601_synchronize(s); break;
+	case 603: Rooms::room_603_synchronize(s); break;
+	case 604: Rooms::room_604_synchronize(s); break;
+	case 605: Rooms::room_605_synchronize(s); break;
+	case 606: Rooms::room_606_synchronize(s); break;
+	case 607: Rooms::room_607_synchronize(s); break;
+	case 609: Rooms::room_609_synchronize(s); break;
+	case 612: Rooms::room_612_synchronize(s); break;
+	case 613: Rooms::room_613_synchronize(s); break;
+	case 614: Rooms::room_614_synchronize(s); break;
+	case 909: Rooms::room_909_synchronize(s); break;
+	default: break;
+	}
 }
 
 } // namespace Dragonsphere


Commit: b17edb4daedce65061573d2c93ad887227377f10
    https://github.com/scummvm/scummvm/commit/b17edb4daedce65061573d2c93ad887227377f10
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T18:30:56+10:00

Commit Message:
MADS: DRAGONSPHERE: Remove unneeded error functions

Changed paths:
    engines/mads/madsv2/dragonsphere/rooms/room104.cpp
    engines/mads/madsv2/dragonsphere/rooms/room302.cpp
    engines/mads/madsv2/dragonsphere/rooms/room405.cpp
    engines/mads/madsv2/dragonsphere/rooms/room406.cpp
    engines/mads/madsv2/dragonsphere/rooms/room505.cpp


diff --git a/engines/mads/madsv2/dragonsphere/rooms/room104.cpp b/engines/mads/madsv2/dragonsphere/rooms/room104.cpp
index aac03dd953e..cb455e2362a 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room104.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room104.cpp
@@ -2295,9 +2295,6 @@ void room_104_synchronize(Common::Serializer &s) {
 	s.syncAsSint16LE(local->anim_6_running);
 }
 
-void room_104_error() {
-}
-
 void room_104_preload() {
 	room_init_code_pointer       = room_104_init;
 	room_pre_parser_code_pointer = room_104_pre_parser;
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room302.cpp b/engines/mads/madsv2/dragonsphere/rooms/room302.cpp
index 4c8ac52b59a..d4a91e78778 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room302.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room302.cpp
@@ -901,9 +901,6 @@ done:
 	;
 }
 
-void room_302_error() {
-}
-
 void room_302_synchronize(Common::Serializer &s) {
 	for (int16 &v : scratch.sprite)        s.syncAsSint16LE(v);
 	for (int16 &v : scratch.sequence)      s.syncAsSint16LE(v);
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room405.cpp b/engines/mads/madsv2/dragonsphere/rooms/room405.cpp
index 44608f20256..6282984f07d 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room405.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room405.cpp
@@ -1423,9 +1423,6 @@ void room_405_preload() {
 	section_4_interface();
 }
 
-void room_405_error() {
-}
-
 } // namespace Rooms
 } // namespace Dragonsphere
 } // namespace MADSV2
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room406.cpp b/engines/mads/madsv2/dragonsphere/rooms/room406.cpp
index 67858287010..cb4cad7ced0 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room406.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room406.cpp
@@ -1561,9 +1561,6 @@ void room_406_preload() {
 	section_4_interface();
 }
 
-void room_406_error() {
-}
-
 } // namespace Rooms
 } // namespace Dragonsphere
 } // namespace MADSV2
diff --git a/engines/mads/madsv2/dragonsphere/rooms/room505.cpp b/engines/mads/madsv2/dragonsphere/rooms/room505.cpp
index 221d1f9a53c..843c0f6dbc1 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room505.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room505.cpp
@@ -167,9 +167,6 @@ void room_505_synchronize(Common::Serializer &s) {
 	for (int16 &v : scratch.animation) s.syncAsSint16LE(v);
 }
 
-void room_505_error() {
-}
-
 void room_505_preload() {
 	room_init_code_pointer       = room_505_init;
 	room_pre_parser_code_pointer = room_505_pre_parser;




More information about the Scummvm-git-logs mailing list