From d4a8224d9b2a178f9a3b94f6fb05dba0e6ec6cde Mon Sep 17 00:00:00 2001 From: Ragnvald Maartmann-Moe IV Date: Sun, 9 Dec 2001 14:05:30 +0000 Subject: [PATCH] Change hudswap to use a callback, and instead of passing a swap variable to 10 functions, where only 2 use it, use a global variable. Make a few scr functions static inline, too. Got a totally unexpected ~0.45fps speedup. --- include/QF/draw.h | 2 +- include/QF/screen.h | 41 +++++++++++++++--------------- include/r_cvar.h | 4 +-- include/sbar.h | 2 +- include/view.h | 2 +- libs/video/renderer/gl/gl_draw.c | 2 +- libs/video/renderer/gl/gl_screen.c | 24 ++++++++--------- libs/video/renderer/sw/draw.c | 2 +- libs/video/renderer/sw/screen.c | 27 +++++++++----------- libs/video/renderer/sw32/draw.c | 2 +- libs/video/renderer/sw32/screen.c | 27 +++++++++----------- nq/source/cl_main.c | 12 ++++++++- nq/source/sbar.c | 22 ++++++++-------- qw/include/client.h | 2 +- qw/source/cl_main.c | 12 ++++++++- qw/source/cl_ngraph.c | 9 ++++--- qw/source/cl_screen.c | 10 ++++---- qw/source/sbar.c | 22 ++++++++-------- 18 files changed, 120 insertions(+), 104 deletions(-) diff --git a/include/QF/draw.h b/include/QF/draw.h index 1891be27b..84d96d99d 100644 --- a/include/QF/draw.h +++ b/include/QF/draw.h @@ -42,7 +42,7 @@ void Draw_TextBox (int x, int y, int width, int lines, byte alpha); void Draw_TransPic (int x, int y, qpic_t *pic); void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation); void Draw_ConsoleBackground (int lines); -void Draw_Crosshair(int swap); +void Draw_Crosshair (void); void Draw_BeginDisc (void); void Draw_EndDisc (void); void Draw_TileClear (int x, int y, int w, int h); diff --git a/include/QF/screen.h b/include/QF/screen.h index b8857b1fb..bcd963d2b 100644 --- a/include/QF/screen.h +++ b/include/QF/screen.h @@ -35,9 +35,9 @@ void SCR_Init_Cvars (void); void SCR_Init (void); -typedef void (*SCR_Func)(int); +typedef void (*SCR_Func)(void); // scr_funcs is a null terminated array -void SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap); +void SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs); void SCR_UpdateWholeScreen (void); void SCR_SizeUp (void); @@ -48,29 +48,30 @@ void SCR_CenterPrint (const char *str); void SCR_BeginLoadingPlaque (void); void SCR_EndLoadingPlaque (void); -void SCR_DrawRam (int swap); -void SCR_DrawFPS (int swap); -void SCR_DrawTime (int swap); -void SCR_DrawTurtle (int swap); -void SCR_DrawPause (int swap); -void SCR_CheckDrawCenterString (int swap); -void SCR_DrawConsole (int swap); +void SCR_DrawRam (void); +void SCR_DrawFPS (void); +void SCR_DrawTime (void); +void SCR_DrawTurtle (void); +void SCR_DrawPause (void); +void SCR_CheckDrawCenterString (void); +void SCR_DrawConsole (void); struct tex_s *SCR_ScreenShot (int width, int height); void SCR_DrawStringToSnap (const char *s, struct tex_s *tex, int x, int y); int MipColor (int r, int g, int b); int SCR_ModalMessage (const char *text); -extern float scr_con_current; -extern float scr_centertime_off; -extern float scr_conlines; // lines of console to display +extern float scr_con_current; +extern float scr_centertime_off; +extern float scr_conlines; // lines of console to display -extern int scr_fullupdate; // set to 0 to force full redraw -extern int sb_lines; +extern int scr_fullupdate; // set to 0 to force full redraw +extern int sb_lines; -extern int clearnotify; // set to 0 whenever notify text is drawn -extern qboolean scr_disabled_for_loading; -extern qboolean scr_skipupdate; +extern int clearnotify; // set to 0 whenever notify text is drawn +extern qboolean scr_disabled_for_loading; +extern qboolean scr_skipupdate; +extern qboolean hudswap; extern struct cvar_s *scr_viewsize; extern struct cvar_s *scr_fov; @@ -78,10 +79,10 @@ extern struct cvar_s *scr_viewsize; extern struct cvar_s *scr_consize; // only the refresh window will be updated unless these variables are flagged -extern int scr_copytop; -extern int scr_copyeverything; +extern int scr_copytop; +extern int scr_copyeverything; -extern qboolean block_drawing; +extern qboolean block_drawing; extern struct qpic_s *scr_ram; extern struct qpic_s *scr_net; diff --git a/include/r_cvar.h b/include/r_cvar.h index 549736df3..ebfc06413 100644 --- a/include/r_cvar.h +++ b/include/r_cvar.h @@ -43,13 +43,13 @@ extern struct cvar_s *r_ambient; extern struct cvar_s *r_clearcolor; extern struct cvar_s *r_dlight_lightmap; extern struct cvar_s *r_drawentities; -extern struct cvar_s *r_drawexplosions; // DESPAIR +extern struct cvar_s *r_drawexplosions; extern struct cvar_s *r_drawflat; extern struct cvar_s *r_draworder; extern struct cvar_s *r_drawviewmodel; extern struct cvar_s *r_dspeeds; extern struct cvar_s *r_dynamic; -extern struct cvar_s *r_explosionclip; // DESPAIR +extern struct cvar_s *r_explosionclip; extern struct cvar_s *r_firecolor; extern struct cvar_s *r_fullbright; extern struct cvar_s *r_graphheight; diff --git a/include/sbar.h b/include/sbar.h index 0678a3f7f..8c6416454 100644 --- a/include/sbar.h +++ b/include/sbar.h @@ -41,7 +41,7 @@ void Sbar_Init (void); void Sbar_Changed (void); // call whenever any of the client stats represented on the sbar changes -void Sbar_Draw (int swap); +void Sbar_Draw (void); // called every frame by screen void Sbar_IntermissionOverlay (void); diff --git a/include/view.h b/include/view.h index f327bb91d..5c35a55cf 100644 --- a/include/view.h +++ b/include/view.h @@ -51,6 +51,6 @@ void V_Register (void); void V_SetContentsColor (int contents); void V_CalcBlend (void); -extern float v_blend[4]; +extern float v_blend[4]; #endif // __view_h_ diff --git a/libs/video/renderer/gl/gl_draw.c b/libs/video/renderer/gl/gl_draw.c index 5c8c7d833..fc2d08b7f 100644 --- a/libs/video/renderer/gl/gl_draw.c +++ b/libs/video/renderer/gl/gl_draw.c @@ -386,7 +386,7 @@ Draw_AltString (int x, int y, const char *str) } void -Draw_Crosshair (int swap) +Draw_Crosshair (void) { unsigned char *pColor; int x, y; diff --git a/libs/video/renderer/gl/gl_screen.c b/libs/video/renderer/gl/gl_screen.c index 302681650..d325aa138 100644 --- a/libs/video/renderer/gl/gl_screen.c +++ b/libs/video/renderer/gl/gl_screen.c @@ -217,7 +217,7 @@ SCR_DrawCenterString (void) } void -SCR_CheckDrawCenterString (int swap) +SCR_CheckDrawCenterString (void) { scr_copytop = 1; if (scr_center_lines > scr_erase_lines) @@ -363,7 +363,7 @@ SCR_Init (void) } void -SCR_DrawRam (int swap) +SCR_DrawRam (void) { if (!scr_showram->int_val) return; @@ -375,7 +375,7 @@ SCR_DrawRam (int swap) } void -SCR_DrawTurtle (int swap) +SCR_DrawTurtle (void) { static int count; @@ -396,7 +396,7 @@ SCR_DrawTurtle (int swap) void -SCR_DrawFPS (int swap) +SCR_DrawFPS (void) { char st[80]; double t; @@ -427,7 +427,7 @@ SCR_DrawFPS (int swap) i = 80; } - x = swap ? vid.width - ((strlen (st) * 8) + i) : i; + x = hudswap ? vid.width - ((strlen (st) * 8) + i) : i; y = vid.height - sb_lines - 8; Draw_String (x, y, st); } @@ -439,7 +439,7 @@ SCR_DrawFPS (int swap) Written by Misty, rewritten by Deek. */ void -SCR_DrawTime (int swap) +SCR_DrawTime (void) { char st[80]; char *timefmt = NULL; @@ -463,13 +463,13 @@ SCR_DrawTime (int swap) strftime (st, sizeof (st), timefmt, local); // Print it at far left/right of screen - x = swap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; + x = hudswap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; y = vid.height - (sb_lines + 8); Draw_String (x, y, st); } void -SCR_DrawPause (int swap) +SCR_DrawPause (void) { qpic_t *pic; @@ -517,7 +517,7 @@ SCR_SetUpToDrawConsole (void) } void -SCR_DrawConsole (int swap) +SCR_DrawConsole (void) { if (scr_con_current) { scr_copyeverything = 1; @@ -771,7 +771,7 @@ int oldviewsize = 0; needs almost the entire 256k of stack space! */ void -SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) +SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs) { double time1 = 0, time2; @@ -851,10 +851,10 @@ SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) } else if (r_force_fullscreen /*FIXME better test*/ == 2 && key_dest == key_game) { Sbar_FinaleOverlay (); - SCR_CheckDrawCenterString (swap); + SCR_CheckDrawCenterString (); } else { while (*scr_funcs) { - (*scr_funcs)(swap); + (*scr_funcs)(); scr_funcs++; } } diff --git a/libs/video/renderer/sw/draw.c b/libs/video/renderer/sw/draw.c index 2a3e68fab..4fa1d5cd4 100644 --- a/libs/video/renderer/sw/draw.c +++ b/libs/video/renderer/sw/draw.c @@ -283,7 +283,7 @@ Draw_Pixel (int x, int y, byte color) void -Draw_Crosshair (int swap) +Draw_Crosshair (void) { int x, y; byte c = crosshaircolor->int_val; diff --git a/libs/video/renderer/sw/screen.c b/libs/video/renderer/sw/screen.c index 9da59c5b6..08ec97b33 100644 --- a/libs/video/renderer/sw/screen.c +++ b/libs/video/renderer/sw/screen.c @@ -217,7 +217,7 @@ SCR_DrawCenterString (void) } void -SCR_CheckDrawCenterString (int swap) +SCR_CheckDrawCenterString (void) { scr_copytop = 1; if (scr_center_lines > scr_erase_lines) @@ -417,7 +417,7 @@ SCR_Init (void) } void -SCR_DrawRam (int swap) +SCR_DrawRam (void) { if (!scr_showram->int_val) return; @@ -429,7 +429,7 @@ SCR_DrawRam (int swap) } void -SCR_DrawTurtle (int swap) +SCR_DrawTurtle (void) { static int count; @@ -450,7 +450,7 @@ SCR_DrawTurtle (int swap) void -SCR_DrawFPS (int swap) +SCR_DrawFPS (void) { static double lastframetime; double t; @@ -476,10 +476,7 @@ SCR_DrawFPS (int swap) } else { i = 80; } - /* Misty: New trick! (for me) the ? makes this work like a if then else - - IE: if cl_hudswap->int_val is not null, do first case, else (else is a - : here) do second case. Deek taught me this trick */ - x = swap ? vid.width - ((strlen (st) * 8) + i) : i; + x = hudswap ? vid.width - ((strlen (st) * 8) + i) : i; y = vid.height - (sb_lines + 8); Draw_String (x, y, st); } @@ -491,7 +488,7 @@ SCR_DrawFPS (int swap) Written by Misty, rewritten by Deek */ void -SCR_DrawTime (int swap) +SCR_DrawTime (void) { int x, y; char st[80]; @@ -516,13 +513,13 @@ SCR_DrawTime (int swap) // Print it next to the fps meter strftime (st, sizeof (st), timefmt, local); - x = swap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; + x = hudswap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; y = vid.height - (sb_lines + 8); Draw_String (x, y, st); } void -SCR_DrawPause (int swap) +SCR_DrawPause (void) { qpic_t *pic; @@ -572,7 +569,7 @@ SCR_SetUpToDrawConsole (void) } void -SCR_DrawConsole (int swap) +SCR_DrawConsole (void) { if (scr_con_current) { scr_copyeverything = 1; @@ -809,7 +806,7 @@ SCR_DrawNotifyString (void) needs almost the entire 256k of stack space! */ void -SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) +SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs) { static int oldscr_viewsize; vrect_t vrect; @@ -876,10 +873,10 @@ SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) Sbar_IntermissionOverlay (); } else if (r_force_fullscreen /*FIXME*/ == 2 && key_dest == key_game) { Sbar_FinaleOverlay (); - SCR_CheckDrawCenterString (swap); + SCR_CheckDrawCenterString (); } else { while (*scr_funcs) { - (*scr_funcs)(swap); + (*scr_funcs)(); scr_funcs++; } } diff --git a/libs/video/renderer/sw32/draw.c b/libs/video/renderer/sw32/draw.c index 0adbbe156..8b5400c97 100644 --- a/libs/video/renderer/sw32/draw.c +++ b/libs/video/renderer/sw32/draw.c @@ -358,7 +358,7 @@ Draw_Pixel (int x, int y, byte color) void -Draw_Crosshair (int swap) +Draw_Crosshair (void) { int x, y; byte c = crosshaircolor->int_val; diff --git a/libs/video/renderer/sw32/screen.c b/libs/video/renderer/sw32/screen.c index ab083abb4..9db48070b 100644 --- a/libs/video/renderer/sw32/screen.c +++ b/libs/video/renderer/sw32/screen.c @@ -217,7 +217,7 @@ SCR_DrawCenterString (void) } void -SCR_CheckDrawCenterString (int swap) +SCR_CheckDrawCenterString (void) { scr_copytop = 1; if (scr_center_lines > scr_erase_lines) @@ -484,7 +484,7 @@ SCR_Init (void) } void -SCR_DrawRam (int swap) +SCR_DrawRam (void) { if (!scr_showram->int_val) return; @@ -496,7 +496,7 @@ SCR_DrawRam (int swap) } void -SCR_DrawTurtle (int swap) +SCR_DrawTurtle (void) { static int count; @@ -517,7 +517,7 @@ SCR_DrawTurtle (int swap) void -SCR_DrawFPS (int swap) +SCR_DrawFPS (void) { static double lastframetime; double t; @@ -543,10 +543,7 @@ SCR_DrawFPS (int swap) } else { i = 80; } - /* Misty: New trick! (for me) the ? makes this work like a if then else - - IE: if cl_hudswap->int_val is not null, do first case, else (else is a - : here) do second case. Deek taught me this trick */ - x = swap ? vid.width - ((strlen (st) * 8) + i) : i; + x = hudswap ? vid.width - ((strlen (st) * 8) + i) : i; y = vid.height - (sb_lines + 8); Draw_String (x, y, st); } @@ -558,7 +555,7 @@ SCR_DrawFPS (int swap) Written by Misty, rewritten by Deek */ void -SCR_DrawTime (int swap) +SCR_DrawTime (void) { int x, y; char st[80]; @@ -583,13 +580,13 @@ SCR_DrawTime (int swap) // Print it next to the fps meter strftime (st, sizeof (st), timefmt, local); - x = swap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; + x = hudswap ? (vid.width - ((strlen (st) * 8) + 8)) : 8; y = vid.height - (sb_lines + 8); Draw_String (x, y, st); } void -SCR_DrawPause (int swap) +SCR_DrawPause (void) { qpic_t *pic; @@ -639,7 +636,7 @@ SCR_SetUpToDrawConsole (void) } void -SCR_DrawConsole (int swap) +SCR_DrawConsole (void) { if (scr_con_current) { scr_copyeverything = 1; @@ -829,7 +826,7 @@ SCR_DrawNotifyString (void) needs almost the entire 256k of stack space! */ void -SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) +SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs) { static int oldscr_viewsize; vrect_t vrect; @@ -896,10 +893,10 @@ SCR_UpdateScreen (double realtime, SCR_Func *scr_funcs, int swap) Sbar_IntermissionOverlay (); } else if (r_force_fullscreen /*FIXME*/ == 2 && key_dest == key_game) { Sbar_FinaleOverlay (); - SCR_CheckDrawCenterString (swap); + SCR_CheckDrawCenterString (); } else { while (*scr_funcs) { - (*scr_funcs)(swap); + (*scr_funcs)(); scr_funcs++; } } diff --git a/nq/source/cl_main.c b/nq/source/cl_main.c index 3351cb43d..8a2a9d5b6 100644 --- a/nq/source/cl_main.c +++ b/nq/source/cl_main.c @@ -80,6 +80,7 @@ cvar_t *show_fps; cvar_t *show_time; int fps_count; +qboolean hudswap; client_static_t cls; client_state_t cl; @@ -97,6 +98,15 @@ CL_Sbar_f (cvar_t *var) r_lineadj = var->int_val ? sb_lines : 0; } +void +cl_hudswap_f (cvar_t *var) +{ + if (cl_hudswap) + hudswap = cl_hudswap->int_val; + else + hudswap = 0; +} + void CL_InitCvars (void) { @@ -135,7 +145,7 @@ CL_InitCvars (void) "linear motion interpolation"); cl_sbar = Cvar_Get ("cl_sbar", "0", CVAR_ARCHIVE, CL_Sbar_f, "status bar mode"); - cl_hudswap = Cvar_Get ("cl_hudswap", "0", CVAR_ARCHIVE, NULL, + cl_hudswap = Cvar_Get ("cl_hudswap", "0", CVAR_ARCHIVE, cl_hudswap_f, "new HUD on left side?"); lookspring = Cvar_Get ("lookspring", "0", CVAR_ARCHIVE, NULL, "Snap view " "to center when moving and no mlook/klook"); diff --git a/nq/source/sbar.c b/nq/source/sbar.c index 7a9549873..0d68013c8 100644 --- a/nq/source/sbar.c +++ b/nq/source/sbar.c @@ -162,7 +162,7 @@ Sbar_Changed (void) Draw a texture. */ -void +static inline void Sbar_DrawPic (int x, int y, qpic_t *pic) { if (sbar_centered) @@ -178,7 +178,7 @@ Sbar_DrawPic (int x, int y, qpic_t *pic) Draw a _portion_ of a texture. */ -void +static inline void Sbar_DrawSubPic (int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height) { @@ -197,7 +197,7 @@ Sbar_DrawSubPic (int x, int y, qpic_t *pic, int srcx, int srcy, int width, Draw a transparent pic? */ -void +static inline void Sbar_DrawTransPic (int x, int y, qpic_t *pic) { if (sbar_centered) @@ -213,7 +213,7 @@ Sbar_DrawTransPic (int x, int y, qpic_t *pic) Draw one solid graphics character */ -void +static inline void Sbar_DrawCharacter (int x, int y, int num) { if (sbar_centered) @@ -229,7 +229,7 @@ Sbar_DrawCharacter (int x, int y, int num) Draw a string */ -void +static inline void Sbar_DrawString (int x, int y, char *str) { if (sbar_centered) @@ -438,7 +438,7 @@ Sbar_DrawInventory (void) if (headsup) { if (i || vid.height > 200) - Sbar_DrawSubPic ((cl_hudswap->int_val) ? 0 + Sbar_DrawSubPic (hudswap ? 0 : (vid.width - 24), -68 - (7 - i) * 16, sb_weapons[flashon][i], 0, 0, 24, 16); } else { @@ -514,19 +514,19 @@ Sbar_DrawInventory (void) for (i = 0; i < 4; i++) { snprintf (num, sizeof (num), "%3i", cl.stats[STAT_SHELLS + i]); if (headsup) { - Sbar_DrawSubPic ((cl_hudswap->int_val) ? 0 : (vid.width - 42), + Sbar_DrawSubPic (hudswap ? 0 : (vid.width - 42), -24 - (4 - i) * 11, sb_ibar, 3 + (i * 48), 0, 42, 11); if (num[0] != ' ') - Sbar_DrawCharacter ((cl_hudswap->int_val) ? 3 + Sbar_DrawCharacter (hudswap ? 3 : (vid.width - 39), -24 - (4 - i) * 11, 18 + num[0] - '0'); if (num[1] != ' ') - Sbar_DrawCharacter ((cl_hudswap->int_val) ? 11 + Sbar_DrawCharacter (hudswap ? 11 : (vid.width - 31), -24 - (4 - i) * 11, 18 + num[1] - '0'); if (num[2] != ' ') - Sbar_DrawCharacter ((cl_hudswap->int_val) ? 19 + Sbar_DrawCharacter (hudswap ? 19 : (vid.width - 23), -24 - (4 - i) * 11, 18 + num[2] - '0'); } else { @@ -833,7 +833,7 @@ Sbar_DrawNormal (void) void -Sbar_Draw (int swap) +Sbar_Draw (void) { if (hipnotic || rogue) { if (!cl_sbar->int_val) { diff --git a/qw/include/client.h b/qw/include/client.h index b4da2117a..f3faf1dd8 100644 --- a/qw/include/client.h +++ b/qw/include/client.h @@ -335,7 +335,7 @@ extern double realtime; void Cvar_Info (struct cvar_s *var); -void CL_NetGraph (int swap); +void CL_NetGraph (void); void CL_UpdateScreen (double realtime); void CL_SetState (cactive_t state); diff --git a/qw/source/cl_main.c b/qw/source/cl_main.c index 80875c0df..9b37f3cd9 100644 --- a/qw/source/cl_main.c +++ b/qw/source/cl_main.c @@ -184,6 +184,7 @@ double connect_time = -1; // for connection retransmits quakeparms_t host_parms; qboolean host_initialized; // true if into command execution qboolean nomaster; +qboolean hudswap; double host_frametime; double realtime; // without any filtering or bounding @@ -1074,6 +1075,15 @@ CL_Download_f (void) } } +void +cl_hudswap_f (cvar_t *var) +{ + if (cl_hudswap) + hudswap = cl_hudswap->int_val; + else + hudswap = 0; +} + void Force_CenterView_f (void) { @@ -1237,7 +1247,7 @@ CL_Init_Cvars (void) "status bar mode"); cl_sbar_separator = Cvar_Get ("cl_sbar_separator", "0", CVAR_ARCHIVE, NULL, "turns on status bar separator"); - cl_hudswap = Cvar_Get ("cl_hudswap", "0", CVAR_ARCHIVE, NULL, + cl_hudswap = Cvar_Get ("cl_hudswap", "0", CVAR_ARCHIVE, cl_hudswap_f, "new HUD on left side?"); cl_maxfps = Cvar_Get ("cl_maxfps", "0", CVAR_ARCHIVE, NULL, "maximum frames rendered in one second. 0 == 32"); diff --git a/qw/source/cl_ngraph.c b/qw/source/cl_ngraph.c index dbf8bbe05..4ee28219b 100644 --- a/qw/source/cl_ngraph.c +++ b/qw/source/cl_ngraph.c @@ -40,6 +40,7 @@ static const char rcsid[] = #include "QF/cvar.h" #include "QF/draw.h" #include "QF/render.h" +#include "QF/screen.h" #include "compat.h" #include "cl_parse.h" @@ -49,7 +50,7 @@ static const char rcsid[] = void -CL_NetGraph (int swap) +CL_NetGraph (void) { char st[80]; int lost, a, l, x, y, h, i; @@ -59,7 +60,7 @@ CL_NetGraph (int swap) a = 0; // shut up gcc - x = swap ? vid.width - (NET_TIMINGS + 16): 0; + x = hudswap ? vid.width - (NET_TIMINGS + 16): 0; y = vid.height - sb_lines - 24 - r_graphheight->int_val - 1; h = r_graphheight->int_val % 8; @@ -68,7 +69,7 @@ CL_NetGraph (int swap) r_netgraph_alpha->value * 255); lost = CL_CalcNet (); - x = swap ? vid.width - (NET_TIMINGS + 8) : 8; + x = hudswap ? vid.width - (NET_TIMINGS + 8) : 8; y = vid.height - sb_lines - 9; l = NET_TIMINGS; @@ -86,7 +87,7 @@ CL_NetGraph (int swap) y = vid.height - sb_lines - 24 - r_graphheight->int_val + 7; snprintf (st, sizeof (st), "%3i%% packet loss", lost); - if (swap) { + if (hudswap) { Draw_String (vid.width - ((strlen (st) * 8) + 8), y, st); } else { Draw_String (8, y, st); diff --git a/qw/source/cl_screen.c b/qw/source/cl_screen.c index 246198286..a2a2881ef 100644 --- a/qw/source/cl_screen.c +++ b/qw/source/cl_screen.c @@ -54,7 +54,7 @@ static const char rcsid[] = #include "sbar.h" void -SCR_DrawNet (int swap) +SCR_DrawNet (void) { if (cls.netchan.outgoing_sequence - cls.netchan.incoming_acknowledged < UPDATE_BACKUP - 1) @@ -66,14 +66,14 @@ SCR_DrawNet (int swap) } void -CL_NetStats (int swap) +CL_NetStats (void) { int x, y; if (!show_ping->int_val && !show_pl->int_val) return; if (cls.state != ca_active) return; - x = swap ? vid.width - 104 : 0; + x = hudswap ? vid.width - 104 : 0; y = vid.height - sb_lines - 16; // request new ping times every two second if (realtime - cl.last_ping_request > 2) { @@ -86,7 +86,7 @@ CL_NetStats (int swap) ping = bound (0, ping, 999); Draw_String (x, y, va ("%3d ms", ping)); x+= 48; - } else if (swap) { + } else if (hudswap) { x += 56; } if (show_ping->int_val && show_pl->int_val) { @@ -124,7 +124,7 @@ void CL_UpdateScreen (double realtime) { V_PrepBlend (); - SCR_UpdateScreen (realtime, scr_funcs, cl_hudswap->int_val); + SCR_UpdateScreen (realtime, scr_funcs); } void diff --git a/qw/source/sbar.c b/qw/source/sbar.c index 5ada26369..7bb1871a6 100644 --- a/qw/source/sbar.c +++ b/qw/source/sbar.c @@ -247,7 +247,7 @@ Sbar_Init (void) } // drawing routines are reletive to the status bar location -void +static inline void Sbar_DrawPic (int x, int y, qpic_t *pic) { Draw_Pic (x, y + (vid.height - SBAR_HEIGHT), pic); @@ -258,7 +258,7 @@ Sbar_DrawPic (int x, int y, qpic_t *pic) JACK: Draws a portion of the picture in the status bar. */ -void +static inline void Sbar_DrawSubPic (int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height) { @@ -266,7 +266,7 @@ Sbar_DrawSubPic (int x, int y, qpic_t *pic, int srcx, int srcy, int width, height); } -void +static inline void Sbar_DrawTransPic (int x, int y, qpic_t *pic) { Draw_Pic (x, y + (vid.height - SBAR_HEIGHT), @@ -278,13 +278,13 @@ Sbar_DrawTransPic (int x, int y, qpic_t *pic) Draws one solid graphics character */ -void +static inline void Sbar_DrawCharacter (int x, int y, int num) { Draw_Character (x + 4, y + vid.height - SBAR_HEIGHT, num); } -void +static inline void Sbar_DrawString (int x, int y, char *str) { Draw_String (x, y + vid.height - SBAR_HEIGHT, str); @@ -366,7 +366,8 @@ Sbar_SortFrags (qboolean includespec) // sort by frags scoreboardlines = 0; for (i = 0; i < MAX_CLIENTS; i++) { - if (cl.players[i].name[0] && (!cl.players[i].spectator || includespec)) { + if (cl.players[i].name[0] && (!cl.players[i].spectator || + includespec)) { fragsort[scoreboardlines] = i; scoreboardlines++; if (cl.players[i].spectator) @@ -477,10 +478,9 @@ Sbar_DrawInventory (void) char num[6]; float time; int flashon, i; - qboolean headsup, hudswap; + qboolean headsup; headsup = !(cl_sbar->int_val || scr_viewsize->int_val < 100); - hudswap = cl_hudswap->int_val; if (!headsup) Sbar_DrawPic (0, -24, sb_ibar); @@ -501,7 +501,7 @@ Sbar_DrawInventory (void) if (headsup) { if (i || vid.height > 200) - Sbar_DrawSubPic ((hudswap) ? 0 : (vid.width - 24), + Sbar_DrawSubPic (hudswap ? 0 : (vid.width - 24), -68 - (7 - i) * 16, sb_weapons[flashon][i], 0, 0, 24, 16); @@ -519,7 +519,7 @@ Sbar_DrawInventory (void) snprintf (num, sizeof (num), "%3i", min (cl.stats[STAT_SHELLS + i], 999)); if (headsup) { -#define HUD_X(dist) ((hudswap) ? dist : (vid.width - (42 - dist))) +#define HUD_X(dist) (hudswap ? dist : (vid.width - (42 - dist))) #define HUD_Y(n) (-24 - (4 - n) * 11) Sbar_DrawSubPic (HUD_X (0), HUD_Y (i), sb_ibar, 3 + (i * 48), 0, 42, 11); @@ -699,7 +699,7 @@ Sbar_DrawNormal (void) } void -Sbar_Draw (int swap) +Sbar_Draw (void) { char st[512]; qboolean headsup;