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

dreammaster noreply at scummvm.org
Tue May 26 02:50:26 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:
72b05ea749 MADS: DRAGONSPHERE: Cleanups for room 118
f33a2d1d19 MADS: DRAGONSPHERE: Cleanup for room 110
a1ad38b479 MADS: DRAGONSPHERE: Fix crash exiting castle


Commit: 72b05ea749fff43f9d58d38fe66de0d3c4c29ebc
    https://github.com/scummvm/scummvm/commit/72b05ea749fff43f9d58d38fe66de0d3c4c29ebc
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T12:50:17+10:00

Commit Message:
MADS: DRAGONSPHERE: Cleanups for room 118

Changed paths:
    engines/mads/madsv2/dragonsphere/rooms/room118.cpp


diff --git a/engines/mads/madsv2/dragonsphere/rooms/room118.cpp b/engines/mads/madsv2/dragonsphere/rooms/room118.cpp
index 7c2b94e6cfa..c9ccd9a6871 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room118.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room118.cpp
@@ -131,32 +131,32 @@ static void room_118_parser() {
 		goto handled;
 	}
 
-	if (player_parse(3, 0) || player_parse(30, 0)) {
-		if (player_parse(171, 0)) { text_show(11802); goto handled; }
-		if (player_parse(157, 0)) { text_show(11803); goto handled; }
-		if (player_parse(161, 0)) { text_show(11804); goto handled; }
-		if (player_parse(160, 0)) { text_show(11806); goto handled; }
-		if (player_parse(159, 0)) { text_show(11807); goto handled; }
-		if (player_parse(24, 0))  { text_show(11809); goto handled; }
-		if (player_parse(164, 0)) { text_show(11810); goto handled; }
-		if (player_parse(180, 0)) { text_show(11811); goto handled; }
-		if (player_parse(272, 0)) { text_show(11812); goto handled; }
+	if (player_said_1(look) || player_said_1(look_at)) {
+		if (player_said_1(courtyard)) { text_show(11802); goto handled; }
+		if (player_said_1(castle_gate)) { text_show(11803); goto handled; }
+		if (player_said_1(haystack)) { text_show(11804); goto handled; }
+		if (player_said_1(barrels)) { text_show(11806); goto handled; }
+		if (player_said_1(barrel)) { text_show(11807); goto handled; }
+		if (player_said_1(window))  { text_show(11809); goto handled; }
+		if (player_said_1(gate_to_throne_room)) { text_show(11810); goto handled; }
+		if (player_said_1(battlement)) { text_show(11811); goto handled; }
+		if (player_said_1(guard)) { text_show(11812); goto handled; }
 	}
 
-	if (player_parse(8, 272, 0)) {
+	if (player_said_2(talk_to, guard)) {
 		text_show(11813);
 		goto handled;
 	}
 
-	if (player_parse(6, 0)) {
-		if (player_parse(160, 0) || player_parse(159, 0)) {
+	if (player_said_1(open)) {
+		if (player_said_1(barrels) || player_said_1(barrel)) {
 			text_show(11808);
 			goto handled;
 		}
 	}
 
-	if (player_parse(6, 0) || player_parse(10, 0) || player_parse(162, 0)) {
-		if (player_parse(161, 0)) {
+	if (player_said_1(open) || player_said_1(pull) || player_said_1(root_through)) {
+		if (player_said_1(haystack)) {
 			text_show(11805);
 			goto handled;
 		}


Commit: f33a2d1d19d35020d988f94403beb87ce2a16106
    https://github.com/scummvm/scummvm/commit/f33a2d1d19d35020d988f94403beb87ce2a16106
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T12:50:17+10:00

Commit Message:
MADS: DRAGONSPHERE: Cleanup for room 110

Changed paths:
    engines/mads/madsv2/dragonsphere/rooms/room110.cpp


diff --git a/engines/mads/madsv2/dragonsphere/rooms/room110.cpp b/engines/mads/madsv2/dragonsphere/rooms/room110.cpp
index fab538e75fe..9c07d58a970 100644
--- a/engines/mads/madsv2/dragonsphere/rooms/room110.cpp
+++ b/engines/mads/madsv2/dragonsphere/rooms/room110.cpp
@@ -108,7 +108,6 @@ static Scratch scratch;
 #define fx_pid_in_well                   2    /* rm110b0 */
 #define fx_reach_fruit                   3    /* kgrh_9  */
 
-
 /* ======================== Triggers ========================= */
 
 #define ROOM_110_GOT_FRUIT               70
@@ -223,14 +222,6 @@ static Scratch scratch;
 /* hand on chin:      74 - 90   */
 /*                              */
 
-/* conversations */
-/* conv008.con   */
-/* conv014.con   */
-/* conv009.con   */
-/* conv006.con   */
-/* conv007.con   */
-/* conv010.con   */
-
 #define CONV_FAERIE         8
 #define CONV_SLATHAN        14
 #define CONV_SOPTUS         9
@@ -687,8 +678,6 @@ static void room_110_init() {
 
 	global[invoked_from_111] = false;
 
-	/* kernel_timing_trigger (10, MUSIC); */
-
 	section_1_music();
 }
 
@@ -700,13 +689,10 @@ static void handle_animation_guard_king() {
 		guard_king_reset_frame = -1;
 
 		switch (local->guard_king_frame) {
-
 		case 1:   /* end of freeze */
 		case 11:  /* end of talk   */
 		case 17:  /* end of talk   */
-
 			switch (local->guard_king_action) {
-
 			case CONV7_SHUT_UP:
 				guard_king_reset_frame = 0;
 				break;
@@ -748,7 +734,6 @@ static void handle_animation_guard_pid() {
 		guard_pid_reset_frame = -1;
 
 		switch (local->guard_pid_frame) {
-
 		case 29:
 			global_speech_go(7); /* hurl */
 			break;
@@ -1068,7 +1053,7 @@ static void room_110_merchant_random_moves() {
 				}
 			}
 		}
-	}                    /* gotta love them braces! */
+	}
 }
 
 static void room_110_merchant_noone_talking() {
@@ -1574,7 +1559,6 @@ static void room_110_daemon() {
 					local->new_action[2] = CONV9_LOOK_AT_KING;
 					conv_release();
 				}
-
 				break;
 
 			case 54:
@@ -1620,12 +1604,8 @@ static void room_110_daemon() {
 
 			case 74:
 				/* end of turn to face merchant, must stand facing in */
-
-				/* if ((local->new_action[2] == CONV9_BOW_TURN_TO_MERCHANT) || */
-					/* (local->new_action[2] == CONV9_TALK_TURN_TO_MERCHANT)) { */
 				local->new_action[2] = CONV9_STAND_FACE_IN;
 				reset_frame[2] = 0;
-				/* } */
 				break;
 
 			}
@@ -1745,7 +1725,6 @@ static void room_110_daemon() {
 
 			}
 
-
 			if (reset_frame[3] >= 0) {
 				if (reset_frame[3] != kernel_anim[aa[3]].frame) {
 					kernel_reset_animation(aa[3], reset_frame[3]);
@@ -1757,7 +1736,6 @@ static void room_110_daemon() {
 
 	/* obtaining fruit from the merchant */
 	if (kernel.trigger == ROOM_110_GOT_FRUIT) {
-		/* sound_queue (N_PickUpObject006);*/
 		sound_play(N_TakeObjectSnd);
 		inter_give_to_player(fruit);
 		object_examine(fruit, 807, 0);
@@ -1853,16 +1831,14 @@ static void handle_conv_guard_pid() {
 	local->guard_pid_talk_count = 0;
 }
 
-
-void handle_conv_guard_heal() {
+static void handle_conv_guard_heal() {
 	if (player_verb == conv012_gash_b_b) {
 		player.x = 100;
 		new_room = 112;
 	}
 }
 
-
-void room_110_check_score() {
+static void room_110_check_score() {
 	switch (global[talked_to_status]) {
 
 	case TALKED_TO_NONE:
@@ -2026,7 +2002,7 @@ void room_110_check_score() {
 	}
 }
 
-void handle_conv_faerie() {
+static void handle_conv_faerie() {
 	if ((player_verb == conv008_query_wish) ||
 		(player_verb == conv008_query_humans) ||
 		(player_verb == conv008_query_where) ||
@@ -2069,7 +2045,7 @@ void handle_conv_faerie() {
 	}
 }
 
-void handle_conv_slathan() {
+static void handle_conv_slathan() {
 	if (player_verb == conv014_heehee_only) {
 		switch (kernel.trigger) {
 		case 0:
@@ -2128,8 +2104,7 @@ void handle_conv_slathan() {
 	}
 }
 
-
-void handle_conv_soptus() {
+static void handle_conv_soptus() {
 	/* trigger 1 will not go into effect until conv is released in daemon */
 	if (player_verb == conv009_hello1a_only) {
 		switch (kernel.trigger) {
@@ -2199,7 +2174,7 @@ void handle_conv_soptus() {
 	}
 }
 
-void handle_conv_merchant() {
+static void handle_conv_merchant() {
 	if (player_verb == conv006_wares_greeting) {
 		switch (kernel.trigger) {
 		case 0:
@@ -2260,8 +2235,7 @@ void handle_conv_merchant() {
 	}
 }
 
-
-void room_110_pre_parser() {
+static void room_110_pre_parser() {
 	if (kernel.trigger == ROOM_110_GO_TO_120) {
 		player_cancel_command();
 		local->activate_timer = false;
@@ -2335,7 +2309,6 @@ void room_110_pre_parser() {
 			player_cancel_command();
 
 		} else if (player.need_to_walk) {
-
 			if (player_said_1(walk_down)) {
 				conv_reset(CONV_GUARD_PID);
 				player.commands_allowed = false;


Commit: a1ad38b479dae988f8c1f386fe364ec962f8433f
    https://github.com/scummvm/scummvm/commit/a1ad38b479dae988f8c1f386fe364ec962f8433f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-05-26T12:50:17+10:00

Commit Message:
MADS: DRAGONSPHERE: Fix crash exiting castle

Dragonsphere doesn't actually use interface anim files, though
some of the earlier rooms have them.. maybe dummy ones before
they changed kernel_room_startup to dispense with the need for
them entirely. Also the kernel_set_interface_mode was changed
so that it always reloads the plain interface background when
called, whereas previous games only reloaded the background
when the mode changed.

Changed paths:
    engines/mads/madsv2/core/kernel.cpp


diff --git a/engines/mads/madsv2/core/kernel.cpp b/engines/mads/madsv2/core/kernel.cpp
index 3ebb60eed69..717e3390f4b 100644
--- a/engines/mads/madsv2/core/kernel.cpp
+++ b/engines/mads/madsv2/core/kernel.cpp
@@ -685,19 +685,25 @@ int kernel_room_startup(int newRoom, int initial_variant, const char *interface,
 		goto done;
 	}
 
-	kernel_load_vocab();
-
 	pal_activate_shadow(&kernel_shadow_inter);
-	load_flags = ANIM_LOAD_BACKGROUND | ANIM_INTERFACE;
-	if (kernel.translating)
-		load_flags |= ANIM_LOAD_TRANSLATE;
-	inter_anim = (AnimInterPtr)anim_load(interface, &scr_inter_orig, nullptr, nullptr,
-		nullptr, nullptr, nullptr, nullptr, nullptr, load_flags);
-	if (!inter_anim) goto done;
-
-	if (!inter_anim->font) {
-		mem_free(inter_anim);
+
+	if (g_engine->getGameID() == GType_Dragonsphere) {
 		inter_anim = nullptr;
+
+	} else {
+		kernel_load_vocab();
+
+		load_flags = ANIM_LOAD_BACKGROUND | ANIM_INTERFACE;
+		if (kernel.translating)
+			load_flags |= ANIM_LOAD_TRANSLATE;
+		inter_anim = (AnimInterPtr)anim_load(interface, &scr_inter_orig, nullptr, nullptr,
+			nullptr, nullptr, nullptr, nullptr, nullptr, load_flags);
+		if (!inter_anim) goto done;
+
+		if (!inter_anim->font) {
+			mem_free(inter_anim);
+			inter_anim = nullptr;
+		}
 	}
 
 	// Set up interface background screen
@@ -2766,7 +2772,7 @@ done:
 }
 
 void kernel_set_interface_mode(int mode) {
-	if (mode != inter_input_mode) {
+	if (mode != inter_input_mode || g_engine->getGameID() == GType_Dragonsphere) {
 		char fname[80];
 		Common::strcpy_s(fname, kernel.interface);
 		char *dot = strchr(fname, '.');




More information about the Scummvm-git-logs mailing list