Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#6118 closed defect (fixed)

SCI: Digital SFX don't play when Override Global Audio set

Reported by: SF/digitoxin1 Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Quest for Glory 3

Description

ScummVM version: 1.5.0
Language of Game: English
Version of Game: 1.1
Platform: Win32

When checking Override global audio settings in the games configuration, whether or not I select a new Music device or leave everything at default, digital sound effects no longer play in the game. Prefer digital sound effects IS checked.

Ticket imported from: #3554709. Ticket imported from: bugs/6118.

Attachments (1)

scummvm.ini (623 bytes ) - added by SF/digitoxin1 7 years ago.
ScummVM configuration file

Download all attachments as: .zip

Change History (16)

comment:1 by digitall, 7 years ago

Summary: Digital SFX don't play when Override global audio is checkedSCI: Digital SFX don't play when Override Global Audio set

comment:2 by SF/digitoxin1, 7 years ago

I have tested several other SCI games and so far Quest for Glory 3 is the only one I have experienced this problem with.

comment:3 by SF/digitoxin1, 7 years ago

This happens with the floppy version of King's Quest 6 as well.

comment:4 by digitall, 7 years ago

The "default" auto-selection of music drivers can sometimes give odd results.

However, can you provide / do the following to progress this bug:
1. Can you attach a savegame for QFG3 and describe a good test case of a digital SFX which is not present or obviously different in the buggy configuration i.e. describe a good test case and provide a savegame if needed to aid quick replication.
2. Can you backup your ScummVM configuration file and remove it i.e. start with no configuration file, then detect your QFG3 and try replicating this issue. If you are able to replicate, please attach the minimal replicating configuration file to this bug as an attachment. (This is partly as prior to v1.5.0, engine specific configuration flags such as "Prefer Digital SFX" were dealt with slightly differently and a) Your old configuration file may be incorrect with the new format, and thus be the cause of this and b) Knowing the exact configuration file settings to trigger this is likely to be needed to solve this)

comment:5 by SF/digitoxin1, 7 years ago

This is very simple. No attachments necessary.

You can hear a series of 4 sound effects on the title screen:
1. The lightning hits the sword
2. The sword glows
3. The sword shoots out a bolt of lightning displaying the III.
4. The words Wages of War display.

Starting from a default configuration (no configuration file), The music plays an adlib soundtrack. The sound effects play fine. As soon as I cleck Override global audio settings in the games configuration, no matter what setting I choose here (I have tested default, MT-32, and adlib), the music track plays fine, but there are no sound effects.

I have also experienced the exact same situation in the floppy version of Kings Quest VI. Using the exact same steps above, if you play the opening video, the speech in the introduction will not play.

by SF/digitoxin1, 7 years ago

Attachment: scummvm.ini added

ScummVM configuration file

comment:6 by digitall, 7 years ago

digitoxin1: Thank you for providing this information. Please be patient and standby while we investigate the cause...

comment:7 by wjp, 7 years ago

It sets speech_mute=true, which silences these effects. Haven't looked into how/why.

comment:8 by digitall, 7 years ago

wjp: Missed that on my first cursory read of the attached scummvm.ini.

I can now replicate this here. I think the problem is that the GUI options module saves the state of the disabled Subtitle Mode selection, which is greyed out in the engine's audio override tab and this defaults to Subtitles only i.e. subtitles = true, speech_mute = true, which then override the global settings.

I think the correct fix for this is to modify the GUI options code to not save configuration options from disabled widgets.

I'm not sure if this is a recent regression from [md5]'s changes for engine specific options or if this predates that work and hasn't been noticed before.

comment:9 by bluegr, 7 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:10 by bluegr, 7 years ago

Fixed in b19ccb9d1edcdf238727f0c3b0a731b2f00e9d3d

comment:11 by digitall, 7 years ago

thebluegr: I have reopened this bug as although the SCI engine issue where speech_mute=true was incorrectly muting the Sound Effects is now fixed, we still have a latent issue in the GUI system where the disabled widget is incorrectly overiding the enabled global widget...

Should I reassign and rename this for the GUI team, or will you deal as you worked on Engine Specific Options?

comment:12 by digitall, 7 years ago

Status: closednew

comment:13 by bluegr, 7 years ago

This is correct behavior. If a widget is disabled for a game (e.g. speech settings for a game without speech), a default setting where speech is disabled should be set. Thus, the current behavior seems correct, and disabled widgets should be handled.

This behavior was added before the engine-specific setting code, so this isn't new. The bug in this case was in SCI and not the GUI code, as SCI was incorrectly setting sound effects to use a speech sound type.

Therefore, to sum up, the behavior here seems correct, and there doesn't seem to be a bug in the way that the GUI code works

comment:14 by digitall, 7 years ago

Ah, OK, so GUI behaviour is correct. Thanks. Reclosing then.

comment:15 by digitall, 7 years ago

Status: newclosed
Note: See TracTickets for help on using tickets.