cvar: csqc_usedemoprogs
[xonotic/darkplaces.git] / csprogs.c
index 8ebaa7f..8a9bf1d 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -955,10 +955,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;
@@ -976,8 +977,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;