[Scummvm-cvs-logs] CVS: scummvm/sky mouse.cpp,1.9,1.10 mouse.h,1.8,1.9

Joost Peters joostp at users.sourceforge.net
Thu Jun 5 14:48:01 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv27175/sky

Modified Files:
	mouse.cpp mouse.h 
Log Message:
fixed mouse cursor/transparency

Index: mouse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- mouse.cpp	5 Jun 2003 20:37:52 -0000	1.9
+++ mouse.cpp	5 Jun 2003 21:46:59 -0000	1.10
@@ -168,6 +168,18 @@
 	//drawMouse();
 }
 
+//original sky uses different colors for transparency than our backends do,
+//so we simply swap our "transparent"-white with another one.
+void SkyMouse::fixMouseTransparency(byte *mouseData) {
+	for (int i = 0; i < (_mouseWidth * _mouseHeight); i++) {
+		if (mouseData[i] == 255)
+			mouseData[i] = 242;
+		else
+			if (mouseData[i] == 0)
+				mouseData[i] = 255;
+	}
+}
+
 void SkyMouse::spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY) {
 	SkyState::_systemVars.mouseFlag |= MF_IN_INT;
 	_mouseType2 = frameNum;
@@ -182,6 +194,7 @@
 
 	//_system->set_mouse_cursor(_mouseData2, _mouseWidth, _mouseHeight, mouseX, mouseY);
 	// there's something wrong about the mouse's hotspot. using 0/0 works fine.
+	fixMouseTransparency(_mouseData2);
 	_system->set_mouse_cursor(_mouseData2, _mouseWidth, _mouseHeight, 0, 0);
 	if (frameNum == MOUSE_BLANK) _system->show_mouse(false);
 	else _system->show_mouse(true);

Index: mouse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- mouse.h	5 Jun 2003 18:54:26 -0000	1.8
+++ mouse.h	5 Jun 2003 21:46:59 -0000	1.9
@@ -54,7 +54,8 @@
 
 	void pointerEngine(void);
 	void buttonEngine1(void);
-
+	void fixMouseTransparency(byte *mouseData);
+	
 	uint16 _eMouseB;
 	uint16 _bMouseB;
 	





More information about the Scummvm-git-logs mailing list