*/
// kind of helper function
-static qboolean checkextension(prvm_prog_t *prog, const char *name)
+static qbool checkextension(prvm_prog_t *prog, const char *name)
{
const char **e;
Cbuf_AddText(&cmd_server, string);
}
-static qboolean PRVM_Cvar_ReadOk(prvm_prog_t *prog, const char *string)
+static qbool PRVM_Cvar_ReadOk(prvm_prog_t *prog, const char *string)
{
cvar_t *cvar;
cvar = Cvar_FindVar(prog->console_cmd->cvars, string, prog->console_cmd->cvars_flagsmask);
- return ((cvar) && ((cvar->flags & CVAR_PRIVATE) == 0));
+ return ((cvar) && ((cvar->flags & CF_PRIVATE) == 0));
}
/*
}
ret = 1; // CVAR_EXISTS
- if(cvar->flags & CVAR_SAVE)
+ if(cvar->flags & CF_ARCHIVE)
ret |= 2; // CVAR_TYPE_SAVED
- if(cvar->flags & CVAR_PRIVATE)
+ if(cvar->flags & CF_PRIVATE)
ret |= 4; // CVAR_TYPE_PRIVATE
- if(!(cvar->flags & CVAR_ALLOCATED))
+ if(!(cvar->flags & CF_ALLOCATED))
ret |= 8; // CVAR_TYPE_ENGINE
if(cvar->description != cvar_dummy_description)
ret |= 16; // CVAR_TYPE_HASDESCRIPTION
- if(cvar->flags & CVAR_READONLY)
+ if(cvar->flags & CF_READONLY)
ret |= 32; // CVAR_TYPE_READONLY
PRVM_G_FLOAT(OFS_RETURN) = ret;
*/
void VM_coredump(prvm_prog_t *prog)
{
- cmd_state_t *cmd = cls.state == ca_dedicated ? &cmd_server : &cmd_client;
+ cmd_state_t *cmd = !host_isclient.integer ? &cmd_server : &cmd_client;
VM_SAFEPARMCOUNT(0,VM_coredump);
Cbuf_AddText(cmd, "prvm_edicts ");
flags = prog->argc >= 3 ? (int)PRVM_G_FLOAT(OFS_PARM2) : 0;
PRVM_G_FLOAT(OFS_RETURN) = 0;
- if(flags > CVAR_MAXFLAGSVAL)
+ if(flags > CF_MAXFLAGSVAL)
return;
// first check to see if it has already been defined
*/
void VM_entityfieldname(prvm_prog_t *prog)
{
- ddef_t *d;
+ mdef_t *d;
int i = (int)PRVM_G_FLOAT(OFS_PARM0);
if (i < 0 || i >= prog->numfielddefs)
*/
void VM_entityfieldtype(prvm_prog_t *prog)
{
- ddef_t *d;
+ mdef_t *d;
int i = (int)PRVM_G_FLOAT(OFS_PARM0);
if (i < 0 || i >= prog->numfielddefs)
void VM_getentityfieldstring(prvm_prog_t *prog)
{
// put the data into a string
- ddef_t *d;
+ mdef_t *d;
int type, j;
prvm_eval_t *val;
prvm_edict_t * ent;
*/
void VM_putentityfieldstring(prvm_prog_t *prog)
{
- ddef_t *d;
+ mdef_t *d;
prvm_edict_t * ent;
int i = (int)PRVM_G_FLOAT(OFS_PARM0);
=========
VM_search_begin
-float search_begin(string pattern, float caseinsensitive, float quiet)
+float search_begin(string pattern, float caseinsensitive, float quiet[, string packfile])
=========
*/
void VM_search_begin(prvm_prog_t *prog)
{
int handle;
- const char *pattern;
+ const char *packfile = NULL, *pattern;
int caseinsens, quiet;
- VM_SAFEPARMCOUNT(3, VM_search_begin);
+ VM_SAFEPARMCOUNTRANGE(3, 4, VM_search_begin);
pattern = PRVM_G_STRING(OFS_PARM0);
caseinsens = (int)PRVM_G_FLOAT(OFS_PARM1);
quiet = (int)PRVM_G_FLOAT(OFS_PARM2);
+ // optional packfile parameter (DP_QC_FS_SEARCH_PACKFILE)
+ if(prog->argc >= 4)
+ packfile = PRVM_G_STRING(OFS_PARM3);
+
for(handle = 0; handle < PRVM_MAX_OPENSEARCHES; handle++)
if(!prog->opensearches[handle])
break;
return;
}
- if(!(prog->opensearches[handle] = FS_Search(pattern,caseinsens, quiet)))
+ if(!(prog->opensearches[handle] = FS_Search(pattern,caseinsens, quiet, packfile)))
PRVM_G_FLOAT(OFS_RETURN) = -1;
else
{
}
// todo: support UTF8
-static qboolean match_rule(const char *string, int max_string, const char *pattern, int patternlength, int rule)
+static qbool match_rule(const char *string, int max_string, const char *pattern, int patternlength, int rule)
{
const char *mid;
const char *partial, *antipartial;
size_t len, antilen;
size_t alloclen;
- qboolean ispattern, antiispattern;
+ qbool ispattern, antiispattern;
int n;
prvm_stringbuffer_t *stringbuffer;
VM_SAFEPARMCOUNTRANGE(2, 3, VM_buf_cvarlist);
{
const char *url;
float id;
- qboolean ret;
+ qbool ret;
uri_to_prog_t *handle;
const char *posttype = NULL;
const char *postseparator = NULL;
o += u8_strpad(o, end - o, buf, (flags & PRINTF_LEFT) != 0, width, precision);
}
break;
+ //spike FIXME -- 'S' for quoted tokenize-safe-or-print escaping of strings so stuff can safely survive console commands.
case 's':
if(flags & PRINTF_ALTERNATE)
{
{
skeleton_t *skeleton;
int skeletonindex = -1;
- qboolean need = false;
+ qbool need = false;
struct animatemodel_cache *animatemodel_cache;
if (!prog->animatemodel_cache)
{