2 * Copyright (C) 2003 Robert Kooima
4 * NEVERBALL is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published
6 * by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
22 /*---------------------------------------------------------------------------*/
24 #define CONFIG_DATA "./data"
25 #define CONFIG_LOCALE "./locale"
26 #define CONFIG_USER ".neverball"
29 * Global settings are stored in USER_CONFIG_FILE. Replays are stored
30 * in USER_REPLAY_FILE. These files are placed in the user's home
31 * directory as given by the HOME environment var. If the config file
32 * is deleted, it will be recreated using the defaults.
34 #define USER_CONFIG_FILE "neverballrc"
35 #define USER_REPLAY_FILE _("Last")
38 /*---------------------------------------------------------------------------*/
40 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
41 #define RMASK 0xFF000000
42 #define GMASK 0x00FF0000
43 #define BMASK 0x0000FF00
44 #define AMASK 0x000000FF
46 #define RMASK 0x000000FF
47 #define GMASK 0x0000FF00
48 #define BMASK 0x00FF0000
49 #define AMASK 0xFF000000
60 #define AUDIO_BUFF_HI 2048
61 #define AUDIO_BUFF_LO 1024
63 /*---------------------------------------------------------------------------*/
85 CONFIG_JOYSTICK_DEVICE,
86 CONFIG_JOYSTICK_AXIS_X,
87 CONFIG_JOYSTICK_AXIS_Y,
88 CONFIG_JOYSTICK_BUTTON_A,
89 CONFIG_JOYSTICK_BUTTON_B,
90 CONFIG_JOYSTICK_BUTTON_R,
91 CONFIG_JOYSTICK_BUTTON_L,
92 CONFIG_JOYSTICK_BUTTON_EXIT,
93 CONFIG_JOYSTICK_CAMERA_1,
94 CONFIG_JOYSTICK_CAMERA_2,
95 CONFIG_JOYSTICK_CAMERA_3,
111 CONFIG_OPTION_D_COUNT
120 CONFIG_OPTION_S_COUNT
123 /*---------------------------------------------------------------------------*/
125 #define DEFAULT_FULLSCREEN 0
126 #define DEFAULT_WIDTH 800
127 #define DEFAULT_HEIGHT 600
128 #define DEFAULT_STEREO 0
129 #define DEFAULT_CAMERA 0
130 #define DEFAULT_TEXTURES 1
131 #define DEFAULT_GEOMETRY 1
132 #define DEFAULT_REFLECTION 1
133 #define DEFAULT_BACKGROUND 1
134 #define DEFAULT_SHADOW 1
135 #define DEFAULT_AUDIO_RATE 44100
136 #define DEFAULT_AUDIO_BUFF AUDIO_BUFF_HI
137 #define DEFAULT_MOUSE_SENSE 300
138 #define DEFAULT_MOUSE_INVERT 0
139 #define DEFAULT_NICE 1
140 #define DEFAULT_FPS 0
141 #define DEFAULT_SOUND_VOLUME 10
142 #define DEFAULT_MUSIC_VOLUME 6
143 #define DEFAULT_JOYSTICK 0
144 #define DEFAULT_JOYSTICK_DEVICE 0
145 #define DEFAULT_JOYSTICK_AXIS_X 0
146 #define DEFAULT_JOYSTICK_AXIS_Y 1
147 #define DEFAULT_JOYSTICK_BUTTON_A 0
148 #define DEFAULT_JOYSTICK_BUTTON_B 1
149 #define DEFAULT_JOYSTICK_BUTTON_R 2
150 #define DEFAULT_JOYSTICK_BUTTON_L 3
151 #define DEFAULT_JOYSTICK_BUTTON_EXIT 4
152 #define DEFAULT_JOYSTICK_CAMERA_1 5
153 #define DEFAULT_JOYSTICK_CAMERA_2 6
154 #define DEFAULT_JOYSTICK_CAMERA_3 7
155 #define DEFAULT_KEY_CAMERA_1 SDLK_F1
156 #define DEFAULT_KEY_CAMERA_2 SDLK_F2
157 #define DEFAULT_KEY_CAMERA_3 SDLK_F3
158 #define DEFAULT_KEY_CAMERA_R SDLK_RIGHT
159 #define DEFAULT_KEY_CAMERA_L SDLK_LEFT
160 #define DEFAULT_VIEW_FOV 50
161 #define DEFAULT_VIEW_DP 75
162 #define DEFAULT_VIEW_DC 25
163 #define DEFAULT_VIEW_DZ 200
164 #define DEFAULT_ROTATE_SLOW 100
165 #define DEFAULT_ROTATE_FAST 200
166 #define DEFAULT_LAST_SET 0
167 #define DEFAULT_MODE 1
168 #define DEFAULT_CHEAT 0
169 #define DEFAULT_PLAYER ""
170 #define DEFAULT_BALL "png/ball.png"
171 #define DEFAULT_COIN _("png/coin.png")
172 #define DEFAULT_LANG ""
174 /*---------------------------------------------------------------------------*/
176 #define JOY_MAX 32767
177 #define JOY_MID 16383
183 #define GUI_FACE _("ttf/DejaVuSans-Bold.ttf")
185 /*---------------------------------------------------------------------------*/
187 void config_init(void);
188 void config_load(void);
189 void config_save(void);
190 int config_mode(int, int, int);
192 const char *config_data(const char *);
193 const char *config_user(const char *);
195 int config_data_path(const char *, const char *);
196 int config_user_path(const char *);
198 /*---------------------------------------------------------------------------*/
200 void config_set_d(int, int);
201 void config_tgl_d(int);
202 int config_tst_d(int, int);
203 int config_get_d(int);
205 void config_set_s(int, const char *);
206 void config_get_s(int, char *, int);
207 const char * config_simple_get_s(int i);
210 /*---------------------------------------------------------------------------*/
212 void config_set_grab(void);
213 void config_clr_grab(void);
214 int config_get_grab(void);
216 int config_get_pause(void);
217 void config_set_pause(void);
218 void config_clr_pause(void);
219 void config_tgl_pause(void);
221 /*---------------------------------------------------------------------------*/
223 void config_push_persp(float, float, float);
224 void config_push_ortho(void);
225 void config_pop_matrix(void);
226 void config_clear(void);
228 /*---------------------------------------------------------------------------*/