Opened 17 years ago

Closed 17 years ago

Last modified 22 months ago

#8219 closed patch

DIG: Experimental camera fix

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: The Dig

Description

We have camera-related problems in The Dig, causing for instance, bug #716350 ("DIG: Can't exit room!"). Another example of camera problems can happen at the very beginning of the game: go to the room overlooking the asteroid, where the actors are scaled down, then open and close the inventory window. The camera pans back to the shuttle.

You can then move Boston and the others back to the shuttle while they are still scaled down, which could make for a somewhat amusing blooper picture.

This patch fixes both of these problems - and hopefully others, as well - by trying to ensure that camera._dest and camera._follows never gets out of sync with the SCUMM variables used to store these values.

But I don't know if this fix breaks anything else, so at the very least it should not be applied to the branch right now. Maybe later.

Ticket imported from: #733099. Ticket imported from: patches/324.

Attachments (1)

dig-camera-hack.diff (2.6 KB ) - added by eriktorbjorn 17 years ago.
Patch against a May 5 CVS (trunk) snapshot

Download all attachments as: .zip

Change History (5)

by eriktorbjorn, 17 years ago

Attachment: dig-camera-hack.diff added

Patch against a May 5 CVS (trunk) snapshot

comment:1 by fingolfin, 17 years ago

Does this modify code in script_v5.cpp on purpose? Why exactly?

comment:2 by eriktorbjorn, 17 years ago

> Does this modify code in script_v5.cpp on purpose? Why exactly?

I didn't see any need for script_v5.cpp to set camera._dest.x to a->x since, as far as I can see, setCameraAt() will do that for us anyway. So I removed it.

So while it's on purpose, it's not a necessary part of the patch.

comment:3 by fingolfin, 17 years ago

Owner: set to fingolfin
Status: newclosed

comment:4 by digitall, 22 months ago

Component: Engine: SCUMM
Game: The Dig
Note: See TracTickets for help on using tickets.