Quake II RTX doxygen
1.0 dev
|
|
Go to the documentation of this file.
65 cvar_t *cl_updaterate;
123 #define MAX_REQUESTS 64
124 #define REQUEST_MASK (MAX_REQUESTS - 1)
151 for (i = 0; i < count; i++) {
156 if (r->
adr.type == NA_BROADCAST) {
249 static void CL_UpdateRateSetting(
void)
305 Com_DDPrintf(
"%s: %s\n", __func__,
string);
342 Com_Printf(
"Can't \"%s\", not connected\n",
Cmd_Argv(0));
371 if (cl_paused->integer == 2) {
389 char tail[MAX_QPATH];
390 char userinfo[MAX_INFO_STRING];
447 maxmsglen = MAX_PACKETLEN_WRITABLE;
452 case PROTOCOL_VERSION_R1Q2:
454 maxmsglen, PROTOCOL_VERSION_R1Q2_CURRENT);
457 case PROTOCOL_VERSION_Q2PRO:
458 Q_snprintf(tail,
sizeof(tail),
" %d %d %d %d",
460 PROTOCOL_VERSION_Q2PRO_CURRENT);
497 }
else if (argnum == 2) {
498 if (!ctx->partial[0] || (ctx->partial[0] ==
'3' && !ctx->partial[1])) {
521 Com_EPrintf(
"Multiplayer is not supported in the shareware version of the game.\n");
527 Com_Printf(
"Usage: %s <server> [34|35|36]\n",
Cmd_Argv(0));
533 if (protocol < PROTOCOL_VERSION_DEFAULT ||
534 protocol > PROTOCOL_VERSION_Q2PRO) {
540 protocol = PROTOCOL_VERSION_Q2PRO;
549 if ((p = strchr(server,
'/')) != NULL) {
555 Com_Printf(
"Bad server address\n");
563 SV_Shutdown(
"Server was killed.\n", ERR_DISCONNECT);
599 Com_Printf(
"No IP address to follow.\n");
606 Com_Printf(
"Following %s...\n", s);
617 Com_Printf(
"No longer listening for passive connections.\n");
622 SV_Shutdown(
"Server was killed.\n", ERR_DISCONNECT);
633 Com_Printf(
"Listening for passive connections at %s.\n",
637 void CL_SendRcon(
const netadr_t *adr,
const char *pass,
const char *cmd)
660 Com_Printf(
"Usage: %s <command>\n",
Cmd_Argv(0));
665 Com_Printf(
"You must set 'rcon_password' before "
666 "issuing an rcon command.\n");
672 Com_Printf(
"You must either be connected, "
673 "or set the 'rcon_address' cvar "
674 "to issue rcon commands.\n");
704 CL_ClearLightStyles();
711 memset(&
cl, 0,
sizeof(
cl));
723 #if USE_REF == REF_GL
756 R_CinematicSetPalette(NULL);
764 cls.errorReceived = qfalse;
770 MSG_WriteData(
"disconnect", 11);
793 if (type == ERR_DISCONNECT) {
812 Com_Error(ERR_DISCONNECT,
"Disconnected from server");
837 Com_Printf(
"Usage: %s [address]\n",
Cmd_Argv(0));
844 Com_Printf(
"Bad address: %s\n", s);
853 ret = OOB_PRINT(NS_CLIENT, &adr,
"status");
854 if (ret == NET_ERROR) {
866 const playerStatus_t *p1 = (
const playerStatus_t *)v1;
867 const playerStatus_t *p2 = (
const playerStatus_t *)v2;
869 return p2->score - p1->score;
879 playerStatus_t *player;
889 infolen = s - string;
890 if (infolen >= MAX_INFO_STRING)
891 infolen = MAX_INFO_STRING - 1;
894 memcpy(status->infostring,
string, infolen);
895 status->infostring[infolen] = 0;
898 strcpy(status->infostring,
"\\hostname\\badinfo");
901 status->numPlayers = 0;
902 while (status->numPlayers < MAX_STATUS_PLAYERS) {
903 player = &status->players[status->numPlayers];
909 status->numPlayers++;
913 qsort(status->players, status->numPlayers,
925 Com_Printf(
"\nNum Score Ping Name\n");
926 for (i = 0; i < status->numPlayers; i++) {
927 Com_Printf(
"%3i %5i %4i %s\n", i + 1,
928 status->players[i].score,
929 status->players[i].ping,
930 status->players[i].name);
941 char string[MAX_NET_STRING];
942 serverStatus_t status;
961 Com_Printf(
"%s",
string);
968 if (r->
adr.type != NA_BROADCAST)
977 Com_Printf(
"%s",
string);
983 Com_DPrintf(
"%s: dropped unrequested packet\n", __func__);
995 char string[MAX_QPATH];
1005 Com_Printf(
"%s",
string);
1006 if (r->
adr.type != NA_BROADCAST)
1084 Com_Printf(
"Changing map...\n");
1103 for (i = 1; i < j; i++) {
1105 if (!strncmp(s,
"map=", 4)) {
1137 Com_Printf(
"Reconnecting...\n");
1145 Com_Printf(
"No server to reconnect to.\n");
1149 Com_Printf(
"Can not reconnect to loopback.\n");
1153 Com_Printf(
"Reconnecting...\n");
1168 void CL_SendStatusRequest(
const netadr_t *address)
1174 OOB_PRINT(NS_CLIENT, address,
"status");
1192 memset(&address, 0,
sizeof(address));
1193 address.type = NA_BROADCAST;
1194 address.port = BigShort(PORT_SERVER);
1196 Com_DPrintf(
"Pinging broadcast...\n");
1199 OOB_PRINT(NS_CLIENT, &address,
"info 34");
1202 for (i = 0; i < 64; i++) {
1207 if (!var->string[0])
1211 Com_Printf(
"Bad address: %s\n", var->string);
1215 Com_DPrintf(
"Pinging %s...\n", var->string);
1218 OOB_PRINT(NS_CLIENT, &address,
"info 34");
1236 Com_Printf(
"Must be in a level to load skins.\n");
1242 for (i = 0; i < MAX_CLIENTS; i++) {
1250 Com_Printf(
"client %d: %s --> %s/%s\n", i, s,
1266 for (i = 0; i < MAX_CLIENTS; i++) {
1289 char buffer[MAX_CLIENT_NAME];
1295 for (i = 0; i < MAX_CLIENTS; i++) {
1317 char string[MAX_STRING_CHARS];
1326 if (len >=
sizeof(
string)) {
1327 Com_DPrintf(
"Oversize message received. Ignored.\n");
1338 if (!strcmp(
c,
"challenge")) {
1342 Com_DPrintf(
"Challenge received while not connecting. Ignored.\n");
1346 Com_DPrintf(
"Challenge from different address. Ignored.\n");
1350 Com_DPrintf(
"Dup challenge received. Ignored.\n");
1361 for (i = 2; i < j; i++) {
1363 if (!strncmp(s,
"p=", 2)) {
1366 k = strtoul(s, &s, 10);
1367 if (k == PROTOCOL_VERSION_R1Q2) {
1369 }
else if (k == PROTOCOL_VERSION_Q2PRO) {
1383 case PROTOCOL_VERSION_Q2PRO:
1388 case PROTOCOL_VERSION_R1Q2:
1403 if (!strcmp(
c,
"client_connect")) {
1404 netchan_type_t type;
1406 char mapname[MAX_QPATH];
1407 qboolean got_server = qfalse;
1410 Com_DPrintf(
"Connect received while not connecting. Ignored.\n");
1414 Com_DPrintf(
"Connect from different address. Ignored.\n");
1418 Com_DPrintf(
"Dup connect received. Ignored.\n");
1432 for (i = 1; i < j; i++) {
1434 if (!strncmp(s,
"ac=", 3)) {
1437 anticheat = atoi(s);
1439 }
else if (!strncmp(s,
"nc=", 3)) {
1443 if (type != NETCHAN_OLD && type != NETCHAN_NEW) {
1445 "Server returned invalid netchan type");
1448 }
else if (!strncmp(s,
"map=", 4)) {
1449 Q_strlcpy(mapname, s + 4,
sizeof(mapname));
1450 }
else if (!strncmp(s,
"dlserver=", 9)) {
1462 Com_Printf(
"Connected to %s (protocol %d).\n",
1478 Com_Printf(
"Loading anticheat, this may take a few moments...\n");
1481 Com_Printf(
"Trying to connect without anticheat.\n");
1483 Com_LPrintf(PRINT_NOTICE,
"Anticheat loaded successfully.\n");
1487 if (anticheat >= 2) {
1488 Com_Printf(
"Anticheat required by server, "
1489 "but no anticheat support linked in.\n");
1500 if (!strcmp(
c,
"passive_connect")) {
1502 Com_DPrintf(
"Passive connect received while not connecting. Ignored.\n");
1506 Com_Printf(
"Received passive connect from %s.\n", s);
1522 if (!strcmp(
c,
"print")) {
1528 if (!strcmp(
c,
"info")) {
1533 Com_DPrintf(
"Unknown connectionless packet command.\n");
1568 Com_DPrintf(
"%s: sequenced packet without connection\n",
1577 cls.errorReceived = qfalse;
1601 void CL_ErrorEvent(netadr_t *from)
1614 if (!NET_IsEqualBaseAdr(from, &
cls.
netchan->remote_address)) {
1617 if (from->port && from->port !=
cls.
netchan->remote_address.port) {
1621 cls.errorReceived = qtrue;
1639 if ((p = strchr(sk,
'/')) != NULL)
1641 if (Q_stricmp(sk,
"male") == 0 || Q_stricmp(sk,
"cyborg") == 0)
1643 else if (Q_stricmp(sk,
"female") == 0 || Q_stricmp(sk,
"crackhor") == 0)
1676 Com_DDPrintf(
"%s: %u: %s [DUP]\n",
1685 Com_DDPrintf(
"%s: %u: %s [%d]\n",
1696 char userinfo[MAX_INFO_STRING];
1700 Com_Printf(
"User info settings:\n");
1728 FS_File_g(
"sound",
"*.wav", FS_SEARCH_SAVEPATH | FS_SEARCH_BYFILTER | FS_SEARCH_STRIPEXT, ctx);
1734 char name[MAX_QPATH];
1737 Com_Printf(
"Usage: %s <sound> [...]\n",
Cmd_Argv(0));
1759 #if USE_REF == REF_GL
1778 CL_UpdateRateSetting();
1846 if (!strcmp(ignore->
match, match)) {
1859 Com_Printf(
"No ignore filters.\n");
1863 Com_Printf(
"Current ignore filters:\n");
1865 Com_Printf(
"\"%s\" (%u hit%s)\n", ignore->
match,
1866 ignore->
hits, ignore->
hits == 1 ?
"" :
"s");
1880 matchlen = strlen(match);
1882 Com_Printf(
"Match string \"%s\" is too short.\n", match);
1886 ignore = Z_Malloc(
sizeof(*ignore) + matchlen);
1888 memcpy(ignore->
match, match, matchlen + 1);
1898 Com_Printf(
"Can't find ignore filter \"%s\"\n", match);
1902 List_Remove(&ignore->
entry);
1916 Com_Printf(
"Removed %d ignore filter%s.\n", count, count == 1 ?
"" :
"s");
1938 Com_Printf(
"No ignore filters.\n");
1960 char temp[MAX_CLIENT_NAME];
1977 }
else if (
c ==
'*') {
1981 }
else if (
c ==
'\\') {
1985 }
else if (Q_isprint(
c)) {
1998 char nick[MAX_CLIENT_NAME * 2];
1999 char match[MAX_CLIENT_NAME * 3];
2010 Q_snprintf(match,
sizeof(match),
"%s: *", nick);
2013 Q_snprintf(match,
sizeof(match),
"(%s): *", nick);
2019 char nick[MAX_CLIENT_NAME * 2];
2020 char match[MAX_CLIENT_NAME * 3];
2031 Q_snprintf(match,
sizeof(match),
"%s: *", nick);
2034 Q_snprintf(match,
sizeof(match),
"(%s): *", nick);
2045 char buffer[MAX_STRING_CHARS];
2056 if (Com_WildCmp(ignore->
match, buffer)) {
2070 Com_Printf(
"Must be in a level to dump.\n");
2074 for (i = 0; i < MAX_CLIENTS; i++) {
2085 char buffer[MAX_OSPATH];
2088 Com_Printf(
"Must be in a level to dump.\n");
2093 Com_Printf(
"Usage: %s <filename>\n",
Cmd_Argv(0));
2098 Com_Printf(
"No %s to dump.\n", name);
2103 "layouts/",
Cmd_Argv(1),
".txt", text, strlen(text))) {
2104 Com_Printf(
"Dumped %s program to %s.\n", name, buffer);
2119 {
"a",
"aliases",
"write aliases" },
2120 {
"b",
"bindings",
"write bindings" },
2121 {
"c",
"cvars",
"write archived cvars" },
2122 {
"h",
"help",
"display this help message" },
2123 {
"m",
"modified",
"write modified cvars" },
2139 char buffer[MAX_OSPATH];
2140 qboolean aliases = qfalse, bindings = qfalse, modified = qfalse;
2153 mask |= CVAR_ARCHIVE;
2157 Com_Printf(
"Save current configuration into file.\n");
2170 Com_Printf(
"Missing filename argument.\n");
2175 if (!aliases && !bindings && !mask) {
2177 mask = CVAR_ARCHIVE;
2180 f =
FS_EasyOpenFile(buffer,
sizeof(buffer), FS_MODE_WRITE | FS_FLAG_TEXT,
2194 Cmd_WriteAliases(f);
2197 FS_FPrintf(f,
"\n//%s cvars\n", modified ?
"modified" :
"archived");
2198 Cvar_WriteVariables(f, mask, modified);
2203 Com_Printf(
"Wrote %s.\n", buffer);
2236 VectorScale(
cl.
frame.
ps.pmove.velocity, 0.125f, vel);
2239 return Q_scnprintf(buffer, size,
"%d", (
int)VectorLength(vel));
2247 min = sec / 60; sec %= 60;
2248 hour = min / 60; min %= 60;
2251 return Q_scnprintf(buffer, size,
"%i:%i:%02i", hour, min, sec);
2253 return Q_scnprintf(buffer, size,
"%i:%02i", min, sec);
2258 int sec, min, framenum;
2264 if (MVD_GetDemoPercent(NULL, &framenum) == -1)
2268 sec = framenum / 10; framenum %= 10;
2269 min = sec / 60; sec %= 60;
2272 "%d:%02d.%d", min, sec, framenum);
2381 return cl.
refdef.feedback.resolution_scale;
2396 ret =
FS_FOpenFile(COM_CONFIG_CFG, &f, FS_MODE_WRITE | FS_FLAG_TEXT);
2398 Com_EPrintf(
"Couldn't open %s for writing: %s\n",
2403 FS_FPrintf(f,
"// generated by " APPLICATION
", do not modify\n");
2406 Cvar_WriteVariables(f, CVAR_ARCHIVE, qfalse);
2422 if (!cl_running->integer) {
2427 Com_DPrintf(
"%s(%d)\n", __func__, total);
2571 Com_DPrintf(
"stufftext: %s\n", text);
2576 if (!strcmp(s,
"changing")) {
2580 if (!strcmp(s,
"precache")) {
2587 if (strcmp(s,
"play")) {
2622 static void cl_updaterate_changed(cvar_t *
self)
2624 CL_UpdateRateSetting();
2638 if (self->integer == -1) {
2639 self->flags |= CVAR_ROM;
2648 else if (!Q_stricmp(self->string,
"misc/talk.wav"))
2650 else if (!Q_stricmp(self->string,
"misc/talk1.wav"))
2652 else if (!self->integer && !
COM_IsUint(self->string))
2694 {
"wave" }, {
"inven" }, {
"kill" }, {
"use" },
2695 {
"drop" }, {
"info" }, {
"prog" },
2696 {
"give" }, {
"god" }, {
"notarget" }, {
"noclip" },
2697 {
"invuse" }, {
"invprev" }, {
"invnext" }, {
"invdrop" },
2698 {
"weapnext" }, {
"weapprev" },
2729 for (i = 0; i < MAX_LOCAL_SERVERS; i++) {
2730 var =
Cvar_Get(
va(
"adr%i", i),
"", CVAR_ARCHIVE);
2762 cl_shownet =
Cvar_Get(
"cl_shownet",
"0", 0);
2763 cl_showmiss =
Cvar_Get(
"cl_showmiss",
"0", 0);
2764 cl_showclamp =
Cvar_Get(
"showclamp",
"0", 0);
2785 cl_updaterate =
Cvar_Get(
"cl_updaterate",
"0", 0);
2786 cl_updaterate->changed = cl_updaterate_changed;
2831 int random_number = rand() % 10000;
2832 char buf[MAX_CLIENT_NAME];
2833 Q_snprintf(buf,
sizeof(buf),
"Player-%04d", random_number);
2891 if (MVD_GetDemoPercent(NULL, NULL) != -1)
2908 Com_DDDPrintf(
"%s: %u\n", __func__, active);
2926 cl.keytime =
cl.keyservertime;
2927 cl.keylerpfrac = 1.0f;
2937 }
else if (
cl.
time < prevtime) {
2945 SHOWCLAMP(2,
"time %d %d, lerpfrac %.3f\n",
2949 prevtime =
cl.keyservertime - BASE_FRAMETIME;
2950 if (
cl.keytime >
cl.keyservertime) {
2951 SHOWCLAMP(1,
"high keyclamp %i\n",
cl.keytime -
cl.keyservertime);
2952 cl.keytime =
cl.keyservertime;
2953 cl.keylerpfrac = 1.0f;
2954 }
else if (
cl.keytime < prevtime) {
2955 SHOWCLAMP(1,
"low keyclamp %i\n", prevtime -
cl.keytime);
2956 cl.keytime = prevtime;
2959 cl.keylerpfrac = (
cl.keytime - prevtime) * BASE_1_FRAMETIME;
2962 SHOWCLAMP(2,
"keytime %d %d keylerpfrac %.3f\n",
2963 cl.keytime,
cl.keyservertime,
cl.keylerpfrac);
2977 int ack =
cls.
netchan->incoming_acknowledged;
2985 for (j = i; j <= ack; j++) {
2997 for (i = 0; i < 4; i++) {
3006 static void CL_CheckForReply(
void)
3008 if (!
cl.reply_delta) {
3026 if (NET_IsLocalAddress(&
cls.
netchan->remote_address)) {
3031 if (
cls.errorReceived) {
3034 Com_Error(ERR_DISCONNECT,
"Server connection was reset.");
3043 Com_Error(ERR_DISCONNECT,
"Server connection timed out.");
3067 if (cl_paused->integer == 0 &&
cl_autopause->integer) {
3070 }
else if (cl_paused->integer == 1) {
3104 static const char *
const sync_names[] = {
3123 return (1000 + fps / 2) / fps;
3151 }
else if (
cls.
active == ACT_MINIMIZED) {
3166 }
else if (
cl_async->integer > 0) {
3192 Com_DDDPrintf(
"%s: mode=%s main_msec=%d ref_msec=%d, phys_msec=%d\n",
3206 qboolean phys_frame, ref_frame;
3208 time_after_ref = time_before_ref = 0;
3210 if (!cl_running->integer) {
3219 ref_frame = phys_frame = qtrue;
3244 phys_frame = qfalse;
3272 Com_DDDDPrintf(
"main_extra=%d ref_frame=%d ref_extra=%d "
3273 "phys_frame=%d phys_extra=%d\n",
3335 if (host_speeds->integer)
3340 if (host_speeds->integer)
3356 CL_RunLightStyles();
3386 if (!cl_running->integer) {
3420 if (cl_running->integer) {
3441 if (inflateInit2(&
cls.z, -MAX_WBITS) != Z_OK) {
3442 Com_Error(ERR_FATAL,
"%s: inflateInit2() failed", __func__);
3473 static qboolean isdown = qfalse;
3476 Com_Printf(
"CL_Shutdown: recursive shutdown\n");
3481 if (!cl_running || !cl_running->integer) {
3500 memset(&
cls, 0,
sizeof(
cls));
static void CL_DumpStatusResponse(const serverStatus_t *status)
void FS_Restart(qboolean total)
static size_t CL_Armor_m(char *buffer, size_t size)
static void CL_SetClientTime(void)
void SV_Shutdown(const char *finalmsg, error_type_t type)
static size_t CL_ViewPos_m(char *buffer, size_t size)
static size_t CL_Health_m(char *buffer, size_t size)
void HTTP_RunDownloads(void)
void LOC_FreeLocations(void)
char configstrings[MAX_CONFIGSTRINGS][MAX_QPATH]
static void dump_program(const char *text, const char *name)
static size_t CL_NumLightPolys_m(char *buffer, size_t size)
cvar_t * Cvar_Set(const char *var_name, const char *value)
qhandle_t FS_EasyOpenFile(char *buf, size_t size, unsigned mode, const char *dir, const char *name, const char *ext)
static void CL_PacketEvent(void)
static void CL_UpdateFootstepsSetting(void)
cvar_t * cl_disable_particles
void CL_GTV_Suspend(void)
qhandle_t image_precache[MAX_IMAGES]
qboolean Sys_GetAntiCheatAPI(void)
void UI_StatusEvent(const serverStatus_t *status)
static size_t CL_Ping_m(char *buffer, size_t size)
static void cl_noskins_changed(cvar_t *self)
char * NET_AdrToString(const netadr_t *a)
cvar_t * gl_modulate_world
static void CL_ParseInfoMessage(void)
size_t Cvar_BitInfo(char *info, int bit)
qboolean Info_Validate(const char *s)
int Q_strncasecmp(const char *s1, const char *s2, size_t n)
size_t Q_snprintf(char *dest, size_t size, const char *fmt,...)
static void cl_allow_download_changed(cvar_t *self)
static void CL_Precache_f(void)
static void cl_player_model_changed(cvar_t *self)
struct client_static_s::@3 demo
static void CL_UnIgnoreText_f(void)
qboolean CL_ProcessEvents(void)
static size_t CL_ClusterThere_m(char *buffer, size_t size)
void CL_SendRcon(const netadr_t *adr, const char *pass, const char *cmd)
void CL_RegisterVWepModels(void)
void MSG_BeginReading(void)
void CL_RegisterInput(void)
qboolean CL_ForwardToServer(void)
void S_StopAllSounds(void)
static size_t R_Fps_m(char *buffer, size_t size)
cvar_t * Cvar_Get(const char *var_name, const char *var_value, int flags)
const char * Q_ErrorString(qerror_t error)
cvar_t * cl_explosion_sprites
netchan_t * Netchan_Setup(netsrc_t sock, netchan_type_t type, const netadr_t *adr, int qport, size_t maxpacketlen, int protocol)
cvar_t * cl_thirdperson_angle
void CL_RestartFilesystem(qboolean total)
void Con_RunConsole(void)
static void CL_Say_c(genctx_t *ctx, int argnum)
static size_t CL_Mapname_m(char *buffer, size_t size)
void Netchan_OutOfBand(netsrc_t sock, const netadr_t *address, const char *format,...)
void SCR_UpdateScreen(void)
static void cl_gibs_changed(cvar_t *self)
static size_t CL_Timer_m(char *buffer, size_t size)
vec3_t predicted_velocity
char cl_cmdbuf_text[MAX_STRING_CHARS]
void Cmd_ExecTrigger(const char *string)
static void CL_Userinfo_f(void)
ssize_t FS_FPrintf(qhandle_t f, const char *format,...)
void CL_GTV_Shutdown(void)
static ignore_t * find_ignore(const char *match)
void HTTP_SetServer(const char *url)
static void remove_all_ignores(void)
void CL_InitRefresh(void)
void Cmd_Config_g(genctx_t *ctx)
void CL_Disconnect(error_type_t type)
void R_Shutdown(qboolean total)
static void remove_ignore(const char *match)
void Cmd_PrintUsage(const cmd_option_t *opt, const char *suffix)
void CL_UpdateBlendSetting(void)
static void CL_IgnoreNick_f(void)
static size_t CL_Lag_m(char *buffer, size_t size)
static void info_hand_changed(cvar_t *self)
qboolean CL_CheckForIgnore(const char *s)
static void CL_WriteConfig_c(genctx_t *ctx, int argnum)
static void CL_ServerStatus_c(genctx_t *ctx, int argnum)
static void CL_DumpClients_f(void)
void SCR_EndLoadingPlaque(void)
void CL_UpdateCmd(int msec)
void Cbuf_InsertText(cmdbuf_t *buf, const char *text)
void Cmd_TokenizeString(const char *text, qboolean macroExpand)
void CL_LoadDownloadIgnores(void)
void SCR_RunCinematic(void)
void UI_ErrorEvent(netadr_t *from)
static void CL_RecentIP_g(genctx_t *ctx)
char * Cmd_RawArgsFrom(int from)
void MSG_WriteByte(int c)
unsigned Sys_Milliseconds(void)
static void add_ignore(const char *match)
static unsigned nextRequest
void CL_InitDownloads(void)
qboolean Prompt_AddMatch(genctx_t *ctx, const char *s)
static void CL_Connect_c(genctx_t *ctx, int argnum)
char * Q_strchrnul(const char *s, int c)
static size_t CL_Pps_m(char *buffer, size_t size)
#define CL_PLAYER_MODEL_DISABLED
void Cmd_ExecuteCommand(cmdbuf_t *buf)
static void CL_IgnoreText_f(void)
static void CL_FollowIP_f(void)
void CL_RegisterBspModels(void)
static void CL_Disconnect_f(void)
static void CL_FixUpGender(void)
void CL_Activate(active_t active)
static void CL_PlaySound_f(void)
ssize_t FS_FOpenFile(const char *name, qhandle_t *f, unsigned mode)
qboolean R_Init(qboolean total)
cvar_t * userinfo_updates[MAX_PACKET_USERINFOS]
static void CL_PlaySound_c(genctx_t *ctx, int state)
void Com_Generic_c(genctx_t *ctx, int argnum)
void NET_GetPackets(netsrc_t sock, void(*packet_cb)(void))
char * Cmd_ArgsFrom(int from)
void CL_ClientCommand(const char *string)
void Com_Error(error_type_t type, const char *fmt,...)
void BSP_Free(bsp_t *bsp)
cvar_t * gl_modulate_entities
void CL_ShutdownRefresh(void)
static void CL_RestartRefresh_f(void)
static void list_ignores(void)
int Cmd_ParseOptions(const cmd_option_t *opt)
void SCR_RegisterMedia(void)
const char * NET_ErrorString(void)
static size_t CL_Fps_m(char *buffer, size_t size)
static void cl_footsteps_changed(cvar_t *self)
void CL_DemoFrame(int msec)
cvar_t * cl_disconnectcmd
char * va(const char *format,...)
void FS_File_g(const char *path, const char *ext, unsigned flags, genctx_t *ctx)
static void CL_ConnectionlessPacket(void)
static int SortPlayers(const void *v1, const void *v2)
void CL_ClearEffects(void)
char layout[MAX_NET_STRING]
static size_t CL_Ups_m(char *buffer, size_t size)
void Cmd_Register(const cmdreg_t *reg)
char model_name[MAX_QPATH]
#define CL_PLAYER_MODEL_FIRST_PERSON
static size_t CL_DemoPos_m(char *buffer, size_t size)
static size_t CL_HdrColor_m(char *buffer, size_t size)
void Com_Address_g(genctx_t *ctx)
static size_t CL_ResolutionScale_m(char *buffer, size_t size)
cvar_t * cl_explosion_frametime
clientinfo_t baseclientinfo
static void CL_UnIgnoreNick_f(void)
static void CL_Skins_f(void)
static size_t CL_Server_m(char *buffer, size_t size)
int Cvar_VariableInteger(const char *var_name)
qboolean NET_StringToAdr(const char *s, netadr_t *a, int default_port)
void CL_PredictMovement(void)
char servername[MAX_OSPATH]
void NET_Config(netflag_t flag)
size_t Q_strlcpy(char *dst, const char *src, size_t size)
void Com_LPrintf(print_type_t type, const char *fmt,...)
void Con_Close(qboolean force)
static void CL_UpdateGibSetting(void)
centity_t cl_entities[MAX_EDICTS]
void Info_Print(const char *infostring)
static void CL_PingServers_f(void)
void MSG_WriteShort(int c)
static void CL_IgnoreNick_c(genctx_t *ctx, int argnum)
clientinfo_t clientinfo[MAX_CLIENTS]
static void CL_ParseStatusResponse(serverStatus_t *status, const char *string)
static size_t CL_Mps_m(char *buffer, size_t size)
void UI_OpenMenu(uiMenu_t type)
static void CL_WriteConfig_f(void)
void CL_CheckForPause(void)
qboolean CL_CheatsOK(void)
static void cl_vwep_changed(cvar_t *self)
qboolean NET_GetAddress(netsrc_t sock, netadr_t *adr)
int CL_GetResolutionScale()
int Q_strcasecmp(const char *s1, const char *s2)
static size_t CL_Material_m(char *buffer, size_t size)
void S_StartLocalSound(const char *sound)
unsigned CL_Frame(unsigned msec)
qboolean COM_IsUint(const char *s)
static void exec_server_string(cmdbuf_t *buf, const char *text)
static void CL_ReloadRefresh_f(void)
void MSG_WriteString(const char *string)
static void cl_chat_sound_changed(cvar_t *self)
void CL_WriteConfig(void)
void CL_PrepRefresh(void)
void CL_RequestNextDownload(void)
qboolean CL_WriteDemoMessage(sizebuf_t *buf)
void Cvar_FixCheats(void)
netadr_t recent_addr[RECENT_ADDR]
void CL_CheckForResend(void)
int Cvar_ClampInteger(cvar_t *var, int min, int max)
struct client_static_s::@2 download
size_t MSG_ReadString(char *dest, size_t size)
static request_t * CL_FindRequest(void)
static void CL_DumpStatusbar_f(void)
static void CL_UpdatePredictSetting(void)
void S_FreeAllSounds(void)
void CL_CalcViewValues(void)
static void CL_Connect_f(void)
void Key_WriteBindings(qhandle_t f)
void CL_FinalizeCmd(void)
cvar_t * cl_disable_explosions
struct client_static_s::@1 measure
void Cbuf_Execute(cmdbuf_t *buf)
size_t Cmd_ArgvBuffer(int arg, char *buffer, size_t size)
void CL_RegisterSounds(void)
void Cmd_PrintHelp(const cmd_option_t *opt)
void Cmd_Option_c(const cmd_option_t *opt, xgenerator_t g, genctx_t *ctx, int argnum)
static void CL_ParsePrintMessage(void)
static void cl_predict_changed(cvar_t *self)
static void cl_sync_changed(cvar_t *self)
void CL_ResetPrecacheCheck(void)
static void CL_Rcon_c(genctx_t *ctx, int argnum)
char skin_name[MAX_QPATH]
void Con_Popup(qboolean force)
static void CL_RestartSound_f(void)
static int fps_to_msec(int fps)
static void CL_ForwardToServer_f(void)
static size_t parse_ignore_nick(int argnum, char *buffer)
void CL_UpdateFrameTimes(void)
static const cmd_option_t o_writeconfig[]
void SCR_ClearChatHUD_f(void)
static void CL_Changing_f(void)
void SCR_BeginLoadingPlaque(void)
void Cmd_AddMacro(const char *name, xmacro_t function)
char * COM_Parse(const char **data_p)
cvar_t * Cvar_FindVar(const char *var_name)
void CL_CleanupDownloads(void)
qboolean FS_EasyWriteFile(char *buf, size_t size, unsigned mode, const char *dir, const char *name, const char *ext, const void *data, size_t len)
size_t COM_DefaultExtension(char *path, const char *ext, size_t size)
client_history_t history[CMD_BACKUP]
static void CL_UpdateGunSetting(void)
void CL_LoadState(load_state_t state)
void CL_LoadClientinfo(clientinfo_t *ci, const char *s)
void Netchan_Close(netchan_t *netchan)
static size_t CL_Ammo_m(char *buffer, size_t size)
size_t MSG_ReadStringLine(char *dest, size_t size)
void FS_FCloseFile(qhandle_t f)
static size_t CL_WeaponModel_m(char *buffer, size_t size)
void LOC_LoadLocations(void)
static void CL_Pause_f(void)
static request_t * CL_AddRequest(const netadr_t *adr, requestType_t type)
static void CL_MeasureStats(void)
static size_t CL_Material_Override_m(char *buffer, size_t size)
static void CL_Reconnect_f(void)
void CL_CleanupDemos(void)
static void CL_PassiveConnect_f(void)
void Key_ClearStates(void)
cvar_t * cl_thirdperson_range
void CL_UpdateUserinfo(cvar_t *var, from_t from)
static int precache_spawncount
static void CL_Name_g(genctx_t *ctx)
void CL_GTV_Transmit(void)
static sync_mode_t sync_mode
void CL_RestartRefresh(qboolean total)
size_t Q_scnprintf(char *dest, size_t size, const char *fmt,...)
static size_t CL_ViewDir_m(char *buffer, size_t size)
static request_t clientRequests[MAX_REQUESTS]
static void CL_DumpLayout_f(void)
void CL_ParseServerMessage(void)
void Con_RegisterMedia(void)
static void CL_Rcon_f(void)
static void CL_CheckTimeout(void)
static size_t CL_Cluster_m(char *buffer, size_t size)
static void CL_ServerStatus_f(void)
void SZ_Clear(sizebuf_t *buf)
void CL_UpdateRecordingSetting(void)
qboolean VID_VideoSync(void)
static void CL_InitLocal(void)
void CL_InitEffects(void)
size_t COM_strclr(char *s)
static const cmdreg_t c_client[]