Opened 17 years ago

Closed 17 years ago

Last modified 12 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, 12 months ago

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