From 7404dace3acda7ac0891bfe75c4a446437245a04 Mon Sep 17 00:00:00 2001 From: tracktwo Date: Fri, 31 Jul 2020 21:42:03 -0400 Subject: [PATCH] Fix EU save writing --- README.md | 5 +++-- json2xcom.cpp | 1 + xcomwriter.cpp | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d37ef1f..98c5737 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # xcomsave -An open-source, portable library for reading XCOM Enemy Within save files, plus some small utilities to convert an -XCOM save to and from a somewhat readable JSON format. +An open-source, portable library for reading XCOM Enemy Unknown/Enemy Within save files, plus some small utilities to convert an +XCOM save to and from a somewhat readable JSON format. The utility supports both EU and EW and has also been tested with +the Android version of the game. Currently only strategy (geoscape) saves are supported. Tactical saves have a slightly different format that I can't completely parse yet. I don't have exhaustive save samples for most languages, but I have used to this to successfully diff --git a/json2xcom.cpp b/json2xcom.cpp index 4f93fc4..5fe9708 100644 --- a/json2xcom.cpp +++ b/json2xcom.cpp @@ -108,6 +108,7 @@ bool check_header_shape(xcom_version version, const Json& json, std::string &err switch (version) { case xcom_version::enemy_within: + case xcom_version::enemy_unknown: return json.has_shape({ { std::string("version"), Json::NUMBER }, { std::string("uncompressed_size"), Json::NUMBER }, diff --git a/xcomwriter.cpp b/xcomwriter.cpp index 8f35214..5fecb35 100644 --- a/xcomwriter.cpp +++ b/xcomwriter.cpp @@ -357,6 +357,7 @@ namespace xcom { switch (version) { + case xcom_version::enemy_unknown: case xcom_version::enemy_within: { unsigned long bytes_compressed = output_size;