[Scummvm-cvs-logs] CVS: scummvm/sky logic.cpp,1.81,1.82 mouse.cpp,1.6,1.7 mouse.h,1.6,1.7 skydefs.h,1.19,1.20

Robert G?ffringmann lavosspawn at users.sourceforge.net
Wed Jun 4 11:03:12 CEST 2003


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

Modified Files:
	logic.cpp mouse.cpp mouse.h skydefs.h 
Log Message:
fixed two mouse bugs

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/logic.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- logic.cpp	4 Jun 2003 17:13:24 -0000	1.81
+++ logic.cpp	4 Jun 2003 18:02:40 -0000	1.82
@@ -1333,31 +1333,43 @@
 }
 
 bool SkyLogic::fnDiskMouse(uint32 a, uint32 b, uint32 c) {
-	return _skyMouse->fnDiskMouse();
+	_skyMouse->spriteMouse(MOUSE_DISK, 11, 11);
+	return true;
 }
 
 bool SkyLogic::fnNormalMouse(uint32 a, uint32 b, uint32 c) {
-	return _skyMouse->fnNormalMouse();
+	_skyMouse->spriteMouse(MOUSE_NORMAL, 0, 0);
+	return true;
 }
 
 bool SkyLogic::fnBlankMouse(uint32 a, uint32 b, uint32 c) {
-	return _skyMouse->fnBlankMouse();
+	_skyMouse->spriteMouse(MOUSE_BLANK, 0, 0);
+	return true;
 }
 
 bool SkyLogic::fnCrossMouse(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnCrossMouse");
+	_skyMouse->spriteMouse(MOUSE_CROSS, 11, 11);
+	return true;
 }
 
 bool SkyLogic::fnCursorRight(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnCursorRight");
+	_skyMouse->spriteMouse(MOUSE_RIGHT, 9, 4);
+	return true;
 }
 
 bool SkyLogic::fnCursorLeft(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnCursorLeft");
+	_skyMouse->spriteMouse(MOUSE_LEFT, 0, 5);
+	return true;
 }
 
 bool SkyLogic::fnCursorDown(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnCursorDown");
+	_skyMouse->spriteMouse(MOUSE_DOWN, 9, 4);
+	return true;
+}
+
+bool SkyLogic::fnCursorUp(uint32 a, uint32 b, uint32 c) {
+	_skyMouse->spriteMouse(MOUSE_UP, 9, 4);
+	return true;
 }
 
 bool SkyLogic::fnOpenHand(uint32 a, uint32 b, uint32 c) {
@@ -2068,10 +2080,6 @@
 
 	_scriptVariables[RESULT] = eyeTable[x + y] + S91;
 	return true;
-}
-
-bool SkyLogic::fnCursorUp(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnCursorUp");
 }
 
 bool SkyLogic::fnLeaveSection(uint32 sectionNo, uint32 b, uint32 c) {

Index: mouse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- mouse.cpp	4 Jun 2003 17:13:24 -0000	1.6
+++ mouse.cpp	4 Jun 2003 18:02:40 -0000	1.7
@@ -112,7 +112,7 @@
 	_skyDisk->loadFile(fileNo, _objectMouseData);
 }
 
-bool SkyMouse::fnBlankMouse(void) {
+/*bool SkyMouse::fnBlankMouse(void) {
 	_mouseXOff = 0;	//re-align mouse
 	spriteMouse(MOUSE_BLANK, 0, 0);
 	return true;
@@ -127,7 +127,7 @@
 bool SkyMouse::fnNormalMouse(void) {
 	spriteMouse(MOUSE_NORMAL, 0, 0);
 	return true;
-}
+}*/
 
 bool SkyMouse::fnAddHuman(void) {
 	//reintroduce the mouse so that the human can control the player
@@ -152,7 +152,7 @@
 		if (getOff)
 			_skyLogic->script((uint16)(getOff & 0xFFFF), (uint16)(getOff >> 16));
 	
-		SkyLogic::_scriptVariables[SPECIAL_ITEM] = 0xFFFFFFFF;  //0?
+		SkyLogic::_scriptVariables[SPECIAL_ITEM] = 0xFFFFFFFF;
 		SkyLogic::_scriptVariables[GET_OFF] = RESET_MOUSE;
 	}
 
@@ -187,8 +187,9 @@
 	_mouseOffsetY = mouseY;
 
 	//restoreMouseData(frameNum);
+	printf("drawing mouse %d\n",frameNum);
 	byte *mouseData = _miceData;
-	uint32 pos = ((struct dataFileHeader *)mouseData)->s_sp_size * ((struct dataFileHeader *)mouseData)->s_sp_size;
+	uint32 pos = ((struct dataFileHeader *)mouseData)->s_sp_size * frameNum;
 	pos += sizeof(struct dataFileHeader);
 	_mouseData2 = mouseData + pos;	
 
@@ -196,10 +197,9 @@
 	_mouseHeight = ((struct dataFileHeader *)mouseData)->s_height;
 
 	_system->set_mouse_cursor(_mouseData2, _mouseWidth, _mouseHeight, mouseX, mouseY);
-	if (frameNum == MOUSE_BLANK) 
-		_system->show_mouse(false);
-	else
-		_system->show_mouse(true);
+	if (frameNum == MOUSE_BLANK) _system->show_mouse(false);
+	else _system->show_mouse(true);
+
 	//drawNewMouse();
 
 	SkyState::_systemVars.mouseFlag &= ~MF_IN_INT;

Index: mouse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/mouse.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- mouse.h	4 Jun 2003 17:13:24 -0000	1.6
+++ mouse.h	4 Jun 2003 18:02:41 -0000	1.7
@@ -37,9 +37,7 @@
 	~SkyMouse(void);
 
 	void replaceMouseCursors(uint16 fileNo);
-	bool fnBlankMouse(void);
-	bool fnDiskMouse(void);
-	bool fnNormalMouse(void);
+	//void setMouseSprite(uint8 sprNum, uint16 mouseX, uint16 mouseY);
 	bool fnAddHuman(void);
 	void lockMouse(void);
 	void unlockMouse(void);

Index: skydefs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/skydefs.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- skydefs.h	30 May 2003 14:20:32 -0000	1.19
+++ skydefs.h	4 Jun 2003 18:02:41 -0000	1.20
@@ -4290,14 +4290,14 @@
 #define MF_SAVED	(1 << 2)	// set when saved data is valid
 #define MF_GOT_INT	(1 << 3)	// set when mouse interrupt received
 
-#define MOUSE_NORMAL	(1 << 1)	// normal mouse
-#define MOUSE_DISK	(1 << 2)	// disk mouse
-#define MOUSE_DOWN	(1 << 3)
-#define MOUSE_RIGHT	(1 << 4)	// right pointer
-#define MOUSE_LEFT	(1 << 5)	// left pointer
-#define MOUSE_BLANK	(1 << 6)	// blank mouse
-#define MOUSE_CROSS	(1 << 7)	// angry mouse
-#define MOUSE_UP	(1 << 8)	// mouse up
+#define MOUSE_NORMAL	1	// normal mouse
+#define MOUSE_DISK		2	// disk mouse
+#define MOUSE_DOWN		3
+#define MOUSE_RIGHT		4	// right pointer
+#define MOUSE_LEFT		5	// left pointer
+#define MOUSE_BLANK		6	// blank mouse
+#define MOUSE_CROSS		7	// angry mouse
+#define MOUSE_UP		8	// mouse up
 
 #endif
 





More information about the Scummvm-git-logs mailing list