Menu

#3323 MI CD: Crash on Load...

Monkey Island 1
closed-fixed
Max Horn
5
2007-08-11
2007-07-18
DjDiabolik
No

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.

Discussion

  • DjDiabolik

    DjDiabolik - 2007-07-18

    Logged In: YES
    user_id=1486456
    Originator: YES

    File Added: monkey.s00

     
  • DjDiabolik

    DjDiabolik - 2007-07-18

    this is the autosave file... ok

     
  • DjDiabolik

    DjDiabolik - 2007-07-18

    This Rar contain the other savegame file.. whit this file the game goes on crash. All ok whitout mp3 theme music.....

     
  • DjDiabolik

    DjDiabolik - 2007-07-18

    Logged In: YES
    user_id=1486456
    Originator: YES

    File Added: SaveGame.rar

     
  • Filippos Karapetis

    Logged In: YES
    user_id=991970
    Originator: NO

    What was the ScummVM version that was used to create those problematic save games?

     
  • Max Horn

    Max Horn - 2007-07-19
    • labels: --> Unknown Crash/Other
    • milestone: --> Monkey Island 1
    • summary: [SOMI CD]Crash on Load... --> MI CD: Crash on Load...
     
  • Torbjörn Andersson

    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.

     
  • DjDiabolik

    DjDiabolik - 2007-07-19

    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)...

     
  • DjDiabolik

    DjDiabolik - 2007-07-19

    Logged In: YES
    user_id=1486456
    Originator: YES

    Ohh... some problems in this Today Build 0.11.0SVN (Jul 19 2007 17:09:50)

     
  • Torbjörn Andersson

    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.

     
  • Torbjörn Andersson

    • assigned_to: nobody --> fingolfin
     
  • Torbjörn Andersson

    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.

     
  • Torbjörn Andersson

    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.

     
  • Torbjörn Andersson

    Patch against current SVN

     
  • Torbjörn Andersson

    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

     
  • Max Horn

    Max Horn - 2007-07-22

    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?

     
  • DjDiabolik

    DjDiabolik - 2007-08-09

    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 ?

     
  • Max Horn

    Max Horn - 2007-08-11

    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.

     
  • Max Horn

    Max Horn - 2007-08-11
    • status: open --> closed-fixed