aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJordi Vilalta Prat2010-09-08 09:37:33 +0000
committerJordi Vilalta Prat2010-09-08 09:37:33 +0000
commit806ee79a7be5ca0dcb0e03d16021ed5eb92f0f27 (patch)
treece2fc09c394b2d78cce1b9e2a876a49ea592f394 /engines
parent690fea29333daadd79d7bc305ee7fff040613b9f (diff)
downloadscummvm-rg350-806ee79a7be5ca0dcb0e03d16021ed5eb92f0f27.tar.gz
scummvm-rg350-806ee79a7be5ca0dcb0e03d16021ed5eb92f0f27.tar.bz2
scummvm-rg350-806ee79a7be5ca0dcb0e03d16021ed5eb92f0f27.zip
GROOVIE: Improve sound handling.
- Obey the mute setting. - Report the supported music types. svn-id: r52633
Diffstat (limited to 'engines')
-rw-r--r--engines/groovie/detection.cpp15
-rw-r--r--engines/groovie/groovie.cpp11
2 files changed, 18 insertions, 8 deletions
diff --git a/engines/groovie/detection.cpp b/engines/groovie/detection.cpp
index b30c2361d2..a6a92eb521 100644
--- a/engines/groovie/detection.cpp
+++ b/engines/groovie/detection.cpp
@@ -54,7 +54,8 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"t7g", "",
AD_ENTRY1s("script.grv", "d1b8033b40aa67c076039881eccce90d", 16659),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NONE
+ Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieT7G, 0
},
@@ -64,7 +65,8 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"t7g", "",
AD_ENTRY1s("T7GMac", "a139540fa2be2247005ccf888b7231e3", 1830783),
- Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, Common::GUIO_NONE
+ Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieT7G, 0
},
@@ -78,7 +80,8 @@ static const GroovieGameDescription gameDescriptions[] = {
{ "intro.gjd", 0, NULL, 31711554},
{ NULL, 0, NULL, 0}
},
- Common::RU_RUS, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NONE
+ Common::RU_RUS, Common::kPlatformPC, ADGF_NO_FLAGS,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieT7G, 0
},
@@ -89,7 +92,8 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"11h", "",
AD_ENTRY1s("disk.1", "5c0428cd3659fc7bbcd0aa16485ed5da", 227),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NONE
+ Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS,
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieV2, 1
},
@@ -99,7 +103,8 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"11h", "Demo",
AD_ENTRY1s("disk.1", "aacb32ce07e0df2894bd83a3dee40c12", 70),
- Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, Common::GUIO_NOLAUNCHLOAD
+ Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, Common::GUIO_NOLAUNCHLOAD |
+ Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieV2, 1
},
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp
index cdf5171ab9..131604e75c 100644
--- a/engines/groovie/groovie.cpp
+++ b/engines/groovie/groovie.cpp
@@ -321,13 +321,18 @@ void GroovieEngine::errorString(const char *buf_input, char *buf_output, int buf
}
void GroovieEngine::syncSoundSettings() {
- _musicPlayer->setUserVolume(ConfMan.getInt("music_volume"));
- // VDX videos just contain one digital audio track, which can be used for
+ bool mute = ConfMan.getBool("mute");
+
+ // Set the music volume
+ _musicPlayer->setUserVolume(mute ? 0 : ConfMan.getInt("music_volume"));
+
+ // Videos just contain one digital audio track, which can be used for
// both SFX or Speech, but the engine doesn't know what they contain, so
// we have to use just one volume setting for videos.
// We use "speech" because most users will want to change the videos
// volume when they can't hear the speech because of the music.
- _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, ConfMan.getInt("speech_volume"));
+ _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType,
+ mute ? 0 : ConfMan.getInt("speech_volume"));
}
bool GroovieEngine::canLoadGameStateCurrently() {