Fix crash if Num_walls=0
[btb/d2x.git] / main / config.h
1 /* $Id: config.h,v 1.3 2004-08-28 23:17:45 schaffner Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * prototype definitions for descent.cfg reading/writing
18  *
19  */
20
21
22 #ifndef _CONFIG_H
23 #define _CONFIG_H
24
25 #include "player.h"
26
27 extern int ReadConfigFile(void);
28 extern int WriteConfigFile(void);
29
30 extern char config_last_player[CALLSIGN_LEN+1];
31
32 extern char config_last_mission[];
33
34 extern ubyte Config_digi_volume;
35 extern ubyte Config_midi_volume;
36 #ifdef MACINTOSH
37 typedef struct ConfigInfoStruct
38 {
39         ubyte   mDoNotDisplayOptions;
40         ubyte   mUse11kSounds;
41         ubyte   mDisableSound;
42         ubyte   mDisableMIDIMusic;
43         ubyte   mChangeResolution;
44         ubyte   mDoNotPlayMovies;
45         ubyte   mUserChoseQuit;
46         ubyte   mGameMonitor;
47         ubyte   mAcceleration;                          // allow RAVE level acceleration
48         ubyte   mInputSprockets;                        // allow use of Input Sprocket devices
49 } ConfigInfo;
50
51 extern ConfigInfo gConfigInfo;
52 extern ubyte Config_master_volume;
53 #endif
54 extern ubyte Config_redbook_volume;
55 extern ubyte Config_control_type;
56 extern ubyte Config_channels_reversed;
57 extern ubyte Config_joystick_sensitivity;
58
59 //values for Config_control_type
60 #define CONTROL_NONE 0
61 #define CONTROL_JOYSTICK 1
62 #define CONTROL_FLIGHTSTICK_PRO 2
63 #define CONTROL_THRUSTMASTER_FCS 3
64 #define CONTROL_GRAVIS_GAMEPAD 4
65 #define CONTROL_MOUSE 5
66 #define CONTROL_CYBERMAN 6
67 #define CONTROL_WINJOYSTICK 7
68
69 #define CONTROL_MAX_TYPES 8
70
71 #endif