aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/ui/spinner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/ui/spinner.cpp')
-rw-r--r--engines/bladerunner/ui/spinner.cpp11
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;
}