From 222c8a5f7593b177b70ed5f4e3a61d69f5a32eaf Mon Sep 17 00:00:00 2001 From: "simon.kagstrom" Date: Sat, 3 Jan 2009 21:24:16 +0000 Subject: [PATCH] Added icon, small fixes --- Src/C64.h | 1 + Src/C64_SDL.i | 52 +++++++++++++++++++++++++++++++++++++++++--------- icon.png | Bin 0 -> 2722 bytes 3 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 icon.png diff --git a/Src/C64.h b/Src/C64.h index f6064f9..0321e7a 100644 --- a/Src/C64.h +++ b/Src/C64.h @@ -168,6 +168,7 @@ public: void select_disc(Prefs *np); void bind_key(Prefs *np); void display_options(Prefs *np); + void save_load_state(Prefs *np); #endif #ifdef WIN32 diff --git a/Src/C64_SDL.i b/Src/C64_SDL.i index 579be21..323011c 100644 --- a/Src/C64_SDL.i +++ b/Src/C64_SDL.i @@ -22,8 +22,9 @@ static char *main_menu_messages[] = { "Bind key to joystick",/* 3 */ "Display options", /* 4 */ "Swap joysticks", /* 5 */ + "Save/Load state", /* 6 */ " ", - "Quit", /* 7 */ + "Quit", /* 8 */ NULL, }; @@ -43,6 +44,13 @@ static char *bind_key_messages[] = { NULL, }; +static char *save_load_state_messages[] = { + "Load saved state", /* 0 */ + "Save current state", /* 0 */ + "Delete state", /* 0 */ + NULL, +}; + /* * Constructor, system-dependent things */ @@ -188,7 +196,7 @@ void C64::bind_key(Prefs *np) "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "X", "Y", "Z", NULL }; - int kcs[] = { MATRIX(7, 4), MATRIX(7, 7), MATRIX(0, 1), /* space,R/S, return */ + int kcs[] = { MATRIX(7, 4), MATRIX(7, 7), MATRIX(0, 1), /* space, R/S, return */ MATRIX(0, 4), MATRIX(0, 5), MATRIX(0, 6), MATRIX(0, 3), MATRIX(4, 3), MATRIX(7, 0), MATRIX(7, 3), MATRIX(1, 0), MATRIX(1, 3), MATRIX(2, 0), MATRIX(2, 3), MATRIX(3, 0), MATRIX(3, 3), MATRIX(4, 0), MATRIX(1, 2), MATRIX(3, 4), MATRIX(2, 4), MATRIX(2, 2), @@ -226,6 +234,33 @@ void C64::display_options(Prefs *np) menu_fini(&display_menu); } + +void C64::save_load_state(Prefs *np) +{ + menu_t save_load_menu; + menu_t select_saves_menu; + + menu_init(&save_load_menu, this->menu_font, save_load_state_messages, + 0, 0, FULL_DISPLAY_X, FULL_DISPLAY_Y); + int opt = menu_select(real_screen, &save_load_menu, ~0, NULL); + switch(opt) + { + case 1: /* save */ + break; + case 0: /* load/delete */ + case 2: + { + int save = menu_select(real_screen, &select_saves_menu, ~0, NULL); + } break; + default: + break; + } + if (opt >= 0) + { + } + menu_fini(&save_load_menu); +} + /* * Start main emulation thread */ @@ -389,7 +424,6 @@ uint8 C64::poll_joystick(int port) if (held & WPAD_BUTTON_HOME) this->enter_menu(); - static int maboo = 0; if ( (held & WPAD_BUTTON_A) && ThePrefs.JoystickKeyBinding[0]) TheDisplay->FakeKeyPressRepeat(ThePrefs.JoystickKeyBinding[0], false, TheCIA1->KeyMatrix, TheCIA1->RevMatrix); @@ -528,12 +562,12 @@ void C64::thread_func(void) this->display_options(np); break; case 5: /* Swap joysticks */ - { - uint8 tmp = TheCIA1->Joystick1; - TheCIA1->Joystick1 = TheCIA1->Joystick2; - TheCIA1->Joystick2 = tmp; - } break; - case 7: /* Quit */ + np->JoystickSwap = !np->JoystickSwap; + break; + case 6: /* Save / load game */ + this->save_load_state(np); + break; + case 8: /* Quit */ quit_thyself = true; break; case -1: diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2703d42afc76e634422c306ac576f6dedd9235 GIT binary patch literal 2722 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 literal 0 HcmV?d00001