if(Cmd_Argc() != 2)
{
- Con_Print("prvm_edicts <program name>\n");
+ Con_Printf("prvm_edicts <program name>\n");
return;
}
if(Cmd_Argc() != 3)
{
- Con_Print("prvm_edict <program name> <edict number>\n");
+ Con_Printf("prvm_edict <program name> <edict number>\n");
return;
}
if(Cmd_Argc() != 2)
{
- Con_Print("prvm_count <program name>\n");
+ Con_Printf("prvm_count <program name>\n");
return;
}
return new;
}
-
/*
=============
PRVM_ED_ParseEval
return true;
}
+/*
+=============
+PRVM_ED_EdictSet_f
+
+Console command to set a field of a specified edict
+=============
+*/
+void PRVM_ED_EdictSet_f(void)
+{
+ prvm_edict_t *ed;
+ ddef_t *key;
+
+ if(Cmd_Argc() != 5)
+ {
+ Con_Printf("prvm_edictset <program name> <edict number> <field> <value>\n");
+ return;
+ }
+
+ PRVM_Begin;
+ if(!PRVM_SetProgFromString(Cmd_Argv(1)))
+ {
+ Con_Printf("Wrong program name %s !\n", Cmd_Argv(1));
+ return;
+ }
+
+ ed = PRVM_EDICT_NUM(atoi(Cmd_Argv(2)));
+
+ if((key = PRVM_ED_FindField(Cmd_Argv(3))) == 0)
+ {
+ Con_Printf("Key %s not found !\n", Cmd_Argv(3));
+ return;
+ }
+
+ PRVM_ED_ParseEpair(ed, key, Cmd_Argv(4));
+
+ PRVM_End;
+}
+
/*
====================
PRVM_ED_ParseEdict
}
//
-// immediately call spawn function, but only if there is a self global
+// immediately call spawn function, but only if there is a self global and a classname
//
if(prog->self && prog->flag & PRVM_FE_CLASSNAME)
{
prog->flag |= PRVM_OP_STATE;
PRVM_GCALL(reset_cmd)();
+ PRVM_GCALL(init_cmd)();
// init mempools
PRVM_MEM_Alloc();
if(Cmd_Argc() != 2)
{
- Con_Print("prvm_fields <program name>\n");
+ Con_Printf("prvm_fields <program name>\n");
return;
}
}*/
if(Cmd_Argc () != 2)
{
- Con_Print ("prvm_globals <program name>\n");
+ Con_Printf("prvm_globals <program name>\n");
return;
}
Cmd_AddCommand ("prvm_profile", PRVM_Profile_f);
Cmd_AddCommand ("prvm_fields", PRVM_Fields_f);
Cmd_AddCommand ("prvm_globals", PRVM_Globals_f);
+ Cmd_AddCommand ("prvm_edictset", PRVM_ED_EdictSet_f);
// LordHavoc: optional runtime bounds checking (speed drain, but worth it for security, on by default - breaks most QCCX features (used by CRMod and others))
Cvar_RegisterVariable (&prvm_boundscheck);
Cvar_RegisterVariable (&prvm_traceqc);
memset(prog, 0, sizeof(prvm_prog_t));
prog->time = &prog->_time;
-
- PRVM_GCALL(init_cmd)();
}
int PRVM_GetProgNr()