X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgameconfig.cpp;h=eedc884b9b68f35a636569479621a574f5d6427b;hb=c174dfb2a675b039e915e01549950c7a5b554492;hp=06362dcac594e71b3e2b84d9ab26837eb4bde23c;hpb=2f9e19ce4e01dc769ae7b2a7129109e0e81a6b5b;p=supertux.git diff --git a/src/gameconfig.cpp b/src/gameconfig.cpp index 06362dcac..eedc884b9 100644 --- a/src/gameconfig.cpp +++ b/src/gameconfig.cpp @@ -1,7 +1,7 @@ -// $Id: configfile.cpp 2212 2004-11-28 14:57:45Z matzebraun $ +// $Id$ // // SuperTux - A Jump'n Run -// Copyright (C) 2004 Michael George +// Copyright (C) 2006 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -20,7 +20,7 @@ #include "gameconfig.hpp" -#include +#include #include #include @@ -39,11 +39,14 @@ Config::Config() show_fps = false; sound_enabled = true; music_enabled = true; - cheats_enabled = false; + console_enabled = false; + random_seed = 0; // set by time(), by default (unless in config) screenwidth = 800; screenheight = 600; - use_gl = true; + aspect_ratio = -1; // autodetect + + enable_script_debugger = false; } Config::~Config() @@ -53,20 +56,22 @@ void Config::load() { lisp::Parser parser; - std::auto_ptr root (parser.parse("config")); + const lisp::Lisp* root = parser.parse("config"); const lisp::Lisp* config_lisp = root->get_lisp("supertux-config"); if(!config_lisp) throw std::runtime_error("File is not a supertux-config file"); config_lisp->get("show_fps", show_fps); - config_lisp->get("cheats", cheats_enabled); + config_lisp->get("console", console_enabled); + config_lisp->get("random_seed", random_seed); const lisp::Lisp* config_video_lisp = config_lisp->get_lisp("video"); if(config_video_lisp) { config_video_lisp->get("fullscreen", use_fullscreen); config_video_lisp->get("width", screenwidth); config_video_lisp->get("height", screenheight); + config_video_lisp->get("aspect_ratio", aspect_ratio); } const lisp::Lisp* config_audio_lisp = config_lisp->get_lisp("audio"); @@ -89,12 +94,13 @@ Config::save() writer.start_list("supertux-config"); writer.write_bool("show_fps", show_fps); - writer.write_bool("cheats", cheats_enabled); + writer.write_bool("console", console_enabled); writer.start_list("video"); writer.write_bool("fullscreen", use_fullscreen); writer.write_int("width", screenwidth); writer.write_int("height", screenheight); + writer.write_float("aspect_ratio", aspect_ratio); writer.end_list("video"); writer.start_list("audio"); @@ -107,6 +113,6 @@ Config::save() main_controller->write(writer); writer.end_list("control"); } - + writer.end_list("supertux-config"); }