diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c index 75c8d1860..14f8c6794 100644 --- a/src/heretic/g_game.c +++ b/src/heretic/g_game.c @@ -463,6 +463,14 @@ void G_BuildTiccmd(ticcmd_t *cmd, int maketic) lspeed = 2; } + // [crispy] add quick 180° reverse + if (gamekeydown[key_reverse] || mousebuttons[mousebreverse]) + { + angle += ANG180 >> FRACBITS; + gamekeydown[key_reverse] = false; + mousebuttons[mousebreverse] = false; + } + // [crispy] toggle "always run" if (gamekeydown[key_toggleautorun]) { diff --git a/src/hexen/g_game.c b/src/hexen/g_game.c index 6adb44f46..8d59e4df0 100644 --- a/src/hexen/g_game.c +++ b/src/hexen/g_game.c @@ -361,6 +361,14 @@ void G_BuildTiccmd(ticcmd_t *cmd, int maketic) lspeed = 2; // 5; } + // [crispy] add quick 180° reverse + if (gamekeydown[key_reverse] || mousebuttons[mousebreverse]) + { + angle += ANG180 >> FRACBITS; + gamekeydown[key_reverse] = false; + mousebuttons[mousebreverse] = false; + } + // [crispy] toggle "always run" if (gamekeydown[key_toggleautorun]) { diff --git a/src/m_config.c b/src/m_config.c index 1bdff289b..698e21335 100644 --- a/src/m_config.c +++ b/src/m_config.c @@ -508,7 +508,7 @@ static default_t doom_defaults_list[] = CONFIG_VARIABLE_INT(mouseb_mouselook), //! - // @game doom + // @game doom heretic hexen // // Quick 180° reverse. // @@ -2251,7 +2251,7 @@ static default_t extra_defaults_list[] = CONFIG_VARIABLE_KEY(key_multi_msgplayer8), //! - // @game doom + // @game doom heretic hexen // Quick 180° reverse. // diff --git a/src/setup/keyboard.c b/src/setup/keyboard.c index 88b0525c1..32e2cd49e 100644 --- a/src/setup/keyboard.c +++ b/src/setup/keyboard.c @@ -246,6 +246,7 @@ static void ConfigExtraKeys(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) AddKeyControl(table, "Strafe Right (alt.)", &key_alt_straferight); AddKeyControl(table, "Toggle always run", &key_toggleautorun); AddKeyControl(table, "Toggle vert. mouse", &key_togglenovert); + AddKeyControl(table, "Quick Reverse", &key_reverse); } if (gamemission == heretic || gamemission == hexen) diff --git a/src/setup/mouse.c b/src/setup/mouse.c index 9dfdc5c73..6fbdc0393 100644 --- a/src/setup/mouse.c +++ b/src/setup/mouse.c @@ -160,6 +160,7 @@ static void ConfigExtraButtons(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) if (gamemission == heretic || gamemission == hexen) { + AddMouseControl(buttons_table, "Quick Reverse", &mousebreverse); AddMouseControl(buttons_table, "Mouselook", &mousebmouselook); AddMouseControl(buttons_table, "Inventory left", &mousebinvleft); AddMouseControl(buttons_table, "Inventory right", &mousebinvright);