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