]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
Merge branch 'master' into Mario/ext_entityparam
[xonotic/darkplaces.git] / csprogs.c
index 68e7b3c066ed2e43fc08dab563d984fc973eeb04..6d83a7849d7951c27f00bc02804c3a63cb93acc2 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -456,6 +456,8 @@ qboolean CL_VM_InputEvent (int eventtype, float x, float y)
                        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;
                }
@@ -507,7 +509,9 @@ qboolean CL_VM_UpdateView (double frametime)
        return true;
 }
 
-qboolean CL_VM_ConsoleCommand (const char *cmd)
+hook_t *csqc_concmd;
+
+qboolean CL_VM_ConsoleCommand (hook_val_t *arg)
 {
        prvm_prog_t *prog = CLVM_prog;
        int restorevm_tempstringsbuf_cursize;
@@ -520,7 +524,7 @@ qboolean CL_VM_ConsoleCommand (const char *cmd)
                PRVM_clientglobalfloat(time) = cl.time;
                PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
                restorevm_tempstringsbuf_cursize = prog->tempstringsbuf.cursize;
-               PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(prog, cmd);
+               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");