93cvar_t cl_showtopspeed = {
CF_CLIENT |
CF_ARCHIVE,
"cl_showtopspeed",
"0",
"shows your top speed (kept on screen for max 3 seconds); value -1 takes over the unit from cl_showspeed, otherwise it's an unit number just like in cl_showspeed"};
102cvar_t sbar_hudselector = {
CF_CLIENT |
CF_ARCHIVE,
"sbar_hudselector",
"0",
"selects which of the builtin hud layouts to use (meaning is somewhat dependent on gamemode, so nexuiz has a very different set of hud layouts than quake for example)"};
162 for (
i = 0;
i < 10;
i++)
195 for(
i = 0;
i < 9;
i++)
214 for (
i = 0;
i < 10;
i++)
242 for (
i = 0;
i < 5;
i++)
309 for (
i = 0;
i < 5;
i++)
446 DrawQ_String (
sbar_x +
x + 4 ,
sbar_y +
y,
va(vabuf,
sizeof(vabuf),
"%c", num), 0, 8, 8, 1, 1, 1,
sbar_alpha_fg.
value, 0,
NULL,
true,
FONT_SBAR);
456 DrawQ_String (
sbar_x +
x,
sbar_y +
y, str, 0, 8, 8, 1, 1, 1,
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR);
504 l =
dpsnprintf(str,
sizeof(str),
"%0*i", digits, num);
512 x += (digits-l) * lettersize;
601 const char* teamname;
609 teamname =
"^1Red Team";
612 teamname =
"^4Blue Team";
615 teamname =
"^6Pink Team";
618 teamname =
"^3Yellow Team";
621 teamname =
"Total Team Score";
664 char str[80], timestr[40];
671 minutes = (
int)(t / 60);
689 if (strchr(str,
'\n'))
690 *(strchr(str,
'\n')) = 0;
761 const int w_width = 32, w_height = 12, w_space = 2, font_size = 8;
765 DrawQ_String((
vid_conwidth.
integer - w_width * 9) * 0.5 + w_width * nr + w_space,
vid_conheight.
integer - w_height + w_space,
va(vabuf,
sizeof(vabuf),
"%i",nr+1), 0, font_size, font_size, 1, 1, 0,
sbar_alpha_fg.
value, 0,
NULL,
true,
FONT_DEFAULT);
770 const int w_width = 300, w_height = 100, w_space = 10;
771 const float w_scale = 0.4;
801 for (
i=0 ;
i<7 ;
i++)
815 flashon = (flashon%5) + 2;
825 int grenadeflashing=0;
826 for (
i=0 ;
i<4 ;
i++)
840 flashon = (flashon%5) + 2;
858 if (!grenadeflashing)
880 for (
i=0 ;
i<4 ;
i++)
894 for (
i=0 ;
i<6 ;
i++)
906 for (
i=0 ;
i<2 ;
i++)
914 for (
i=0 ;
i<2 ;
i++)
921 for (
i=0 ;
i<4 ;
i++)
948 for (
i = 0;
i < l;
i++)
1007 if ((s->
colors & 0xf0)==0)
1057 *conversion_factor = 1.0;
1084 double interval = 1;
1101 float fps_x, fps_y, fps_scalex, fps_scaley, fps_strings = 0;
1102 char soundstring[32];
1104 char timestring[32];
1105 char datestring[32];
1106 char timedemostring1[32];
1107 char timedemostring2[32];
1108 char speedstring[32];
1109 char blurstring[32];
1110 char topspeedstring[48];
1116 timedemostring1[0] = 0;
1117 timedemostring2[0] = 0;
1122 topspeedstring[0] = 0;
1165 double speed, speedxy,
f;
1172 dpsnprintf(speedstring,
sizeof(speedstring),
"%.0f (%.0f) %s",
f*speed,
f*speedxy, unit);
1177 qbool topspeed_latched =
false, topspeedxy_latched =
false;
1185 topspeed_latched =
true;
1192 topspeedxy_latched =
true;
1193 dpsnprintf(topspeedstring,
sizeof(topspeedstring),
"%s%.0f%s (%s%.0f%s) %s",
1194 topspeed_latched ?
"^1" :
"^xf88",
f*
topspeed,
"^xf88",
1195 topspeedxy_latched ?
"^1" :
"^xf88",
f*
topspeedxy,
"^xf88",
1207 int hitnetentity = -1;
1213 memset(&svtrace, 0,
sizeof(svtrace));
1214 memset(&cltrace, 0,
sizeof(cltrace));
1220 cltrace =
CL_TraceLine(org, dest,
MOVE_HITMODEL,
NULL,
SUPERCONTENTS_SOLID, 0,
MATERIALFLAGMASK_TRANSLUCENT,
collision_extendmovelength.
value,
true,
false, &hitnetentity,
true,
true);
1224 dp_strlcpy(texstring,
"(no texture hit)",
sizeof(texstring));
1234 dp_strlcpy(entstring,
"(no entity hit)",
sizeof(entstring));
1243 else if (hitnetentity > 0)
1244 dpsnprintf(entstring,
sizeof(entstring),
"network entity %i", hitnetentity);
1245 else if (hitnetentity == 0)
1246 dp_strlcpy(entstring,
"world entity",
sizeof(entstring));
1248 dp_strlcpy(entstring,
"(no entity hit)",
sizeof(entstring));
1263 DrawQ_String(fps_x, fps_y, soundstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1264 fps_y += fps_scaley;
1272 DrawQ_String(fps_x, fps_y, fpsstring, 0, fps_scalex, fps_scaley, 1, 0, 0, 1, 0,
NULL,
true,
FONT_INFOBAR);
1274 DrawQ_String(fps_x, fps_y, fpsstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1275 fps_y += fps_scaley;
1278 if (timedemostring1[0])
1282 DrawQ_String(fps_x, fps_y, timedemostring1, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1283 fps_y += fps_scaley;
1285 if (timedemostring2[0])
1289 DrawQ_String(fps_x, fps_y, timedemostring2, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1290 fps_y += fps_scaley;
1296 DrawQ_String(fps_x, fps_y, timestring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1297 fps_y += fps_scaley;
1303 DrawQ_String(fps_x, fps_y, datestring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1304 fps_y += fps_scaley;
1310 DrawQ_String(fps_x, fps_y, speedstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1311 fps_y += fps_scaley;
1313 if (topspeedstring[0])
1317 DrawQ_String(fps_x, fps_y, topspeedstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
false,
FONT_INFOBAR);
1318 fps_y += fps_scaley;
1324 DrawQ_String(fps_x, fps_y, blurstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1325 fps_y += fps_scaley;
1331 DrawQ_String(fps_x, fps_y, texstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1332 fps_y += fps_scaley;
1338 DrawQ_String(fps_x, fps_y, entstring, 0, fps_scalex, fps_scaley, 1, 1, 1, 1, 0,
NULL,
true,
FONT_INFOBAR);
1339 fps_y += fps_scaley;
1344static void Sbar_DrawGauge(
float x,
float y, cachepic_t *pic,
float width,
float height,
float rangey,
float rangeheight,
float c1,
float c2,
float c1r,
float c1g,
float c1b,
float c1a,
float c2r,
float c2g,
float c2b,
float c2a,
float c3r,
float c3g,
float c3b,
float c3a,
int drawflags)
1347 c2 =
bound(0, c2, 1);
1348 c1 =
bound(0, c1, 1 - c2);
1350 r[1] = rangey + rangeheight * (c2 + c1);
1351 r[2] = rangey + rangeheight * (c2);
1355 DrawQ_SuperPic(
x,
y +
r[0], pic,
width, (
r[1] -
r[0]), 0,(
r[0] /
height), c3r,c3g,c3b,c3a, 1,(
r[0] /
height), c3r,c3g,c3b,c3a, 0,(
r[1] /
height), c3r,c3g,c3b,c3a, 1,(
r[1] /
height), c3r,c3g,c3b,c3a, drawflags);
1357 DrawQ_SuperPic(
x,
y +
r[1], pic,
width, (
r[2] -
r[1]), 0,(
r[1] /
height), c1r,c1g,c1b,c1a, 1,(
r[1] /
height), c1r,c1g,c1b,c1a, 0,(
r[2] /
height), c1r,c1g,c1b,c1a, 1,(
r[2] /
height), c1r,c1g,c1b,c1a, drawflags);
1359 DrawQ_SuperPic(
x,
y +
r[2], pic,
width, (
r[3] -
r[2]), 0,(
r[2] /
height), c2r,c2g,c2b,c2a, 1,(
r[2] /
height), c2r,c2g,c2b,c2a, 0,(
r[3] /
height), c2r,c2g,c2b,c2a, 1,(
r[3] /
height), c2r,c2g,c2b,c2a, drawflags);
1361 DrawQ_SuperPic(
x,
y +
r[3], pic,
width, (
r[4] -
r[3]), 0,(
r[3] /
height), c3r,c3g,c3b,c3a, 1,(
r[3] /
height), c3r,c3g,c3b,c3a, 0,(
r[4] /
height), c3r,c3g,c3b,c3a, 1,(
r[4] /
height), c3r,c3g,c3b,c3a, drawflags);
1408 int redflag, blueflag;
1416 fade =
bound(0.7, fade, 1);
1417 for (
i = 0;
i < 8;
i++)
1427 if (redflag == 3 && blueflag == 3)
1501 int redflag, blueflag;
1511 fade =
min(fade, 1);
1512 for (
i = 0;
i < 8;
i++)
1532 if (redflag == 3 && blueflag == 3)
1599 float scale = 64.0f / 256.0f;
1600 float kickoffset[3];
1612 Sbar_DrawGauge(
sbar_x + 16 *
scale,
sbar_y + 48 *
scale,
zymsb_crosshair_left1, 64*
scale, 80*
scale, 78*
scale, -66*
scale,
cl.
stats[
STAT_AMMO] * (1.0 / 200.0),
cl.
stats[
STAT_SHELLS] * (1.0 / 200.0), 0.8f,0.8f,0.0f,1.0f, 0.8f,0.5f,0.0f,1.0f, 0.3f,0.3f,0.3f,1.0f,
DRAWFLAG_NORMAL);
1613 Sbar_DrawGauge(
sbar_x + 16 *
scale,
sbar_y + 128 *
scale,
zymsb_crosshair_left2, 64*
scale, 80*
scale, 68*
scale, -66*
scale,
cl.
stats[
STAT_NAILS] * (1.0 / 200.0),
cl.
stats[
STAT_ROCKETS] * (1.0 / 200.0), 0.8f,0.8f,0.0f,1.0f, 0.8f,0.5f,0.0f,1.0f, 0.3f,0.3f,0.3f,1.0f,
DRAWFLAG_NORMAL);
1614 Sbar_DrawGauge(
sbar_x + 176 *
scale,
sbar_y + 48 *
scale,
zymsb_crosshair_right, 64*
scale, 160*
scale, 148*
scale, -136*
scale,
cl.
stats[
STAT_ARMOR] * (1.0 / 300.0),
cl.
stats[
STAT_HEALTH] * (1.0 / 300.0), 0.0f,0.5f,1.0f,1.0f, 1.0f,0.0f,0.0f,1.0f, 0.3f,0.3f,0.3f,1.0f,
DRAWFLAG_NORMAL);
1617 float scale = 128.0f / 256.0f;
1618 float healthstart, healthheight, healthstarttc, healthendtc;
1619 float shieldstart, shieldheight, shieldstarttc, shieldendtc;
1620 float ammostart, ammoheight, ammostarttc, ammoendtc;
1621 float clipstart, clipheight, clipstarttc, clipendtc;
1622 float kickoffset[3],
offset;
1632 DrawQ_SuperPic(
sbar_x + 120 *
scale,
sbar_y + ( 88 -
offset) *
scale,
zymsb_crosshair_line, 16 *
scale, 36 *
scale, 0,0, 1,1,1,1, 1,0, 1,1,1,1, 0,1, 1,1,1,1, 1,1, 1,1,1,1, 0);
1633 DrawQ_SuperPic(
sbar_x + (132 +
offset) *
scale,
sbar_y + 120 *
scale,
zymsb_crosshair_line, 36 *
scale, 16 *
scale, 0,1, 1,1,1,1, 0,0, 1,1,1,1, 1,1, 1,1,1,1, 1,0, 1,1,1,1, 0);
1634 DrawQ_SuperPic(
sbar_x + 120 *
scale,
sbar_y + (132 +
offset) *
scale,
zymsb_crosshair_line, 16 *
scale, 36 *
scale, 1,1, 1,1,1,1, 0,1, 1,1,1,1, 1,0, 1,1,1,1, 0,0, 1,1,1,1, 0);
1635 DrawQ_SuperPic(
sbar_x + ( 88 -
offset) *
scale,
sbar_y + 120 *
scale,
zymsb_crosshair_line, 36 *
scale, 16 *
scale, 1,0, 1,1,1,1, 1,1, 1,1,1,1, 0,0, 1,1,1,1, 0,1, 1,1,1,1, 0);
1638 healthstart = 204 - healthheight;
1639 shieldstart = healthstart - shieldheight;
1640 healthstarttc = healthstart * (1.0f / 256.0f);
1641 healthendtc = (healthstart + healthheight) * (1.0f / 256.0f);
1642 shieldstarttc = shieldstart * (1.0f / 256.0f);
1643 shieldendtc = (shieldstart + shieldheight) * (1.0f / 256.0f);
1645 ammostart = 114 - ammoheight;
1646 ammostarttc = ammostart * (1.0f / 256.0f);
1647 ammoendtc = (ammostart + ammoheight) * (1.0f / 256.0f);
1649 clipstart = 190 - clipheight;
1650 clipstarttc = clipstart * (1.0f / 256.0f);
1651 clipendtc = (clipstart + clipheight) * (1.0f / 256.0f);
1652 if (healthheight > 0)
DrawQ_SuperPic(
sbar_x + 0 *
scale,
sbar_y + healthstart *
scale,
zymsb_crosshair_health, 256 *
scale, healthheight *
scale, 0,healthstarttc, 1.0f,0.0f,0.0f,1.0f, 1,healthstarttc, 1.0f,0.0f,0.0f,1.0f, 0,healthendtc, 1.0f,0.0f,0.0f,1.0f, 1,healthendtc, 1.0f,0.0f,0.0f,1.0f,
DRAWFLAG_NORMAL);
1653 if (shieldheight > 0)
DrawQ_SuperPic(
sbar_x + 0 *
scale,
sbar_y + shieldstart *
scale,
zymsb_crosshair_health, 256 *
scale, shieldheight *
scale, 0,shieldstarttc, 0.0f,0.5f,1.0f,1.0f, 1,shieldstarttc, 0.0f,0.5f,1.0f,1.0f, 0,shieldendtc, 0.0f,0.5f,1.0f,1.0f, 1,shieldendtc, 0.0f,0.5f,1.0f,1.0f,
DRAWFLAG_NORMAL);
1654 if (ammoheight > 0)
DrawQ_SuperPic(
sbar_x + 0 *
scale,
sbar_y + ammostart *
scale,
zymsb_crosshair_ammo, 256 *
scale, ammoheight *
scale, 0,ammostarttc, 0.8f,0.8f,0.0f,1.0f, 1,ammostarttc, 0.8f,0.8f,0.0f,1.0f, 0,ammoendtc, 0.8f,0.8f,0.0f,1.0f, 1,ammoendtc, 0.8f,0.8f,0.0f,1.0f,
DRAWFLAG_NORMAL);
1655 if (clipheight > 0)
DrawQ_SuperPic(
sbar_x + 0 *
scale,
sbar_y + clipstart *
scale,
zymsb_crosshair_clip, 256 *
scale, clipheight *
scale, 0,clipstarttc, 1.0f,1.0f,0.0f,1.0f, 1,clipstarttc, 1.0f,1.0f,0.0f,1.0f, 0,clipendtc, 1.0f,1.0f,0.0f,1.0f, 1,clipendtc, 1.0f,1.0f,0.0f,1.0f,
DRAWFLAG_NORMAL);
1785 DrawQ_Pic((
cl.
cmd.
cursor_screen[0] + 1) * 0.5 *
vid_conwidth.
integer, (
cl.
cmd.
cursor_screen[1] + 1) * 0.5 *
vid_conheight.
integer,
Draw_CachePic (
va(vabuf,
sizeof(vabuf),
"gfx/prydoncursor%03i",
cl_prydoncursor.
integer)), 0, 0, 1, 1, 1, 1, 0);
1799 qbool myself =
false;
1815 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
"%4i %3i %4i spectator %c%s",
bound(0, s->
qw_ping, 9999),
bound(0, s->
qw_packetloss, 99), minutes, myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1817 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
" %4i spectator %c%s", minutes, myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1834 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
"%4i %3i %4i %5i %-4s %c%s",
bound(0, s->
qw_ping, 9999),
bound(0, s->
qw_packetloss, 99), minutes,(
int) s->
frags,
cl.
qw_teamplay ? s->
qw_team :
"", myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1836 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
" %4i %5i %-4s %c%s", minutes,(
int) s->
frags,
cl.
qw_teamplay ? s->
qw_team :
"", myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1844 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
"%4i %3i spect %c%s",
bound(0, s->
qw_ping, 9999),
bound(0, s->
qw_packetloss, 99), myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1846 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
" spect %c%s", myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1858 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
"%4i %3i %5i %c%s",
bound(0, s->
qw_ping, 9999),
bound(0, s->
qw_packetloss, 99), (
int) s->
frags, myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1860 DrawQ_String(
x,
y,
va(vabuf,
sizeof(vabuf),
" %5i %c%s", (
int) s->
frags, myself ? 13 :
' ', s->
name), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1868 int i,
y, xmin, xmax, ymin, ymax;
1883 static int ping_anyway_counter = 0;
1886 Con_DPrintf(
"want to send ping, but still waiting for other reply\n");
1887 if(++ping_anyway_counter >= 5)
1892 ping_anyway_counter = 0;
1927 DrawQ_String(xmin,
y,
va(vabuf,
sizeof(vabuf),
"ping pl%% time frags team name"), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1931 DrawQ_String(xmin,
y,
va(vabuf,
sizeof(vabuf),
"ping pl%% frags name"), 0, 8, 8, 1, 1, 1, 1 *
sbar_alpha_fg.
value, 0,
NULL,
false,
FONT_SBAR );
1955 int i, j, numlines, range_begin, range_end, myteam, teamsep;
1993 range_begin = range_end =
i;
2010 i =
min(
i, range_end - numlines);
2011 i =
max(
i, range_begin);
2020 if(range_end -
i < numlines)
2021 y += 8 * (numlines - (range_end -
i));
2033 static int const sortorder[16] =
2054 int tc1 = sortorder[t1->
colors & 15];
2055 int tc2 = sortorder[t2->
colors & 15];
2061 int i, me, score, otherleader, place, distribution, minutes,
seconds;
2063 int sbar_x_save =
sbar_x;
2064 int sbar_y_save =
sbar_y;
2085 teamcolorsort[
i] = &(
teams[
i]);
2096 int cindex = teamcolorsort[
i]->
colors & 15;
2098 float cm =
max(
max(c[0], c[1]), c[2]);
2099 float cr = c[0] / cm;
2100 float cg = c[1] / cm;
2101 float cb = c[2] / cm;
2134 distribution = otherleader >= 0 ? score -
cl.
scores[otherleader].
frags : 0;
2137 else if (place == 2)
2141 if (otherleader < 0)
2143 if (distribution >= 0)
2145 Sbar_DrawXNum(-7*12, -12, distribution, 4, 12, 1, 1, 1, 1, 0);
2148 else if (distribution >= -5)
2150 Sbar_DrawXNum(-7*12, -12, distribution, 4, 12, 1, 1, 0, 1, 0);
2155 Sbar_DrawXNum(-7*12, -12, distribution, 4, 12, 1, 0, 0, 1, 0);
2164 minutes = (
int)
floor(timeleft / 60);
2173 else if (minutes >= 1)
2180 else if ((
int)(timeleft * 4) & 1)
#define SUPERCONTENTS_SOLID
trace_t CL_TraceLine(const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend, qbool hitnetworkbrushmodels, qbool hitnetworkplayers, int *hitnetworkentity, qbool hitcsqcentities, qbool hitsurfaces)
void Cmd_AddCommand(unsigned flags, const char *cmd_name, xcommand_t function, const char *description)
called by the init functions of other parts of the program to register commands and functions to call...
#define CF_CLIENT
cvar/command that only the client can change/execute
#define CF_ARCHIVE
cvar should have its set value saved to config.cfg and persist across sessions
cvar_t collision_extendmovelength
#define IS_OLDNEXUIZ_DERIVED(g)
void MSG_WriteString(sizebuf_t *sb, const char *s)
void MSG_WriteByte(sizebuf_t *sb, int c)
char * va(char *buf, size_t buflen, const char *format,...)
int dpsnprintf(char *buffer, size_t buffersize, const char *format,...)
Returns the number of printed characters, excluding the final '\0' or returns -1 if the buffer isn't ...
@ PROTOCOL_DARKPLACES2
various changes
@ PROTOCOL_DARKPLACES4
various changes
@ PROTOCOL_NEHAHRABJP2
same as NEHAHRABJP but with 16bit soundindex
@ PROTOCOL_DARKPLACES3
uses EntityFrame4 entity snapshot encoder/decoder which is broken, this attempted to do partial snaps...
@ PROTOCOL_NEHAHRABJP
same as QUAKEDP but with 16bit modelindex
@ PROTOCOL_DARKPLACES5
uses EntityFrame5 entity snapshot encoder/decoder which is based on a Tribes networking article at ht...
@ PROTOCOL_QUAKEDP
darkplaces extended quake protocol (used by TomazQuake and others), backwards compatible as long as n...
@ PROTOCOL_DARKPLACES6
various changes
@ PROTOCOL_QUAKE
quake (aka netquake/normalquake/nq) protocol
@ PROTOCOL_NEHAHRABJP3
same as NEHAHRABJP2 but with some changes
@ PROTOCOL_NEHAHRAMOVIE
Nehahra movie protocol, a big nasty hack dating back to early days of the Quake Standards Group (but ...
@ PROTOCOL_QUAKEWORLD
quakeworld protocol
@ PROTOCOL_DARKPLACES1
uses EntityFrame entity snapshot encoder/decoder which is a QuakeWorld-like entity snapshot delta com...
#define dp_strlcpy(dst, src, dsize)
void Con_DPrintf(const char *fmt,...)
A Con_Printf that only shows up if the "developer" cvar is set.
void CL_VM_UpdateShowingScoresState(int showingscores)
const float DRAWFLAG_NORMAL
const float DRAWFLAG_MODULATE
void Cvar_RegisterVariable(cvar_t *variable)
registers a cvar that already has the name, string, and optionally the archive elements set.
void Cvar_RegisterVirtual(cvar_t *variable, const char *name)
cachepic_t * Draw_CachePic(const char *path)
@ CACHEPICFLAG_FAILONMISSING
void DrawQ_Fill(float x, float y, float width, float height, float red, float green, float blue, float alpha, int flags)
void DrawQ_Pic(float x, float y, cachepic_t *pic, float width, float height, float red, float green, float blue, float alpha, int flags)
void DrawQ_SuperPic(float x, float y, cachepic_t *pic, float width, float height, float s1, float t1, float r1, float g1, float b1, float a1, float s2, float t2, float r2, float g2, float b2, float a2, float s3, float t3, float r3, float g3, float b3, float a3, float s4, float t4, float r4, float g4, float b4, float a4, int flags)
float DrawQ_String(float x, float y, const char *text, size_t maxlen, float scalex, float scaley, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qbool ignorecolorcodes, const dp_font_t *fnt)
cachepic_t * Draw_CachePic_Flags(const char *path, unsigned int cachepicflags)
int Draw_GetPicWidth(cachepic_t *pic)
float DrawQ_TextWidth(const char *text, size_t maxlen, float w, float h, qbool ignorecolorcodes, const dp_font_t *fnt)
int Draw_GetPicHeight(cachepic_t *pic)
qbool Draw_IsPicLoaded(cachepic_t *pic)
static int(ZEXPORT *qz_inflate)(z_stream *strm
GLenum GLsizei GLsizei height
GLint GLenum GLint GLint y
GLuint GLuint GLintptr offset
#define bound(min, num, max)
#define VectorSet(vec, x, y, z)
void Matrix4x4_Transform(const matrix4x4_t *in, const float v[3], float out[3])
void Matrix4x4_OriginFromMatrix(const matrix4x4_t *in, float *out)
#define MATERIALFLAGMASK_TRANSLUCENT
unsigned char palette_rgb_pantsscoreboard[16][3]
unsigned char palette_rgb_shirtscoreboard[16][3]
#define PRVM_EDICT_TO_PROG(e)
#define MAX_QPATH
max length of a quake game pathname
#define MAX_SCOREBOARD
max number of players in game at once (255 protocol limit)
#define STAT_TOTALMONSTERS
#define STAT_MONSTERS
bumped by svc_killedmonster
#define STAT_SECRETS
bumped on client side by svc_foundsecret
#define STAT_TOTALSECRETS
#define STAT_ACTIVEWEAPON
#define STAT_TIMELIMIT
DP.
#define STAT_ITEMS
FTE, DP.
#define HIT_PROXIMITY_GUN_BIT
#define HIT_LASER_CANNON_BIT
#define IT_INVULNERABILITY
#define HIT_PROXIMITY_GUN
#define RIT_MULTI_ROCKETS
void R_RegisterModule(const char *name, void(*start)(void), void(*shutdown)(void), void(*newmap)(void), void(*devicelost)(void), void(*devicerestored)(void))
static void Sbar_IntermissionOverlay(void)
static void Sbar_DrawXNum(int x, int y, int num, int digits, int lettersize, float r, float g, float b, float a, int flags)
static scoreboard_t teams[MAX_SCOREBOARD]
static void Sbar_SoloScoreboard(void)
static void Sbar_ShowScores_f(cmd_state_t *cmd)
static int scoreboardlines
cachepic_t * rsb_weapons[5]
cvar_t sbar_flagstatus_right
cachepic_t * rsb_teambord
void Sbar_Draw(void)
called every frame by screen
static int showfps_framecount
static int teamsort[MAX_SCOREBOARD]
cachepic_t * zymsb_crosshair_line
cvar_t cl_showtime_format
cvar_t cl_deathscoreboard
cachepic_t * zymsb_crosshair_left2
cachepic_t * zymsb_crosshair_ammo
cachepic_t * sb_face_quad
static int Sbar_IsTeammatch(void)
static void Sbar_DrawAlphaPic(int x, int y, cachepic_t *pic, float alpha)
cachepic_t * zymsb_crosshair_background
static void sbar_shutdown(void)
void Sbar_Score(int margin)
static void Sbar_MiniDeathmatchOverlay(int x, int y)
cachepic_t * zymsb_crosshair_health
static void Sbar_DrawString(int x, int y, char *str)
static void Sbar_DrawStretchPic(int x, int y, cachepic_t *pic, float alpha, float overridewidth, float overrideheight)
static void Sbar_DrawPic(int x, int y, cachepic_t *pic)
cachepic_t * zymsb_crosshair_center
int Sbar_GetSortedPlayerIndex(int index)
static void Sbar_DrawInventory(void)
static double showfps_nexttime
cachepic_t * hsb_items[2]
static void Sbar_DrawNum(int x, int y, int num, int digits, int color)
cachepic_t * zymsb_crosshair_clip
cachepic_t * sb_face_invis
int sb_lines
scan lines to draw
cvar_t sbar_miniscoreboard_size
static void Sbar_DrawWeapon(int nr, float fade, int active)
static int Sbar_TeamColorCompare(const void *t1_, const void *t2_)
cvar_t crosshair_color_green
static void Sbar_DrawFrags(void)
cvar_t crosshair_color_alpha
cachepic_t * sb_sbar_overlay
static void Sbar_DrawFace(void)
static void Sbar_FinaleOverlay(void)
static void Sbar_DrawGauge(float x, float y, cachepic_t *pic, float width, float height, float rangey, float rangeheight, float c1, float c2, float c1r, float c1g, float c1b, float c1a, float c2r, float c2g, float c2b, float c2a, float c3r, float c3g, float c3b, float c3a, int drawflags)
cvar_t sbar_flagstatus_pos
static void sbar_start(void)
cachepic_t * rsb_items[2]
cachepic_t * sb_face_invis_invuln
static double showfps_lasttime
cachepic_t * hsb_weapons[7][5]
cachepic_t * rsb_invbar[2]
void Sbar_DeathmatchOverlay(void)
static void Sbar_DrawCharacter(int x, int y, int num)
cachepic_t * zymsb_crosshair_left1
cvar_t cl_showspeed_factor
cachepic_t * sb_items[32]
cachepic_t * sb_weapons[7][9]
static void sbar_newmap(void)
static void get_showspeed_unit(int unitnumber, double *conversion_factor, const char **unit)
cvar_t crosshair_color_blue
void Sbar_SortFrags(void)
static void Sbar_DontShowScores_f(cmd_state_t *cmd)
cvar_t cl_showdate_format
cachepic_t * sb_sbar_minimal
cachepic_t * sb_face_invuln
static float Sbar_PrintScoreboardItem(scoreboard_t *s, float x, float y)
cvar_t crosshair_color_red
static double showfps_framerate
static int fragsort[MAX_SCOREBOARD]
void Sbar_ShowFPS_Update(void)
cachepic_t * sb_nums[2][11]
cachepic_t * zymsb_crosshair_right
cachepic_t * sb_faces[5][2]
static void Sbar_DrawScoreboard(void)
trace_t SV_TraceLine(const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend)
int parsingtextexpectingpingforscores
char worldbasename[MAX_QPATH]
char worldname[MAX_QPATH]
char worldmessage[MAX_QPATH]
csqc_vidvars_t csqc_vidvars
cl_soundstats_t soundstats
double td_onesecondavgfps
double td_onesecondmaxfps
protocolversion_t protocol
double td_onesecondminfps
command interpreter state - the tokenizing and execution of commands, as well as pointers to which cv...
double realtime
the accumulated mainloop time since application started (with filtering), without any slowmo or clamp...
sizebuf_t message
writing buffer to send to peer as the next reliable message can be added to at any time,...
char name[MAX_SCOREBOARDNAME]
qbool active
false if only a net client
const struct texture_s * hittexture
size_t Sys_TimeString(char buf[], size_t bufsize, const char *timeformat)