[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