Opened 2 years ago

Closed 2 years ago

#13795 closed defect (fixed)

SCI: Sound volume not synced in fan games

Reported by: CortexReaver Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords: sound
Cc: CortexReaver Game: SCI Fanmade

Description

Full loudness, changing volume via windows mixer only. Global nor game options doesn't work, can only disable sound completely. Only ingame settings work, but not through ScummVM interface.
Tested on this game: https://sciprogramming.com/fangames.php?action=review&id=32
OS: Windows 7.

Change History (2)

comment:1 by sluicebox, 2 years ago

Hello, thanks for reporting this.

I looked into this a little, and the ScummVM volume at the start is not getting applied, but changing the sound during the game is. That sounds like the problem being described.

But then I tried this on a few real SCI games and it worked.

I'll look into this deeper later, but I suspect what we'll find is that this fan game does something different (or not at all) than what real SCI games do, and so our integration misses it.

But at first glance, it does not seem to be the case that sound settings don't work for SCI games. (Phew!)

comment:2 by sluicebox, 2 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed
Summary: Sound settings doesn't work for SCI games.SCI: Sound volume not synced in fan games

Fixed in: https://github.com/scummvm/scummvm/commit/0fd8ec67d5899143fc993c2f452bd3b4804c5ff0

This game resets the volume to max as soon as it starts; that's why it didn't matter what you set the ScummVM volume to. Other fan games do too, since this code is from the SCI Studio template that it's based on. I've patched that out for compatibility, like we do with SCI32 games that do a similar thing.

Also, like many fan games, the game's own volume controls are broken. It's a Sierra script bug that ended up in the template so it's in lots of games. This game has a different variant of that, so that's now fixed too.

Thanks for reporting!

Note: See TracTickets for help on using tickets.