aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/saveload.cpp
diff options
context:
space:
mode:
authorAlyssa Milburn2011-07-07 09:24:10 +0200
committerAlyssa Milburn2011-07-07 09:24:10 +0200
commit66e81d633f987310f12038147ae01b8ce4f640f7 (patch)
tree6035a7124789c3e6cdff5f603e9933529b7efdc7 /engines/tsage/saveload.cpp
parentaffaa1f4d6cf5f27f654029133b1aec7b9eca4b5 (diff)
parent72da8ef5adf82d8a65da299207f30af5058ca8a9 (diff)
downloadscummvm-rg350-66e81d633f987310f12038147ae01b8ce4f640f7.tar.gz
scummvm-rg350-66e81d633f987310f12038147ae01b8ce4f640f7.tar.bz2
scummvm-rg350-66e81d633f987310f12038147ae01b8ce4f640f7.zip
Merge remote-tracking branch 'origin/master' into soltys_wip2
Diffstat (limited to 'engines/tsage/saveload.cpp')
-rw-r--r--engines/tsage/saveload.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/tsage/saveload.cpp b/engines/tsage/saveload.cpp
index b184e59c9e..40444cd630 100644
--- a/engines/tsage/saveload.cpp
+++ b/engines/tsage/saveload.cpp
@@ -103,6 +103,19 @@ void Serializer::validate(int v, Common::Serializer::Version minVersion,
error("Savegame is corrupt");
}
+#define DOUBLE_PRECISION 1000000000
+
+void Serializer::syncAsDouble(double &v) {
+ int32 num = (int32)(v);
+ uint32 fraction = (uint32)((v - (int32)v) * DOUBLE_PRECISION);
+
+ syncAsSint32LE(num);
+ syncAsUint32LE(fraction);
+
+ if (isLoading())
+ v = num + (double)fraction / DOUBLE_PRECISION;
+}
+
/*--------------------------------------------------------------------------*/
Common::Error Saver::save(int slot, const Common::String &saveName) {