]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
cl_demo_mousegrab
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 13 Jan 2009 19:21:20 +0000 (19:21 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 13 Jan 2009 19:21:20 +0000 (19:21 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8648 d7cf8633-e32d-0410-b094-e92efae38249

cl_screen.c

index 702635a2a2d68cd7583d58979a57c52f68336bd3..85948994e18aeb51fefa52c67a2f73a67a6d0abe 100644 (file)
@@ -49,6 +49,7 @@ cvar_t scr_zoomwindow_fov = {CVAR_SAVE, "scr_zoomwindow_fov", "20", "fov of zoom
 cvar_t scr_stipple = {0, "scr_stipple", "0", "interlacing-like stippling of the display"};
 cvar_t scr_refresh = {0, "scr_refresh", "1", "allows you to completely shut off rendering for benchmarking purposes"};
 cvar_t shownetgraph = {CVAR_SAVE, "shownetgraph", "0", "shows a graph of packet sizes and other information, 0 = off, 1 = show client netgraph, 2 = show client and server netgraphs (when hosting a server)"};
+cvar_t cl_demo_mousegrab = {0, "cl_demo_mousegrab", "0", "Allows reading the mouse input while playing demos. Useful for camera mods developed in csqc. (0: never, 1: always)"};
 
 #define AVI_MASTER_INDEX_SIZE 640 // GB ought to be enough for anyone
 
@@ -868,6 +869,7 @@ void CL_Screen_Init(void)
        Cvar_RegisterVariable(&scr_stipple);
        Cvar_RegisterVariable(&scr_refresh);
        Cvar_RegisterVariable(&shownetgraph);
+       Cvar_RegisterVariable(&cl_demo_mousegrab);
 
        Cmd_AddCommand ("sizeup",SCR_SizeUp_f, "increase view size (increases viewsize cvar)");
        Cmd_AddCommand ("sizedown",SCR_SizeDown_f, "decrease view size (decreases viewsize cvar)");
@@ -2331,7 +2333,7 @@ void CL_UpdateScreen(void)
        else if (key_dest == key_menu)
                VID_SetMouse(vid.fullscreen, vid_mouse.integer && !in_client_mouse, true);
        else
-               VID_SetMouse(vid.fullscreen, vid_mouse.integer && !cls.demoplayback && !cl.csqc_wantsmousemove, true);
+               VID_SetMouse(vid.fullscreen, vid_mouse.integer && !cl.csqc_wantsmousemove && (!cls.demoplayback || cl_demo_mousegrab.integer), true);
 
        VID_Finish();
 }