-//
-// settings.h: Header file
-//
-// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
-//
-// Who When What
-// --- ---------- ------------------------------------------------------------
-// JPM 06/19/2016 Soft debugger support
-//
-
-#ifndef __SETTINGS_H__
-#define __SETTINGS_H__
-
-// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...
-#ifdef __GCCUNIX__
-#include <limits.h>
-#define MAX_PATH _POSIX_PATH_MAX
-#else
-#include <stdlib.h> // for MAX_PATH on MinGW/Darwin
-// Kludge for Win64
-#ifndef MAX_PATH
-#define MAX_PATH _MAX_PATH // Urgh.
-#endif
-#endif
-#include <stdint.h>
-
-#define MaxMemory1BrowserWindow 4
-
-// Settings struct
-struct VJSettings
-{
- bool useJoystick;
- int32_t joyport; // Joystick port
- bool hardwareTypeNTSC; // Set to false for PAL
- bool useJaguarBIOS;
- bool GPUEnabled;
- bool DSPEnabled;
- bool usePipelinedDSP;
- bool fullscreen;
- bool useOpenGL;
- uint32_t glFilter;
- bool hardwareTypeAlpine;
- bool softTypeDebugger; // Soft type debugger
- bool audioEnabled;
- uint32_t frameSkip;
- uint32_t renderType;
- uint32_t refresh;
- bool allowWritesToROM;
- uint32_t biosType;
- uint32_t nbrdisasmlines;
- bool disasmopcodes;
- bool displayHWlabels;
- bool useFastBlitter;
- bool displayFullSourceFilename;
- size_t nbrmemory1browserwindow; // Number of memory browser windows
- size_t DRAM_size; // DRAM size
-
- // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *
-
- uint32_t p1KeyBindings[21];
- uint32_t p2KeyBindings[21];
-
- // Paths
-
- char ROMPath[MAX_PATH];
- char jagBootPath[MAX_PATH];
- char CDBootPath[MAX_PATH];
- char EEPROMPath[MAX_PATH];
- char alpineROMPath[MAX_PATH];
- char debuggerROMPath[MAX_PATH];
- char absROMPath[MAX_PATH];
-};
-
-// Render types
-
-enum { RT_NORMAL = 0, RT_TV = 1 };
-
-// BIOS types
-
-enum { BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };
-
-// Exported variables
-
-extern VJSettings vjs;
-
-#endif // __SETTINGS_H__
+//\r
+// settings.h: Header file\r
+//\r
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>\r
+//\r
+// Who When What\r
+// --- ---------- ------------------------------------------------------------\r
+// JPM 06/19/2016 Soft debugger support\r
+// JPM Sept./2018 Added the new Models and BIOS handler, and a screenshot settings\r
+// JPM 10/10/2018 Added search paths in settings\r
+// JPM 04/06/2019 Added ELF sections check\r
+//\r
+\r
+#ifndef __SETTINGS_H__\r
+#define __SETTINGS_H__\r
+\r
+// MAX_PATH isn't defined in stdlib.h on *nix, so we do it here...\r
+#ifdef __GCCUNIX__\r
+#include <limits.h>\r
+#define MAX_PATH _POSIX_PATH_MAX\r
+#else\r
+#include <stdlib.h> // for MAX_PATH on MinGW/Darwin\r
+// Kludge for Win64\r
+#ifndef MAX_PATH\r
+#define MAX_PATH _MAX_PATH // Urgh.\r
+#endif\r
+#endif\r
+#include <stdint.h>\r
+\r
+#define MaxMemory1BrowserWindow 4\r
+\r
+\r
+// List the erase settings possibilities\r
+enum\r
+{\r
+ SETTINGS_NONE = 0,\r
+ SETTINGS_ALL,\r
+ SETTINGS_UI,\r
+ SETTINGS_ALPINE,\r
+ SETTINGS_DEBUGGER,\r
+ SETTINGS_END\r
+};\r
+\r
+\r
+// Key bindings settings structure\r
+struct KBSettings\r
+{\r
+ //char KBSettingName[100];\r
+ char KBSettingValue[100];\r
+ //char KBSettingDefaultValue[100];\r
+};\r
+\r
+\r
+// functions declarations\r
+extern bool EraseSettings(char *Setting);\r
+\r
+\r
+// Settings struct\r
+struct VJSettings\r
+{\r
+ bool useJoystick; // Joystick usage\r
+ int32_t joyport; // Joystick port\r
+ bool hardwareTypeNTSC; // Set to false for PAL, otherwise it is NTSC\r
+ bool useJaguarBIOS; // Use of any Jaguar BIOS\r
+ bool useRetailBIOS; // Use of Retail BIOS\r
+ bool useDevBIOS; // Use of Development BIOS\r
+ bool GPUEnabled; // Use of GPU\r
+ bool DSPEnabled; // Use of DSP\r
+ bool usePipelinedDSP;\r
+ bool fullscreen; // Emulator in full screen mode so video output display only\r
+ bool useOpenGL; // OpenGL support (always 'true')\r
+ uint32_t glFilter;\r
+ bool hardwareTypeAlpine; // Alpine mode\r
+ bool softTypeDebugger; // Soft type debugger mode\r
+ bool audioEnabled;\r
+ uint32_t frameSkip;\r
+ uint32_t renderType;\r
+ uint32_t refresh;\r
+ bool allowWritesToROM; // Allow writing to ROM cartdridge\r
+ uint32_t biosType; // Bios type used\r
+ uint32_t jaguarModel; // Jaguar model\r
+ size_t nbrdisasmlines; // Number of lines to show in the M68K tracing window\r
+ bool disasmopcodes;\r
+ bool displayHWlabels;\r
+ bool useFastBlitter;\r
+ bool displayFullSourceFilename;\r
+ bool ELFSectionsCheck;\r
+ size_t nbrmemory1browserwindow; // Number of memory browser windows\r
+ size_t DRAM_size; // DRAM size\r
+\r
+ // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *\r
+ uint32_t p1KeyBindings[21];\r
+ uint32_t p2KeyBindings[21];\r
+\r
+ // Keybindings\r
+ KBSettings KBContent[100];\r
+\r
+ // Paths\r
+ char ROMPath[MAX_PATH];\r
+ //char jagBootPath[MAX_PATH];\r
+ //char CDBootPath[MAX_PATH];\r
+ char EEPROMPath[MAX_PATH];\r
+ char alpineROMPath[MAX_PATH];\r
+ char debuggerROMPath[MAX_PATH];\r
+ char absROMPath[MAX_PATH];\r
+ char screenshotPath[MAX_PATH];\r
+ char sourcefilesearchPaths[4096];\r
+};\r
+\r
+// Render types\r
+enum { RT_NORMAL = 0, RT_TV = 1 };\r
+\r
+// Jaguar models\r
+enum { JAG_NULL_SERIES, JAG_K_SERIES, JAG_M_SERIES };\r
+\r
+// BIOS types\r
+enum { BT_NULL, BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 };\r
+\r
+// Exported variables\r
+extern VJSettings vjs;\r
+\r
+#endif // __SETTINGS_H__\r