[Scummvm-cvs-logs] SF.net SVN: scummvm:[53885] scummvm/trunk/engines/lastexpress/game/menu.cpp

littleboy at users.sourceforge.net littleboy at users.sourceforge.net
Wed Oct 27 21:22:05 CEST 2010


Revision: 53885
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53885&view=rev
Author:   littleboy
Date:     2010-10-27 19:22:05 +0000 (Wed, 27 Oct 2010)

Log Message:
-----------
LASTEXPRESS: Use Common::Rational when adjusting menu clock

Also fix the wrong check that set the time directly to the target time

Modified Paths:
--------------
    scummvm/trunk/engines/lastexpress/game/menu.cpp

Modified: scummvm/trunk/engines/lastexpress/game/menu.cpp
===================================================================
--- scummvm/trunk/engines/lastexpress/game/menu.cpp	2010-10-27 19:21:52 UTC (rev 53884)
+++ scummvm/trunk/engines/lastexpress/game/menu.cpp	2010-10-27 19:22:05 UTC (rev 53885)
@@ -45,6 +45,8 @@
 #include "lastexpress/lastexpress.h"
 #include "lastexpress/resource.h"
 
+#include "common/rational.h"
+
 #define getNextGameId() (GameId)((_gameId + 1) % 6)
 
 namespace LastExpress {
@@ -1442,17 +1444,19 @@
 	uint32 originalTime = _time;
 
 	// Adjust time delta
-	uint32 timeDelta = (_delta >= 90) ? 9 : (9 * _delta + 89) / 90;
+	Common::Rational timeDelta(_delta >= 90 ? 9 : (9 * _delta + 89), _delta >= 90 ? 1 : 90);
 
 	if (_currentTime < _time) {
-		_time -= 900 * timeDelta;
+		timeDelta *= 900;
+		_time -= timeDelta.toInt();
 
-		if (_time >= _currentTime)
+		if (_currentTime > _time)
 			_time = _currentTime;
 	} else {
-		_time += 900 * timeDelta;
+		timeDelta *= 900;
+		_time += timeDelta.toInt();
 
-		if (_time < _currentTime)
+		if (_currentTime < _time)
 			_time = _currentTime;
 	}
 


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