[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