[Scummvm-cvs-logs] SF.net SVN: scummvm: [26523] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Mon Apr 16 07:05:36 CEST 2007


Revision: 26523
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26523&view=rev
Author:   drmccoy
Date:     2007-04-15 22:05:35 -0700 (Sun, 15 Apr 2007)

Log Message:
-----------
Mouse button presses shouldn't repeat. Fixes "cut-scene" after the idol part in Gob3 Amiga

Modified Paths:
--------------
    scummvm/trunk/engines/gob/inter_v1.cpp
    scummvm/trunk/engines/gob/util.cpp
    scummvm/trunk/engines/gob/util.h

Modified: scummvm/trunk/engines/gob/inter_v1.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v1.cpp	2007-04-16 05:04:41 UTC (rev 26522)
+++ scummvm/trunk/engines/gob/inter_v1.cpp	2007-04-16 05:05:35 UTC (rev 26523)
@@ -1656,6 +1656,7 @@
 		break;
 
 	case 1:
+		_vm->_util->forceMouseUp(true);
 		key = _vm->_game->checkKeys(&_vm->_global->_inter_mouseX,
 				&_vm->_global->_inter_mouseY, &_vm->_game->_mouseButtons, 0);
 		storeKey(key);

Modified: scummvm/trunk/engines/gob/util.cpp
===================================================================
--- scummvm/trunk/engines/gob/util.cpp	2007-04-16 05:04:41 UTC (rev 26522)
+++ scummvm/trunk/engines/gob/util.cpp	2007-04-16 05:05:35 UTC (rev 26523)
@@ -261,7 +261,10 @@
 	} while (buttons != 0);
 }
 
-void Util::forceMouseUp(void) {
+void Util::forceMouseUp(bool onlyWhenSynced) {
+	if (onlyWhenSynced && (_vm->_game->_mouseButtons != _mouseButtons))
+		return;
+
 	_vm->_game->_mouseButtons = 0;
 	_mouseButtons = 0;
 }

Modified: scummvm/trunk/engines/gob/util.h
===================================================================
--- scummvm/trunk/engines/gob/util.h	2007-04-16 05:04:41 UTC (rev 26522)
+++ scummvm/trunk/engines/gob/util.h	2007-04-16 05:05:35 UTC (rev 26523)
@@ -64,7 +64,7 @@
 	void waitMouseUp(void);
 	void waitMouseDown(void);
 	void waitMouseRelease(char drawMouse);
-	void forceMouseUp(void);
+	void forceMouseUp(bool onlyWhenSynced = false);
 
 	void clearPalette(void);
 	void setFrameRate(int16 rate);


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