[Scummvm-cvs-logs] CVS: scummvm/backends/morphos morphos.cpp,1.16,1.17 morphos.h,1.8,1.9

Ruediger Hanke tomjoad at users.sourceforge.net
Wed Dec 25 09:23:02 CET 2002


Update of /cvsroot/scummvm/scummvm/backends/morphos
In directory sc8-pr-cvs1:/tmp/cvs-serv1513

Modified Files:
	morphos.cpp morphos.h 
Log Message:
Some fixes for COMI mouse pointer

Index: morphos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/morphos/morphos.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- morphos.cpp	25 Dec 2002 11:47:16 -0000	1.16
+++ morphos.cpp	25 Dec 2002 17:22:01 -0000	1.17
@@ -1180,12 +1180,16 @@
 		return;
 	MouseDrawn = true;
 
-	const int ydraw = MouseY - MouseHotspotY;
-	const int xdraw = MouseX - MouseHotspotX;
-	const int w = MouseWidth;
-	const int h = MouseHeight;
-	bak = MouseBackup;
-	byte *buf = MouseImage;
+	int ydraw = MouseY - MouseHotspotY;
+	int xdraw = MouseX - MouseHotspotX;
+	int w = MouseWidth;
+	int h = MouseHeight;
+	int x_mouseimg_offs = 0;
+	int y_mouseimg_offs = 0;
+	byte *buf;
+
+	if (xdraw < 0) { x_mouseimg_offs = -xdraw; w += xdraw; xdraw = 0; }
+	if (ydraw < 0) { y_mouseimg_offs = -ydraw; h += ydraw; ydraw = 0; }
 
 	MouseOldX = xdraw;
 	MouseOldY = ydraw;
@@ -1195,8 +1199,9 @@
 	AddUpdateRect(xdraw, ydraw, w, h);
 	dst = (byte*)ScummBuffer + ydraw*ScummBufferWidth + xdraw;
 	bak = MouseBackup;
+	buf = MouseImage + y_mouseimg_offs*MAX_MOUSE_W + x_mouseimg_offs;
 
-	for (y = 0; y < h; y++, dst += ScummBufferWidth, bak += MAX_MOUSE_W, buf += w)
+	for (y = 0; y < h; y++, dst += ScummBufferWidth, bak += MAX_MOUSE_W, buf += MouseWidth)
 	{
 		if (ydraw+y < ScummBufferHeight)
 		{

Index: morphos.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/morphos/morphos.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- morphos.h	25 Dec 2002 11:38:21 -0000	1.8
+++ morphos.h	25 Dec 2002 17:22:01 -0000	1.9
@@ -123,8 +123,8 @@
 	private:
 		typedef enum { CSDSPTYPE_WINDOWED, CSDSPTYPE_FULLSCREEN, CSDSPTYPE_TOGGLE, CSDSPTYPE_KEEP } CS_DSPTYPE;
 
-		static const int MAX_MOUSE_W = 40;
-		static const int MAX_MOUSE_H = 40;
+		static const int MAX_MOUSE_W = 80;
+		static const int MAX_MOUSE_H = 80;
 
 		void   CreateScreen(CS_DSPTYPE dspType);
 		void 	 SwitchScalerTo(SCALERTYPE newScaler);





More information about the Scummvm-git-logs mailing list