X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fmenu.c;h=f7ba78fe63d4fdf0eb09b48de01419aef82f105a;hb=8d8db2ae3c64d7de45bb34cbdac2c4f150ed0c09;hp=629f0c8d02f2b5129cbba7deff70efcb0d9c15ab;hpb=ed5485b32c76bbe0cbb37ca1da2fbf5e99237bff;p=flatwaifu.git diff --git a/src/menu.c b/src/menu.c index 629f0c8..f7ba78f 100644 --- a/src/menu.c +++ b/src/menu.c @@ -94,7 +94,7 @@ static void GM_say (const char nm[8]) { } } -static int GM_init_int (new_msg_t *msg, int i, int a, int b, int s) { +int GM_init_int (new_msg_t *msg, int i, int a, int b, int s) { assert(msg != NULL); assert(a <= b); assert(s >= 0); @@ -105,7 +105,7 @@ static int GM_init_int (new_msg_t *msg, int i, int a, int b, int s) { return 1; } -static int GM_init_str (new_msg_t *msg, char *str, int maxlen) { +int GM_init_str (new_msg_t *msg, char *str, int maxlen) { assert(msg != NULL); assert(str != NULL); assert(maxlen >= 0); @@ -221,6 +221,13 @@ static int GM_save_handler (new_msg_t *msg, const new_menu_t *m, void *data) { return 0; } +static int GM_options_handler (new_msg_t *msg, const new_menu_t *m, void *data) { + switch (msg->type) { + case GM_SELECT: GM_push(R_menu()); return 1; + } + return 0; +} + static int GM_exit_handler (new_msg_t *msg, const new_menu_t *m, void *data) { switch (msg->type) { case GM_ENTER: @@ -289,7 +296,7 @@ static const new_menu_t newgame_menu = { }, options_menu = { GM_BIG, "Options", NULL, NULL, { - //{ GM_BUTTON, "Video", NULL, NULL, NULL }, + { GM_BUTTON, "Video", NULL, &GM_options_handler, NULL }, { GM_BUTTON, "Sound", NULL, NULL, &sound_menu }, { GM_BUTTON, "Music", NULL, NULL, &music_menu }, { 0, NULL, NULL, NULL, NULL } // end @@ -567,10 +574,16 @@ void GM_key (int key, int down) { if (down) { lastkey = key; if (!_2pl || cheat) { - for (i = 0; i < 31; ++i) { + for (i = 0; i < 31; i++) { cbuf[i] = cbuf[i + 1]; } - //cbuf[31] = get_keychar(key); + if (key >= KEY_0 && key <= KEY_9) { + cbuf[31] = key - KEY_0 + '0'; + } else if (key >= KEY_A && key <= KEY_Z) { + cbuf[31] = key - KEY_A + 'A'; + } else { + cbuf[31] = 0; + } } } }