X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fsettings.cpp;h=be7bd3f5964f230cd9a4383735cd2a79951769a4;hb=c0001155bc0909da61f6c849c0be9b16e9b7f4b6;hp=841b961bd23615f6db7ccabf26c852b21eb0808f;hpb=eeb2935c12ef41a63049126748c2574b324403a5;p=apple2 diff --git a/src/settings.cpp b/src/settings.cpp index 841b961..be7bd3f 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -15,20 +15,23 @@ #include #include -#include "SDL.h" +#include #include "sdlemu_config.h" #include "log.h" using namespace std; + // Global variables Settings settings; + // Private function prototypes static void CheckForTrailingSlash(char * path); + // // Load Apple2's settings // @@ -51,49 +54,49 @@ void LoadSettings(void) settings.autoStateSaving = sdlemu_getval_bool("autoSaveState", true); // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, * - settings.p1KeyBindings[0] = sdlemu_getval_int("p1k_up", SDLK_UP); - settings.p1KeyBindings[1] = sdlemu_getval_int("p1k_down", SDLK_DOWN); - settings.p1KeyBindings[2] = sdlemu_getval_int("p1k_left", SDLK_LEFT); - settings.p1KeyBindings[3] = sdlemu_getval_int("p1k_right", SDLK_RIGHT); - settings.p1KeyBindings[4] = sdlemu_getval_int("p1k_c", SDLK_z); - settings.p1KeyBindings[5] = sdlemu_getval_int("p1k_b", SDLK_x); - settings.p1KeyBindings[6] = sdlemu_getval_int("p1k_a", SDLK_c); - settings.p1KeyBindings[7] = sdlemu_getval_int("p1k_option", SDLK_QUOTE); - settings.p1KeyBindings[8] = sdlemu_getval_int("p1k_pause", SDLK_RETURN); - settings.p1KeyBindings[9] = sdlemu_getval_int("p1k_0", SDLK_KP0); - settings.p1KeyBindings[10] = sdlemu_getval_int("p1k_1", SDLK_KP1); - settings.p1KeyBindings[11] = sdlemu_getval_int("p1k_2", SDLK_KP2); - settings.p1KeyBindings[12] = sdlemu_getval_int("p1k_3", SDLK_KP3); - settings.p1KeyBindings[13] = sdlemu_getval_int("p1k_4", SDLK_KP4); - settings.p1KeyBindings[14] = sdlemu_getval_int("p1k_5", SDLK_KP5); - settings.p1KeyBindings[15] = sdlemu_getval_int("p1k_6", SDLK_KP6); - settings.p1KeyBindings[16] = sdlemu_getval_int("p1k_7", SDLK_KP7); - settings.p1KeyBindings[17] = sdlemu_getval_int("p1k_8", SDLK_KP8); - settings.p1KeyBindings[18] = sdlemu_getval_int("p1k_9", SDLK_KP9); - settings.p1KeyBindings[19] = sdlemu_getval_int("p1k_pound", SDLK_KP_DIVIDE); - settings.p1KeyBindings[20] = sdlemu_getval_int("p1k_star", SDLK_KP_MULTIPLY); - - settings.p2KeyBindings[0] = sdlemu_getval_int("p2k_up", SDLK_UP); - settings.p2KeyBindings[1] = sdlemu_getval_int("p2k_down", SDLK_DOWN); - settings.p2KeyBindings[2] = sdlemu_getval_int("p2k_left", SDLK_LEFT); - settings.p2KeyBindings[3] = sdlemu_getval_int("p2k_right", SDLK_RIGHT); - settings.p2KeyBindings[4] = sdlemu_getval_int("p2k_c", SDLK_z); - settings.p2KeyBindings[5] = sdlemu_getval_int("p2k_b", SDLK_x); - settings.p2KeyBindings[6] = sdlemu_getval_int("p2k_a", SDLK_c); - settings.p2KeyBindings[7] = sdlemu_getval_int("p2k_option", SDLK_QUOTE); - settings.p2KeyBindings[8] = sdlemu_getval_int("p2k_pause", SDLK_RETURN); - settings.p2KeyBindings[9] = sdlemu_getval_int("p2k_0", SDLK_KP0); - settings.p2KeyBindings[10] = sdlemu_getval_int("p2k_1", SDLK_KP1); - settings.p2KeyBindings[11] = sdlemu_getval_int("p2k_2", SDLK_KP2); - settings.p2KeyBindings[12] = sdlemu_getval_int("p2k_3", SDLK_KP3); - settings.p2KeyBindings[13] = sdlemu_getval_int("p2k_4", SDLK_KP4); - settings.p2KeyBindings[14] = sdlemu_getval_int("p2k_5", SDLK_KP5); - settings.p2KeyBindings[15] = sdlemu_getval_int("p2k_6", SDLK_KP6); - settings.p2KeyBindings[16] = sdlemu_getval_int("p2k_7", SDLK_KP7); - settings.p2KeyBindings[17] = sdlemu_getval_int("p2k_8", SDLK_KP8); - settings.p2KeyBindings[18] = sdlemu_getval_int("p2k_9", SDLK_KP9); - settings.p2KeyBindings[19] = sdlemu_getval_int("p2k_pound", SDLK_KP_DIVIDE); - settings.p2KeyBindings[20] = sdlemu_getval_int("p2k_star", SDLK_KP_MULTIPLY); + settings.p1KeyBindings[0] = sdlemu_getval_int("p1k_up", SDL_SCANCODE_UP); + settings.p1KeyBindings[1] = sdlemu_getval_int("p1k_down", SDL_SCANCODE_DOWN); + settings.p1KeyBindings[2] = sdlemu_getval_int("p1k_left", SDL_SCANCODE_LEFT); + settings.p1KeyBindings[3] = sdlemu_getval_int("p1k_right", SDL_SCANCODE_RIGHT); + settings.p1KeyBindings[4] = sdlemu_getval_int("p1k_c", SDL_SCANCODE_Z); + settings.p1KeyBindings[5] = sdlemu_getval_int("p1k_b", SDL_SCANCODE_X); + settings.p1KeyBindings[6] = sdlemu_getval_int("p1k_a", SDL_SCANCODE_C); + settings.p1KeyBindings[7] = sdlemu_getval_int("p1k_option", SDL_SCANCODE_APOSTROPHE); + settings.p1KeyBindings[8] = sdlemu_getval_int("p1k_pause", SDL_SCANCODE_RETURN); + settings.p1KeyBindings[9] = sdlemu_getval_int("p1k_0", SDL_SCANCODE_KP_0); + settings.p1KeyBindings[10] = sdlemu_getval_int("p1k_1", SDL_SCANCODE_KP_1); + settings.p1KeyBindings[11] = sdlemu_getval_int("p1k_2", SDL_SCANCODE_KP_2); + settings.p1KeyBindings[12] = sdlemu_getval_int("p1k_3", SDL_SCANCODE_KP_3); + settings.p1KeyBindings[13] = sdlemu_getval_int("p1k_4", SDL_SCANCODE_KP_4); + settings.p1KeyBindings[14] = sdlemu_getval_int("p1k_5", SDL_SCANCODE_KP_5); + settings.p1KeyBindings[15] = sdlemu_getval_int("p1k_6", SDL_SCANCODE_KP_6); + settings.p1KeyBindings[16] = sdlemu_getval_int("p1k_7", SDL_SCANCODE_KP_7); + settings.p1KeyBindings[17] = sdlemu_getval_int("p1k_8", SDL_SCANCODE_KP_8); + settings.p1KeyBindings[18] = sdlemu_getval_int("p1k_9", SDL_SCANCODE_KP_9); + settings.p1KeyBindings[19] = sdlemu_getval_int("p1k_pound", SDL_SCANCODE_KP_DIVIDE); + settings.p1KeyBindings[20] = sdlemu_getval_int("p1k_star", SDL_SCANCODE_KP_MULTIPLY); + + settings.p2KeyBindings[0] = sdlemu_getval_int("p2k_up", SDL_SCANCODE_UP); + settings.p2KeyBindings[1] = sdlemu_getval_int("p2k_down", SDL_SCANCODE_DOWN); + settings.p2KeyBindings[2] = sdlemu_getval_int("p2k_left", SDL_SCANCODE_LEFT); + settings.p2KeyBindings[3] = sdlemu_getval_int("p2k_right", SDL_SCANCODE_RIGHT); + settings.p2KeyBindings[4] = sdlemu_getval_int("p2k_c", SDL_SCANCODE_Z); + settings.p2KeyBindings[5] = sdlemu_getval_int("p2k_b", SDL_SCANCODE_X); + settings.p2KeyBindings[6] = sdlemu_getval_int("p2k_a", SDL_SCANCODE_C); + settings.p2KeyBindings[7] = sdlemu_getval_int("p2k_option", SDL_SCANCODE_APOSTROPHE); + settings.p2KeyBindings[8] = sdlemu_getval_int("p2k_pause", SDL_SCANCODE_RETURN); + settings.p2KeyBindings[9] = sdlemu_getval_int("p2k_0", SDL_SCANCODE_KP_0); + settings.p2KeyBindings[10] = sdlemu_getval_int("p2k_1", SDL_SCANCODE_KP_1); + settings.p2KeyBindings[11] = sdlemu_getval_int("p2k_2", SDL_SCANCODE_KP_2); + settings.p2KeyBindings[12] = sdlemu_getval_int("p2k_3", SDL_SCANCODE_KP_3); + settings.p2KeyBindings[13] = sdlemu_getval_int("p2k_4", SDL_SCANCODE_KP_4); + settings.p2KeyBindings[14] = sdlemu_getval_int("p2k_5", SDL_SCANCODE_KP_5); + settings.p2KeyBindings[15] = sdlemu_getval_int("p2k_6", SDL_SCANCODE_KP_6); + settings.p2KeyBindings[16] = sdlemu_getval_int("p2k_7", SDL_SCANCODE_KP_7); + settings.p2KeyBindings[17] = sdlemu_getval_int("p2k_8", SDL_SCANCODE_KP_8); + settings.p2KeyBindings[18] = sdlemu_getval_int("p2k_9", SDL_SCANCODE_KP_9); + settings.p2KeyBindings[19] = sdlemu_getval_int("p2k_pound", SDL_SCANCODE_KP_DIVIDE); + settings.p2KeyBindings[20] = sdlemu_getval_int("p2k_star", SDL_SCANCODE_KP_MULTIPLY); strcpy(settings.BIOSPath, sdlemu_getval_string("BIOSROM", "./ROMs/apple2.rom")); strcpy(settings.disksPath, sdlemu_getval_string("disks", "./disks")); @@ -103,6 +106,7 @@ void LoadSettings(void) CheckForTrailingSlash(settings.disksPath); } + // // Save Apple2's settings // @@ -110,6 +114,7 @@ void SaveSettings(void) { } + // // Check path for a trailing slash, and append if not present // @@ -119,3 +124,4 @@ static void CheckForTrailingSlash(char * path) if (path[strlen(path) - 1] != '/') strcat(path, "/"); // NOTE: Possible buffer overflow } +