Hy boys... i have installed the today build "Jul 18 2007" of scumm vm... i try to play Secret of Monkey Island Cd Version.
I have select the Extra Path for listening the Theme music and i have changed the game-id for use my previous version of scummvm savageme file (i have set it to monkey).
The games started without problems but when i try to load a previous save file the game goes on crash and i come back to desktop of my XP.
Logged In: YES
user_id=1486456
Originator: YES
File Added: monkey.s00
this is the autosave file... ok
This Rar contain the other savegame file.. whit this file the game goes on crash. All ok whitout mp3 theme music.....
Logged In: YES
user_id=1486456
Originator: YES
File Added: SaveGame.rar
Logged In: YES
user_id=991970
Originator: NO
What was the ScummVM version that was used to create those problematic save games?
Logged In: YES
user_id=577918
Originator: NO
Which version of the game is this? I know you said it's the CD version, but which language? The savegames don't seem to be from the English version, so I can't test this myself.
Logged In: YES
user_id=1486456
Originator: YES
@thebluegr:
i have already write.... the version of scummvm it's 0.11.0SVN (Jul 18 2007 09:40:50).
@eriktorbjorn
It's Italian version of Secret of Monkey Island CD version (with illustrated object in inventory)...
Logged In: YES
user_id=1486456
Originator: YES
Ohh... some problems in this Today Build 0.11.0SVN (Jul 19 2007 17:09:50)
Logged In: YES
user_id=577918
Originator: NO
Yes, I just noticed that I have trouble loading some of my savegames, too. Perhaps it's the same bug as #1752226.
Logged In: YES
user_id=577918
Originator: NO
Hmm... No, not related to #1752226 after all, though the symptoms are similar. What seems to be happening here is that:
* loadState() calls _sound->pauseSounds(true), pausing all currently active channels.
* loadState() calls saveOrLoad(&ser), which calls AudioCD.play() to restore the background music that was playing in the savegame I made. (Not really music, but background sound.)
* If there was CD music playing, the old channel is removed. More importantly, a new one is created. This new channel, unlike the old ones, is not paused.
* loadState() calls _sound->pauseSounds(false), unpausing all channels. The mixer detects that you are trying to unpause a channel that isn't paused, and complains.
So, to summarize, loading any MI1 CD savegame which causes a compressed audio track to play will probably trigger the bug.
Logged In: YES
user_id=577918
Originator: NO
We should be able to restart the CD music after pauseSounds(false) is called. There is a slight problem with that approach, though: To retrieve the CD player state, we call AudioCD.getStatus(), and that will update the "playing" variable, changing it from (maybe) true to false.
It's too late at night for me to look any more at this. At least the bug has - probably - been diagnosed now.
Patch against current SVN
Logged In: YES
user_id=577918
Originator: NO
I'm attaching a possible patch that seems to work. I'm not sure if it's a good way, though. I'm a bit hesitant to add new variables to the ScummEngine class, or new #include files to scumm.h, and this patch does both...
File Added: audiocdsave.diff
Logged In: YES
user_id=12935
Originator: NO
I just changed the mixer to be not as strict about unpausing sounds which are not currently paused, which should take care of this. It might not be the "purest" way to behave for the mixer, but it's how we treated sound pausing for a long time and should cause least headaches.
Does this fix the issue for you?
Logged In: YES
user_id=1486456
Originator: YES
Hy boys.... i don't post here from some week.... now i have download the Today Build.
All Savegame files posted here working good and i not need to download the file "audiocdfile.diff" you have posted here.... it's normal ?
Logged In: YES
user_id=12935
Originator: NO
Yes, that is normal -- as I stated, I applied a (different!) change to our SVN source code.