X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FSettings.cpp;h=e962d0b2a8207f515b2d6f945f5d06a8ffc5ecf8;hb=2b4a9af9f7693a7715ae77f491157baac7257b10;hp=6c1c6672f4a6aafb14fe3b6b5c62eda5ad2e3fb4;hpb=5509b55dbc13227bdc7b97f2934fa71dad02cc66;p=lugaru.git diff --git a/Source/Settings.cpp b/Source/Settings.cpp index 6c1c667..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; @@ -32,7 +33,6 @@ void DefaultSettings() newscreenwidth = kContextWidth = 1024; newscreenheight = kContextHeight = 768; fullscreen = 0; - kBitsPerPixel = 32; floatjump = 0; autoslomo = 1; decals = 1; @@ -52,8 +52,7 @@ void DefaultSettings() velocityblur = 0; volume = 0.8f; ambientsound = 1; - vblsync = 1; - debugmode = 0; + devtools = 0; crouchkey = SDL_SCANCODE_LSHIFT; jumpkey = SDL_SCANCODE_SPACE; @@ -65,6 +64,8 @@ void DefaultSettings() throwkey = SDL_SCANCODE_Q; attackkey = MOUSEBUTTON1; consolekey = SDL_SCANCODE_GRAVE; + + newdetail = detail; } void SaveSettings() @@ -81,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"; @@ -124,10 +130,6 @@ void SaveSettings() opstream << damageeffects; opstream << "\nText:\n"; opstream << texttoggle; - opstream << "\nDebug:\n"; - opstream << debugmode; - opstream << "\nVBL Sync:\n"; - opstream << vblsync; opstream << "\nShow Points:\n"; opstream << showpoints; opstream << "\nAlways Blur:\n"; @@ -166,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]; @@ -208,10 +212,6 @@ bool LoadSettings() ipstream >> ismotionblur; } else if ( !strncmp(setting, "Overall Detail", 14) ) { ipstream >> detail; - if (detail != 0) - kBitsPerPixel = 32; - else - kBitsPerPixel = 16; } else if ( !strncmp(setting, "Floating jump", 13) ) { ipstream >> floatjump; } else if ( !strncmp(setting, "Mouse jump", 10) ) { @@ -245,10 +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, "VBL Sync", 8) ) { - ipstream >> vblsync; + } else if ( !strncmp(setting, "Devtools", 5) ) { + ipstream >> devtools; } else if ( !strncmp(setting, "Show Points", 11) ) { ipstream >> showpoints; } else if ( !strncmp(setting, "Always Blur", 11) ) { @@ -318,5 +316,6 @@ bool LoadSettings() if (screenheight < 0) screenheight = 768; + newdetail = detail; return true; }