Opened 21 years ago

Closed 21 years ago

Last modified 21 years ago

#739 closed defect (fixed)

FOA: Indy can be seen when hidden

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

Description

Once in the Atlantis maze, when you reach the room where Sophia is held prisoner through the lower tunnel (you can't actually enter the room), sometimes parts of Indy's jacket can be seen through the stone. I haven't tried with the native version, though.

I provide a savegame. Indy is in the lower vent, just talk to Sophia and you should see his jacket.

Ticket imported from: #724685. Ticket imported from: bugs/739.

Attachments (2)

atlantis.s01 (71.3 KB ) - added by SF/jellby 21 years ago.
Savegame taken with English talkie version.
screenshot.png (6.4 KB ) - added by SF/jellby 21 years ago.
Indy's leather jacket is visible.

Download all attachments as: .zip

Change History (17)

by SF/jellby, 21 years ago

Attachment: atlantis.s01 added

Savegame taken with English talkie version.

by SF/jellby, 21 years ago

Attachment: screenshot.png added

Indy's leather jacket is visible.

comment:1 by SF/jellby, 21 years ago

And here is a screenshot.

comment:2 by SF/andrej4000, 21 years ago

well... this never occurred for me in the native (DOS) interpreter, it has to be a scummvm-bug.

comment:3 by SF/trinity78, 21 years ago

tested with scummvm daily build (5 may - 0.4.1 cvs). indiana jones 4 atlantis german disk version. windows 2000

can't reproduce that with the current build. works fine for me.

even using your savegame the bug doesn't occur. scummvm crashes some seconds after loading your savegame, propably because i use the german non-talkie version. the room and actors are completely load though and no drawing bug occurs.

you should recheck this with current build.

comment:4 by SF/jellby, 21 years ago

Hmm... I've tested it again with today's build (6 may) and it's still there, the savegame doesn't work with the Spanish non-talkie version either (and I was too lazy to play the game again just to see this bug), could you provide a savegame for the German version with wich I could try to check it?

comment:5 by SF/trinity78, 21 years ago

ok i uploaded an image and a savegame to my web space. the savegame is taken from the german version of indy 4, don't if it works with other versions.

Screenshot:

http://domfree.de/trin/uploads/indy.png

Save:

http://domfree.de/trin/uploads/save.zip

comment:6 by SF/trinity78, 21 years ago

ok i uploaded an image and a savegame to my web space. the savegame is taken from the german version of indy 4, don't know if it works with other versions.

Screenshot:

http://domfree.de/trin/uploads/indy.png

Save:

http://domfree.de/trin/uploads/save.zip

comment:7 by SF/jellby, 21 years ago

I still haven't tried the savegame (I'm not at home), but from the situation shown in the screenshot you have to "talk to Sophia", Indy then moves and the jacket appears. Have you tried this?

comment:8 by SF/trinity78, 21 years ago

you are right. the bug is still there. bug reproduced.

comment:9 by fingolfin, 21 years ago

The problem is that Indy partially leaves the area which is z-masked (the z- mask is what makes him be "behind" the wall instead of in front of it.

Question remains, why: is he just moving to far to the right (if yes, why? walkbox issue)?. Or maybe he's incorrectly turned. Or maybe he's in the wrong frame. Or ... well, whatever.

I am not sure if this ever worked correctly, but it might be worth trying to track this down by trying to reproduce this in older checkout.

comment:10 by fingolfin, 21 years ago

It definitly happend on February 1st; I wonder if the bug is also in 0.3.0 ?

comment:11 by fingolfin, 21 years ago

err, that should have been "...before Feburary 1st"

comment:12 by fingolfin, 21 years ago

I'd be curious to know if this ever worked correctly, and if so, in which version of ScummVM.

Anyway, as to why it happens: when opting to talk to Sophia, o5_walkActorToObject is invoked, which in turn calls getObjectXYPos() on Sophia. And that computes a "direction" of 270 - making Indy face to the *left* (not to the right, as would be intuitive). This in turn makes part of Indy's arm leave the area which is masked, thus causing this glitch.

A possible fix (a hackish one that is) would be to check for the particular game / room / obj combination, and if encountered, return 90 as direction. But I'd prefer to find out why this isn't working correctly in the first place...

comment:13 by fingolfin, 21 years ago

Thinking about this, the real problem is that 270 is the *final* direction Indy should be facing if he walks to sophia, and that's correct. Only that in this case he can't reach her. What we then do is to make him face the "final" direction anyway. My guess is that if we didn't reach the final destination, then we shouldn't turn into the final direction either...

comment:14 by fingolfin, 21 years ago

This seems to be fixed in CVS... somehow... no idea why and when, but it's gone :-)

comment:15 by fingolfin, 21 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.