[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.69,1.70 script_v6.cpp,1.104,1.105 gfx.cpp,2.71,2.72
Max Horn
fingolfin at users.sourceforge.net
Wed May 7 15:57:03 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv1014
Modified Files:
script_v5.cpp script_v6.cpp gfx.cpp
Log Message:
Patch #733099: DIG: Experimental camera fix (should fix bugs #716350 and #659158)
Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- script_v5.cpp 5 May 2003 09:25:07 -0000 1.69
+++ script_v5.cpp 7 May 2003 22:56:06 -0000 1.70
@@ -1348,7 +1348,9 @@
startScene(a->room, a, obj);
_vars[VAR_WALKTO_OBJ] = 0;
- camera._dest.x = camera._cur.x = a->x;
+ // FIXME: Can this be removed?
+ camera._cur.x = a->x;
+
setCameraAt(a->x, a->y);
setCameraFollows(a);
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- script_v6.cpp 4 May 2003 18:28:32 -0000 1.104
+++ script_v6.cpp 7 May 2003 22:56:06 -0000 1.105
@@ -953,6 +953,7 @@
int x, y;
camera._follows = 0;
+ _vars[VAR_CAMERA_FOLLOWED_ACTOR] = 0;
y = pop();
x = pop();
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.71
retrieving revision 2.72
diff -u -d -r2.71 -r2.72
--- gfx.cpp 4 May 2003 03:27:55 -0000 2.71
+++ gfx.cpp 7 May 2003 22:56:06 -0000 2.72
@@ -1958,6 +1958,8 @@
clampCameraPos(&camera._cur);
camera._dest = camera._cur;
+ _vars[VAR_CAMERA_DEST_X] = camera._dest.x;
+ _vars[VAR_CAMERA_DEST_Y] = camera._dest.y;
assert(camera._cur.x >= (_realWidth / 2) && camera._cur.y >= (_realHeight / 2));
@@ -1996,6 +1998,7 @@
int ax, ay;
camera._follows = a->number;
+ _vars[VAR_CAMERA_FOLLOWED_ACTOR] = a->number;
if (!a->isInCurrentRoom()) {
startScene(a->getRoom(), 0, 0);
@@ -2072,8 +2075,8 @@
}
if (camera._movingToActor) {
- camera._dest.x = a->x;
- camera._dest.y = a->y;
+ _vars[VAR_CAMERA_DEST_X] = camera._dest.x = a->x;
+ _vars[VAR_CAMERA_DEST_Y] = camera._dest.y = a->y;
}
assert(camera._cur.x >= (_realWidth / 2) && camera._cur.y >= (_realHeight / 2));
@@ -2131,12 +2134,6 @@
_vars[VAR_CAMERA_POS_X] = camera._cur.x;
_vars[VAR_CAMERA_POS_Y] = camera._cur.y;
- _vars[VAR_CAMERA_DEST_X] = camera._dest.x;
-
- _vars[VAR_CAMERA_DEST_Y] = camera._dest.y;
-
- _vars[VAR_CAMERA_FOLLOWED_ACTOR] = camera._follows;
-
if (_vars[VAR_SCROLL_SCRIPT])
runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
}
@@ -2252,9 +2249,9 @@
void Scumm::panCameraTo(int x, int y) {
if (_features & GF_AFTER_V7) {
- camera._follows = 0;
- camera._dest.x = x;
- camera._dest.y = y;
+ _vars[VAR_CAMERA_FOLLOWED_ACTOR] = camera._follows = 0;
+ _vars[VAR_CAMERA_DEST_X] = camera._dest.x = x;
+ _vars[VAR_CAMERA_DEST_Y] = camera._dest.y = y;
} else {
camera._dest.x = x;
More information about the Scummvm-git-logs
mailing list