diff options
author | Simon Howard | 2013-06-17 23:02:21 +0000 |
---|---|---|
committer | Simon Howard | 2013-06-17 23:02:21 +0000 |
commit | 0fea3b6cd1c5e80aaed4a045d11025db34a83d7f (patch) | |
tree | 2cb2dcf47dd8310a1a7ef96acb533596aaee66d9 | |
parent | ba1c027718cbb862a2f87a417d8bdc94a9897dcf (diff) | |
download | chocolate-doom-0fea3b6cd1c5e80aaed4a045d11025db34a83d7f.tar.gz chocolate-doom-0fea3b6cd1c5e80aaed4a045d11025db34a83d7f.tar.bz2 chocolate-doom-0fea3b6cd1c5e80aaed4a045d11025db34a83d7f.zip |
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
-rw-r--r-- | src/d_main.c | 18 | ||||
-rw-r--r-- | src/g_game.c | 12 | ||||
-rw-r--r-- | src/i_video.c | 38 |
3 files changed, 36 insertions, 32 deletions
diff --git a/src/d_main.c b/src/d_main.c index 025c31eb..171a0f6c 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1427,24 +1427,6 @@ void D_DoomMain (void) 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) { diff --git a/src/g_game.c b/src/g_game.c index fe168fae..33243b21 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -216,11 +216,6 @@ int joybstraferight = -1; 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 @@ void G_BuildTiccmd (ticcmd_t* cmd) } } - // fraggle: allow disabling mouse y movement - - if (!novert) - { - forward += mousey; - } + forward += mousey; if (strafe) side += mousex*2; diff --git a/src/i_video.c b/src/i_video.c index fdde7766..8af04956 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -113,6 +113,12 @@ static boolean initialized = false; 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 @@ static void I_ReadMouse(void) 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,7 +1471,7 @@ static void CheckCommandLine(void) } //! - // @category video + // @category video // // Disable the mouse. // @@ -1466,6 +1480,24 @@ static void CheckCommandLine(void) //! // @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 // @arg <x> // // Specify the screen width, in pixels. |