Pull XDG directory code from system_linux.cpp.

Index: src/common/system/system.cpp
--- src/common/system/system.cpp.orig
+++ src/common/system/system.cpp
@@ -188,5 +188,26 @@ std::string CSystemUtils::GetLangPath()
 
 std::string CSystemUtils::GetSaveDir()
 {
-    return "./saves";
+    std::string savegameDir;
+
+    // Determine savegame dir according to XDG Base Directory Specification
+    char *envXDG_DATA_HOME = getenv("XDG_CONFIG_DATA");
+    if (envXDG_DATA_HOME == nullptr)
+    {
+        char *envHOME = getenv("HOME");
+        if (envHOME == nullptr)
+        {
+            savegameDir = "/tmp/colobot-save";
+        }
+        else
+        {
+            savegameDir = std::string(envHOME) + "/.local/share/colobot";
+        }
+    }
+    else
+    {
+        savegameDir = std::string(envXDG_DATA_HOME) + "/colobot";
+    }
+
+    return savegameDir;
 }
