diff options
Diffstat (limited to 'engines/bladerunner/ui/spinner.cpp')
-rw-r--r-- | engines/bladerunner/ui/spinner.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/bladerunner/ui/spinner.cpp b/engines/bladerunner/ui/spinner.cpp index b6269bbb50..cab2d67dee 100644 --- a/engines/bladerunner/ui/spinner.cpp +++ b/engines/bladerunner/ui/spinner.cpp @@ -293,7 +293,7 @@ void Spinner::reset() { _actorId = -1; _sentenceId = -1; - _timeSpeakDescription = 0; + _timeSpeakDescriptionStart = 0u; for (int i = 0; i != (int)_shapes.size(); ++i) { delete _shapes[i]; @@ -413,20 +413,21 @@ void Spinner::destinationFocus(int destinationImage) { void Spinner::setupDescription(int actorId, int sentenceId) { _actorId = actorId; _sentenceId = sentenceId; - _timeSpeakDescription = _vm->_time->current() + 600; + _timeSpeakDescriptionStart = _vm->_time->current(); } // copied from elevator.cpp code void Spinner::resetDescription() { _actorId = -1; _sentenceId = -1; - _timeSpeakDescription = 0; + _timeSpeakDescriptionStart = 0u; } // copied from elevator.cpp code void Spinner::tickDescription() { - int now = _vm->_time->current(); - if (_actorId <= 0 || now < _timeSpeakDescription) { + uint32 now = _vm->_time->current(); + // unsigned difference is intentional + if (_actorId <= 0 || (now - _timeSpeakDescriptionStart < 600u)) { return; } |