X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FSettings.cpp;h=e962d0b2a8207f515b2d6f945f5d06a8ffc5ecf8;hb=e08372a2095837a0b951ccb68c3499ef67c1a827;hp=8258becbd1ad9c365433c91e43c39f7f02ded447;hpb=3b325285c15e47e75ad5c9db05f7105f8b5af387;p=lugaru.git diff --git a/Source/Settings.cpp b/Source/Settings.cpp index 8258bec..e962d0b 100644 --- a/Source/Settings.cpp +++ b/Source/Settings.cpp @@ -21,6 +21,7 @@ along with Lugaru. If not, see . #include "Settings.h" #include "Game.h" #include "Input.h" +#include "Utils/Folders.h" using namespace Game; @@ -51,7 +52,7 @@ void DefaultSettings() velocityblur = 0; volume = 0.8f; ambientsound = 1; - debugmode = 0; + devtools = 0; crouchkey = SDL_SCANCODE_LSHIFT; jumpkey = SDL_SCANCODE_SPACE; @@ -63,6 +64,8 @@ void DefaultSettings() throwkey = SDL_SCANCODE_Q; attackkey = MOUSEBUTTON1; consolekey = SDL_SCANCODE_GRAVE; + + newdetail = detail; } void SaveSettings() @@ -79,7 +82,12 @@ void SaveSettings() newscreenheight = screenheight; if (newscreenheight < 0) newscreenheight = screenheight; - ofstream opstream(ConvertFileName(":Data:config.txt", "w")); + errno = 0; + ofstream opstream(Folders::getConfigFilePath()); + if (opstream.fail()) { + perror(("Couldn't save config file " + Folders::getConfigFilePath()).c_str()); + return; + } opstream << "Screenwidth:\n"; opstream << newscreenwidth; opstream << "\nScreenheight:\n"; @@ -122,8 +130,6 @@ void SaveSettings() opstream << damageeffects; opstream << "\nText:\n"; opstream << texttoggle; - opstream << "\nDebug:\n"; - opstream << debugmode; opstream << "\nShow Points:\n"; opstream << showpoints; opstream << "\nAlways Blur:\n"; @@ -162,14 +168,16 @@ void SaveSettings() opstream << stereoseparation; opstream << "\nStereoReverse:\n"; opstream << stereoreverse; + opstream << "\n"; opstream.close(); } bool LoadSettings() { - ifstream ipstream(ConvertFileName(":Data:config.txt"), std::ios::in); - if ( !ipstream || ipstream.fail() ) { - printf("Config file not found\n"); + errno = 0; + ifstream ipstream(Folders::getConfigFilePath(), std::ios::in); + if ( ipstream.fail() ) { + perror(("Couldn't read config file " + Folders::getConfigFilePath()).c_str()); return false; } char setting[256]; @@ -237,8 +245,8 @@ bool LoadSettings() ipstream >> damageeffects; } else if ( !strncmp(setting, "Text", 4) ) { ipstream >> texttoggle; - } else if ( !strncmp(setting, "Debug", 5) ) { - ipstream >> debugmode; + } else if ( !strncmp(setting, "Devtools", 5) ) { + ipstream >> devtools; } else if ( !strncmp(setting, "Show Points", 11) ) { ipstream >> showpoints; } else if ( !strncmp(setting, "Always Blur", 11) ) { @@ -308,5 +316,6 @@ bool LoadSettings() if (screenheight < 0) screenheight = 768; + newdetail = detail; return true; }