aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/bladerunner/actor.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp
index 80bfe249d3..6403eab9e8 100644
--- a/engines/bladerunner/actor.cpp
+++ b/engines/bladerunner/actor.cpp
@@ -108,6 +108,7 @@ void Actor::setup(int actorId) {
_timersLeft[i] = 0;
_timersLast[i] = _vm->_time->current();
}
+ _timersLeft[4] = _timer4RemainDefault; // This was in original code. We need to init this timer in oder to kick off periodic updates for acquireCluesByRelations
_honesty = 50;
_intelligence = 50;
@@ -1450,6 +1451,12 @@ void Actor::load(SaveFileReadStream &f) {
for (int i = 0; i < 7; ++i) {
_timersLeft[i] = f.readInt();
}
+ // Bugfix: Special initialization case for timer 4 when it's value is restored as 0
+ // This should be harmless, but will remedy any broken save-games where the timer 4 was saved as 0.
+// //
+ if (_timersLeft[4] == 0) {
+ _timersLeft[4] = _timer4RemainDefault;
+ }
uint32 now = _vm->_time->getPauseStart();
for (int i = 0; i < 7; ++i) {