#3323 closed defect (fixed)
MI CD: Crash on Load...
Reported by: | SF/djdiabolik | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Monkey Island 1 |
Description
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.
Ticket imported from: #1756381. Ticket imported from: bugs/3323.
Attachments (3)
Change History (19)
by , 17 years ago
Attachment: | monkey.s00 added |
---|
by , 17 years ago
Attachment: | SaveGame.rar added |
---|
This Rar contain the other savegame file.. whit this file the game goes on crash. All ok whitout mp3 theme music.....
comment:3 by , 17 years ago
What was the ScummVM version that was used to create those problematic save games?
comment:4 by , 17 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Monkey Island 1 |
Summary: | [SOMI CD]Crash on Load... → MI CD: Crash on Load... |
comment:5 by , 17 years ago
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.
comment:6 by , 17 years ago
@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)...
comment:7 by , 17 years ago
Ohh... some problems in this Today Build 0.11.0SVN (Jul 19 2007 17:09:50)
comment:8 by , 17 years ago
Yes, I just noticed that I have trouble loading some of my savegames, too. Perhaps it's the same bug as #1752226.
comment:9 by , 17 years ago
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.
comment:10 by , 17 years ago
Owner: | set to |
---|
comment:11 by , 17 years ago
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.
comment:12 by , 17 years ago
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
comment:13 by , 17 years ago
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?
comment:14 by , 17 years ago
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 ?
comment:15 by , 17 years ago
Yes, that is normal -- as I stated, I applied a (different!) change to our SVN source code.
comment:16 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
this is the autosave file... ok