diff --git a/engine/client/cl_screen.c b/engine/client/cl_screen.c index 23a357533..a54467efd 100644 --- a/engine/client/cl_screen.c +++ b/engine/client/cl_screen.c @@ -1807,9 +1807,6 @@ void SCR_DrawTwoDimensional(int uimenu, qboolean nohud) // // draw any areas not covered by the refresh // - if (!nohud) - SCR_TileClear (); - #ifdef RGLQUAKE if (r_netgraph.value) GLR_NetGraph (); diff --git a/engine/gl/gl_screen.c b/engine/gl/gl_screen.c index f39297fe3..9ff9cb2da 100644 --- a/engine/gl/gl_screen.c +++ b/engine/gl/gl_screen.c @@ -277,6 +277,9 @@ void GLSCR_UpdateScreen (void) GLR_BrightenScreen(); + if (!nohud) + SCR_TileClear (); + SCR_DrawTwoDimensional(uimenu, nohud); GLV_UpdatePalette (); diff --git a/engine/sw/sw_screen.c b/engine/sw/sw_screen.c index a17b0d2b0..f8672bb24 100644 --- a/engine/sw/sw_screen.c +++ b/engine/sw/sw_screen.c @@ -52,6 +52,7 @@ needs almost the entire 256k of stack space! */ void SWSCR_UpdateScreen (void) { + qboolean nohud; int uimenu; vrect_t vrect; @@ -145,18 +146,31 @@ void SWSCR_UpdateScreen (void) D_DisableBackBufferAccess (); // for adapters that can't stay mapped in // for linear writes all the time + + nohud = true; #ifdef TEXTEDIT if (!editormodal) //don't render view. #endif - if (cl.worldmodel) { - VID_LockBuffer (); - V_RenderView (); - VID_UnlockBuffer (); +#ifdef CSQC_DAT + if (CSQC_DrawView()) + nohud = true; + else +#endif + + if (cl.worldmodel) + { + VID_LockBuffer (); + V_RenderView (); + VID_UnlockBuffer (); + } } D_EnableBackBufferAccess (); // of all overlay stuff if drawing directly +#if 1 + SCR_DrawTwoDimensional(uimenu, nohud); +#else if (scr_drawloading) { SCR_DrawLoading (); @@ -207,6 +221,7 @@ void SWSCR_UpdateScreen (void) SCR_DrawConsole (false); M_Draw (uimenu); } +#endif D_DisableBackBufferAccess (); // for adapters that can't stay mapped in