aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/movement_track.cpp
diff options
context:
space:
mode:
authorPeter Kohaut2017-03-23 00:25:38 +0100
committerPeter Kohaut2017-03-23 00:25:38 +0100
commit52476b0778d4e02a67b61793b9ebeb1725658b40 (patch)
tree1bf0c812944a124854b13eb63597cd12ad683d56 /engines/bladerunner/movement_track.cpp
parentc084e987d8b3558d5f84f37712fa3bb36fef413f (diff)
downloadscummvm-rg350-52476b0778d4e02a67b61793b9ebeb1725658b40.tar.gz
scummvm-rg350-52476b0778d4e02a67b61793b9ebeb1725658b40.tar.bz2
scummvm-rg350-52476b0778d4e02a67b61793b9ebeb1725658b40.zip
BLADERUNNER: Added more functionality to movement track
Diffstat (limited to 'engines/bladerunner/movement_track.cpp')
-rw-r--r--engines/bladerunner/movement_track.cpp40
1 files changed, 19 insertions, 21 deletions
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;
}
}