aboutsummaryrefslogtreecommitdiff
path: root/saga/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/saveload.cpp')
-rw-r--r--saga/saveload.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/saga/saveload.cpp b/saga/saveload.cpp
index a2c07fdde2..8560f4f10e 100644
--- a/saga/saveload.cpp
+++ b/saga/saveload.cpp
@@ -178,6 +178,12 @@ void SagaEngine::save(const char *fileName, const char *saveName) {
// Inset scene
out->writeSint32LE(_scene->currentSceneNumber());
+ if (getGameType() != GType_ITE) {
+ out->writeUint32LE(_globalFlags);
+ for (int i = 0; i < ARRAYSIZE(_ethicsPoints); i++)
+ out->writeByte(_ethicsPoints[i]);
+ }
+
_interface->saveState(out);
_actor->saveState(out);
@@ -217,6 +223,12 @@ void SagaEngine::load(const char *fileName) {
// Inset scene
insetSceneNumber = in->readSint32LE();
+ if (getGameType() != GType_ITE) {
+ _globalFlags = in->readUint32LE();
+ for (int i = 0; i < ARRAYSIZE(_ethicsPoints); i++)
+ _ethicsPoints[i] = in->readByte();
+ }
+
_interface->loadState(in);
_actor->loadState(in);