From 52476b0778d4e02a67b61793b9ebeb1725658b40 Mon Sep 17 00:00:00 2001 From: Peter Kohaut Date: Thu, 23 Mar 2017 00:25:38 +0100 Subject: BLADERUNNER: Added more functionality to movement track --- engines/bladerunner/movement_track.cpp | 40 ++++++++++++++++------------------ 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'engines/bladerunner/movement_track.cpp') diff --git a/engines/bladerunner/movement_track.cpp b/engines/bladerunner/movement_track.cpp index bd74116566..702a1187f1 100644 --- a/engines/bladerunner/movement_track.cpp +++ b/engines/bladerunner/movement_track.cpp @@ -34,9 +34,9 @@ MovementTrack::~MovementTrack() { void MovementTrack::reset() { _currentIndex = -1; - _lastIndex = -1; - _hasNext = 0; - _paused = 0; + _lastIndex = 0; + _hasNext = false; + _paused = false; for (int i = 0; i < 100; i++) { _entries[i].waypointId = -1; _entries[i].delay = -1; @@ -49,9 +49,10 @@ int MovementTrack::append(int waypointId, int delay, int running) { return append(waypointId, delay, -1, running); } -int MovementTrack::append(int waypointId, int delay, int angle, int running) { - if (_lastIndex >= ARRAYSIZE(_entries)) +int MovementTrack::append(int waypointId, int delay, int angle, int running) { + if (_lastIndex >= 100) { return 0; + } _entries[_lastIndex].waypointId = waypointId; _entries[_lastIndex].delay = delay; @@ -59,7 +60,7 @@ int MovementTrack::append(int waypointId, int delay, int angle, int running) { _entries[_lastIndex].running = running; _lastIndex++; - _hasNext = 1; + _hasNext = true; _currentIndex = 0; return 1; } @@ -70,42 +71,39 @@ void MovementTrack::flush() { void MovementTrack::repeat() { _currentIndex = 0; - _hasNext = 1; + _hasNext = true; } -int MovementTrack::pause() { - _paused = 1; - return 1; +void MovementTrack::pause() { + _paused = true; } -int MovementTrack::unpause() { - _paused = 0; - return 1; +void MovementTrack::unpause() { + _paused = false; } -int MovementTrack::isPaused() { +bool MovementTrack::isPaused() { return _paused; } -int MovementTrack::hasNext() { +bool MovementTrack::hasNext() { return _hasNext; } -int MovementTrack::next(int *waypointId, int *delay, int *angle, int *running) { - if (_currentIndex < _lastIndex && this->_hasNext) - { +bool MovementTrack::next(int *waypointId, int *delay, int *angle, int *running) { + if (_currentIndex < _lastIndex && _hasNext) { *waypointId = _entries[_currentIndex].waypointId; *delay = _entries[_currentIndex].delay; *angle = _entries[_currentIndex].angle; *running = _entries[_currentIndex++].running; - return 1; + return true; } else { *waypointId = -1; *delay = -1; *angle = -1; *running = 0; - _hasNext = 0; - return 0; + _hasNext = false; + return false; } } -- cgit v1.2.3