From: Shamus Hammons Date: Mon, 22 Sep 2003 05:05:25 +0000 (+0000) Subject: Missing file. ;-) X-Git-Tag: 1.0.6~3 X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=101d284ee6745c30b85467136d503178b08e606d;p=virtualjaguar Missing file. ;-) --- diff --git a/src/settings.cpp b/src/settings.cpp new file mode 100644 index 0000000..91645b0 --- /dev/null +++ b/src/settings.cpp @@ -0,0 +1,109 @@ +// +// SETTINGS.CPP: Virtual Jaguar configuration loading/saving support +// +// by James L. Hammons +// + +#include +#include +#include "SDL.h" +#include "types.h" +#include "sdlemu_config.h" +#include "log.h" +#include "settings.h" + +using namespace std; + +// Global variables + +VJSettings vjs; + +// Private function prototypes + +void CheckForTrailingSlash(char * path); + +// +// Load Virtual Jaguar's settings +// +void LoadVJSettings(void) +{ + sdlemu_init_config("vj.cfg"); + + vjs.useJoystick = sdlemu_getval_bool("useJoystick", false); + vjs.joyport = sdlemu_getval_int("joyport", 0); + vjs.hardwareTypeNTSC = sdlemu_getval_bool("hardwareTypeNTSC", true); + vjs.useJaguarBIOS = sdlemu_getval_bool("useJaguarBIOS", false); + vjs.DSPEnabled = sdlemu_getval_bool("DSPEnabled", false); + vjs.fullscreen = sdlemu_getval_bool("fullscreen", false); + vjs.useOpenGL = sdlemu_getval_bool("useOpenGL", true); + vjs.usePipelinedDSP = sdlemu_getval_bool("usePipelinedDSP", true); + + // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, * + vjs.p1KeyBindings[0] = sdlemu_getval_int("p1k_up", SDLK_UP); + vjs.p1KeyBindings[1] = sdlemu_getval_int("p1k_down", SDLK_DOWN); + vjs.p1KeyBindings[2] = sdlemu_getval_int("p1k_left", SDLK_LEFT); + vjs.p1KeyBindings[3] = sdlemu_getval_int("p1k_right", SDLK_RIGHT); + vjs.p1KeyBindings[4] = sdlemu_getval_int("p1k_c", SDLK_z); + vjs.p1KeyBindings[5] = sdlemu_getval_int("p1k_b", SDLK_x); + vjs.p1KeyBindings[6] = sdlemu_getval_int("p1k_a", SDLK_c); + vjs.p1KeyBindings[7] = sdlemu_getval_int("p1k_option", SDLK_QUOTE); + vjs.p1KeyBindings[8] = sdlemu_getval_int("p1k_pause", SDLK_RETURN); + vjs.p1KeyBindings[9] = sdlemu_getval_int("p1k_0", SDLK_KP0); + vjs.p1KeyBindings[10] = sdlemu_getval_int("p1k_1", SDLK_KP1); + vjs.p1KeyBindings[11] = sdlemu_getval_int("p1k_2", SDLK_KP2); + vjs.p1KeyBindings[12] = sdlemu_getval_int("p1k_3", SDLK_KP3); + vjs.p1KeyBindings[13] = sdlemu_getval_int("p1k_4", SDLK_KP4); + vjs.p1KeyBindings[14] = sdlemu_getval_int("p1k_5", SDLK_KP5); + vjs.p1KeyBindings[15] = sdlemu_getval_int("p1k_6", SDLK_KP6); + vjs.p1KeyBindings[16] = sdlemu_getval_int("p1k_7", SDLK_KP7); + vjs.p1KeyBindings[17] = sdlemu_getval_int("p1k_8", SDLK_KP8); + vjs.p1KeyBindings[18] = sdlemu_getval_int("p1k_9", SDLK_KP9); + vjs.p1KeyBindings[19] = sdlemu_getval_int("p1k_pound", SDLK_KP_DIVIDE); + vjs.p1KeyBindings[20] = sdlemu_getval_int("p1k_star", SDLK_KP_MULTIPLY); + + vjs.p2KeyBindings[0] = sdlemu_getval_int("p2k_up", SDLK_UP); + vjs.p2KeyBindings[1] = sdlemu_getval_int("p2k_down", SDLK_DOWN); + vjs.p2KeyBindings[2] = sdlemu_getval_int("p2k_left", SDLK_LEFT); + vjs.p2KeyBindings[3] = sdlemu_getval_int("p2k_right", SDLK_RIGHT); + vjs.p2KeyBindings[4] = sdlemu_getval_int("p2k_c", SDLK_z); + vjs.p2KeyBindings[5] = sdlemu_getval_int("p2k_b", SDLK_x); + vjs.p2KeyBindings[6] = sdlemu_getval_int("p2k_a", SDLK_c); + vjs.p2KeyBindings[7] = sdlemu_getval_int("p2k_option", SDLK_QUOTE); + vjs.p2KeyBindings[8] = sdlemu_getval_int("p2k_pause", SDLK_RETURN); + vjs.p2KeyBindings[9] = sdlemu_getval_int("p2k_0", SDLK_KP0); + vjs.p2KeyBindings[10] = sdlemu_getval_int("p2k_1", SDLK_KP1); + vjs.p2KeyBindings[11] = sdlemu_getval_int("p2k_2", SDLK_KP2); + vjs.p2KeyBindings[12] = sdlemu_getval_int("p2k_3", SDLK_KP3); + vjs.p2KeyBindings[13] = sdlemu_getval_int("p2k_4", SDLK_KP4); + vjs.p2KeyBindings[14] = sdlemu_getval_int("p2k_5", SDLK_KP5); + vjs.p2KeyBindings[15] = sdlemu_getval_int("p2k_6", SDLK_KP6); + vjs.p2KeyBindings[16] = sdlemu_getval_int("p2k_7", SDLK_KP7); + vjs.p2KeyBindings[17] = sdlemu_getval_int("p2k_8", SDLK_KP8); + vjs.p2KeyBindings[18] = sdlemu_getval_int("p2k_9", SDLK_KP9); + vjs.p2KeyBindings[19] = sdlemu_getval_int("p2k_pound", SDLK_KP_DIVIDE); + vjs.p2KeyBindings[20] = sdlemu_getval_int("p2k_star", SDLK_KP_MULTIPLY); + + strcpy(vjs.jagBootPath, sdlemu_getval_string("JagBootROM", "./bios/jagboot.rom")); + strcpy(vjs.CDBootPath, sdlemu_getval_string("CDBootROM", "./bios/jagcd.rom")); + strcpy(vjs.EEPROMPath, sdlemu_getval_string("EEPROMs", "./eeproms/")); + strcpy(vjs.ROMPath, sdlemu_getval_string("ROMs", "./")); + CheckForTrailingSlash(vjs.EEPROMPath); + CheckForTrailingSlash(vjs.ROMPath); +} + +// +// Save Virtual Jaguar's settings +// +void SaveVJSettings(void) +{ +} + +// +// Check path for a trailing slash, and append if not present +// +void CheckForTrailingSlash(char * path) +{ + if (strlen(path) > 0) + if (path[strlen(path) - 1] != '/') + strcat(path, "/"); // NOTE: Possible buffer overflow +}