]> Shamusworld >> Repos - stargem2/blob - src/settings.h
Converted to SDL 2, added fullscreen support (F12 to toggle).
[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 <stdint.h>
16
17 enum { S_KEY_FIRE = 0, S_KEY_THRUST, S_KEY_SMARTBOMB, S_KEY_HYPERSPACE, S_KEY_REVERSE,
18         S_KEY_UP, S_KEY_DOWN, S_KEY_INVISO, S_KEY_1P_START, S_KEY_2P_START, S_KEY_LEFT_COIN,
19         S_KEY_CENTER_COIN, S_KEY_RIGHT_COIN, S_KEY_AUTO_UP, S_KEY_ADVANCE, S_KEY_HS_RESET,
20         S_KEY_SLAM_SWITCH };
21
22 // Settings struct
23
24 struct Settings
25 {
26         bool useJoystick;
27         int32_t joyport;                                                                // Joystick port
28         bool hardwareTypeNTSC;                                          // Set to false for PAL
29         bool fullscreen;
30         bool useOpenGL;
31         uint32_t glFilter;
32         uint32_t frameSkip;
33         uint32_t renderType;
34         bool autoStateSaving;                                           // Auto-state loading/saving on entry/exit
35
36         // Keybindings in order of fire, thrust, smartbomb, hyperspace, reverse, up, down, inviso,
37         // 1 player start, 2 player start, left coin, center coin, right coin, auto up, advance,
38         // high score reset, slam switch
39
40         uint16_t keyBindings[21];
41
42         // Paths
43
44         char BIOSPath[MAX_PATH];
45         char disksPath[MAX_PATH];
46         char diskImagePath1[MAX_PATH];
47         char diskImagePath2[MAX_PATH];
48         char autoStatePath[MAX_PATH];
49 };
50
51 // Render types
52
53 //enum { RT_NORMAL = 0, RT_TV = 1 };
54
55 // Exported functions
56
57 void LoadSettings(void);
58 void SaveSettings(void);
59
60 // Exported variables
61
62 extern Settings settings;
63
64 #endif  // __SETTINGS_H__
65