char fpsstring[32];
char timestring[32];
char datestring[32];
+ qboolean red;
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])
0 feature darkplaces sound: the new sound engine should have a cvar for random variations of pitch on sounds like in doom (RenegadeC)
0 feature darkplaces website: add q1source.zip to downloads page and suggest that mingw/Dev-C++ users may need the dx headers from it (cpuforbrain)
0 feature darkplaces: .vis files - like .lit but replacement vis data, note this also requires .leaf files (knghtbrd)
-0 feature darkplaces: showfps should show spf when below 1fps (Sajt)
0 feature dpmod: add knight/hell knight swords as player weapons (TimeServ)
0 feature dpmod: add mode with respawning monsters
0 feature dpmod: change kill awards to use DP_SV_CLIENTFLASHPIC (Tomaz)
d feature darkplaces renderer: add r_shadow_visiblelighting cvar which draws redish orange polygons similar to visiblevolumes for measuring number of light passes per pixel (Harbish)
d feature darkplaces server: automatically choose a server port if the bind fails, just keep incrementing the port until it finds an available port (tell Spike)
d feature darkplaces server: finish DP_QC_BOTCLIENT extension docs and implement it (MauveBib, Supajoe)
+d feature darkplaces: showfps should show spf when below 1fps (Sajt)
d feature darkplaces sound: make Host_Shutdown clear sound buffer to avoid looping while quitting (up2nogood)
d feature hmap2: make water have lightmaps (unless -nowaterlightmaps is specified)
d hmap2 -qbsp: degenerate edge error that occurs in mrinsane's newmap.map file, tyrqbsp does not have this problem (mrinsane)