Opened 3 years ago
Closed 3 years ago
#13373 closed defect (fixed)
SCUMM: Loom (EGA) - Rusty's ghost can disappear completely
Reported by: | antoniou79 | Owned by: | athrxx |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | blink, disappear, Rusty | |
Cc: | Game: | Loom |
Description
This in on Windows 10 x64, with a recent local build from HEAD master of 2.6.0git, testing with LOOM DOS EGA, using the orchestral audio feature.
For this I've applied the patch for the MT-32 upgrade to LOOM and set my Audio settings for the game to use "MT-32 emulator" as Music device. You may also need to do that for the attached save game to work.
How to reproduce:
After the cutscene whereby Rusty's ghost comes in, click on the hole to Outside, wait for Rusty to block Bobbin's exit and just before he starts speaking, click on his corpse. It's a relatively small time window. This can happen on subsequent times Rusty's ghost tries to block Bobbin --it does not have to be the first time.
What happens:
Rusty's ghost disappears (sometimes it also may flash once and then again disappear). Bobbin can still not exit to Outside, but there's no dialogue text now when trying to do so. Healing Rusty still works (HEALING SPELL: CAAC) and the game can proceed normally after that.
What should happen:
Rusty's ghost should not blink out.
Additional notes:
- Note 1: The bug is not specific to the first dialogue Rusty says when blocking the hole to Outside. It can happen with his subsequent (different from the first, but repeating) dialogue for this.
- Note 2: It does not seem to matter if the user skips the cutscene (whereby Rusty's ghost comes in and explains the situation to Bobbin) with Esc or watches it fully.
- Note 3: It seems that if the user clicks on the hole to the Outside and then on Rusty's corpse, the game remembers the first click and Rusty will speak his dialogue for blocking Bobbin while standing over his corpse. Not sure if this is connected to the main bug reported here.
I'm including a save game.
Attachments (1)
Change History (7)
by , 3 years ago
Attachment: | loom-ega.s71 added |
---|
comment:1 by , 3 years ago
comment:2 by , 3 years ago
I was wrong, the jump does happen in Actor_v3::actorWalkStep() after all. For whatever reason, _walkdata.deltaYFactor is 63167.
follow-up: 5 comment:3 by , 3 years ago
I have made a fix. Please check if it does what it should...
comment:4 by , 3 years ago
Owner: | set to |
---|---|
Resolution: | → pending |
Status: | new → pending |
comment:5 by , 3 years ago
Replying to athrxx:
I have made a fix. Please check if it does what it should...
I can confirm the bug is now fixed in the EGA DOS version of LOOM.
comment:6 by , 3 years ago
Resolution: | pending → fixed |
---|---|
Status: | pending → closed |
I haven't managed to reproduce this in the original interpreter - not yet, at least - and I don't understand what happens. I added some debug messages to Actor_v3::actorWalkStep() for what I think is the Rusty's ghost actor, and saw this:
So at some point, but probably not inside actorWalkStep(), Rusty's Y coordinate got all screwed up, and he just keeps moving further and further away.