From c74978b5a9939f96c19c018e81ad85a0a74743ba Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Wed, 10 Jun 2009 19:03:08 +0000 Subject: [PATCH] Add key bindings for pause, message refresh. git-svn-id: https://chocolate-doom.svn.sourceforge.net/svnroot/chocolate-doom/trunk/chocolate-doom@1586 ee5ca603-980d-0410-972c-a23fc50d79fe --- setup/configfile.c | 2 ++ setup/keyboard.c | 11 ++++++++++- setup/keyboard.h | 4 ++++ src/g_game.c | 12 ++++++++---- src/hu_stuff.c | 3 ++- src/hu_stuff.h | 1 - src/i_system.c | 15 ++++++++++++++- src/m_config.c | 16 ++++++++++++++++ 8 files changed, 56 insertions(+), 8 deletions(-) diff --git a/setup/configfile.c b/setup/configfile.c index 3714a35..3b6007f 100644 --- a/setup/configfile.c +++ b/setup/configfile.c @@ -287,6 +287,7 @@ static default_t extra_defaults_list[] = {"mouseb_backward", &mousebbackward, DEFAULT_INT, 0, 0}, {"use_libsamplerate", &use_libsamplerate, DEFAULT_INT, 0, 0}, + {"key_pause", &key_pause, DEFAULT_KEY, 0, 0}, {"key_menu_activate", &key_menu_activate, DEFAULT_KEY, 0, 0}, {"key_menu_up", &key_menu_up, DEFAULT_KEY, 0, 0}, {"key_menu_down", &key_menu_down, DEFAULT_KEY, 0, 0}, @@ -330,6 +331,7 @@ static default_t extra_defaults_list[] = {"key_weapon6", &key_weapon6, DEFAULT_KEY, 0, 0}, {"key_weapon7", &key_weapon7, DEFAULT_KEY, 0, 0}, {"key_weapon8", &key_weapon8, DEFAULT_KEY, 0, 0}, + {"key_message_refresh", &key_message_refresh, DEFAULT_KEY, 0, 0}, }; static default_collection_t extra_defaults = diff --git a/setup/keyboard.c b/setup/keyboard.c index 27ade66..79cb90e 100644 --- a/setup/keyboard.c +++ b/setup/keyboard.c @@ -39,6 +39,8 @@ int key_use = ' '; int key_strafe = KEY_RALT; int key_speed = KEY_RSHIFT; +int key_pause = KEY_PAUSE; + // Menu keys: int key_menu_activate = KEY_ESCAPE; @@ -88,6 +90,8 @@ int key_weapon6 = '6'; int key_weapon7 = '7'; int key_weapon8 = '8'; +int key_message_refresh = KEY_ENTER; + int vanilla_keyboard_mapping = 1; static int always_run = 0; @@ -97,6 +101,7 @@ static int always_run = 0; static int *controls[] = { &key_left, &key_right, &key_up, &key_down, &key_strafeleft, &key_straferight, &key_fire, &key_use, &key_strafe, &key_speed, + &key_pause, &key_weapon1, &key_weapon2, &key_weapon3, &key_weapon4, &key_weapon5, &key_weapon6, &key_weapon7, &key_weapon8, NULL }; @@ -109,7 +114,8 @@ static int *shortcuts[] = { &key_menu_help, &key_menu_save, &key_menu_load, &key_menu_volume, &key_menu_detail, &key_menu_qsave, &key_menu_endgame, &key_menu_messages, &key_menu_qload, &key_menu_quit, &key_menu_gamma, - &key_menu_incscreen, &key_menu_decscreen, NULL }; + &key_menu_incscreen, &key_menu_decscreen, + &key_message_refresh, NULL }; static int *map_keys[] = { &key_map_north, &key_map_south, &key_map_east, &key_map_west, &key_map_zoomin, &key_map_zoomout, @@ -250,6 +256,7 @@ static void OtherKeysDialog(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) TXT_NewStrut(0, 0), NULL); + AddKeyControl(table, "Pause game", &key_pause); AddKeyControl(table, "Help screen", &key_menu_help); AddKeyControl(table, "Save game", &key_menu_save); AddKeyControl(table, "Load game", &key_menu_load); @@ -265,6 +272,8 @@ static void OtherKeysDialog(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) AddKeyControl(table, "Increase screen size", &key_menu_incscreen); AddKeyControl(table, "Decrease screen size", &key_menu_decscreen); + AddKeyControl(table, "Display last message", &key_message_refresh); + TXT_AddWidgets(table, TXT_NewStrut(0, 1), TXT_NewStrut(0, 1), TXT_NewLabel(" - Map - "), diff --git a/setup/keyboard.h b/setup/keyboard.h index 29ff2a1..fa3c0db 100644 --- a/setup/keyboard.h +++ b/setup/keyboard.h @@ -35,6 +35,8 @@ extern int key_speed; extern int joybspeed; extern int vanilla_keyboard_mapping; +extern int key_pause; + // Menu keys: extern int key_menu_activate; @@ -88,6 +90,8 @@ extern int key_weapon6; extern int key_weapon7; extern int key_weapon8; +extern int key_message_refresh; + void ConfigKeyboard(void); #endif /* #ifndef SETUP_KEYBOARD_H */ diff --git a/src/g_game.c b/src/g_game.c index cd07088..8255fdd 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -182,6 +182,8 @@ int key_weapon5 = '5'; int key_weapon6 = '6'; int key_weapon7 = '7'; int key_weapon8 = '8'; + +int key_pause = KEY_PAUSE; int mousebfire = 0; int mousebstrafe = 1; @@ -790,13 +792,15 @@ boolean G_Responder (event_t* ev) switch (ev->type) { case ev_keydown: - if (ev->data1 == KEY_PAUSE) + if (ev->data1 == key_pause) { sendpause = true; - return true; - } - if (ev->data1 data1 data1] = true; + } + return true; // eat key down events case ev_keyup: diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 886236b..0ab750f 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -88,6 +88,7 @@ char* player_names[] = HUSTR_PLRRED }; +int key_message_refresh = KEY_ENTER; char chat_char; // remove later. static player_t* plr; @@ -597,7 +598,7 @@ boolean HU_Responder(event_t *ev) if (!chat_on) { - if (ev->data1 == HU_MSGREFRESH) + if (ev->data1 == key_message_refresh) { message_on = true; message_counter = HU_MSGTIMEOUT; diff --git a/src/hu_stuff.h b/src/hu_stuff.h index 310201f..9b1618c 100644 --- a/src/hu_stuff.h +++ b/src/hu_stuff.h @@ -40,7 +40,6 @@ #define HU_BROADCAST 5 -#define HU_MSGREFRESH KEY_ENTER #define HU_MSGX 0 #define HU_MSGY 0 #define HU_MSGWIDTH 64 // in characters diff --git a/src/i_system.c b/src/i_system.c index 714f63c..5f90fd7 100644 --- a/src/i_system.c +++ b/src/i_system.c @@ -133,6 +133,9 @@ void I_Init (void) I_InitJoystick(); } +#define ENDOOM_W 80 +#define ENDOOM_H 25 + // // Displays the text mode ending screen after the game quits // @@ -141,6 +144,8 @@ void I_Endoom(void) { unsigned char *endoom_data; unsigned char *screendata; + int y; + int indent; endoom_data = W_CacheLumpName(DEH_String("ENDOOM"), PU_STATIC); @@ -156,7 +161,15 @@ void I_Endoom(void) // Write the data to the screen memory screendata = TXT_GetScreenData(); - memcpy(screendata, endoom_data, 4000); + + indent = (ENDOOM_W - TXT_SCREEN_W) / 2; + + for (y=0; y