diff options
Diffstat (limited to 'engines/bladerunner/waypoints.cpp')
-rw-r--r-- | engines/bladerunner/waypoints.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/bladerunner/waypoints.cpp b/engines/bladerunner/waypoints.cpp index 4d80841e50..bf2f09b8a6 100644 --- a/engines/bladerunner/waypoints.cpp +++ b/engines/bladerunner/waypoints.cpp @@ -22,6 +22,8 @@ #include "bladerunner/waypoints.h" +#include "bladerunner/savefile.h" + namespace BladeRunner { Waypoints::Waypoints(BladeRunnerEngine *vm, int count) { @@ -89,4 +91,24 @@ float Waypoints::getZ(int waypointId) const { return _waypoints[waypointId].position.z; } +void Waypoints::save(SaveFileWriteStream &f) { + f.writeInt(_count); + for (int i = 0; i < _count; ++i) { + Waypoint &w = _waypoints[i]; + f.writeInt(w.setId); + f.writeVector3(w.position); + f.writeInt(w.present); + } +} + +void Waypoints::load(SaveFileReadStream &f) { + _count = f.readInt(); + for (int i = 0; i < _count; ++i) { + Waypoint &w = _waypoints[i]; + w.setId = f.readInt(); + w.position = f.readVector3(); + w.present = f.readInt(); + } +} + } // End of namespace BladeRunner |