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.
20 * 1- some global config methods (stored in a config file)
21 * 2- some SDL based functions
23 * If you're looking for constants, you should also see base_config.h
27 #include "base_config.h"
29 /*---------------------------------------------------------------------------*/
51 CONFIG_JOYSTICK_DEVICE,
52 CONFIG_JOYSTICK_AXIS_X,
53 CONFIG_JOYSTICK_AXIS_Y,
54 CONFIG_JOYSTICK_BUTTON_A,
55 CONFIG_JOYSTICK_BUTTON_B,
56 CONFIG_JOYSTICK_BUTTON_R,
57 CONFIG_JOYSTICK_BUTTON_L,
58 CONFIG_JOYSTICK_BUTTON_EXIT,
59 CONFIG_JOYSTICK_CAMERA_1,
60 CONFIG_JOYSTICK_CAMERA_2,
61 CONFIG_JOYSTICK_CAMERA_3,
88 /*---------------------------------------------------------------------------*/
90 #define DEFAULT_FULLSCREEN 0
91 #define DEFAULT_WIDTH 800
92 #define DEFAULT_HEIGHT 600
93 #define DEFAULT_STEREO 0
94 #define DEFAULT_CAMERA 0
95 #define DEFAULT_TEXTURES 1
96 #define DEFAULT_GEOMETRY 1
97 #define DEFAULT_REFLECTION 1
98 #define DEFAULT_BACKGROUND 1
99 #define DEFAULT_SHADOW 1
100 #define DEFAULT_AUDIO_RATE 44100
101 #define DEFAULT_AUDIO_BUFF AUDIO_BUFF_HI
102 #define DEFAULT_MOUSE_SENSE 300
103 #define DEFAULT_MOUSE_INVERT 0
104 #define DEFAULT_NICE 1
105 #define DEFAULT_FPS 0
106 #define DEFAULT_SOUND_VOLUME 10
107 #define DEFAULT_MUSIC_VOLUME 6
108 #define DEFAULT_JOYSTICK 0
109 #define DEFAULT_JOYSTICK_DEVICE 0
110 #define DEFAULT_JOYSTICK_AXIS_X 0
111 #define DEFAULT_JOYSTICK_AXIS_Y 1
112 #define DEFAULT_JOYSTICK_BUTTON_A 0
113 #define DEFAULT_JOYSTICK_BUTTON_B 1
114 #define DEFAULT_JOYSTICK_BUTTON_R 2
115 #define DEFAULT_JOYSTICK_BUTTON_L 3
116 #define DEFAULT_JOYSTICK_BUTTON_EXIT 4
117 #define DEFAULT_JOYSTICK_CAMERA_1 5
118 #define DEFAULT_JOYSTICK_CAMERA_2 6
119 #define DEFAULT_JOYSTICK_CAMERA_3 7
120 #define DEFAULT_KEY_CAMERA_1 SDLK_F1
121 #define DEFAULT_KEY_CAMERA_2 SDLK_F2
122 #define DEFAULT_KEY_CAMERA_3 SDLK_F3
123 #define DEFAULT_KEY_CAMERA_R SDLK_RIGHT
124 #define DEFAULT_KEY_CAMERA_L SDLK_LEFT
125 #define DEFAULT_VIEW_FOV 50
126 #define DEFAULT_VIEW_DP 75
127 #define DEFAULT_VIEW_DC 25
128 #define DEFAULT_VIEW_DZ 200
129 #define DEFAULT_ROTATE_SLOW 100
130 #define DEFAULT_ROTATE_FAST 200
131 #define DEFAULT_MODE 1
132 #define DEFAULT_CHEAT 0
133 #define DEFAULT_PLAYER ""
134 #define DEFAULT_BALL "png/ball.png"
135 #define DEFAULT_BALL_BONUS "png/ball-bonus.png"
136 #define DEFAULT_LANG ""
138 /*---------------------------------------------------------------------------*/
140 void config_init(void);
141 void config_load(void);
142 void config_save(void);
143 int config_mode(int, int, int);
145 /*---------------------------------------------------------------------------*/
147 void config_set_d(int, int);
148 void config_tgl_d(int);
149 int config_tst_d(int, int);
150 int config_get_d(int);
152 void config_set_s(int, const char *);
153 void config_get_s(int, char *, int);
154 const char *config_simple_get_s(int i);
157 /*---------------------------------------------------------------------------*/
159 void config_set_grab(void);
160 void config_clr_grab(void);
161 int config_get_grab(void);
163 int config_get_pause(void);
164 void config_set_pause(void);
165 void config_clr_pause(void);
166 void config_tgl_pause(void);
168 /*---------------------------------------------------------------------------*/
170 void config_push_persp(float, float, float);
171 void config_push_ortho(void);
172 void config_pop_matrix(void);
173 void config_clear(void);
175 /*---------------------------------------------------------------------------*/