]> git.jsancho.org Git - lugaru.git/blobdiff - Source/GameTick.cpp
Rewrite config file system, remove duplicate config writing code, make a better confi...
[lugaru.git] / Source / GameTick.cpp
index e9ccddaf0ccdc87415e6ee0e4412c271828b557d..57d7722c70cb4e141074172765dfa2c16cff07d2 100644 (file)
@@ -30,6 +30,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include <ctime>
 #include "Game.h"
 #include "openal_wrapper.h"
+#include "Settings.h"
 
 using namespace std;
 
@@ -2750,81 +2751,7 @@ void     Game::Tick()
                                if(newscreenwidth<0)newscreenwidth=screenwidth;
                                if(newscreenheight<0)newscreenheight=screenheight;
 
-                               ofstream opstream(ConvertFileName(":Data:config.txt", "w"));
-                               opstream << "Screenwidth:\n";
-                               opstream << newscreenwidth;
-                               opstream << "\nScreenheight:\n";
-                               opstream << newscreenheight;
-                               opstream << "\nMouse sensitivity:\n";
-                               opstream << usermousesensitivity;
-                               opstream << "\nBlur(0,1):\n";
-                               opstream << ismotionblur;
-                               opstream << "\nOverall Detail(0,1,2) higher=better:\n";
-                               opstream << newdetail;
-                               opstream << "\nFloating jump:\n";
-                               opstream << floatjump;
-                               opstream << "\nMouse jump:\n";
-                               opstream << mousejump;
-                               opstream << "\nAmbient sound:\n";
-                               opstream << ambientsound;
-                               opstream << "\nBlood (0,1,2):\n";
-                               opstream << bloodtoggle;
-                               opstream << "\nAuto slomo:\n";
-                               opstream << autoslomo;
-                               opstream << "\nFoliage:\n";
-                               opstream << foliage;
-                               opstream << "\nMusic:\n";
-                               opstream << musictoggle;
-                               opstream << "\nTrilinear:\n";
-                               opstream << trilinear;
-                               opstream << "\nDecals(shadows,blood puddles,etc):\n";
-                               opstream << decals;
-                               opstream << "\nInvert mouse:\n";
-                               opstream << invertmouse;
-                               opstream << "\nGamespeed:\n";
-                               if(oldgamespeed==0)oldgamespeed=1;
-                               opstream << oldgamespeed;
-                               opstream << "\nDifficulty(0,1,2) higher=harder:\n";
-                               opstream << difficulty;
-                               opstream << "\nDamage effects(blackout, doublevision):\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 << alwaysblur;
-                               opstream << "\nImmediate mode (turn on on G5):\n";
-                               opstream << immediate;
-                               opstream << "\nVelocity blur:\n";
-                               opstream << velocityblur;
-                           opstream << "\nVolume:\n";
-                       opstream << volume;
-                               opstream << "\nForward key:\n";
-                               opstream << KeyToChar(forwardkey);
-                               opstream << "\nBack key:\n";
-                               opstream << KeyToChar(backkey);
-                               opstream << "\nLeft key:\n";
-                               opstream << KeyToChar(leftkey);
-                               opstream << "\nRight key:\n";
-                               opstream << KeyToChar(rightkey);
-                               opstream << "\nJump key:\n";
-                               opstream << KeyToChar(jumpkey);
-                               opstream << "\nCrouch key:\n";
-                               opstream << KeyToChar(crouchkey);
-                               opstream << "\nDraw key:\n";
-                               opstream << KeyToChar(drawkey);
-                               opstream << "\nThrow key:\n";
-                               opstream << KeyToChar(throwkey);
-                               opstream << "\nAttack key:\n";
-                               opstream << KeyToChar(attackkey);
-                               opstream << "\nChat key:\n";
-                               opstream << KeyToChar(chatkey);
-                               opstream.close();
+                               SaveSettings(*this);
                        }
                        if(mainmenu==4||mainmenu==5||mainmenu==6||mainmenu==7||mainmenu==9||mainmenu==13||mainmenu==10||mainmenu==11||mainmenu==100){
                                float gLoc[3]={0,0,0};
@@ -3145,82 +3072,7 @@ void     Game::Tick()
                                if(newscreenheight<0)newscreenheight=screenheight;
 
 
-                               ofstream opstream(ConvertFileName(":Data:config.txt", "w"));
-                               opstream << "Screenwidth:\n";
-                               opstream << newscreenwidth;
-                               opstream << "\nScreenheight:\n";
-                               opstream << newscreenheight;
-                               opstream << "\nMouse sensitivity:\n";
-                               opstream << usermousesensitivity;
-                               opstream << "\nBlur(0,1):\n";
-                               opstream << ismotionblur;
-                               opstream << "\nOverall Detail(0,1,2) higher=better:\n";
-                               opstream << newdetail;
-                               opstream << "\nFloating jump:\n";
-                               opstream << floatjump;
-                               opstream << "\nMouse jump:\n";
-                               opstream << mousejump;
-                               opstream << "\nAmbient sound:\n";
-                               opstream << ambientsound;
-                               opstream << "\nBlood (0,1,2):\n";
-                               opstream << bloodtoggle;
-                               opstream << "\nAuto slomo:\n";
-                               opstream << autoslomo;
-                               opstream << "\nFoliage:\n";
-                               opstream << foliage;
-                               opstream << "\nMusic:\n";
-                               opstream << musictoggle;
-                               opstream << "\nTrilinear:\n";
-                               opstream << trilinear;
-                               opstream << "\nDecals(shadows,blood puddles,etc):\n";
-                               opstream << decals;
-                               opstream << "\nInvert mouse:\n";
-                               opstream << invertmouse;
-                               opstream << "\nGamespeed:\n";
-                               if(oldgamespeed==0)oldgamespeed=1;
-                               opstream << oldgamespeed;
-                               opstream << "\nDifficulty(0,1,2) higher=harder:\n";
-                               opstream << difficulty;
-                               opstream << "\nDamage effects(blackout, doublevision):\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 << alwaysblur;
-                               opstream << "\nImmediate mode (turn on on G5):\n";
-                               opstream << immediate;
-                               opstream << "\nVelocity blur:\n";
-                               opstream << velocityblur;
-                           opstream << "\nVolume:\n";
-                       opstream << volume;
-                               opstream << "\nForward key:\n";
-                               opstream << KeyToChar(forwardkey);
-                               opstream << "\nBack key:\n";
-                               opstream << KeyToChar(backkey);
-                               opstream << "\nLeft key:\n";
-                               opstream << KeyToChar(leftkey);
-                               opstream << "\nRight key:\n";
-                               opstream << KeyToChar(rightkey);
-                               opstream << "\nJump key:\n";
-                               opstream << KeyToChar(jumpkey);
-                               opstream << "\nCrouch key:\n";
-                               opstream << KeyToChar(crouchkey);
-                               opstream << "\nDraw key:\n";
-                               opstream << KeyToChar(drawkey);
-                               opstream << "\nThrow key:\n";
-                               opstream << KeyToChar(throwkey);
-                               opstream << "\nAttack key:\n";
-                               opstream << KeyToChar(attackkey);
-                               opstream << "\nChat key:\n";
-                               opstream << KeyToChar(chatkey);
-                               opstream.close();
-
+                               SaveSettings(*this);
                                if(mainmenu==3&&gameon)mainmenu=2;
                                if(mainmenu==3&&!gameon)mainmenu=1;
                        }
@@ -3773,81 +3625,7 @@ void     Game::Tick()
                                if(newscreenwidth<0)newscreenwidth=screenwidth;
                                if(newscreenheight<0)newscreenheight=screenheight;
 
-                               ofstream opstream(ConvertFileName(":Data:config.txt", "w"));
-                               opstream << "Screenwidth:\n";
-                               opstream << newscreenwidth;
-                               opstream << "\nScreenheight:\n";
-                               opstream << newscreenheight;
-                               opstream << "\nMouse sensitivity:\n";
-                               opstream << usermousesensitivity;
-                               opstream << "\nBlur(0,1):\n";
-                               opstream << ismotionblur;
-                               opstream << "\nOverall Detail(0,1,2) higher=better:\n";
-                               opstream << newdetail;
-                               opstream << "\nFloating jump:\n";
-                               opstream << floatjump;
-                               opstream << "\nMouse jump:\n";
-                               opstream << mousejump;
-                               opstream << "\nAmbient sound:\n";
-                               opstream << ambientsound;
-                               opstream << "\nBlood (0,1,2):\n";
-                               opstream << bloodtoggle;
-                               opstream << "\nAuto slomo:\n";
-                               opstream << autoslomo;
-                               opstream << "\nFoliage:\n";
-                               opstream << foliage;
-                               opstream << "\nMusic:\n";
-                               opstream << musictoggle;
-                               opstream << "\nTrilinear:\n";
-                               opstream << trilinear;
-                               opstream << "\nDecals(shadows,blood puddles,etc):\n";
-                               opstream << decals;
-                               opstream << "\nInvert mouse:\n";
-                               opstream << invertmouse;
-                               opstream << "\nGamespeed:\n";
-                               if(oldgamespeed==0)oldgamespeed=1;
-                               opstream << oldgamespeed;
-                               opstream << "\nDifficulty(0,1,2) higher=harder:\n";
-                               opstream << difficulty;
-                               opstream << "\nDamage effects(blackout, doublevision):\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 << alwaysblur;
-                               opstream << "\nImmediate mode (turn on on G5):\n";
-                               opstream << immediate;
-                               opstream << "\nVelocity blur:\n";
-                               opstream << velocityblur;
-                           opstream << "\nVolume:\n";
-                       opstream << volume;
-                               opstream << "\nForward key:\n";
-                               opstream << KeyToChar(forwardkey);
-                               opstream << "\nBack key:\n";
-                               opstream << KeyToChar(backkey);
-                               opstream << "\nLeft key:\n";
-                               opstream << KeyToChar(leftkey);
-                               opstream << "\nRight key:\n";
-                               opstream << KeyToChar(rightkey);
-                               opstream << "\nJump key:\n";
-                               opstream << KeyToChar(jumpkey);
-                               opstream << "\nCrouch key:\n";
-                               opstream << KeyToChar(crouchkey);
-                               opstream << "\nDraw key:\n";
-                               opstream << KeyToChar(drawkey);
-                               opstream << "\nThrow key:\n";
-                               opstream << KeyToChar(throwkey);
-                               opstream << "\nAttack key:\n";
-                               opstream << KeyToChar(attackkey);
-                               opstream << "\nChat key:\n";
-                               opstream << KeyToChar(chatkey);
-                               opstream.close();
+                               SaveSettings(*this);
                        }
                }