[Scummvm-git-logs] scummvm master -> 50533570a1cffe159cdf03e4cb72d311baf825bd

dreammaster noreply at scummvm.org
Tue Jul 7 06:49:28 UTC 2026


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

Summary:
50533570a1 MADS: DRAGONSPHERE: Further demo intro fixes


Commit: 50533570a1cffe159cdf03e4cb72d311baf825bd
    https://github.com/scummvm/scummvm/commit/50533570a1cffe159cdf03e4cb72d311baf825bd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-07T16:48:56+10:00

Commit Message:
MADS: DRAGONSPHERE: Further demo intro fixes

Changed paths:
    engines/mads/madsv2/animview/animview.cpp
    engines/mads/madsv2/dragonsphere/main.cpp
    engines/mads/madsv2/phantom/main.cpp


diff --git a/engines/mads/madsv2/animview/animview.cpp b/engines/mads/madsv2/animview/animview.cpp
index 9748e769b6f..7232096a2ed 100644
--- a/engines/mads/madsv2/animview/animview.cpp
+++ b/engines/mads/madsv2/animview/animview.cpp
@@ -452,13 +452,14 @@ static void animate() {
 				goto done;
 
 			Common::String name(sound_file_name);
-			has_sound_file = !name.empty() && Common::isDigit(name.lastChar());
+			has_sound_file = !name.empty();
 			found_sound = true;
 		}
 
 		if ((!stop_music_at_end || found_sound) && !g_engine->_soundManager->isLoaded()) {
 			// Initialize the sound driver
-			int section = sound_file_name[strlen(sound_file_name) - 1] - '0';
+			char ext = sound_file_name[strlen(sound_file_name) - 1];
+			int section = (g_engine->isDemo() && !Common::isDigit(ext)) ? 1 : ext - '0';
 			g_engine->_soundManager->init(section);
 		}
 
diff --git a/engines/mads/madsv2/dragonsphere/main.cpp b/engines/mads/madsv2/dragonsphere/main.cpp
index 74f3005507c..12a1d10350c 100644
--- a/engines/mads/madsv2/dragonsphere/main.cpp
+++ b/engines/mads/madsv2/dragonsphere/main.cpp
@@ -220,12 +220,16 @@ void dragonsphere_main() {
 		env_search_mode = ENV_SEARCH_CONCAT_FILES;
 
 	if (ConfMan.getBool("start_game") || ConfMan.hasKey("save_slot"))
+		// Start the game
 		selected_item = 0;
 	else if (g_engine->isDemo())
-		selected_item = 5;
+		// Demo
+		selected_item = 9;
 	else if (ConfMan.getBool("start_intro"))
+		// Show the intro directly
 		selected_item = 3;
 	else
+		// Show the title screen
 		selected_item = -1;
 
 	while (!g_engine->shouldQuit()) {
@@ -267,15 +271,16 @@ void dragonsphere_main() {
 			// Exit
 			return;
 
+		case 9:
+			// Demo
+			AnimView::animview_main("@demodisk");
+			selected_item = 0;
+			break;
+
 		default:
 			// Credits
-			if (g_engine->isDemo()) {
-				AnimView::animview_main("@demodisk");
-				selected_item = 0;
-			} else {
-				TextView::textview_main("credits");
-				selected_item = -1;
-			}
+			TextView::textview_main("credits");
+			selected_item = -1;
 			break;
 		}
 	}
diff --git a/engines/mads/madsv2/phantom/main.cpp b/engines/mads/madsv2/phantom/main.cpp
index ce80a8c6852..419b00b4f72 100644
--- a/engines/mads/madsv2/phantom/main.cpp
+++ b/engines/mads/madsv2/phantom/main.cpp
@@ -264,7 +264,10 @@ void phantom_main() {
 
 	if (ConfMan.getBool("start_game") || ConfMan.hasKey("save_slot"))
 		selected_item = 0;
-	else if (g_engine->isDemo() || ConfMan.getBool("start_intro"))
+	else if (g_engine->isDemo())
+		// Demo
+		selected_item = 9;
+	else if (ConfMan.getBool("start_intro"))
 		// Show the intro
 		selected_item = 3;
 	else
@@ -300,20 +303,19 @@ void phantom_main() {
 			return;
 
 		case 3:
-			// Show the intro
-			if (g_engine->isDemo()) {
-				AnimView::animview_main("@demodisk");
-				selected_item = 0;
-			} else {
-				AnimView::animview_main("@phantom");
-				selected_item = -1;
-			}
+			AnimView::animview_main("@phantom");
+			selected_item = -1;
 			break;
 
 		case 4:
 			// Exit
 			return;
 
+		case 9:
+			AnimView::animview_main("@demodisk");
+			selected_item = 0;
+			break;
+
 		default:
 			// Credits
 			TextView::textview_main("credits");




More information about the Scummvm-git-logs mailing list