diff options
author | Julien Templier | 2010-10-27 19:22:05 +0000 |
---|---|---|
committer | Julien Templier | 2010-10-27 19:22:05 +0000 |
commit | 5a336830a00c1371d8307794c7e43fe98e7baa1d (patch) | |
tree | 145e6b0a1463bad848c3fd99811f310e33f92c15 /engines/lastexpress | |
parent | 44ba44297d13c4b197819678963fa8f99fbd4e37 (diff) | |
download | scummvm-rg350-5a336830a00c1371d8307794c7e43fe98e7baa1d.tar.gz scummvm-rg350-5a336830a00c1371d8307794c7e43fe98e7baa1d.tar.bz2 scummvm-rg350-5a336830a00c1371d8307794c7e43fe98e7baa1d.zip |
LASTEXPRESS: Use Common::Rational when adjusting menu clock
Also fix the wrong check that set the time directly to the target time
svn-id: r53885
Diffstat (limited to 'engines/lastexpress')
-rw-r--r-- | engines/lastexpress/game/menu.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/lastexpress/game/menu.cpp b/engines/lastexpress/game/menu.cpp index 8973eeb7c0..f6840c28a7 100644 --- a/engines/lastexpress/game/menu.cpp +++ b/engines/lastexpress/game/menu.cpp @@ -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 @@ void Menu::adjustTime() { 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; } |