20"DP_GFX_FONTS_FREETYPE",
22"DP_FONT_VARIABLEWIDTH",
23"DP_MENU_EXTRESPONSEPACKET",
24"DP_QC_ASINACOSATANATAN2TAN",
29"DP_QC_CVAR_DESCRIPTION",
32"DP_QC_FINDCHAIN_TOFIELD",
39"DP_QC_STRINGBUFFERS_CVARLIST",
40"DP_QC_STRINGBUFFERS_EXT_WIP",
41"DP_QC_STRINGCOLORFUNCTIONS",
42"DP_QC_STRING_CASE_FUNCTIONS",
44"DP_QC_TOKENIZEBYSEPARATOR",
45"DP_QC_TOKENIZE_CONSOLE",
46"DP_QC_UNLIMITEDTEMPSTRINGS",
52"DP_QC_FS_SEARCH_PACKFILE",
284 VM_Warning(prog,
"VM_M_getserverliststat: bad type (%i) passed!\n",
type);
298 ServerList_ResetMasks();
315 serverlist_mask_t *
mask;
323 mask = &serverlist_andmasks[masknr];
325 mask = &serverlist_ormasks[masknr - 512 ];
328 VM_Warning(prog,
"VM_M_setserverlistmaskstring: invalid mask number (%i) passed!\n", masknr);
358 VM_Warning(prog,
"VM_M_setserverlistmaskstring: Bad field number (%i) passed!\n", field);
379 serverlist_mask_t *
mask;
386 mask = &serverlist_andmasks[masknr];
388 mask = &serverlist_ormasks[masknr - 512 ];
391 VM_Warning(prog,
"VM_M_setserverlistmasknumber: invalid mask number (%i) passed!\n", masknr);
400 case SLIF_MAXPLAYERS:
401 mask->info.maxplayers = number;
403 case SLIF_NUMPLAYERS:
404 mask->info.numplayers = number;
407 mask->info.numbots = number;
410 mask->info.numhumans = number;
413 mask->info.ping = number;
416 mask->info.protocol = number;
419 mask->info.freeslots = number;
422 mask->info.category = number;
424 case SLIF_ISFAVORITE:
425 mask->info.isfavorite = number != 0;
428 VM_Warning(prog,
"VM_M_setserverlistmasknumber: Bad field number (%i) passed!\n", field);
447 ServerList_RebuildViewList(
NULL);
459 const serverlist_entry_t *cache;
474 if(hostnr < 0 || (
unsigned)hostnr >= serverlist_viewcount)
476 VM_Warning(prog,
"VM_M_getserverliststring: bad hostnr (%i) passed!\n", hostnr);
479 cache = ServerList_GetViewEntry(hostnr);
525 const serverlist_entry_t *cache;
540 if(hostnr < 0 || (
unsigned)hostnr >= serverlist_viewcount)
542 VM_Warning(prog,
"VM_M_getserverliststring: bad hostnr (%i) passed!\n", hostnr);
545 cache = ServerList_GetViewEntry(hostnr);
549 case SLIF_MAXPLAYERS:
552 case SLIF_NUMPLAYERS:
574 case SLIF_ISFAVORITE:
606 qbool do_reset =
false;
610 ServerList_QueryList(do_reset,
true,
false,
false);
628 if( !strcmp( key,
"cname" ) )
630 else if( !strcmp( key,
"ping" ) )
632 else if( !strcmp( key,
"game" ) )
634 else if( !strcmp( key,
"mod" ) )
636 else if( !strcmp( key,
"map" ) )
638 else if( !strcmp( key,
"name" ) )
640 else if( !strcmp( key,
"qcstatus" ) )
642 else if( !strcmp( key,
"players" ) )
644 else if( !strcmp( key,
"maxplayers" ) )
646 else if( !strcmp( key,
"numplayers" ) )
648 else if( !strcmp( key,
"numbots" ) )
650 else if( !strcmp( key,
"numhumans" ) )
652 else if( !strcmp( key,
"freeslots" ) )
654 else if( !strcmp( key,
"protocol" ) )
656 else if( !strcmp( key,
"category" ) )
658 else if( !strcmp( key,
"isfavorite" ) )
688#define MSG_BROADCAST 0
699 prog->
error_cmd(
"VM_M_WriteDest: game is not server (%s)", prog->
name);
710 prog->
error_cmd(
"VM_clientcommand: %s: invalid client !", prog->
name);
712 return &
svs.
clients[destclient].netconnection->message;
721 prog->
error_cmd(
"WriteDest: bad destination");
871 size_t vabuf_len =
dpsnprintf(vabuf,
sizeof(vabuf),
"%d AES128", aeslevel);
1757 memset (scene, 0,
sizeof (*scene));
void CL_SetVideoState(clvideo_t *video, clvideostate_t state)
clvideo_t * CL_GetVideoByName(const char *name)
void CL_RestartVideo(clvideo_t *video)
void CL_CloseVideo(clvideo_t *video)
clvideo_t * CL_OpenVideo(const char *filename, const char *name, int owner, const char *subtitlesfile)
void VM_stringwidth(prvm_prog_t *prog)
void VM_precache_pic(prvm_prog_t *prog)
void VM_drawsetcliparea(prvm_prog_t *prog)
void VM_drawrotpic(prvm_prog_t *prog)
void VM_drawcolorcodedstring(prvm_prog_t *prog)
void VM_drawline(prvm_prog_t *prog)
void VM_drawfill(prvm_prog_t *prog)
void VM_freepic(prvm_prog_t *prog)
void VM_drawpic(prvm_prog_t *prog)
void VM_iscachedpic(prvm_prog_t *prog)
void VM_drawcharacter(prvm_prog_t *prog)
void VM_getimagesize(prvm_prog_t *prog)
void VM_drawresetcliparea(prvm_prog_t *prog)
void VM_loadfont(prvm_prog_t *prog)
void VM_findfont(prvm_prog_t *prog)
void VM_drawstring(prvm_prog_t *prog)
void VM_drawsubpic(prvm_prog_t *prog)
void VM_CL_precache_model(void)
void VM_CL_setorigin(void)
void VM_CL_R_SetView(void)
void VM_CL_R_PolygonBegin(void)
void VM_CL_R_AddEntity(void)
void VM_CL_R_ClearScene(void)
void VM_CL_R_RenderScene(void)
void VM_CL_R_PolygonEnd(void)
void VM_CL_gettagindex(void)
void VM_CL_R_PolygonVertex(void)
void VM_CL_gettaginfo(void)
void VM_CL_setattachment(void)
void VM_CL_setmodel(void)
void VM_CL_R_AddDynamicLight(void)
void VM_CL_R_AddEntities(void)
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
void MSG_WriteShort(sizebuf_t *sb, int c)
void MSG_WriteString(sizebuf_t *sb, const char *s)
void MSG_WriteLong(sizebuf_t *sb, int c)
void MSG_WriteCoord(sizebuf_t *sb, float f, protocolversion_t protocol)
void MSG_WriteByte(sizebuf_t *sb, int c)
void MSG_WriteAngle(sizebuf_t *sb, float f, protocolversion_t protocol)
void MSG_WriteChar(sizebuf_t *sb, int c)
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 ...
#define dp_strlcpy(dst, src, dsize)
qbool Crypto_RetrieveHostKey(lhnetaddress_t *peeraddress, int *keyid, char *keyfp, size_t keyfplen, char *idfp, size_t idfplen, int *aeslevel, qbool *issigned)
int Crypto_RetrieveLocalKey(int keyid, char *keyfp, size_t keyfplen, char *idfp, size_t idfplen, qbool *issigned)
gamedir_t * fs_all_gamedirs
static int(ZEXPORT *qz_inflate)(z_stream *strm
int fs_all_gamedirs_count
r_refdef_scene_t * R_GetScenePointer(r_refdef_scene_type_t scenetype)
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
int LHNETADDRESS_FromString(lhnetaddress_t *vaddress, const char *string, int defaultport)
#define VectorSet(vec, x, y, z)
static void VM_M_addwantedserverlistkey(prvm_prog_t *prog)
static void VM_M_WriteCoord(prvm_prog_t *prog)
static void VM_M_crypto_getidfp(prvm_prog_t *prog)
static void VM_M_getserverliststring(prvm_prog_t *prog)
static void VM_M_WriteEntity(prvm_prog_t *prog)
const int vm_m_numbuiltins
static void VM_M_getgamedirinfo(prvm_prog_t *prog)
static void VM_M_crypto_getencryptlevel(prvm_prog_t *prog)
static void VM_M_WriteByte(prvm_prog_t *prog)
static void VM_M_WriteChar(prvm_prog_t *prog)
static void VM_M_getmousetarget(prvm_prog_t *prog)
static void VM_M_setmousetarget(prvm_prog_t *prog)
static void VM_M_getserverlistindexforkey(prvm_prog_t *prog)
void VM_cin_getstate(prvm_prog_t *prog)
static void VM_M_WriteString(prvm_prog_t *prog)
static void VM_M_WriteAngle(prvm_prog_t *prog)
static void VM_M_crypto_getmyidfp(prvm_prog_t *prog)
prvm_builtin_t vm_m_builtins[]
static void VM_M_getmousepos(prvm_prog_t *prog)
static void VM_M_refreshserverlist(prvm_prog_t *prog)
static void VM_M_resetserverlistmasks(prvm_prog_t *prog)
static void VM_M_getresolution(prvm_prog_t *prog)
static void VM_M_setserverlistmasknumber(prvm_prog_t *prog)
void MVM_init_cmd(prvm_prog_t *prog)
void MVM_reset_cmd(prvm_prog_t *prog)
static void VM_M_setkeydest(prvm_prog_t *prog)
void VM_cin_open(prvm_prog_t *prog)
static void VM_M_resortserverlist(prvm_prog_t *prog)
static void VM_M_crypto_getkeyfp(prvm_prog_t *prog)
static void VM_M_setserverlistmaskstring(prvm_prog_t *prog)
static void VM_M_getserverlistnumber(prvm_prog_t *prog)
static void VM_M_WriteShort(prvm_prog_t *prog)
static void VM_M_WriteLong(prvm_prog_t *prog)
qbool MP_ConsoleCommand(const char *text, size_t textlen)
void VM_cin_restart(prvm_prog_t *prog)
static void VM_M_getkeydest(prvm_prog_t *prog)
static void VM_M_crypto_getmykeyfp(prvm_prog_t *prog)
static sizebuf_t * VM_M_WriteDest(prvm_prog_t *prog)
void VM_cin_close(prvm_prog_t *prog)
static void VM_M_crypto_getidstatus(prvm_prog_t *prog)
const char * vm_m_extensions[]
static void VM_M_crypto_getmyidstatus(prvm_prog_t *prog)
static void VM_M_getserverliststat(prvm_prog_t *prog)
static void VM_M_copyentity(prvm_prog_t *prog)
static void VM_M_registercommand(prvm_prog_t *prog)
static void VM_M_setserverlistsort(prvm_prog_t *prog)
void VM_cin_setstate(prvm_prog_t *prog)
unsigned serverquerycount
unsigned masterquerycount
unsigned serverreplycount
unsigned masterreplycount
int PRVM_SetTempString(prvm_prog_t *prog, const char *s, size_t slen)
Takes an strlen (not a buffer size).
void VM_Cmd_Init(prvm_prog_t *prog)
void VM_Warning(prvm_prog_t *prog, const char *fmt,...) DP_FUNC_PRINTF(2)
void VM_Cmd_Reset(prvm_prog_t *prog)
#define PRVM_G_EDICTNUM(o)
void(* prvm_builtin_t)(struct prvm_prog_s *prog)
void VM_strunzone(prvm_prog_t *prog)
void VM_substring(prvm_prog_t *prog)
void VM_entityfieldname(prvm_prog_t *prog)
void VM_altstr_prepare(prvm_prog_t *prog)
void VM_buf_writefile(prvm_prog_t *prog)
void VM_getsoundtime(prvm_prog_t *prog)
void VM_objerror(prvm_prog_t *prog)
void VM_fabs(prvm_prog_t *prog)
void VM_isserver(prvm_prog_t *prog)
void VM_dprint(prvm_prog_t *prog)
void VM_uri_get(prvm_prog_t *prog)
void VM_chr2str(prvm_prog_t *prog)
void VM_digest_hex(prvm_prog_t *prog)
void VM_clientcount(prvm_prog_t *prog)
void VM_soundlength(prvm_prog_t *prog)
void VM_strncmp(prvm_prog_t *prog)
void VM_strtolower(prvm_prog_t *prog)
void VM_fgets(prvm_prog_t *prog)
void VM_search_getsize(prvm_prog_t *prog)
void VM_findkeysforcommand(prvm_prog_t *prog)
void VM_tan(prvm_prog_t *prog)
void VM_modulo(prvm_prog_t *prog)
void VM_sqrt(prvm_prog_t *prog)
void VM_stov(prvm_prog_t *prog)
void VM_random(prvm_prog_t *prog)
void VM_gecko_navigate(prvm_prog_t *prog)
void VM_eprint(prvm_prog_t *prog)
void VM_precache_sound(prvm_prog_t *prog)
void VM_CL_getextresponse(prvm_prog_t *prog)
void VM_buf_getsize(prvm_prog_t *prog)
void VM_search_end(prvm_prog_t *prog)
void VM_getentityfieldstring(prvm_prog_t *prog)
void VM_bufstr_get(prvm_prog_t *prog)
void VM_altstr_get(prvm_prog_t *prog)
void VM_gecko_movemouse(prvm_prog_t *prog)
void VM_cvar_type(prvm_prog_t *prog)
void VM_vlen(prvm_prog_t *prog)
void VM_gecko_destroy(prvm_prog_t *prog)
void VM_CheckEmptyString(prvm_prog_t *prog, const char *s)
void VM_gecko_get_texture_extent(prvm_prog_t *prog)
void VM_search_getfilename(prvm_prog_t *prog)
void VM_itof(prvm_prog_t *prog)
void VM_centerprint(prvm_prog_t *prog)
void VM_coverage(prvm_prog_t *prog)
void VM_strlennocol(prvm_prog_t *prog)
void VM_tokenize(prvm_prog_t *prog)
void VM_numentityfields(prvm_prog_t *prog)
void VM_vtos(prvm_prog_t *prog)
void VM_argv_start_index(prvm_prog_t *prog)
void VM_setbindmaps(prvm_prog_t *prog)
void VM_CL_videoplaying(prvm_prog_t *prog)
void VM_registercvar(prvm_prog_t *prog)
void VM_uri_unescape(prvm_prog_t *prog)
void VM_infoget(prvm_prog_t *prog)
void VM_randomvec(prvm_prog_t *prog)
void VM_matchpattern(prvm_prog_t *prog)
void VM_setkeybind(prvm_prog_t *prog)
void VM_atan2(prvm_prog_t *prog)
void VM_etos(prvm_prog_t *prog)
void VM_cvar_defstring(prvm_prog_t *prog)
void VM_stackdump(prvm_prog_t *prog)
void VM_altstr_count(prvm_prog_t *prog)
void VM_asin(prvm_prog_t *prog)
void VM_vectoyaw(prvm_prog_t *prog)
void VM_strlen(prvm_prog_t *prog)
void VM_strconv(prvm_prog_t *prog)
void VM_rint(prvm_prog_t *prog)
void VM_bound(prvm_prog_t *prog)
void VM_argv_end_index(prvm_prog_t *prog)
void VM_buf_implode(prvm_prog_t *prog)
void VM_precache_file(prvm_prog_t *prog)
void VM_spawn(prvm_prog_t *prog)
void VM_tokenize_console(prvm_prog_t *prog)
void VM_sprintf(prvm_prog_t *prog)
void VM_localsound(prvm_prog_t *prog)
void VM_buf_cvarlist(prvm_prog_t *prog)
void VM_find(prvm_prog_t *prog)
void VM_stof(prvm_prog_t *prog)
void VM_fputs(prvm_prog_t *prog)
void VM_bufstr_add(prvm_prog_t *prog)
void VM_strdecolorize(prvm_prog_t *prog)
void VM_uri_escape(prvm_prog_t *prog)
void VM_findchainflags(prvm_prog_t *prog)
void VM_netaddress_resolve(prvm_prog_t *prog)
void VM_writetofile(prvm_prog_t *prog)
void VM_putentityfieldstring(prvm_prog_t *prog)
void VM_etof(prvm_prog_t *prog)
void VM_nextent(prvm_prog_t *prog)
void VM_parseentitydata(prvm_prog_t *prog)
void VM_gecko_resize(prvm_prog_t *prog)
void VM_fclose(prvm_prog_t *prog)
void VM_ftoe(prvm_prog_t *prog)
void VM_findfloat(prvm_prog_t *prog)
void VM_strcat(prvm_prog_t *prog)
void VM_atan(prvm_prog_t *prog)
void VM_ceil(prvm_prog_t *prog)
void VM_buf_del(prvm_prog_t *prog)
void VM_strpad(prvm_prog_t *prog)
void VM_strtoupper(prvm_prog_t *prog)
void VM_altstr_ins(prvm_prog_t *prog)
void VM_normalize(prvm_prog_t *prog)
void VM_tokenizebyseparator(prvm_prog_t *prog)
void VM_getkeybind(prvm_prog_t *prog)
void VM_getbindmaps(prvm_prog_t *prog)
void VM_strftime(prvm_prog_t *prog)
void VM_floor(prvm_prog_t *prog)
void VM_cos(prvm_prog_t *prog)
void VM_whichpack(prvm_prog_t *prog)
void VM_CL_isdemo(prvm_prog_t *prog)
void VM_buf_sort(prvm_prog_t *prog)
void VM_bufstr_find(prvm_prog_t *prog)
void VM_strzone(prvm_prog_t *prog)
void VM_cvar_set(prvm_prog_t *prog)
void VM_isfunction(prvm_prog_t *prog)
void VM_bprint(prvm_prog_t *prog)
void VM_argv(prvm_prog_t *prog)
void VM_strreplace(prvm_prog_t *prog)
void VM_min(prvm_prog_t *prog)
qbool PRVM_ConsoleCommand(prvm_prog_t *prog, const char *text, size_t textlen, int *func, qbool preserve_self, int curself, double ptime, const char *error_message)
void VM_checkextension(prvm_prog_t *prog)
void VM_clientstate(prvm_prog_t *prog)
void VM_ftos(prvm_prog_t *prog)
void VM_bufstr_set(prvm_prog_t *prog)
void VM_findflags(prvm_prog_t *prog)
void VM_acos(prvm_prog_t *prog)
void VM_loadfromfile(prvm_prog_t *prog)
void VM_gecko_create(prvm_prog_t *prog)
void VM_altstr_set(prvm_prog_t *prog)
void VM_gettime(prvm_prog_t *prog)
void VM_findchainfloat(prvm_prog_t *prog)
void VM_findchain(prvm_prog_t *prog)
void VM_traceon(prvm_prog_t *prog)
void VM_strstrofs(prvm_prog_t *prog)
void VM_fopen(prvm_prog_t *prog)
void VM_max(prvm_prog_t *prog)
void VM_bufstr_free(prvm_prog_t *prog)
void VM_buf_copy(prvm_prog_t *prog)
void VM_cvar_description(prvm_prog_t *prog)
void VM_search_begin(prvm_prog_t *prog)
void VM_crc16(prvm_prog_t *prog)
void VM_stringtokeynum(prvm_prog_t *prog)
void VM_remove(prvm_prog_t *prog)
void VM_error(prvm_prog_t *prog)
void VM_buf_create(prvm_prog_t *prog)
void VM_str2chr(prvm_prog_t *prog)
void VM_print(prvm_prog_t *prog)
void VM_cvar(prvm_prog_t *prog)
void VM_cvar_string(prvm_prog_t *prog)
void VM_gecko_keyevent(prvm_prog_t *prog)
void VM_changelevel(prvm_prog_t *prog)
void VM_crash(prvm_prog_t *prog)
void VM_traceoff(prvm_prog_t *prog)
void VM_callfunction(prvm_prog_t *prog)
void VM_infoadd(prvm_prog_t *prog)
void VM_wasfreed(prvm_prog_t *prog)
void VM_chr(prvm_prog_t *prog)
void VM_sprint(prvm_prog_t *prog)
void VM_buf_loadfile(prvm_prog_t *prog)
void VM_localcmd(prvm_prog_t *prog)
void VM_sin(prvm_prog_t *prog)
void VM_pow(prvm_prog_t *prog)
void VM_log(prvm_prog_t *prog)
void VM_coredump(prvm_prog_t *prog)
void VM_strireplace(prvm_prog_t *prog)
void VM_keynumtostring(prvm_prog_t *prog)
void VM_strncasecmp(prvm_prog_t *prog)
void VM_loadfromdata(prvm_prog_t *prog)
void VM_vectoangles(prvm_prog_t *prog)
void VM_entityfieldtype(prvm_prog_t *prog)
#define VM_SAFEPARMCOUNT(p, f)
#define VM_SAFEPARMCOUNTRANGE(p1, p2, f)
#define MAX_EDICTS
max number of objects in game world at once (32768 protocol limit)
#define SERVERLIST_ANDMASKCOUNT
max items in server list AND mask
#define SERVERLIST_ORMASKCOUNT
max items in server list OR mask
server_static_t svs
persistant server info
union prvm_edict_t::@30 fields
int entityfields
number of vec_t fields in progs (some variables are 3)
prvm_prog_funcoffsets_t funcoffsets
const char * name
name of the prog, e.g. "Server", "Client" or "Menu" (used for text output)
void(* error_cmd)(const char *format,...) DP_FUNC_PRINTF(1) DP_FUNC_NORETURN
[INIT]
struct model_s * polygonbegin_model
this tracks the last polygonbegin's choice of CL_Mesh_CSQC or CL_Mesh_UI for this polygon
mempool_t * progs_mempool
all memory allocations related to this vm_prog (code, edicts, strings)
qbool polygonbegin_guess2d
indicates if polygonbegin should be interpreted as 2d (clearscene sets this to false,...
entity_render_t * tempentities
field of temporary entities that is reset each (client) frame
entity_render_t ** entities
renderable entities (excluding world)
struct client_s * clients
client slots
int maxclients
number of svs.clients slots (updated by maxplayers command)
qbool active
false if only a net client
sizebuf_t reliable_datagram
protocolversion_t protocol
one of the PROTOCOL_ values
viddef_mode_t mode
currently active video mode
vid_mode_t VID_GetDesktopMode(void)
viddef_t vid
global video state
#define Mem_Alloc(pool, size)