]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_shared.c
cloned and rewrote Collision_TraceLineTriangleFloat to optimize it slightly
[xonotic/darkplaces.git] / vid_shared.c
index aecaaa8a8648ea1d55d0f790daaaa66723fc9466..eeac1c579591204c83f732df236716ed2d93929a 100644 (file)
@@ -21,7 +21,7 @@ int gl_textureunits = 1;
 int gl_combine_extension = false;
 // GL_EXT_compiled_vertex_array
 int gl_supportslockarrays = false;
-// GLX_SGI_video_sync or WGL_EXT_swap_control
+// GLX_SGI_swap_control or WGL_EXT_swap_control
 int gl_videosyncavailable = false;
 // stencil available
 int gl_stencil = false;
@@ -335,14 +335,14 @@ int GL_CheckExtension(const char *name, const dllfunction_t *funcs, const char *
        int failed = false;
        const dllfunction_t *func;
 
-       Con_DPrintf("checking for %s...  ", name);
+       Con_Printf("checking for %s...  ", name);
 
        for (func = funcs;func && func->name;func++)
                *func->funcvariable = NULL;
 
        if (disableparm && (COM_CheckParm(disableparm) || COM_CheckParm("-safe")))
        {
-               Con_DPrint("disabled by commandline\n");
+               Con_Print("disabled by commandline\n");
                return false;
        }
 
@@ -361,12 +361,12 @@ int GL_CheckExtension(const char *name, const dllfunction_t *funcs, const char *
                // delay the return so it prints all missing functions
                if (failed)
                        return false;
-               Con_DPrint("enabled\n");
+               Con_Print("enabled\n");
                return true;
        }
        else
        {
-               Con_DPrint("not detected\n");
+               Con_Print("not detected\n");
                return false;
        }
 }
@@ -623,13 +623,13 @@ void VID_CheckExtensions(void)
        if (!GL_CheckExtension("OpenGL 1.1.0", opengl110funcs, NULL, false))
                Sys_Error("OpenGL 1.1.0 functions not found\n");
 
-       Con_DPrintf("GL_VENDOR: %s\n", gl_vendor);
-       Con_DPrintf("GL_RENDERER: %s\n", gl_renderer);
-       Con_DPrintf("GL_VERSION: %s\n", gl_version);
-       Con_DPrintf("GL_EXTENSIONS: %s\n", gl_extensions);
-       Con_DPrintf("%s_EXTENSIONS: %s\n", gl_platform, gl_platformextensions);
+       Con_Printf("GL_VENDOR: %s\n", gl_vendor);
+       Con_Printf("GL_RENDERER: %s\n", gl_renderer);
+       Con_Printf("GL_VERSION: %s\n", gl_version);
+       Con_Printf("GL_EXTENSIONS: %s\n", gl_extensions);
+       Con_Printf("%s_EXTENSIONS: %s\n", gl_platform, gl_platformextensions);
 
-       Con_DPrint("Checking OpenGL extensions...\n");
+       Con_Print("Checking OpenGL extensions...\n");
 
 // COMMANDLINEOPTION: GL: -nodrawrangeelements disables GL_EXT_draw_range_elements (renders faster)
        if (!GL_CheckExtension("glDrawRangeElements", drawrangeelementsfuncs, "-nodrawrangeelements", true))
@@ -732,23 +732,23 @@ void IN_PostMove(void)
 IN_DoMove
 ===========
 */
-void IN_ProcessMove(usercmd_t *cmd)
+void IN_ProcessMove(void)
 {
        // get basic movement from keyboard
-       CL_BaseMove(cmd);
+       CL_BaseMove();
 
        // OS independent code
        IN_PreMove();
 
        // allow mice or other external controllers to add to the move
-       IN_Move(cmd);
+       IN_Move();
 
        // OS independent code
        IN_PostMove();
 }
 
 
-void IN_Mouse(usercmd_t *cmd, float mx, float my)
+void IN_Mouse(float mx, float my)
 {
        int mouselook = (in_mlook.state & 1) || freelook.integer;
        float mouse_x, mouse_y;
@@ -776,13 +776,21 @@ void IN_Mouse(usercmd_t *cmd, float mx, float my)
        if(!in_client_mouse)
                return;
 
+       if (cl_prydoncursor.integer)
+       {
+               cl.cmd.cursor_screen[0] += mouse_x * sensitivity.value / vid.realwidth;
+               cl.cmd.cursor_screen[1] += mouse_y * sensitivity.value / vid.realheight;
+               V_StopPitchDrift();
+               return;
+       }
+
        // LordHavoc: viewzoom affects mouse sensitivity for sniping
        mouse_x *= sensitivity.value * cl.viewzoom;
        mouse_y *= sensitivity.value * cl.viewzoom;
 
        // Add mouse X/Y movement to cmd
        if ((in_strafe.state & 1) || (lookstrafe.integer && mouselook))
-               cmd->sidemove += m_side.value * mouse_x;
+               cl.cmd.sidemove += m_side.value * mouse_x;
        else
                cl.viewangles[YAW] -= m_yaw.value * mouse_x;
 
@@ -794,9 +802,9 @@ void IN_Mouse(usercmd_t *cmd, float mx, float my)
        else
        {
                if ((in_strafe.state & 1) && noclip_anglehack)
-                       cmd->upmove -= m_forward.value * mouse_y;
+                       cl.cmd.upmove -= m_forward.value * mouse_y;
                else
-                       cmd->forwardmove -= m_forward.value * mouse_y;
+                       cl.cmd.forwardmove -= m_forward.value * mouse_y;
        }
 }
 
@@ -1061,7 +1069,7 @@ void VID_Open(void)
                        Cvar_SetQuick(&vid_bitsperpixel, com_argv[i+1]);
        }
 
-       Con_DPrint("Starting video system\n");
+       Con_Print("Starting video system\n");
        success = VID_Mode(vid_fullscreen.integer, vid_width.integer, vid_height.integer, vid_bitsperpixel.integer);
        if (!success)
        {