cvar_t sbar_alpha_bg = {CVAR_SAVE, "sbar_alpha_bg", "0.4"};
cvar_t sbar_alpha_fg = {CVAR_SAVE, "sbar_alpha_fg", "1"};
+cvar_t cl_deathscoreboard = {0, "cl_deathscoreboard", "1"};
+
void Sbar_MiniDeathmatchOverlay (int x, int y);
void Sbar_DeathmatchOverlay (void);
void Sbar_IntermissionOverlay (void);
Cvar_RegisterVariable (&showdate_format);
Cvar_RegisterVariable (&sbar_alpha_bg);
Cvar_RegisterVariable (&sbar_alpha_fg);
+ Cvar_RegisterVariable (&cl_deathscoreboard);
R_RegisterModule("sbar", sbar_start, sbar_shutdown, sbar_newmap);
}
// draw level name
if (gamemode == GAME_NEXUIZ) {
- l = strlen (cl.worldmodel->name);
+ l = (int) strlen (cl.worldmodel->name);
Sbar_DrawString (232 - l*4, 12, cl.worldmodel->name);
} else {
- l = strlen (cl.levelname);
+ l = (int) strlen (cl.levelname);
Sbar_DrawString (232 - l*4, 12, cl.levelname);
}
}
f = s->frags;
sprintf (num, "%3i",f);
- Sbar_DrawCharacter (x + 8, -24, num[0]);
- Sbar_DrawCharacter (x + 16, -24, num[1]);
- Sbar_DrawCharacter (x + 24, -24, num[2]);
-
if (k == cl.viewentity - 1)
{
Sbar_DrawCharacter ( x + 2, -24, 16);
Sbar_DrawCharacter ( x + 32 - 4, -24, 17);
}
+ Sbar_DrawCharacter (x + 8, -24, num[0]);
+ Sbar_DrawCharacter (x + 16, -24, num[1]);
+ Sbar_DrawCharacter (x + 24, -24, num[2]);
x += 32;
}
}
char fpsstring[32];
char timestring[32];
char datestring[32];
+ qboolean red = false;
fpsstring[0] = 0;
timestring[0] = 0;
datestring[0] = 0;
if (showfps.integer)
{
- int calc;
+ float calc;
if (showfps.integer > 1)
{
static double currtime, frametimes[32];
framecycle++;
framecycle &= 31;
if (showfps.integer == 2)
- calc = (int) (((double) count / total) + 0.5);
+ calc = (((double)count / total) + 0.5);
else // showfps 3, rapid update
- calc = (int) ((1.0 / (newtime - currtime)) + 0.5);
+ calc = ((1.0 / (newtime - currtime)) + 0.5);
currtime = newtime;
}
else
{
static double nexttime = 0, lasttime = 0;
- static int framerate = 0, framecount = 0;
+ static float framerate = 0;
+ static int framecount = 0;
double newtime;
newtime = Sys_DoubleTime();
if (newtime >= nexttime)
{
- framerate = (int) (framecount / (newtime - lasttime) + 0.5);
+ framerate = ((float)framecount / (newtime - lasttime) + 0.5);
lasttime = newtime;
nexttime = max(nexttime + 1, lasttime - 1);
framecount = 0;
framecount++;
calc = framerate;
}
- dpsnprintf(fpsstring, sizeof(fpsstring), "%4i fps", calc);
+
+ if ((red = (calc < 1.0f)))
+ dpsnprintf(fpsstring, sizeof(fpsstring), "%4i spf", (int)(1.0f / calc + 0.5));
+ else
+ dpsnprintf(fpsstring, sizeof(fpsstring), "%4i fps", (int)(calc + 0.5));
}
if (showtime.integer)
strlcpy(timestring, Sys_TimeString(showtime_format.string), sizeof(timestring));
{
fps_x = vid_conwidth.integer - fps_scalex * strlen(fpsstring);
DrawQ_Fill(fps_x, fps_y, fps_scalex * strlen(fpsstring), fps_scaley, 0, 0, 0, 0.5, 0);
- DrawQ_String(fps_x, fps_y, fpsstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0);
+ if (red)
+ DrawQ_String(fps_x, fps_y, fpsstring, 0, fps_scalex, fps_scaley, 1, 0, 0, 1, 0);
+ else
+ DrawQ_String(fps_x, fps_y, fpsstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0);
fps_y += fps_scaley;
}
if (timestring[0])
if (gamemode == GAME_SOM)
{
- if (sb_showscores || cl.stats[STAT_HEALTH] <= 0)
+ if (sb_showscores || (cl.stats[STAT_HEALTH] <= 0 && cl_deathscoreboard.integer))
Sbar_DrawScoreboard ();
else if (sb_lines)
{
sbar_y = vid_conheight.integer - 47;
sbar_x = (vid_conwidth.integer - 640)/2;
- if (sb_showscores || cl.stats[STAT_HEALTH] <= 0)
+ if (sb_showscores || (cl.stats[STAT_HEALTH] <= 0 && cl_deathscoreboard.integer))
{
Sbar_DrawAlphaPic (0, 0, sb_scorebar, sbar_alpha_bg.value);
Sbar_DrawScoreboard ();
Sbar_DrawFrags ();
}
- if (sb_showscores || cl.stats[STAT_HEALTH] <= 0)
+ if (sb_showscores || (cl.stats[STAT_HEALTH] <= 0 && cl_deathscoreboard.integer))
{
if (gamemode != GAME_GOODVSBAD2)
Sbar_DrawAlphaPic (0, 0, sb_scorebar, sbar_alpha_bg.value);
// print the text
//DrawQ_String(x, y, va("%c%4i %s", (s - cl.scores) == cl.playerentity - 1 ? 13 : ' ', (int) s->frags, s->name), 0, 8, 8, 1, 1, 1, 1 * sbar_alpha_fg.value, 0);
// FIXME: use a constant for this color tag instead
- DrawQ_ColoredString(x, y, va("%c%4i %s^" STRING_COLOR_DEFAULT_STR, (s - cl.scores) == cl.playerentity - 1 ? 13 : ' ', (int) s->frags, s->name), 0, 8, 8, 1, 1, 1, 1 * sbar_alpha_fg.value, 0, NULL );
+ DrawQ_ColoredString(x, y, va("%c%4i %s" STRING_COLOR_DEFAULT_STR, (s - cl.scores) == cl.playerentity - 1 ? 13 : ' ', (int) s->frags, s->name), 0, 8, 8, 1, 1, 1, 1 * sbar_alpha_fg.value, 0, NULL );
return 8;
}