1 
2 #ifndef _CONFIG_H_
3 #define _CONFIG_H_
4 
5 #include <pwd.h>
6 
7 /****************************************************************************
8  * Config Option
9  *
10  ****************************************************************************/
11 
12 enum {A = 0, B, C, X, Y, Z, START, MODE};
13 
14 typedef struct
15 {
16   uint8 padtype;
17 } t_input_config;
18 
19 typedef struct
20 {
21   uint8 hq_fm;
22   uint8 filter;
23   uint8 hq_psg;
24   uint8 ym2612;
25   uint8 ym2413;
26   int16 psg_preamp;
27   int16 fm_preamp;
28   uint32 lp_range;
29   int16 low_freq;
30   int16 high_freq;
31   int16 lg;
32   int16 mg;
33   int16 hg;
34   uint8 mono;
35   uint8 system;
36   uint8 region_detect;
37   uint8 vdp_mode;
38   uint8 master_clock;
39   uint8 force_dtack;
40   uint8 addr_error;
41   uint8 bios;
42   uint8 lock_on;
43   uint8 hot_swap;
44   uint8 invert_mouse;
45   uint8 gun_cursor[2];
46   uint8 overscan;
47   uint8 gg_extra;
48   uint8 ntsc;
49   uint8 lcd;
50   uint8 render;
51   t_input_config input[MAX_INPUTS];
52   uint8 gcw0_fullscreen;
53   uint8 gcw0_frameskip;
54   uint8 keepaspectratio;
55   uint8 gg_scanlines;
56   uint8 smsmaskleftbar;
57   uint8 sl_autoresume;
58   uint8 lightgun_speed;
59   uint8 a_stick;
60   uint8 cursor;
61   SDLKey buttons[8];
62   //SDLKey button_a;
63   //SDLKey button_b;
64   //SDLKey button_c;
65   //SDLKey button_x;
66   //SDLKey button_y;
67   //SDLKey button_z;
68   //SDLKey button_start;
69   //SDLKey button_mode;
70 } t_config;
71 
72 /* Global variables */
73 extern t_config config;
74 extern void config_save(void);
75 extern void set_config_defaults(void);
76 
77 #endif /* _CONFIG_H_ */
78 
79