"DP_QC_STRFTIME "
"DP_QC_STRINGBUFFERS "
"DP_QC_STRINGBUFFERS_CVARLIST "
+"DP_QC_STRINGBUFFERS_EXT_WIP "
"DP_QC_STRINGCOLORFUNCTIONS "
"DP_QC_STRING_CASE_FUNCTIONS "
"DP_QC_STRREPLACE "
VM_SAFEPARMCOUNT(2,VM_M_copyentity);
in = PRVM_G_EDICT(OFS_PARM0);
out = PRVM_G_EDICT(OFS_PARM1);
- memcpy(out->fields.vp, in->fields.vp, prog->entityfields * 4);
+ memcpy(out->fields.fp, in->fields.fp, prog->entityfields * sizeof(prvm_vec_t));
}
//#66 vector() getmousepos (EXT_CSQC)
VM_SAFEPARMCOUNT(1,VM_M_crypto_getmykey);
i = PRVM_G_FLOAT( OFS_PARM0 );
- switch(Crypto_RetrieveLocalKey(i, keyfp, sizeof(keyfp), NULL, 0))
+ switch(Crypto_RetrieveLocalKey(i, keyfp, sizeof(keyfp), NULL, 0, NULL))
{
case -1:
PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString(prog, "");
VM_SAFEPARMCOUNT(1,VM_M_crypto_getmykey);
i = PRVM_G_FLOAT( OFS_PARM0 );
- switch(Crypto_RetrieveLocalKey(i, NULL, 0, idfp, sizeof(idfp)))
+ switch(Crypto_RetrieveLocalKey(i, NULL, 0, idfp, sizeof(idfp), NULL))
{
case -1:
PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString(prog, "");
break;
}
}
+static void VM_M_crypto_getmyidstatus(prvm_prog_t *prog)
+{
+ int i;
+ qboolean issigned;
+
+ VM_SAFEPARMCOUNT(1,VM_M_crypto_getmykey);
+
+ i = PRVM_G_FLOAT( OFS_PARM0 );
+ switch(Crypto_RetrieveLocalKey(i, NULL, 0, NULL, 0, &issigned))
+ {
+ case -1:
+ PRVM_G_FLOAT( OFS_RETURN ) = 0; // have no ID there
+ break;
+ case 0:
+ PRVM_G_FLOAT( OFS_RETURN ) = -1; // out of range
+ break;
+ default:
+ case 1:
+ PRVM_G_FLOAT( OFS_RETURN ) = issigned ? 2 : 1;
+ break;
+ }
+}
prvm_builtin_t vm_m_builtins[] = {
NULL, // #0 NULL function (not callable)
VM_log, // #532
VM_getsoundtime, // #533 float(entity e, float channel) getsoundtime = #533; (DP_SND_GETSOUNDTIME)
VM_soundlength, // #534 float(string sample) soundlength = #534; (DP_SND_GETSOUNDTIME)
-NULL, // #535
-NULL, // #536
-NULL, // #537
-NULL, // #538
+VM_buf_loadfile, // #535 float(string filename, float bufhandle) buf_loadfile (DP_QC_STRINGBUFFERS_EXT_WIP)
+VM_buf_writefile, // #536 float(float filehandle, float bufhandle, float startpos, float numstrings) buf_writefile (DP_QC_STRINGBUFFERS_EXT_WIP)
+VM_bufstr_find, // #537 float(float bufhandle, string match, float matchrule, float startpos) bufstr_find (DP_QC_STRINGBUFFERS_EXT_WIP)
+VM_matchpattern, // #538 float(string s, string pattern, float matchrule) matchpattern (DP_QC_STRINGBUFFERS_EXT_WIP)
NULL, // #539
NULL, // #540
NULL, // #541
VM_M_crypto_getmyidfp, // #637 string(float addr) crypto_getmyidfp
NULL, // #638
VM_digest_hex, // #639
+NULL, // #640
+VM_M_crypto_getmyidstatus, // #641 float(float i) crypto_getmyidstatus
NULL
};