]> Shamusworld >> Repos - stargem2/blob - src/settings.h
1fcca6132c4c8392b30a481dfccf6ac5c7861ef9
[stargem2] / src / settings.h
1 //
2 // SETTINGS.H: Header file
3 //
4
5 #ifndef __SETTINGS_H__
6 #define __SETTINGS_H__
7
8 // MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...
9 #ifdef __GCCUNIX__
10 #include <limits.h>
11 #define MAX_PATH                _POSIX_PATH_MAX
12 #else
13 #include <stdlib.h>                                                             // for MAX_PATH on MinGW/Darwin
14 #endif
15 #include "types.h"
16
17 // Settings struct
18
19 struct Settings
20 {
21         bool useJoystick;
22         int32 joyport;                                                          // Joystick port
23         bool hardwareTypeNTSC;                                          // Set to false for PAL
24         bool fullscreen;
25         bool useOpenGL;
26         uint32 glFilter;
27         uint32 frameSkip;
28         uint32 renderType;
29         bool autoStateSaving;                                           // Auto-state loading/saving on entry/exit
30         
31         // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *
32
33         uint16 p1KeyBindings[21];
34         uint16 p2KeyBindings[21];
35
36         // Paths
37
38         char BIOSPath[MAX_PATH];
39         char disksPath[MAX_PATH];
40         char diskImagePath1[MAX_PATH];
41         char diskImagePath2[MAX_PATH];
42         char autoStatePath[MAX_PATH];
43 //      char CDBootPath[MAX_PATH];
44 //      char EEPROMPath[MAX_PATH];
45 };
46
47 // Render types
48
49 //enum { RT_NORMAL = 0, RT_TV = 1 };
50
51 // Exported functions
52
53 void LoadSettings(void);
54 void SaveSettings(void);
55
56 // Exported variables
57
58 extern Settings settings;
59
60 #endif  // __SETTINGS_H__