From 3402219438d3a3e92150d9183de981ddfa803f00 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Wed, 27 Mar 2013 20:24:05 +0100 Subject: [PATCH] Changed savegame & profile dir on Windows --- src/app/system_windows.cpp | 36 ++++++++++++++++++++++++++++++++++++ src/app/system_windows.h | 3 +++ 2 files changed, 39 insertions(+) diff --git a/src/app/system_windows.cpp b/src/app/system_windows.cpp index 780afef6..870683fa 100644 --- a/src/app/system_windows.cpp +++ b/src/app/system_windows.cpp @@ -110,3 +110,39 @@ std::wstring CSystemUtilsWindows::UTF8_Decode(const std::string& str) return wstrTo; } + +std::string CSystemUtilsWindows::profileFileLocation() +{ + std::string m_profileFile; + + char* envUSERPROFILE = getenv("USERPROFILE"); + if (envUSERPROFILE == NULL) + { + m_profileFile = "colobot.ini"; + } + else + { + m_profileFile = std::string(envUSERPROFILE) + "\\colobot\\colobot.ini"; + } + GetLogger()->Trace("Profile configuration is %s\n", m_profileFile.c_str()); + + return m_profileFile; +} + +std::string CSystemUtilsWindows::savegameDirectoryLocation() +{ + std::string m_savegameDir; + + char* envUSERPROFILE = getenv("USERPROFILE"); + if (envUSERPROFILE == NULL) + { + m_savegameDir = "savegame"; + } + else + { + m_savegameDir = std::string(envUSERPROFILE) + "\\colobot\\savegame"; + } + GetLogger()->Trace("Saved game files are going to %s\n", m_savegameDir.c_str()); + + return m_savegameDir; +} \ No newline at end of file diff --git a/src/app/system_windows.h b/src/app/system_windows.h index e367b92d..88e7507e 100644 --- a/src/app/system_windows.h +++ b/src/app/system_windows.h @@ -44,6 +44,9 @@ public: virtual long long GetTimeStampExactResolution() override; virtual long long TimeStampExactDiff(SystemTimeStamp *before, SystemTimeStamp *after) override; + virtual std::string profileFileLocation() override; + virtual std::string savegameDirectoryLocation() override; + private: std::string UTF8_Encode(const std::wstring &wstr); std::wstring UTF8_Decode(const std::string &str);