]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Settings.cpp
Migrated to SDL2
[lugaru.git] / Source / Settings.cpp
index 9b99459ad3f8d70eb3830be0020e24457a7e0041..38bf9b2c9785fca67b03e18ec375bca33d23523f 100644 (file)
@@ -1,3 +1,24 @@
+/*
+Copyright (C) 2003, 2010 - Wolfire Games
+
+This file is part of Lugaru.
+
+Lugaru is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*/
+
 #include "Settings.h"
 #include "Game.h"
 #include "Input.h"
@@ -34,27 +55,33 @@ void DefaultSettings()
     vblsync = 1;
     debugmode = 0;
 
-    crouchkey = SDLK_LSHIFT;
-    jumpkey = SDLK_SPACE;
-    leftkey = SDLK_a;
-    forwardkey = SDLK_w;
-    backkey = SDLK_s;
-    rightkey = SDLK_d;
-    drawkey = SDLK_e;
-    throwkey = SDLK_q;
+    crouchkey = SDL_SCANCODE_LSHIFT;
+    jumpkey = SDL_SCANCODE_SPACE;
+    leftkey = SDL_SCANCODE_A;
+    forwardkey = SDL_SCANCODE_W;
+    backkey = SDL_SCANCODE_S;
+    rightkey = SDL_SCANCODE_D;
+    drawkey = SDL_SCANCODE_E;
+    throwkey = SDL_SCANCODE_Q;
     attackkey = MOUSEBUTTON1;
-    consolekey = SDLK_BACKQUOTE;
-    chatkey = SDLK_t;
+    consolekey = SDL_SCANCODE_GRAVE;
+    chatkey = SDL_SCANCODE_T;
 }
 
 void SaveSettings()
 {
-    if (newdetail < 0) newdetail = 0;
-    if (newdetail > 2) newdetail = 2;
-    if (newscreenwidth > 3000) newscreenwidth = screenwidth;
-    if (newscreenwidth < 0) newscreenwidth = screenwidth;
-    if (newscreenheight > 3000) newscreenheight = screenheight;
-    if (newscreenheight < 0) newscreenheight = screenheight;
+    if (newdetail < 0)
+        newdetail = 0;
+    if (newdetail > 2)
+        newdetail = 2;
+    if (newscreenwidth > 3000)
+        newscreenwidth = screenwidth;
+    if (newscreenwidth < 0)
+        newscreenwidth = screenwidth;
+    if (newscreenheight > 3000)
+        newscreenheight = screenheight;
+    if (newscreenheight < 0)
+        newscreenheight = screenheight;
     ofstream opstream(ConvertFileName(":Data:config.txt", "w"));
     opstream << "Screenwidth:\n";
     opstream << newscreenwidth;
@@ -87,7 +114,8 @@ void SaveSettings()
     opstream << "\nInvert mouse:\n";
     opstream << invertmouse;
     opstream << "\nGamespeed:\n";
-    if (oldgamespeed == 0)oldgamespeed = 1;
+    if (oldgamespeed == 0)
+        oldgamespeed = 1;
     opstream << oldgamespeed;
     opstream << "\nDifficulty(0,1,2) higher=harder:\n";
     opstream << difficulty;
@@ -110,27 +138,27 @@ void SaveSettings()
     opstream << "\nVolume:\n";
     opstream << volume;
     opstream << "\nForward key:\n";
-    opstream << Input::keyToChar(forwardkey);
+    opstream << forwardkey;
     opstream << "\nBack key:\n";
-    opstream << Input::keyToChar(backkey);
+    opstream << backkey;
     opstream << "\nLeft key:\n";
-    opstream << Input::keyToChar(leftkey);
+    opstream << leftkey;
     opstream << "\nRight key:\n";
-    opstream << Input::keyToChar(rightkey);
+    opstream << rightkey;
     opstream << "\nJump key:\n";
-    opstream << Input::keyToChar(jumpkey);
+    opstream << jumpkey;
     opstream << "\nCrouch key:\n";
-    opstream << Input::keyToChar(crouchkey);
+    opstream << crouchkey;
     opstream << "\nDraw key:\n";
-    opstream << Input::keyToChar(drawkey);
+    opstream << drawkey;
     opstream << "\nThrow key:\n";
-    opstream << Input::keyToChar(throwkey);
+    opstream << throwkey;
     opstream << "\nAttack key:\n";
-    opstream << Input::keyToChar(attackkey);
+    opstream << attackkey;
     opstream << "\nConsole key:\n";
-    opstream << Input::keyToChar(consolekey);
+    opstream << consolekey;
     opstream << "\nChat key:\n";
-    opstream << Input::keyToChar(chatkey);
+    opstream << chatkey;
     opstream << "\nDamage bar:\n";
     opstream << showdamagebar;
     opstream << "\nStereoMode:\n";
@@ -158,7 +186,8 @@ bool LoadSettings()
 
         // skip blank lines
         // assume lines starting with spaces are all blank
-        if ( strlen(setting) == 0 || setting[0] == ' ' || setting[0] == '\t') continue;
+        if ( strlen(setting) == 0 || setting[0] == ' ' || setting[0] == '\t')
+            continue;
         //~ printf("setting : %s\n",setting);
 
         if ( ipstream.eof() || ipstream.fail() ) {
@@ -178,8 +207,10 @@ bool LoadSettings()
             ipstream >> ismotionblur;
         } else if ( !strncmp(setting, "Overall Detail", 14) ) {
             ipstream >> detail;
-            if (detail != 0)kBitsPerPixel = 32;
-            else kBitsPerPixel = 16;
+            if (detail != 0)
+                kBitsPerPixel = 32;
+            else
+                kBitsPerPixel = 16;
         } else if ( !strncmp(setting, "Floating jump", 13) ) {
             ipstream >> floatjump;
         } else if ( !strncmp(setting, "Mouse jump", 10) ) {
@@ -228,38 +259,27 @@ bool LoadSettings()
         } else if ( !strncmp(setting, "Volume", 6) ) {
             ipstream >> volume;
         } else if ( !strncmp(setting, "Forward key", 11) ) {
-            ipstream.getline( string, sizeof(string) );
-            forwardkey = Input::CharToKey(string);
+            ipstream >> forwardkey;
         } else if ( !strncmp(setting, "Back key", 8) ) {
-            ipstream.getline( string, sizeof(string) );
-            backkey = Input::CharToKey(string);
+            ipstream >> backkey;
         } else if ( !strncmp(setting, "Left key", 8) ) {
-            ipstream.getline( string, sizeof(string) );
-            leftkey = Input::CharToKey(string);
+            ipstream >> leftkey;
         } else if ( !strncmp(setting, "Right key", 9) ) {
-            ipstream.getline( string, sizeof(string) );
-            rightkey = Input::CharToKey(string);
+            ipstream >> rightkey;
         } else if ( !strncmp(setting, "Jump key", 8) ) {
-            ipstream.getline( string, sizeof(string) );
-            jumpkey = Input::CharToKey(string);
+            ipstream >> jumpkey;
         } else if ( !strncmp(setting, "Crouch key", 10) ) {
-            ipstream.getline( string, sizeof(string) );
-            crouchkey = Input::CharToKey(string);
+            ipstream >> crouchkey;
         } else if ( !strncmp(setting, "Draw key", 8) ) {
-            ipstream.getline( string, sizeof(string) );
-            drawkey = Input::CharToKey(string);
+            ipstream >> drawkey;
         } else if ( !strncmp(setting, "Throw key", 9) ) {
-            ipstream.getline( string, sizeof(string) );
-            throwkey = Input::CharToKey(string);
+            ipstream >> throwkey;
         } else if ( !strncmp(setting, "Attack key", 10) ) {
-            ipstream.getline( string, sizeof(string) );
-            attackkey = Input::CharToKey(string);
+            ipstream >> attackkey;
         } else if ( !strncmp(setting, "Console key", 11) ) {
-            ipstream.getline( string, sizeof(string) );
-            consolekey = Input::CharToKey(string);
+            ipstream >> consolekey;
         } else if ( !strncmp(setting, "Chat key", 8) ) {
-            ipstream.getline( string, sizeof(string) );
-            chatkey = Input::CharToKey(string);
+            ipstream >> chatkey;
         } else if ( !strncmp(setting, "Damage bar", 10) ) {
             ipstream >> showdamagebar;
         } else if ( !strncmp(setting, "StereoMode", 10) ) {
@@ -290,10 +310,14 @@ bool LoadSettings()
 
     ipstream.close();
 
-    if (detail > 2)detail = 2;
-    if (detail < 0)detail = 0;
-    if (screenwidth < 0)screenwidth = 640;
-    if (screenheight < 0)screenheight = 480;
+    if (detail > 2)
+        detail = 2;
+    if (detail < 0)
+        detail = 0;
+    if (screenwidth < 0)
+        screenwidth = 640;
+    if (screenheight < 0)
+        screenheight = 480;
 
     return true;
 }