aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/movement_track.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/movement_track.cpp')
-rw-r--r--engines/bladerunner/movement_track.cpp34
1 files changed, 24 insertions, 10 deletions
diff --git a/engines/bladerunner/movement_track.cpp b/engines/bladerunner/movement_track.cpp
index 5a6407ed3a..322d92ef31 100644
--- a/engines/bladerunner/movement_track.cpp
+++ b/engines/bladerunner/movement_track.cpp
@@ -109,17 +109,31 @@ bool MovementTrack::next(int *waypointId, int *delay, int *angle, bool *run) {
}
}
-void MovementTrack::save(SaveFile &f) {
- f.write(_currentIndex);
- f.write(_lastIndex);
- f.write(_hasNext);
- f.write(_paused);
- for (int i = 0; i < 100; ++i) {
+void MovementTrack::save(SaveFileWriteStream &f) {
+ f.writeInt(_currentIndex);
+ f.writeInt(_lastIndex);
+ f.writeBool(_hasNext);
+ f.writeBool(_paused);
+ for (int i = 0; i < kSize; ++i) {
Entry &e = _entries[i];
- f.write(e.waypointId);
- f.write(e.delay);
- f.write(e.angle);
- f.write(e.run);
+ f.writeInt(e.waypointId);
+ f.writeInt(e.delay);
+ f.writeInt(e.angle);
+ f.writeBool(e.run);
+ }
+}
+
+void MovementTrack::load(SaveFileReadStream &f) {
+ _currentIndex = f.readInt();
+ _lastIndex = f.readInt();
+ _hasNext = f.readBool();
+ _paused = f.readBool();
+ for (int i = 0; i < kSize; ++i) {
+ Entry &e = _entries[i];
+ e.waypointId = f.readInt();
+ e.delay = f.readInt();
+ e.angle = f.readInt();
+ e.run = f.readBool();
}
}