[Scummvm-cvs-logs] SF.net SVN: scummvm:[49690] scummvm/trunk/engines/sci
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Tue Jun 15 12:09:43 CEST 2010
Revision: 49690
http://scummvm.svn.sourceforge.net/scummvm/?rev=49690&view=rev
Author: thebluegr
Date: 2010-06-15 10:09:42 +0000 (Tue, 15 Jun 2010)
Log Message:
-----------
Throttle screen updates to 60fps in some screen transition effects as well
Modified Paths:
--------------
scummvm/trunk/engines/sci/event.cpp
scummvm/trunk/engines/sci/graphics/paint16.cpp
scummvm/trunk/engines/sci/graphics/transitions.cpp
Modified: scummvm/trunk/engines/sci/event.cpp
===================================================================
--- scummvm/trunk/engines/sci/event.cpp 2010-06-15 09:11:26 UTC (rev 49689)
+++ scummvm/trunk/engines/sci/event.cpp 2010-06-15 10:09:42 UTC (rev 49690)
@@ -321,9 +321,7 @@
// Update the screen here, since it's called very often.
// Throttle the screen update rate to 60fps.
- uint32 curTime = g_system->getMillis();
- uint32 duration = curTime - g_sci->getEngineState()->_screenUpdateTime;
- if (duration >= 1000 / 60) {
+ if (g_system->getMillis() - g_sci->getEngineState()->_screenUpdateTime >= 1000 / 60) {
g_system->updateScreen();
g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis();
}
Modified: scummvm/trunk/engines/sci/graphics/paint16.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-06-15 09:11:26 UTC (rev 49689)
+++ scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-06-15 10:09:42 UTC (rev 49690)
@@ -561,11 +561,21 @@
if (directions & SCI_SHAKE_DIRECTION_VERTICAL)
_screen->setVerticalShakePos(10);
// TODO: horizontal shakes
- g_system->updateScreen();
+
+ if (g_system->getMillis() - g_sci->getEngineState()->_screenUpdateTime >= 1000 / 60) {
+ g_system->updateScreen();
+ g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis();
+ }
+
_gui->wait(3);
if (directions & SCI_SHAKE_DIRECTION_VERTICAL)
_screen->setVerticalShakePos(0);
- g_system->updateScreen();
+
+ if (g_system->getMillis() - g_sci->getEngineState()->_screenUpdateTime >= 1000 / 60) {
+ g_system->updateScreen();
+ g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis();
+ }
+
_gui->wait(3);
}
}
Modified: scummvm/trunk/engines/sci/graphics/transitions.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/transitions.cpp 2010-06-15 09:11:26 UTC (rev 49689)
+++ scummvm/trunk/engines/sci/graphics/transitions.cpp 2010-06-15 10:09:42 UTC (rev 49690)
@@ -440,8 +440,12 @@
}
stepNr++;
}
- if ((stepNr & 1) == 0)
- g_system->updateScreen();
+ if ((stepNr & 1) == 0) {
+ if (g_system->getMillis() - g_sci->getEngineState()->_screenUpdateTime >= 1000 / 60) {
+ g_system->updateScreen();
+ g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis();
+ }
+ }
break;
case SCI_TRANSITIONS_SCROLL_RIGHT:
@@ -461,8 +465,12 @@
}
stepNr++;
}
- if ((stepNr & 1) == 0)
- g_system->updateScreen();
+ if ((stepNr & 1) == 0) {
+ if (g_system->getMillis() - g_sci->getEngineState()->_screenUpdateTime >= 1000 / 60) {
+ g_system->updateScreen();
+ g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis();
+ }
+ }
break;
case SCI_TRANSITIONS_SCROLL_UP:
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