Opened 6 months ago

Last modified 6 months ago

#16214 new feature request

SCUMM: MANIAC (v2) (Original bug): Sandy walking animation plays even when still

Reported by: Jibun Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords: Sandy, walking, animation, sprite
Cc: Jibun Game: Maniac Mansion

Description

Bug description
Whenever Sandy appears, starts walking, and then stops while facing the camera (or with her back to the camera), her animation does not stop.

Steps to reproduce
The easiest way to reproduce this is to start the game in Demo mode and wait until Sandy appears (around 3 minutes in-game, or about 2:15 if you skip the intro).
Alternatively, you can play the game until the cutscene of the secret lab starts.

Affected versions
This happens in the Enhanced English DOS version of Maniac Mansion (also in the Catalan and Spanish versions, and probably in all of them).
It occurs at least from ScummVM v2.7 onwards.

Environment
Windows 10 Home, build 19045.6332, 64-bit

Attachments (1)

maniac-v2-1.s01 (5.3 KB ) - added by Jibun 6 months ago.
Savegame of the Demo mode

Download all attachments as: .zip

Change History (10)

by Jibun, 6 months ago

Attachment: maniac-v2-1.s01 added

Savegame of the Demo mode

comment:1 by eriktorbjorn, 6 months ago

I think this happens with the original EXE as well, doesn't it?

in reply to:  1 comment:2 by Jibun, 6 months ago

Replying to eriktorbjorn:

I think this happens with the original EXE as well, doesn't it?

I'm not sure (I don't know how to run the Demo in DOSBox), but it doesn’t happen in this video of the Demo, which seems to show the correct behavior for the whole Demo.

There are some other minor differences as well, such as Sandy not stopping in the right position when following Dave, or the phone ring not repeating. So I’m not sure if this comes from another version, or if there’s something wrong with how ScummVM handles it.

Last edited 6 months ago by Jibun (previous) (diff)

comment:3 by AndywinXp, 6 months ago

Summary: Sandy walking animation plays even when stillSCUMM: MANIAC (v2): Sandy walking animation plays even when still

comment:4 by AndywinXp, 6 months ago

Priority: lownormal

comment:5 by Jibun, 6 months ago

I’ve managed to acquire the standalone Demo version, and it looks like almost everything works correctly (the phone ring still doesn’t repeat in ScummVM compared to DOSBox). So it could be an error present in the original release, but I can’t confirm that yet. I’d need to play through until the basement cutscene appears to be sure.

comment:6 by Jibun, 6 months ago

Indeed, this error is also present in the original version. I’m not sure if it should actually be treated as a bug, then (this behavior doesn’t occur in the V1 version, though).

By comparing the 45.LFL file of the demo and the full release, I’ve noticed that only a few bytes differ — and these seem to account for all the small differences in the demo sequence.
For example, the first time Sandy appears and walks (the case where the bug occurs), the issue can be fixed by changing just one byte at position 11758 within the file.

If someone knows the exact opcodes and how they work, they might be able to determine precisely what the differences are and whether they should be fixed and applied to the rest of the game.

Based on some guesswork and the help of the wiki, I believe that between byte 11750 and 11762 the following is executed:

36 17 4D 00 3B 17 11 17 F7 2E F0 FF FF
walkActorToObject actor(17) object(4D 00)
waitForActor actor(17)
animateActor actor(17) animation(F7) <- here’s the error, in the final game this is FF instead of F7
delay param(F0 FF FF)
Last edited 6 months ago by Jibun (previous) (diff)

comment:7 by GermanTribun, 6 months ago

That indeed is a bug introduced in V2. You can observe it, as you said, with Sandy in the first cutscene. In the V1 version she walks to the lab door and then stands still while facing it. In V2 (and it means all of them, like Amiga) meanwhile she is constantly running against the door, which does look unintentionally funny.

So it is an original bug. Since it obviously was not intended behavior, maybe that should be fixed?

comment:8 by AndywinXp, 6 months ago

Okay then, let's not fix, since this is how the original works, but instead apply it as an enhancement.

Changing to feature request, thanks!

comment:9 by AndywinXp, 6 months ago

Summary: SCUMM: MANIAC (v2): Sandy walking animation plays even when stillSCUMM: MANIAC (v2) (Original bug): Sandy walking animation plays even when still
Type: defectfeature request
Note: See TracTickets for help on using tickets.