- if ( ipstream.eof() || ipstream.fail() ) {
- fprintf(stderr, "Error reading config file: Got setting name '%s', but value can't be read\n", setting);
- ipstream.close();
- return false;
- }
-
-
- if ( !strncmp(setting, "Screenwidth", 11) ) {
- ipstream >> kContextWidth;
- } else if ( !strncmp(setting, "Screenheight", 12) ) {
- ipstream >> kContextHeight;
- } else if ( !strncmp(setting, "Mouse sensitivity", 17) ) {
- ipstream >> usermousesensitivity;
- } else if ( !strncmp(setting, "Blur", 4) ) {
- 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 >> mousejump;
- } else if ( !strncmp(setting, "Ambient sound", 13) ) {
- ipstream >> ambientsound;
- } else if ( !strncmp(setting, "Blood ", 6) ) {
- ipstream >> bloodtoggle;
- } else if ( !strncmp(setting, "Auto slomo", 10) ) {
- ipstream >> autoslomo;
- } else if ( !strncmp(setting, "Foliage", 7) ) {
- ipstream >> foliage;
- } else if ( !strncmp(setting, "Music", 5) ) {
- ipstream >> musictoggle;
- } else if ( !strncmp(setting, "Trilinear", 9) ) {
- ipstream >> trilinear;
- } else if ( !strncmp(setting, "Decals", 6) ) {
- ipstream >> decals;
- } else if ( !strncmp(setting, "Invert mouse", 12) ) {
- ipstream >> invertmouse;
- } else if ( !strncmp(setting, "Gamespeed", 9) ) {
- ipstream >> gamespeed;
- oldgamespeed=gamespeed;
- if(oldgamespeed==0){
- gamespeed=1;
- oldgamespeed=1;
- }
- } else if ( !strncmp(setting, "Difficulty", 10) ) {
- ipstream >> difficulty;
- } else if ( !strncmp(setting, "Damage effects", 14) ) {
- 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, "Show Points", 11) ) {
- ipstream >> showpoints;
- } else if ( !strncmp(setting, "Always Blur", 11) ) {
- ipstream >> alwaysblur;
- } else if ( !strncmp(setting, "Immediate mode ", 15) ) {
- ipstream >> immediate;
- } else if ( !strncmp(setting, "Velocity blur", 13) ) {
- ipstream >> velocityblur;
- } else if ( !strncmp(setting, "Volume", 6) ) {
- ipstream >> volume;
- } else if ( !strncmp(setting, "Forward key", 11) ) {
- ipstream.getline( string, sizeof(string) );
- forwardkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Back key", 8) ) {
- ipstream.getline( string, sizeof(string) );
- backkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Left key", 8) ) {
- ipstream.getline( string, sizeof(string) );
- leftkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Right key", 9) ) {
- ipstream.getline( string, sizeof(string) );
- rightkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Jump key", 8) ) {
- ipstream.getline( string, sizeof(string) );
- jumpkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Crouch key", 10) ) {
- ipstream.getline( string, sizeof(string) );
- crouchkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Draw key", 8) ) {
- ipstream.getline( string, sizeof(string) );
- drawkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Throw key", 9) ) {
- ipstream.getline( string, sizeof(string) );
- throwkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Attack key", 10) ) {
- ipstream.getline( string, sizeof(string) );
- attackkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Console key", 11) ) {
- ipstream.getline( string, sizeof(string) );
- consolekey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Chat key", 8) ) {
- ipstream.getline( string, sizeof(string) );
- chatkey = Input::CharToKey(string);
- } else if ( !strncmp(setting, "Damage bar", 10) ) {
- ipstream >> showdamagebar;
- } else if ( !strncmp(setting, "StereoMode", 10) ) {
- int i;
- ipstream >> i;
- stereomode = (StereoMode)i;
- } else if ( !strncmp(setting, "StereoSeparation", 16) ) {
- ipstream >> stereoseparation;
- } else if ( !strncmp(setting, "StereoReverse", 13) ) {
- ipstream >> stereoreverse;
- } else {
- ipstream >> string;
- fprintf(stderr, "Unknown config option '%s' with value '%s'. Ignoring.\n", setting, string);
- }
-
- if ( ipstream.fail() ) {
- fprintf(stderr, "Error reading config file: EOF reached when trying to read value for setting '%s'.\n", setting);
- ipstream.close();
- return false;
- }
-
- if ( ipstream.bad() ) {
- fprintf(stderr, "Error reading config file: Failed to read value for setting '%s'.\n", setting);
- ipstream.close();
- return false;
- }
- }
-
- ipstream.close();
-
- if(detail>2)detail=2;
- if(detail<0)detail=0;
- if(screenwidth<0)screenwidth=640;
- if(screenheight<0)screenheight=480;
-
- return true;