]> Shamusworld >> Repos - virtualjaguar/blob - src/settings.h
Removed some cruft and nonstandard int/uint types, added M series BIOS.
[virtualjaguar] / 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 // Settings struct
18
19 struct VJSettings
20 {
21         bool useJoystick;
22         int32_t joyport;                                                                // Joystick port
23         bool hardwareTypeNTSC;                                          // Set to false for PAL
24         bool useJaguarBIOS;
25         bool GPUEnabled;
26         bool DSPEnabled;
27         bool usePipelinedDSP;
28         bool fullscreen;
29         bool useOpenGL;
30         uint32_t glFilter;
31         bool hardwareTypeAlpine;
32         bool audioEnabled;
33         uint32_t frameSkip;
34         uint32_t renderType;
35         bool allowWritesToROM;
36         uint32_t biosType;
37
38         // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *
39
40         uint32_t p1KeyBindings[21];
41         uint32_t p2KeyBindings[21];
42
43         // Paths
44
45         char ROMPath[MAX_PATH];
46         char jagBootPath[MAX_PATH];
47         char CDBootPath[MAX_PATH];
48         char EEPROMPath[MAX_PATH];
49         char alpineROMPath[MAX_PATH];
50         char absROMPath[MAX_PATH];
51 };
52
53 // Render types
54
55 enum { RT_NORMAL = 0, RT_TV = 1 };
56
57 // BIOS types
58
59 enum { BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };
60
61 // Exported functions
62
63 //void LoadVJSettings(void);
64 //void SaveVJSettings(void);
65
66 // Exported variables
67
68 extern VJSettings vjs;
69
70 #endif  // __SETTINGS_H__