[Scummvm-cvs-logs] SF.net SVN: scummvm: [23233] scummvm/trunk/engines/sky
eriktorbjorn at users.sourceforge.net
eriktorbjorn at users.sourceforge.net
Wed Jun 21 17:05:18 CEST 2006
Revision: 23233
Author: eriktorbjorn
Date: 2006-06-21 08:05:12 -0700 (Wed, 21 Jun 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=23233&view=rev
Log Message:
-----------
Match the original behaviour more closely when examining inventory items. The
text is displayed at least 800 ms. See bug #1181865.
Modified Paths:
--------------
scummvm/trunk/engines/sky/logic.cpp
scummvm/trunk/engines/sky/mouse.cpp
scummvm/trunk/engines/sky/mouse.h
Modified: scummvm/trunk/engines/sky/logic.cpp
===================================================================
--- scummvm/trunk/engines/sky/logic.cpp 2006-06-21 14:17:45 UTC (rev 23232)
+++ scummvm/trunk/engines/sky/logic.cpp 2006-06-21 15:05:12 UTC (rev 23233)
@@ -2385,7 +2385,7 @@
fnNoHuman(0, 0, 0);
_skyMouse->lockMouse();
- _skyMouse->waitMouseNotPressed();
+ _skyMouse->waitMouseNotPressed(800);
_skyMouse->unlockMouse();
fnAddHuman(0, 0, 0);
Modified: scummvm/trunk/engines/sky/mouse.cpp
===================================================================
--- scummvm/trunk/engines/sky/mouse.cpp 2006-06-21 14:17:45 UTC (rev 23232)
+++ scummvm/trunk/engines/sky/mouse.cpp 2006-06-21 15:05:12 UTC (rev 23233)
@@ -167,17 +167,34 @@
//drawMouse();
}
-void Mouse::waitMouseNotPressed(void) {
+void Mouse::waitMouseNotPressed(int minDelay) {
bool mousePressed = true;
+ uint32 now = _system->getMillis();
OSystem::Event event;
- while (mousePressed) {
- _system->delayMillis(20);
+ while (mousePressed || _system->getMillis() < now + minDelay) {
while (_system->pollEvent(event)) {
- if ((event.type == OSystem::EVENT_LBUTTONUP) ||
- (event.type == OSystem::EVENT_QUIT))
+ switch (event.type) {
+ case OSystem::EVENT_LBUTTONUP:
mousePressed = false;
+ break;
+ case OSystem::EVENT_KEYDOWN:
+ if (event.kbd.ascii == 27) {
+ minDelay = 0;
+ mousePressed = false;
+ }
+ break;
+ case OSystem::EVENT_QUIT:
+ SkyEngine::_systemVars.quitGame = true;
+ minDelay = 0;
+ mousePressed = false;
+ break;
+ default:
+ break;
+ }
}
+ _system->updateScreen();
+ _system->delayMillis(20);
}
}
Modified: scummvm/trunk/engines/sky/mouse.h
===================================================================
--- scummvm/trunk/engines/sky/mouse.h 2006-06-21 14:17:45 UTC (rev 23232)
+++ scummvm/trunk/engines/sky/mouse.h 2006-06-21 15:05:12 UTC (rev 23233)
@@ -54,7 +54,7 @@
void spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY);
void useLogicInstance(Logic *skyLogic) { _skyLogic = skyLogic; };
void buttonPressed(uint8 button);
- void waitMouseNotPressed(void);
+ void waitMouseNotPressed(int minDelay = 0);
uint16 giveMouseX(void) { return _mouseX; };
uint16 giveMouseY(void) { return _mouseY; };
uint16 giveCurrentMouseType(void) { return _currentCursor; };
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