Opened 15 years ago

Closed 15 years ago

#1670 closed defect (worksforme)

FOA: Endgame corrupted

Reported by: SF/beatfox Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: script Cc:
Game: Indiana Jones 4

Description

ScummVM 0.6.0, English, Talkie, Win32

I'm on the TEAM path, at the Colossus. As soon as
Kerner walks down to the platform to talk to Indy, the
scene suddenly transitions to an outer-ring hallway
confrontation with an invisible Nazi guard. The
dialogue then becomes an unintelligible mix of
hallway-confrontation lines and the correct endgame lines.

Ticket imported from: #982270. Ticket imported from: bugs/1670.

Attachments (1)

atlantis.s01 (18.8 KB ) - added by SF/beatfox 15 years ago.
corrupt endgame save

Download all attachments as: .zip

Change History (11)

by SF/beatfox, 15 years ago

Attachment: atlantis.s01 added

corrupt endgame save

comment:1 by SF/beatfox, 15 years ago

Summary: Endgame corruptedFOA: Endgame corrupted

comment:2 by SF/beatfox, 15 years ago

Addendum: If I load this savegame and return to the outer
ring to actually confront a guard, then go back to the inner
ring and do the endgame, this bug does not appear. I wish I
knew what caused it in the first place, though.

comment:3 by eriktorbjorn, 15 years ago

I can't repeat the exact problem with the CVS version, but
something's definitely strange: Kerner isn't visible. Or at
the very least, he's not in the right position.

I haven't tried to figure out why yet, though.

comment:4 by eriktorbjorn, 15 years ago

Hmm... I can't reproduce the exact bug with 0.6.0 either. It
behaves like the CVS version for me, i.e. the ending works
as it should, apart from Kerner being invisible.

comment:5 by SF/beatfox, 15 years ago

Interesting. I actually did get this invisible Kerner bug
the very first time I reached that point, as well as one
other time when I loaded the save. But all the other times
I loaded the save, it's given me the aforementioned
hallway-encounter bug. Why might this be behaving
differently on seemingly identical runs?

comment:6 by eriktorbjorn, 15 years ago

I did manage to reproduce it after all, but not every time.

The fight scene is triggered by game script 117. I don't
quite understand everything this script does, but as far as
I can tell it checks how close actor 4 is to actor 1 or 2.
If they're close enough, the fight starts.

Note that a particular actor number doesn't always
correspond to the same thing. Actor 1 is probably Indy
himself, and is likely to remain so throughout the game. 2
might be Sophia, though why would it check if she's close to
a guard. 4 is probably the various guards running around the
outer rings as long as you're there, but in this particular
scene it's probably Kerner.

In other words, the fight scene triggers when Kerner gets
close to Indy. The times he was "invisible", he actually
just walked off the screen, but didn't walk back on it
again. I have no idea why.

The real mystery here is why script 117 is running at all at
this stage. It certainly doesn't in my old savegames around
that point, and simply leaving rooms 85 through 88 (the four
quarters of the outer ring) should stop the script. Whatever
caused it to run again probably happened after that, but
why? A ScummVM bug? Some hard-to-trigger bug in the original
game? Could be anything, I guess, and it's not possible to
say from the savegame alone.

Maybe Kerner staying off screen sometimes is caused by some
other rogue script?

Once you've confronted the invisible guard, script 117 is no
longer running. Which explains why the ending worked the
second time.

comment:7 by fingolfin, 15 years ago

So, you can only reproduce this problem using the attached savegame,
but not any other way?

comment:8 by eriktorbjorn, 15 years ago

(Belated answer, as I'm still on vacation.)

I'm not sure about the current version, but I know I've
never seen it happen in the past.

comment:9 by fingolfin, 15 years ago

Owner: set to fingolfin
Resolution: worksforme
Status: newclosed

comment:10 by fingolfin, 15 years ago

Closing this; it's really a heisenbug, and we are not getting anywhere
with this, plus nobody else seems to have the problem...

Note: See TracTickets for help on using tickets.