Opened 14 years ago

Closed 13 years ago

Last modified 10 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, 13 years ago

Owner: changed from SF/arisme to SF/knakos

comment:10 by SF/knakos, 13 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, 13 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, 13 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, 13 years ago

Status: newpending

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

Status: pendingclosed

comment:15 by SF/sf-robot, 13 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, 10 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, 10 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, 10 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.