ref: 0fea3b6cd1c5e80aaed4a045d11025db34a83d7f
parent: ba1c027718cbb862a2f87a417d8bdc94a9897dcf
author: Simon Howard <[email protected]>
date: Mon Jun 17 19:02:21 EDT 2013
Refactor handling of novert to take place at the lower layers rather than in the game code. This makes the behavior closer to Vanilla and stops the mouse affecting the menus when novert is enabled (thanks manny). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2606
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1427,24 +1427,6 @@
startloadgame = -1;
}
- //!
- // @category video
- //
- // Disable vertical mouse movement.
- //
-
- if (M_CheckParm("-novert"))
- novert = true;
-
- //!
- // @category video
- //
- // Enable vertical mouse movement.
- //
-
- if (M_CheckParm("-nonovert"))
- novert = false;
-
if (W_CheckNumForName("SS_START") >= 0
|| W_CheckNumForName("FF_END") >= 0)
{
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -216,11 +216,6 @@
int joybprevweapon = -1;
int joybnextweapon = -1;
-// fraggle: Disallow mouse and joystick movement to cause forward/backward
-// motion. Specified with the '-novert' command line parameter.
-// This is an int to allow saving to config file
-
-int novert = 0;
@@ -716,12 +711,7 @@
}
}
- // fraggle: allow disabling mouse y movement
-
- if (!novert)
- {
- forward += mousey;
- }
+ forward += mousey;
if (strafe)
side += mousex*2;
--- a/src/i_video.c
+++ b/src/i_video.c
@@ -113,6 +113,12 @@
static boolean nomouse = false;
extern int usemouse;
+// Disallow mouse and joystick movement to cause forward/backward
+// motion. Specified with the '-novert' command line parameter.
+// This is an int to allow saving to config file.
+
+int novert = 0;
+
// Bit mask of mouse button state.
static unsigned int mouse_button_state = 0;
@@ -703,8 +709,16 @@
ev.type = ev_mouse;
ev.data1 = mouse_button_state;
ev.data2 = AccelerateMouse(x);
- ev.data3 = -AccelerateMouse(y);
-
+
+ if (!novert)
+ {
+ ev.data3 = 0;
+ }
+ else
+ {
+ ev.data3 = -AccelerateMouse(y);
+ }
+
D_PostEvent(&ev);
}
@@ -1457,12 +1471,30 @@
}
//!
- // @category video
+ // @category video
//
// Disable the mouse.
//
nomouse = M_CheckParm("-nomouse") > 0;
+
+ //!
+ // @category video
+ //
+ // Disable vertical mouse movement.
+ //
+
+ if (M_CheckParm("-novert"))
+ novert = true;
+
+ //!
+ // @category video
+ //
+ // Enable vertical mouse movement.
+ //
+
+ if (M_CheckParm("-nonovert"))
+ novert = false;
//!
// @category video