Opened 15 years ago

Last modified 16 months ago

#4719 new defect

SCUMM: MI2 Dancing Skeletons cause Game Loop

Reported by: (none) Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Monkey Island 2

Description

I'm using the 1.0 version of Scummvm on a Cyclods card and an apparently old(according to this bug tracker) problem has shown up.

When you hit your head by the big tree and start dreaming, your parent's skeletons only sing the first verse and just dance and dance.

Just thought I'd mention it because no one else has.

Ticket imported from: #2905877. Ticket imported from: bugs/4719.

Attachments (4)

monkey2-it.s02 (21.9 KB ) - added by digitall 13 years ago.
Replication Savegame before Skeleton Dance from Bug #3527235
monkey2.s40 (14.0 KB ) - added by dwatteau 16 months ago.
DOS/English savegame when the skeletons are stuck in ScummVM 2.8.0git; made on an older 700 MHz device
monkey2.s41 (14.4 KB ) - added by dwatteau 16 months ago.
Save just before the parents transform into skeletons and get stuck
monkey2.s42 (14.5 KB ) - added by dwatteau 16 months ago.
Save just before the main melody of the song starts

Download all attachments as: .zip

Change History (15)

comment:1 by eriktorbjorn, 15 years ago

It's one of those bugs that is mentioned every now and then, but which no one has found any reliable way of reproducing. A few examples:

http://sourceforge.net/tracker/?func=detail&aid=585233&group_id=37116&atid=418820 http://forums.scummvm.org/viewtopic.php?t=7157 http://forums.scummvm.org/viewtopic.php?t=8130

Last time I looked at the game script, it seemed to me as if it was supposed to trigger events on certain "beats" of the song. Is it at all possible that it somehow misses the exact beat it's waiting for?

comment:2 by digitall, 13 years ago

Summary: MI2 Dancing Skeletons(NDSlite)SCUMM: MI2 Dancing Skeletons cause Game Loop on NDS

comment:3 by digitall, 13 years ago

Another new report of this on Android as Bug #3527235 "SCUMM: MI2 Dancing Skeletons Game Loop": https://sourceforge.net/tracker/index.php?func=detail&aid=3527235&group_id=37116&atid=418820 Have closed that bug as duplicate and redirected the reporter here.

Report detail: During Monkey 2's skeleton dance I get a loop and I cannot advance. Skeletons continue to dance without and end.

Scummvm versione 1.4.0

Device LG Optimus One, android versione 2.3.3 V20g

Am attaching the replication savegame from that bug to this artifact.

by digitall, 13 years ago

Attachment: monkey2-it.s02 added

Replication Savegame before Skeleton Dance from Bug #3527235

comment:4 by digitall, 13 years ago

N.B. Original bug reporter was on NDS with Cyclods, but looks like this bug affect various platforms so have removed the platform caveat.

comment:5 by digitall, 13 years ago

Summary: SCUMM: MI2 Dancing Skeletons cause Game Loop on NDSSCUMM: MI2 Dancing Skeletons cause Game Loop

comment:6 by SF/deejaydiabolik, 10 years ago

I can confirm this bug it's again present AGAIN in the latest daily build: On my One Plus One i have installed this: http://buildbot.scummvm.org/snapshots/master/android_arm-master-7d4b0509.zip

I have installed the scummvm plugins and main apk..... and after i have played a ITALIAN VGA CD VERSION of Monkey Island 2: 1) When the skeletron start to dance..... Guybrush remain astonished to watch the dancing. 2) The skeletron begin to sing the song..... until the first verse it's all ok!

At this point the animation goes in loop.... i have played and finished so many times this games... at this point: 1) Guybrush pick the paper this fluid and start to write the text of song in it. 2) Guybrush appears to start a ballet during write on paper

ON ANDROD The games goes in LOOP... guybrush never start to wrote on paper and the skeletron continue to swipe from right to left whitout end.... LeChuck never appears etc etc.

For exit from this LOOP i need to use the SKIP button..... after tap this on back LeChuck Appears and i can continue to play the rest of the games whitout any problems.

comment:7 by AndywinXp, 16 months ago

Is this item still a thing?

comment:8 by dwatteau, 16 months ago

I remember hitting this problem in ScummVM, but that was many years ago. AFAIK, the Ultimate Talkie release rewrote the script handling this, because it was written in a fragile way for synchronization, or something like that (= some memories of mine from reading some LucasArts forum threads as those releases were being made).

LogicDeLuxe's reply there is quite interesting: <https://forums.scummvm.org/viewtopic.php?p=76125#p76125>

When I was working on that script for my Ultimate Talkie Edition beta, I noticed that it could also hang on the original DOS version, although it is rare on DOS and happens far more frequently in ScummVM. Obviously, this script is not written very well. I rewrote huge sections of the script in order to ensure stable timing, even on slow machines.

I would not recommend replicating my script in ScummVM right now though, as I have reported that the timing after the dance is not perfect in my version yet. Investigating that is on my todo list.

A workaround patch implemented into ScummVM seems a good solution to me though, like it was already done on other problem scenes.

and it seems to confirm what I remember reading on the other forum some years ago.

Now that our v5 implementation is very close to the original interpreter, it's potentially less likely to happen. But it looks like we have no real workaround for it and so it may still happen if one is a bit unlucky.

comment:9 by dwatteau, 16 months ago

Yeah, it's still possible to trigger this issue on 2.8.0git.

I followed the following steps from the forum thread above:

  1. room 56
  2. Take the oar from the wall
  3. room 60
  4. Plug the oar into the second hole on the tree
  5. Step up on the plank to trigger the dance sequence.
  6. Never hit Esc nor the '.' key
  7. Wait for the skeletons to start dancing; they can get stuck when they need to synchronize on the main melody

The following savegame was made with the regular DOS/English release my old underpowered MIPS netbook. I guess slower devices are more likely to trigger the issue, if it's timing-related.

by dwatteau, 16 months ago

Attachment: monkey2.s40 added

DOS/English savegame when the skeletons are stuck in ScummVM 2.8.0git; made on an older 700 MHz device

comment:10 by AndywinXp, 16 months ago

Thanks dwa for the veeery detailed insights, as usual! :-)
If this really is reproducible enough to be debuggable, we could really try patching it... If someone doesn't beat me to it, I'll try looking at it in a few months when I'm done with HE sound.

by dwatteau, 16 months ago

Attachment: monkey2.s41 added

Save just before the parents transform into skeletons and get stuck

by dwatteau, 16 months ago

Attachment: monkey2.s42 added

Save just before the main melody of the song starts

comment:11 by dwatteau, 16 months ago

@AndywinXp: Happy to help! And FWIW, the issue still exists with the Ultimate Talkie Edition, even with LogicDeLuxe's rewriting of that script, on this device.

So it really looks like a tricky issue yes!

Note: See TracTickets for help on using tickets.