diff options
author | Thanasis Antoniou | 2019-06-26 16:17:48 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-06-26 16:17:48 +0300 |
commit | 8f74f0f47ea3f1d956b5a21124d13d9a9a113241 (patch) | |
tree | 8967f00f0c8444c9708448b2f018b8fe288a2810 /engines | |
parent | e60aac53b1d2d19a1f3a33a2581a514e8b571981 (diff) | |
download | scummvm-rg350-8f74f0f47ea3f1d956b5a21124d13d9a9a113241.tar.gz scummvm-rg350-8f74f0f47ea3f1d956b5a21124d13d9a9a113241.tar.bz2 scummvm-rg350-8f74f0f47ea3f1d956b5a21124d13d9a9a113241.zip |
BLADERUNNER: Correct fix for maze target timings
Still only applies in Hard and Normal mode difficulty
Diffstat (limited to 'engines')
-rw-r--r-- | engines/bladerunner/script/police_maze.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/engines/bladerunner/script/police_maze.cpp b/engines/bladerunner/script/police_maze.cpp index f3f20b2354..68e2b672ed 100644 --- a/engines/bladerunner/script/police_maze.cpp +++ b/engines/bladerunner/script/police_maze.cpp @@ -260,24 +260,31 @@ bool PoliceMazeTargetTrack::tick() { _timeLeftUpdate -= timeDiff; if (_timeLeftUpdate > 0) { -#if !BLADERUNNER_ORIGINAL_BUGS - // this fix makes the targets appear according to their wait time - // but it might be too fast for easy or normal mode, so only do this for normal and hard modes - if (_vm->_settings->getDifficulty() > kGameDifficultyEasy) { - _time = oldTime; - } -#endif // !BLADERUNNER_ORIGINAL_BUGS return false; } - _timeLeftUpdate = 66; +#if BLADERUNNER_ORIGINAL_BUGS +#else + if (_vm->_settings->getDifficulty() > kGameDifficultyEasy) { + timeDiff = 0 - _timeLeftUpdate; + } +#endif // BLADERUNNER_ORIGINAL_BUGS + _timeLeftUpdate = 66; // update the target track 15 times per second if (_isPaused) { return false; } if (_isWaiting) { +#if BLADERUNNER_ORIGINAL_BUGS _timeLeftWait -= timeDiff; +#else + if (_vm->_settings->getDifficulty() == kGameDifficultyEasy) { + _timeLeftWait -= timeDiff; // original behavior + } else { + _timeLeftWait -= (timeDiff + _timeLeftUpdate); // this deducts an amount >= 66 + } +#endif // BLADERUNNER_ORIGINAL_BUGS if (_timeLeftWait > 0) { return true; } |