1 /* 2 * IceBreaker 3 * Copyright (c) 2000-2002 Matthew Miller <mattdm@mattdm.org> and 4 * Enrico Tassi <gareuselesinge@infinito.it> 5 * 6 * <http://www.mattdm.org/icebreaker/> 7 * 8 * This program is free software; you can redistribute it and/or modify it 9 * under the terms of the GNU General Public License as published by the Free 10 * Software Foundation; either version 2 of the License, or (at your option) 11 * any later version. 12 * 13 * This program is distributed in the hope that it will be useful, but 14 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 * for more details. 17 * 18 * You should have received a copy of the GNU General Public License along 19 * with this program; if not, write to the Free Software Foundation, Inc., 59 20 * Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 */ 23 24 #ifndef OPTIONS_H 25 #define OPTIONS_H 26 27 typedef enum { SOUNDON,SOUNDOFF } SoundSettingType; 28 typedef enum { AUTOPAUSEON,AUTOPAUSEOFF } AutoPauseType; 29 typedef enum { NORMAL, EASY, HARD } GameDifficultyType; 30 typedef enum { FULLSCREENOFF, FULLSCREENON, FULLSCREENALWAYS, FULLSCREENUNKNOWN } FullscreenSettingType; 31 32 typedef struct 33 { 34 SoundSettingType sound; 35 AutoPauseType autopause; 36 GameDifficultyType difficulty; 37 FullscreenSettingType fullscreen; 38 char theme[MAXTHEMENAMELENGTH+1]; // +1 for \0 39 } GameOptionsType; 40 41 typedef struct 42 { 43 int isfullscreen; 44 int benchmarkmode; 45 int soundsystemworks; 46 int themechanged; 47 } GameFlagsType; 48 49 extern GameOptionsType options; 50 extern GameOptionsType commandline; 51 52 extern GameFlagsType gameflags; 53 54 void setdefaultoptions(void); 55 extern int readoptions(void); 56 extern int writeoptions(void); 57 58 extern int parsecommandline(int argc, char** argv); 59 60 #endif /* OPTIONS_H */ 61