// $Id: pingus_options.hpp 3231 2007-09-22 15:46:31Z grumbel $ // // Pingus - A free Lemmings clone // Copyright (C) 2007 Ingo Ruhnke // // This program 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. #ifndef HEADER_OPTIONS_HPP #define HEADER_OPTIONS_HPP #include #include "math/size.hpp" #include "pathname.hpp" template class Value { private: T value; bool valid; public: Value() : value(T()), valid(false) {} Value(const T& v) : value(v), valid(true) {} const T& get() const { return value; } void set(const T& v) { value = v; valid = true; } bool is_set() const { return valid; } }; struct PingusOptions { Value rest; // Modes Value list_languages; Value editor; Value credits; Value font; // Display Value fullscreen; Value resize; Value swcursor; Value geometry; // Sound Value disable_sound; Value disable_music; // Misc Value language; Value datadir; Value auto_scrolling; Value no_config_file; Value config_file; Value controller; Value maintainer_mode; Value debug; Value min_frame_skip; Value max_frame_skip; Value speed; Value tile_size; Value fast_mode; }; #endif /* EOF */