diff --git a/Source/g_game.c b/Source/g_game.c index 44d4f8eb..2d485a44 100644 --- a/Source/g_game.c +++ b/Source/g_game.c @@ -135,6 +135,8 @@ int key_escape = KEYD_ESCAPE; // phares 4/13/98 int key_help = KEYD_F1; // phares 4/13/98 // [FG] double click acts as "use" int dclick_use; +// [FG] invert vertical axis +int mouse_y_invert; #define MAXPLMOVE (forwardmove[1]) #define TURBOTHRESHOLD 0x32 @@ -483,7 +485,7 @@ void G_BuildTiccmd(ticcmd_t* cmd) // [crispy] mouse look if (mouselook) { - cmd->lookdir = mousey; + cmd->lookdir = mouse_y_invert ? -mousey : mousey; } else if (!novert) { diff --git a/Source/m_menu.c b/Source/m_menu.c index 0fcb8245..130d2da1 100644 --- a/Source/m_menu.c +++ b/Source/m_menu.c @@ -3661,7 +3661,8 @@ setup_menu_t gen_settings1[] = { // General Settings screen1 }; enum { - general_mouse1 + general_mouse1, + general_mouse2 }; enum { @@ -3695,6 +3696,10 @@ setup_menu_t gen_settings2[] = { // General Settings screen2 {"Double Click acts as \"Use\"", S_YESNO, m_null, G_X, G_Y + general_mouse1*8, {"dclick_use"}}, + // [FG] invert vertical axis + {"Invert vertical axis", S_YESNO, m_null, G_X, + G_Y + general_mouse2*8, {"mouse_y_invert"}}, + {"Miscellaneous" ,S_SKIP|S_TITLE, m_null, G_X, G_Y3 - 12}, {"Maximum number of player corpses", S_NUM|S_PRGWARN, m_null, G_X, diff --git a/Source/m_misc.c b/Source/m_misc.c index e8fc75b7..21254839 100644 --- a/Source/m_misc.c +++ b/Source/m_misc.c @@ -67,6 +67,8 @@ static int config_help; //jff 3/3/98 int screenshot_pcx; //jff 3/30/98 // option to output screenshot as pcx or bmp // [FG] double click acts as "use" extern int dclick_use; +// [FG] invert vertical axis +extern int mouse_y_invert; extern int axis_forward; extern int axis_strafe; extern int axis_turn; @@ -1296,6 +1298,14 @@ default_t defaults[] = { "double click acts as \"use\"" }, + // [FG] invert vertical axis + { + "mouse_y_invert", + (config_t *) &mouse_y_invert, NULL, + {0}, {0,1}, number, ss_gen, wad_no, + "invert vertical axis" + }, + { // killough "snd_channels", (config_t *) &default_numChannels, NULL,