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.

This commit is contained in:
Ragnvald Maartmann-Moe IV 2001-12-09 14:05:30 +00:00
parent f9d3f9f017
commit d4a8224d9b
18 changed files with 120 additions and 104 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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);

View file

@ -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_

View file

@ -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;

View file

@ -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++;
}
}

View file

@ -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;

View file

@ -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++;
}
}

View file

@ -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;

View file

@ -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++;
}
}

View file

@ -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");

View file

@ -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) {

View file

@ -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);

View file

@ -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");

View file

@ -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);

View file

@ -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

View file

@ -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;