From 4bcf431d31a476f0846a4a040eb5fd8c835b0ee4 Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Wed, 15 May 2013 21:16:00 +0100
Subject: [PATCH] [Add] Save version in savegame.

---
 src/lephisto.c | 3 +--
 src/lephisto.h | 8 +++++---
 src/save.c     | 5 +++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/lephisto.c b/src/lephisto.c
index 1223865..3ff4f00 100644
--- a/src/lephisto.c
+++ b/src/lephisto.c
@@ -46,9 +46,8 @@ unsigned int gtime = 0; // Calculate FPS and movement.
 static char version[VERSION_LEN];
 
 // Just some default crap.
-#define DATA_NAME_LEN 25  // Max length of data name.
 char* data = NULL;
-char dataname[DATA_NAME_LEN];
+char dataname[DATA_NAME_LEN] = "";
 int nosound = 0;
 int show_fps = 1; // Default - True.
 int max_fps = 0;
diff --git a/src/lephisto.h b/src/lephisto.h
index e7aa780..a4b88f7 100644
--- a/src/lephisto.h
+++ b/src/lephisto.h
@@ -12,9 +12,11 @@
 
 #define pow2(x)  ((x)*(x))
 
-#define DATA_DEF    "data" // Default data packfile.
-extern char* data; // Modifiable datafile.
-#define DATA        data // Data file.
+#define DATA_DEF    "data"  // Default data packfile.
+extern char* data;          // Modifiable datafile.
+#define DATA        data    // Data file.
+#define DATA_NAME_LEN 25    // Max length of data name.
+extern char dataname[DATA_NAME_LEN];
 
 // Max filename path.
 #ifndef PATH_MAX
diff --git a/src/save.c b/src/save.c
index dd53052..87292ae 100644
--- a/src/save.c
+++ b/src/save.c
@@ -49,6 +49,11 @@ int save_all(void) {
   xmlw_start(writer);
   xmlw_startElem(writer, "lephisto_save");
 
+  xmlw_startElem(writer, "version");
+  xmlw_elem(writer, "lephisto", "%d.%d.%d", VMAJOR, VMINOR, VREV);
+  xmlw_elem(writer, "data", dataname);
+  xmlw_endElem(writer); // Version.
+
   if(save_data(writer) < 0) {
     ERR("Trying to save game data");
     xmlFreeTextWriter(writer);