[Scummvm-git-logs] scummvm master -> 0caa1711dbb9c4724c141050fe14dfd19ea4de97

dreammaster noreply at scummvm.org
Thu Mar 14 03:17:54 UTC 2024


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

Summary:
0caa1711db M4: Added syncSoundSettings method


Commit: 0caa1711dbb9c4724c141050fe14dfd19ea4de97
    https://github.com/scummvm/scummvm/commit/0caa1711dbb9c4724c141050fe14dfd19ea4de97
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-03-13T20:17:48-07:00

Commit Message:
M4: Added syncSoundSettings method

Changed paths:
    engines/m4/detection_tables.h
    engines/m4/m4.cpp
    engines/m4/m4.h
    engines/m4/platform/sound/digi.cpp


diff --git a/engines/m4/detection_tables.h b/engines/m4/detection_tables.h
index 0d53038d163..73daecb0737 100644
--- a/engines/m4/detection_tables.h
+++ b/engines/m4/detection_tables.h
@@ -37,7 +37,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_TESTING,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesCD
@@ -50,7 +50,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::FR_FRA,
 			Common::kPlatformDOS,
 			ADGF_TESTING,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesCD
@@ -63,7 +63,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::DE_DEU,
 			Common::kPlatformDOS,
 			ADGF_TESTING,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesCD
@@ -85,7 +85,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::RU_RUS,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesCD
@@ -98,7 +98,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_DEMO | ADGF_TESTING,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesDemo
@@ -111,7 +111,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::DE_DEU,
 			Common::kPlatformDOS,
 			ADGF_DEMO | ADGF_TESTING,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesDemo
@@ -124,7 +124,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_DEMO | ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Burger,
 		kFeaturesNonInteractiveDemo
@@ -137,7 +137,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesCD
@@ -150,7 +150,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesCD
@@ -163,7 +163,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::DE_DEU,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesCD
@@ -176,7 +176,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::FR_FRA,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesCD
@@ -189,7 +189,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::ES_ESP,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesCD
@@ -202,7 +202,7 @@ static const M4GameDescription gameDescriptions[] = {
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_DEMO | ADGF_UNSTABLE,
-			GUIO1(GUIO_NOASPECT)
+			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
 		},
 		GType_Riddle,
 		kFeaturesDemo
diff --git a/engines/m4/m4.cpp b/engines/m4/m4.cpp
index 1c67b018552..66997cd0701 100644
--- a/engines/m4/m4.cpp
+++ b/engines/m4/m4.cpp
@@ -137,6 +137,13 @@ void M4Engine::m4_inflight() {
 	}
 }
 
+void M4Engine::syncSoundSettings() {
+	Engine::syncSoundSettings();
+
+	int volume = ConfMan.getBool("sfx_mute") ? 0 : CLIP(ConfMan.getInt("sfx_volume"), 0, 255);
+	_mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, volume);
+}
+
 bool M4Engine::canLoadGameStateCurrently(Common::U32String *msg) {
 	return g_vars && INTERFACE_VISIBLE && player_commands_allowed();
 }
diff --git a/engines/m4/m4.h b/engines/m4/m4.h
index 43e7baf9c7b..c33df99e0be 100644
--- a/engines/m4/m4.h
+++ b/engines/m4/m4.h
@@ -120,6 +120,7 @@ public:
 
 	bool canLoadGameStateCurrently(Common::U32String * msg = nullptr) override;
 	bool canSaveGameStateCurrently(Common::U32String *msg = nullptr) override;
+	void syncSoundSettings() override;
 
 	Common::Error loadGameState(int slot) override;
 	Common::Error loadGameStateDoIt(int slot);
diff --git a/engines/m4/platform/sound/digi.cpp b/engines/m4/platform/sound/digi.cpp
index 03813e2bd74..725973b01aa 100644
--- a/engines/m4/platform/sound/digi.cpp
+++ b/engines/m4/platform/sound/digi.cpp
@@ -126,8 +126,8 @@ int32 Digi::play(const Common::String &name, uint channel, int32 vol, int32 trig
 			Audio::makeRawStream(entry._data, entry._size, 11025, Audio::FLAG_UNSIGNED,
 				DisposeAfterUse::NO),
 			loop ? 0 : 1);
-	_mixer->playStream(Audio::Mixer::kPlainSoundType, &c._soundHandle, stream,
-		-1, MIN(vol, (int32)255));
+	_mixer->playStream(Audio::Mixer::kSFXSoundType, &c._soundHandle, stream,
+		-1);
 
 	if (trigger < 0 || trigger > 32767)
 		trigger = -1;




More information about the Scummvm-git-logs mailing list