]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
add -noconsole option to block console input and display
[xonotic/darkplaces.git] / csprogs.c
index 6a6ca9938dc5f628ae33f94d45d39e01500e48aa..ab2cc35bf64c5f661cfd0c3073d21c0c84bec14b 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -704,11 +704,13 @@ qboolean CL_VM_Event_Sound(int sound_num, float volume, int channel, float atten
                        PRVM_clientglobalfloat(time) = cl.time;
                        PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
                        PRVM_G_FLOAT(OFS_PARM0) = ent;
-                       PRVM_G_FLOAT(OFS_PARM1) = channel;
+                       PRVM_G_FLOAT(OFS_PARM1) = CHAN_ENGINE2USER(channel);
                        PRVM_G_INT(OFS_PARM2) = PRVM_SetTempString(cl.sound_name[sound_num] );
                        PRVM_G_FLOAT(OFS_PARM3) = volume;
                        PRVM_G_FLOAT(OFS_PARM4) = attenuation;
                        VectorCopy(pos, PRVM_G_VECTOR(OFS_PARM5) );
+                       PRVM_G_FLOAT(OFS_PARM6) = 0; // pitch shift not supported yet
+                       PRVM_G_FLOAT(OFS_PARM7) = 0; // flags - none can come in at this point yet
                        PRVM_ExecuteProgram(PRVM_clientfunction(CSQC_Event_Sound), "QC function CSQC_Event_Sound is missing");
                        r = CSQC_RETURNVAL != 0;
                }
@@ -949,10 +951,11 @@ qboolean MakeDownloadPacket(const char *filename, unsigned char *data, size_t le
        return false;
 }
 
+extern cvar_t csqc_usedemoprogs;
 void CL_VM_Init (void)
 {
        const char* csprogsfn;
-       unsigned char *csprogsdata;
+       unsigned char *csprogsdata = NULL;
        fs_offset_t csprogsdatasize;
        int csprogsdatacrc, requiredcrc;
        int requiredsize;
@@ -970,8 +973,11 @@ void CL_VM_Init (void)
 
        // see if the requested csprogs.dat file matches the requested crc
        csprogsdatacrc = -1;
-       csprogsfn = va("dlcache/%s.%i.%i", csqc_progname.string, requiredsize, requiredcrc);
-       csprogsdata = FS_LoadFile(csprogsfn, tempmempool, true, &csprogsdatasize);
+       if (!cls.demoplayback || csqc_usedemoprogs.integer)
+       {
+               csprogsfn = va("dlcache/%s.%i.%i", csqc_progname.string, requiredsize, requiredcrc);
+               csprogsdata = FS_LoadFile(csprogsfn, tempmempool, true, &csprogsdatasize);
+       }
        if (!csprogsdata)
        {
                csprogsfn = csqc_progname.string;