return;
b = PRVM_clientglobaledict(self);
PRVM_clientglobaledict(self) = PRVM_EDICT_TO_PROG(ed);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM0) = PRVM_EDICT_TO_PROG(ed);
prog->ExecuteProgram(prog, PRVM_clientedictfunction(ed, predraw), "CSQC_Predraw: NULL function\n");
PRVM_clientglobaledict(self) = b;
}
PRVM_clientedictfloat(ed, nextthink) = 0;
b = PRVM_clientglobaledict(self);
PRVM_clientglobaledict(self) = PRVM_EDICT_TO_PROG(ed);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM0) = PRVM_EDICT_TO_PROG(ed);
prog->ExecuteProgram(prog, PRVM_clientedictfunction(ed, think), "CSQC_Think: NULL function\n");
PRVM_clientglobaledict(self) = b;
}
PRVM_G_FLOAT(OFS_PARM0) = eventtype;
PRVM_G_FLOAT(OFS_PARM1) = x; // key or x
PRVM_G_FLOAT(OFS_PARM2) = y; // ascii or y
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM3) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_InputEvent), "QC function CSQC_InputEvent is missing");
r = CSQC_RETURNVAL != 0;
}
// pass in width and height as parameters (EXT_CSQC_1)
PRVM_G_FLOAT(OFS_PARM0) = vid.width;
PRVM_G_FLOAT(OFS_PARM1) = vid.height;
+ PRVM_G_INT(OFS_PARM2) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_UpdateView), "QC function CSQC_UpdateView is missing");
//VectorCopy(oldangles, cl.viewangles);
// Dresk : Reset Dmg Globals Here
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(prog, arg->str);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_ConsoleCommand), "QC function CSQC_ConsoleCommand is missing");
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
r = CSQC_RETURNVAL != 0;
t = cl_message.readcount;
PRVM_clientglobalfloat(time) = cl.time;
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM0) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Parse_TempEntity), "QC function CSQC_Parse_TempEntity is missing");
r = CSQC_RETURNVAL != 0;
if(!r)
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(prog, msg);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Parse_StuffCmd), "QC function CSQC_Parse_StuffCmd is missing");
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
}
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(prog, msg);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Parse_Print), "QC function CSQC_Parse_Print is missing");
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
}
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(prog, msg);
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[cl.playerentity];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Parse_CenterPrint), "QC function CSQC_Parse_CenterPrint is missing");
prog->tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
}
VectorCopy(pos, PRVM_G_VECTOR(OFS_PARM5) );
PRVM_G_FLOAT(OFS_PARM6) = speed * 100.0f;
PRVM_G_FLOAT(OFS_PARM7) = flags; // flags
+ // NOTE: entity parameter can't be used here, as there are not enough offsets available
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Event_Sound), "QC function CSQC_Event_Sound is missing");
r = CSQC_RETURNVAL != 0;
}
{
if(PRVM_clientglobaledict(self))
{
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM0) = cl.csqc_server2csqcentitynumber[realentnum];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Ent_Remove), "QC function CSQC_Ent_Remove is missing");
cl.csqc_server2csqcentitynumber[realentnum] = 0;
}
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[realentnum] = PRVM_EDICT( PRVM_G_INT( OFS_RETURN ) );
}
PRVM_G_FLOAT(OFS_PARM0) = 1;
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[realentnum];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Ent_Update), "QC function CSQC_Ent_Update is missing");
}
else {
PRVM_G_FLOAT(OFS_PARM0) = 0;
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM1) = cl.csqc_server2csqcentitynumber[realentnum];
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Ent_Update), "QC function CSQC_Ent_Update is missing");
}
}
PRVM_clientglobaledict(self) = entnum;
VectorCopy(origin, PRVM_G_VECTOR(OFS_PARM0));
VectorCopy(ang, PRVM_G_VECTOR(OFS_PARM1));
+ // optional entity parameter for self (EXT_ENTITYPARAM)
+ PRVM_G_INT(OFS_PARM2) = entnum;
VectorCopy(forward, PRVM_clientglobalvector(v_forward));
VectorScale(left, -1, PRVM_clientglobalvector(v_right));
VectorCopy(up, PRVM_clientglobalvector(v_up));