Check potential non-existent global variables found in the DWARF information
[clinton/Virtual-Jaguar-Rx.git] / src / settings.h
CommitLineData
be44e757
JPM
1//\r
2// settings.h: Header file\r
3//\r
4// JPM = Jean-Paul Mari <djipi.mari@gmail.com>\r
5//\r
6// Who When What\r
7// --- ---------- ------------------------------------------------------------\r
8// JPM 06/19/2016 Soft debugger support\r
9//\r
10\r
11#ifndef __SETTINGS_H__\r
12#define __SETTINGS_H__\r
13\r
14// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...\r
15#ifdef __GCCUNIX__\r
16#include <limits.h>\r
17#define MAX_PATH _POSIX_PATH_MAX\r
18#else\r
19#include <stdlib.h> // for MAX_PATH on MinGW/Darwin\r
20// Kludge for Win64\r
21#ifndef MAX_PATH\r
22#define MAX_PATH _MAX_PATH // Urgh.\r
23#endif\r
24#endif\r
25#include <stdint.h>\r
26\r
27#define MaxMemory1BrowserWindow 4\r
28\r
29\r
30// List the erase settings possibilities\r
024bfc46 31enum\r
be44e757
JPM
32{\r
33 SETTINGS_NONE = 0,\r
34 SETTINGS_ALL,\r
35 SETTINGS_UI,\r
36 SETTINGS_ALPINE,\r
37 SETTINGS_DEBUGGER,\r
38 SETTINGS_END\r
39};\r
40\r
41\r
024bfc46
JPM
42// Key bindings settings structure\r
43struct KBSettings\r
44{\r
45 //char KBSettingName[100];\r
46 char KBSettingValue[100];\r
47 //char KBSettingDefaultValue[100];\r
48};\r
49\r
50\r
be44e757
JPM
51// functions declarations\r
52extern bool EraseSettings(char *Setting);\r
53\r
54\r
55// Settings struct\r
56struct VJSettings\r
57{\r
58 bool useJoystick;\r
59 int32_t joyport; // Joystick port\r
60 bool hardwareTypeNTSC; // Set to false for PAL, otherwise it is NTSC\r
bc10fc42
JPM
61 bool useJaguarBIOS; // Use of any Jaguar BIOS\r
62 bool useRetailBIOS; // Use of Retail BIOS\r
63 bool useDevBIOS; // Use of Development BIOS\r
be44e757
JPM
64 bool GPUEnabled;\r
65 bool DSPEnabled;\r
66 bool usePipelinedDSP;\r
67 bool fullscreen;\r
024bfc46 68 bool useOpenGL; // OpenGL support (always 'true')\r
be44e757
JPM
69 uint32_t glFilter;\r
70 bool hardwareTypeAlpine; // Alpine mode\r
71 bool softTypeDebugger; // Soft type debugger mode\r
72 bool audioEnabled;\r
73 uint32_t frameSkip;\r
74 uint32_t renderType;\r
75 uint32_t refresh;\r
76 bool allowWritesToROM;\r
bc10fc42
JPM
77 uint32_t biosType; // Bios type used\r
78 uint32_t jaguarModel; // Jaguar model\r
be44e757
JPM
79 size_t nbrdisasmlines; // Number of lines to show in the M68K tracing window\r
80 bool disasmopcodes;\r
81 bool displayHWlabels;\r
82 bool useFastBlitter;\r
83 bool displayFullSourceFilename;\r
84 size_t nbrmemory1browserwindow; // Number of memory browser windows\r
85 size_t DRAM_size; // DRAM size\r
86\r
87 // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *\r
be44e757
JPM
88 uint32_t p1KeyBindings[21];\r
89 uint32_t p2KeyBindings[21];\r
90\r
024bfc46
JPM
91 // Keybindings\r
92 KBSettings KBContent[100];\r
be44e757 93\r
024bfc46 94 // Paths\r
be44e757
JPM
95 char ROMPath[MAX_PATH];\r
96 char jagBootPath[MAX_PATH];\r
97 char CDBootPath[MAX_PATH];\r
98 char EEPROMPath[MAX_PATH];\r
99 char alpineROMPath[MAX_PATH];\r
100 char debuggerROMPath[MAX_PATH];\r
101 char absROMPath[MAX_PATH];\r
25251f31 102 char screenshotPath[MAX_PATH];\r
be44e757
JPM
103};\r
104\r
105// Render types\r
be44e757
JPM
106enum { RT_NORMAL = 0, RT_TV = 1 };\r
107\r
bc10fc42
JPM
108// Jaguar models\r
109enum { JAG_NULL_SERIES, JAG_K_SERIES, JAG_M_SERIES };\r
110\r
be44e757 111// BIOS types\r
bc10fc42 112enum { BT_NULL, BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };\r
be44e757
JPM
113\r
114// Exported variables\r
be44e757
JPM
115extern VJSettings vjs;\r
116\r
117#endif // __SETTINGS_H__\r