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