/*
Copyright (C) 2003, 2010 - Wolfire Games
+Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
#include "Settings.h"
#include "Game.h"
#include "Input.h"
+#include "Utils/Folders.h"
using namespace Game;
newscreenwidth = kContextWidth = 1024;
newscreenheight = kContextHeight = 768;
fullscreen = 0;
- kBitsPerPixel = 32;
floatjump = 0;
autoslomo = 1;
decals = 1;
velocityblur = 0;
volume = 0.8f;
ambientsound = 1;
- vblsync = 1;
- debugmode = 0;
+ devtools = 0;
crouchkey = SDL_SCANCODE_LSHIFT;
jumpkey = SDL_SCANCODE_SPACE;
throwkey = SDL_SCANCODE_Q;
attackkey = MOUSEBUTTON1;
consolekey = SDL_SCANCODE_GRAVE;
+
+ newdetail = detail;
}
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";
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";
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];
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) ) {
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) ) {
if (screenheight < 0)
screenheight = 768;
+ newdetail = detail;
return true;
}