[Scummvm-cvs-logs] CVS: scummvm/scumm boxes.cpp,1.21,1.22 script_v2.cpp,2.58,2.59 scummvm.cpp,2.136,2.137

Max Horn fingolfin at users.sourceforge.net
Sat May 10 16:48:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv24851

Modified Files:
	boxes.cpp script_v2.cpp scummvm.cpp 
Log Message:
walkbox & putActor coords in V2 are in 'character coordinates' - x has to multiplied by 8 and y by 2

Index: boxes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/boxes.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- boxes.cpp	10 May 2003 21:48:14 -0000	1.21
+++ boxes.cpp	10 May 2003 23:47:39 -0000	1.22
@@ -350,15 +350,15 @@
 			SWAP(box->ll.y, box->lr.y);
 		}
 	} else if (_features & GF_AFTER_V2) {
-		box->ul.x = bp->v2.ulx;
-		box->ul.y = bp->v2.uy;
-		box->ur.x = bp->v2.urx;
-		box->ur.y = bp->v2.uy;
+		box->ul.x = bp->v2.ulx * 8;
+		box->ul.y = bp->v2.uy * 2;
+		box->ur.x = bp->v2.urx * 8;
+		box->ur.y = bp->v2.uy * 2;
 	
-		box->ll.x = bp->v2.llx;
-		box->ll.y = bp->v2.ly;
-		box->lr.x = bp->v2.lrx;
-		box->lr.y = bp->v2.ly;
+		box->ll.x = bp->v2.llx * 8;
+		box->ll.y = bp->v2.ly * 2;
+		box->lr.x = bp->v2.lrx * 8;
+		box->lr.y = bp->v2.ly * 2;
 	} else {
 		box->ul.x = (int16)READ_LE_UINT16(&bp->old.ulx);
 		box->ul.y = (int16)READ_LE_UINT16(&bp->old.uly);

Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v2.cpp,v
retrieving revision 2.58
retrieving revision 2.59
diff -u -d -r2.58 -r2.59
--- script_v2.cpp	10 May 2003 21:49:58 -0000	2.58
+++ script_v2.cpp	10 May 2003 23:47:39 -0000	2.59
@@ -849,8 +849,8 @@
 	int x, y;
 	Actor *a;
 	a = derefActorSafe(getVarOrDirectByte(0x80), "o2_walkActorTo");
-	x = getVarOrDirectByte(0x40);
-	y = getVarOrDirectByte(0x20);
+	x = getVarOrDirectByte(0x40) * 8;
+	y = getVarOrDirectByte(0x20) * 2;
 	a->ignoreBoxes = true;			// FIXME: Disabling walkboxes
 	a->startWalkActor(x, y, -1);		// for now, just to debug the intro
 }
@@ -860,8 +860,8 @@
 	Actor *a;
 
 	a = derefActorSafe(getVarOrDirectByte(0x80), "o2_putActor");
-	x = getVarOrDirectByte(0x40);
-	y = getVarOrDirectByte(0x20);
+	x = getVarOrDirectByte(0x40) * 8;
+	y = getVarOrDirectByte(0x20) * 2;
 
 	if (!a)
 		return;
@@ -972,8 +972,8 @@
 	a->putActor(0, 0, room);
 	_egoPositioned = false;
 
-	x = (int16)fetchScriptByte();
-	y = (int16)fetchScriptByte();
+	x = (int16)fetchScriptByte() * 8;
+	y = (int16)fetchScriptByte() * 2;
 
 	startScene(a->room, a, obj);
 
@@ -1139,11 +1139,11 @@
 
 	if (a2 & 2) {						// Cursor Show/Hide
 		if (a2 & 16) 
-                	_cursor.state = 1;
+			_cursor.state = 1;
 		else
-                	_cursor.state = 0;
-
-                verbMouseOver(0);
+			_cursor.state = 0;
+		
+		verbMouseOver(0);
 	}
 }
 

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.136
retrieving revision 2.137
diff -u -d -r2.136 -r2.137
--- scummvm.cpp	10 May 2003 22:35:12 -0000	2.136
+++ scummvm.cpp	10 May 2003 23:47:39 -0000	2.137
@@ -884,9 +884,12 @@
 		VAR(VAR_CAMERA_POS_X) = camera._cur.x;
 	}
 	VAR(VAR_HAVE_MSG) = (_haveMsg == 0xFE) ? 0xFF : _haveMsg;
-	VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x;
-	VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y;
-	if (!(_features & GF_AFTER_V2)) {
+	if (_features & GF_AFTER_V2) {
+		VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x;
+		VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y;
+	} else {
+		VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x;
+		VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y;
 		VAR(VAR_MOUSE_X) = mouse.x;
 		VAR(VAR_MOUSE_Y) = mouse.y;
 		VAR(VAR_DEBUGMODE) = _debugMode;





More information about the Scummvm-git-logs mailing list