foxygit / doom Log in
commit fe63589f1d69401f4a587b773832671112cc4cb6
Author:     Simon Howard <fraggle@gmail.com>
AuthorDate: Tue Oct 8 01:02:20 2013 +0000
Commit:     Simon Howard <fraggle@gmail.com>
CommitDate: Tue Oct 8 01:02:20 2013 +0000

    Don't grab the mouse at the Strife startup screen.

    Subversion-branch: /branches/v2-branch
    Subversion-revision: 2697
---
 src/strife/d_main.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/strife/d_main.c b/src/strife/d_main.c
index 3d0d269c..855dae7d 100644
--- a/src/strife/d_main.c
+++ b/src/strife/d_main.c
@@ -479,8 +479,8 @@ boolean D_GrabMouseCallback(void)
     if (drone)
         return false;

-    // when menu is active or game is paused, release the mouse
-
+    // when menu is active or game is paused, release the mouse.
+
     if (menuactive || paused)
         return false;

@@ -489,6 +489,13 @@ boolean D_GrabMouseCallback(void)
     return (gamestate == GS_LEVEL) && !demoplayback;
 }

+// During startup, never grab the mouse.
+
+static boolean D_StartupGrabCallback(void)
+{
+    return false;
+}
+
 //
 //  D_DoomLoop
 //
@@ -1156,6 +1163,7 @@ static void D_InitIntroSequence(void)
         // In vanilla Strife, Mode 13h was initialized directly in D_DoomMain.
         // We have to be a little more courteous of the low-level code here.
         I_SetWindowTitle(gamedescription);
+        I_SetGrabMouseCallback(D_StartupGrabCallback);
         I_InitGraphics();
         V_RestoreBuffer(); // make the V_ routines work