[Scummvm-cvs-logs] SF.net SVN: scummvm: [26130] scummvm/trunk/engines/sky

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Wed Mar 14 13:32:43 CET 2007


Revision: 26130
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26130&view=rev
Author:   fingolfin
Date:     2007-03-14 05:32:42 -0700 (Wed, 14 Mar 2007)

Log Message:
-----------
Fix for bug #1656880 (BASS: mouse initialized wrong in control panel)

Modified Paths:
--------------
    scummvm/trunk/engines/sky/control.cpp
    scummvm/trunk/engines/sky/mouse.cpp
    scummvm/trunk/engines/sky/mouse.h
    scummvm/trunk/engines/sky/sky.cpp
    scummvm/trunk/engines/sky/sky.h

Modified: scummvm/trunk/engines/sky/control.cpp
===================================================================
--- scummvm/trunk/engines/sky/control.cpp	2007-03-14 10:46:41 UTC (rev 26129)
+++ scummvm/trunk/engines/sky/control.cpp	2007-03-14 12:32:42 UTC (rev 26130)
@@ -1560,14 +1560,14 @@
 					_keyPressed = (byte)event.kbd.ascii;
 				break;
 			case OSystem::EVENT_MOUSEMOVE:
+				_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
 				_mouseX = event.mouse.x;
 				_mouseY = event.mouse.y;
 				break;
 			case OSystem::EVENT_LBUTTONDOWN:
-#ifdef PALMOS_MODE
+				_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
 				_mouseX = event.mouse.x;
 				_mouseY = event.mouse.y;
-#endif
 				_mouseClicked = true;
 				break;
 			case OSystem::EVENT_LBUTTONUP:

Modified: scummvm/trunk/engines/sky/mouse.cpp
===================================================================
--- scummvm/trunk/engines/sky/mouse.cpp	2007-03-14 10:46:41 UTC (rev 26129)
+++ scummvm/trunk/engines/sky/mouse.cpp	2007-03-14 12:32:42 UTC (rev 26130)
@@ -216,15 +216,12 @@
 		CursorMan.showMouse(true);
 }
 
-void Mouse::mouseEngine(uint16 mouseX, uint16 mouseY) {
-	_mouseX = mouseX;
-	_mouseY = mouseY;
-
+void Mouse::mouseEngine() {
 	_logicClick = (_mouseB > 0); // click signal is available for Logic for one gamecycle
 
 	if (!Logic::_scriptVariables[MOUSE_STOP]) {
 		if (Logic::_scriptVariables[MOUSE_STATUS] & (1 << 1)) {
-			pointerEngine(mouseX + TOP_LEFT_X, mouseY + TOP_LEFT_Y);
+			pointerEngine(_mouseX + TOP_LEFT_X, _mouseY + TOP_LEFT_Y);
 			if (Logic::_scriptVariables[MOUSE_STATUS] & (1 << 2)) //buttons enabled?
 				buttonEngine1();
 		}
@@ -271,10 +268,14 @@
 }
 
 void Mouse::buttonPressed(uint8 button) {
-
 	_mouseB = button;
 }
 
+void Mouse::mouseMoved(uint16 mouseX, uint16 mouseY) {
+	_mouseX = mouseX;
+	_mouseY = mouseY;
+}
+
 void Mouse::buttonEngine1(void) {
 	//checks for clicking on special item
 	//"compare the size of this routine to S1 mouse_button"

Modified: scummvm/trunk/engines/sky/mouse.h
===================================================================
--- scummvm/trunk/engines/sky/mouse.h	2007-03-14 10:46:41 UTC (rev 26129)
+++ scummvm/trunk/engines/sky/mouse.h	2007-03-14 12:32:42 UTC (rev 26130)
@@ -41,7 +41,7 @@
 	Mouse(OSystem *system, Disk *skyDisk, SkyCompact *skyCompact);
 	~Mouse(void);
 
-	void mouseEngine(uint16 mouseX, uint16 mouseY);
+	void mouseEngine();
 	void replaceMouseCursors(uint16 fileNo);
 	bool fnAddHuman(void);
 	void fnSaveCoods(void);
@@ -54,6 +54,7 @@
 	void spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY);
 	void useLogicInstance(Logic *skyLogic) { _skyLogic = skyLogic; };
 	void buttonPressed(uint8 button);
+	void mouseMoved(uint16 mouseX, uint16 mouseY);
 	void waitMouseNotPressed(int minDelay = 0);
 	uint16 giveMouseX(void) { return _mouseX; };
 	uint16 giveMouseY(void) { return _mouseY; };

Modified: scummvm/trunk/engines/sky/sky.cpp
===================================================================
--- scummvm/trunk/engines/sky/sky.cpp	2007-03-14 10:46:41 UTC (rev 26129)
+++ scummvm/trunk/engines/sky/sky.cpp	2007-03-14 12:32:42 UTC (rev 26130)
@@ -263,8 +263,6 @@
 
 	_systemVars.quitGame = false;
 
-	_mouseX = GAME_SCREEN_WIDTH / 2;
-	_mouseY = GAME_SCREEN_HEIGHT / 2;
 	_keyFlags = _keyPressed = 0;
 
 	uint16 result = 0;
@@ -303,7 +301,7 @@
 				_lastSaveTime += 30 * 1000; // try again in 30 secs
 		}
 		_skySound->checkFxQueue();
-		_skyMouse->mouseEngine((uint16)_mouseX, (uint16)_mouseY);
+		_skyMouse->mouseEngine();
 		handleKey();
 		if (_systemVars.paused) {
 			do {
@@ -532,22 +530,15 @@
 				break;
 			case OSystem::EVENT_MOUSEMOVE:
 				if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) {
-					_mouseX = event.mouse.x;
-					_mouseY = event.mouse.y;
+					_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
 				}
 				break;
 			case OSystem::EVENT_LBUTTONDOWN:
-#ifdef PALMOS_MODE
-				_mouseX = event.mouse.x;
-				_mouseY = event.mouse.y;
-#endif
+				_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
 				_skyMouse->buttonPressed(2);
 				break;
 			case OSystem::EVENT_RBUTTONDOWN:
-#ifdef PALMOS_MODE
-				_mouseX = event.mouse.x;
-				_mouseY = event.mouse.y;
-#endif
+				_skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
 				_skyMouse->buttonPressed(1);
 				break;
 			case OSystem::EVENT_QUIT:

Modified: scummvm/trunk/engines/sky/sky.h
===================================================================
--- scummvm/trunk/engines/sky/sky.h	2007-03-14 10:46:41 UTC (rev 26129)
+++ scummvm/trunk/engines/sky/sky.h	2007-03-14 12:32:42 UTC (rev 26130)
@@ -60,8 +60,6 @@
 	byte _keyPressed, _keyFlags;
 	bool _floppyIntro;
 
-	int _mouseX, _mouseY;
-
 	Sound *_skySound;
 	Disk *_skyDisk;
 	Text *_skyText;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list