Opened 14 years ago

Closed 14 years ago

Last modified 11 years ago

#2595 closed defect

WINCE: MI2 cutscene sequence never ends

Reported by: SF/vividos Owned by: SF/knakos
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 2

Description

I'm using ScummVM 0.8.2 (on my Windows Mobile 2003 SE device, a Qtek S100) and I played Monkey Island 2 (german version) up to the place in Booty island where I have to climb the large tree. When Guybrush falls down, the two singing and dancing skeletons sing their song, but they never get past the first verses. They just dance indefinitely.

There are some ways to skip the cutscene. First, when I click on the "skip cutscene" button, LeChuck appears, and after a few seconds, the game crashes to the console. It says "ERROR: Unknown SysEx manufacturer 0x97" and I can't use the keyboard to enter anything, not even "exit" or "help", the keyboard just doesn't work. I have to soft-reset the device to get it to work again.

Second way is to skip the "endless dance" of the skeletons, then again immediately skipping the LeChuck scene again.

I attached a savegame for the above mentioned version. To reproduce the error, just try to climb up the tree.

Ticket imported from: #1481383. Ticket imported from: bugs/2595.

Attachments (1)

monkey2.s07 (33.9 KB ) - added by SF/vividos 14 years ago.
savegame to reproduce the bug

Download all attachments as: .zip

Change History (19)

by SF/vividos, 14 years ago

Attachment: monkey2.s07 added

savegame to reproduce the bug

comment:1 by fingolfin, 14 years ago

Sounds as if no midi driver is setup, or the driver is not working quite correctly (such music related hangs often occur when the game scripts are waiting for an IMUSE trigger).

comment:2 by fingolfin, 14 years ago

Owner: set to SF/arisme

comment:3 by fingolfin, 14 years ago

Upps, I missed the "ERROR" part :-). Well, then it definitely is the midi driver not supporting the given sysex.

comment:4 by fingolfin, 14 years ago

Summary: MI2: cutscene sequence never endsWINCE: MI2 cutscene sequence never ends

comment:5 by eriktorbjorn, 14 years ago

That error message comes from imuse_player.cpp though, doesn't it? Which would be before any platform-specific MIDI driver is involved.

I can reproduce the error in the SVN version of ScummVM, using an old savegame of my own from the English version, but not with 0.8.2. Oh, and it only seems to happen for me with the Adlib music.

comment:6 by eriktorbjorn, 14 years ago

Scratch that. I *can* reproduce the error message it in 0.8.2 as well, *if* I slow down the talk speed enough.

This piece of the room-60-212 script:

[295A] (D8) printEgo([Text("Why did you leave me again?")]); [2978] (80) breakHere() [2979] (80) breakHere() [297A] (4D) walkActorToActor(3,VAR_EGO,60) [297F] (AE) WaitForMessage() [2981] (48) if (Var[597] == 1) { [2988] (4C) soundKludge([268,122,0,1]) [2996] (4C) soundKludge([-1])

sets up a "hook" for the music to jump to the next section. Unless it happens quickly enough, it will encounter that mysterious, ScummVM-crashing SysEx. I don't know if this is because of some bug in the parsing of MIDI data, or if that SysEx is deliberate. Maybe we should ignore unknown SysEx manufacturer ids, rather than erroring on them?

comment:7 by eriktorbjorn, 14 years ago

Changing the error() to a warning() doesn't seem to cause any harm to the music, and allows me to pass the scene without actively skipping any speech.

Mind you, none of this has any bearing on the *main* part of the bug report, which was that the skeletons won't get past their first verse. I can't reproduce that.

comment:8 by eriktorbjorn, 14 years ago

After some further reading, I've changed the SysEx manufacturer message from an error to a warning. I have not been able to discover who, if any, 0x97 is registered to. It's not listed in http://www.borg.com/~jglatt/tech/midispec/id.htm or http://www.midi.org/about-mma/mfr_id.shtml but I don't know how complete that information is.

Again, this does not fix the main bug in this report, but it does fix the crash after LeChuck appears. (Sometimes ScummVM really did crash for me, rather than displaying an error console. Threading issues, perhaps?)

comment:9 by SF/knakos, 14 years ago

Owner: changed from SF/arisme to SF/knakos

comment:10 by SF/knakos, 14 years ago

What's new on this? Is everything ok with 0.9.0a? I cannot use the savegame as it is for the german version (which I don't have). It would be worthwhile to provide a savegame for the english version if the bug's still there.

comment:11 by SF/vividos, 14 years ago

I tried out 0.9.0a and the crash is gone, although the dancing skeletons only recite the first verse. When the music ends, the LeChuck scene is automatically shown.

comment:12 by SF/knakos, 14 years ago

Typically ce devices execute scummvm slower than the pcs the games were designed for. This leads to anomalies in scripts being exposed. This seems like some script to music cue desync (even though I have not poked around the scumm engine). You can try two things: 1) Verify if all is ok with the pc version of scummvm 2) (If such a thing is applicable) move away any sound files (*.ogg, *.mp3 etc) from your mi2 folder and run pocketscumm, so that you have no music.

comment:13 by SF/knakos, 14 years ago

Status: newpending

comment:14 by SF/sf-robot, 14 years ago

Status: pendingclosed

comment:15 by SF/sf-robot, 14 years ago

This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 14 days (the time period specified by the administrator of this Tracker).

comment:16 by SF/moge, 11 years ago

I just had the same Problem with the daily build (June 28 2009) using Windows XP (replaying MI in preparation of ToMI). The skeletons keep dancing, never singing more than one verse. Skipping the scene makes LeChuck appear and everything works fine after that. When examining the piece of paper the text is there. So it seems to be a problem not related to the WinCE port.

comment:17 by SF/moge, 11 years ago

Oh, I just saw the date of original bug and realized it is a really old one. So this was probably solved between than and now, because I am sure I played Monkey Island 2 at least once since 2006 and never had this bug before. Maybe I should open a new one?

comment:18 by SF/knakos, 11 years ago

Yep, that should be preferable, otherwise it will get mixed up here with other stuff. (better include a link to this report too, just to be safe).

Note: See TracTickets for help on using tickets.