]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_demo.c
more stupid error code passing
[xonotic/darkplaces.git] / cl_demo.c
index bffb265676e8535b83e0c93ee2cb7dfdc5f8b2ea..5e77cad13dee5ef97c12a1637f6d6a61e96547a4 100644 (file)
--- a/cl_demo.c
+++ b/cl_demo.c
@@ -127,7 +127,7 @@ Dumps the current demo to a buffer, and resets the demo to its starting point.
 Used to insert csprogs.dat files as a download to the beginning of a demo file.
 ====================
 */
-void CL_CutDemo (void **buf, fs_offset_t *filesize)
+void CL_CutDemo (unsigned char **buf, fs_offset_t *filesize)
 {
        *buf = NULL;
        *filesize = 0;
@@ -136,7 +136,7 @@ void CL_CutDemo (void **buf, fs_offset_t *filesize)
        *buf = FS_LoadFile(cls.demoname, tempmempool, false, filesize);
 
        // restart the demo recording
-       cls.demofile = FS_Open(cls.demoname, "wb", false, false);
+       cls.demofile = FS_OpenRealFile(cls.demoname, "wb", false);
        if(!cls.demofile)
                Host_Error("failed to reopen the demo file");
        FS_Printf(cls.demofile, "%i\n", cls.forcetrack);
@@ -150,7 +150,7 @@ Adds the cut stuff back to the demo. Also frees the buffer.
 Used to insert csprogs.dat files as a download to the beginning of a demo file.
 ====================
 */
-void CL_PasteDemo (void **buf, fs_offset_t *filesize)
+void CL_PasteDemo (unsigned char **buf, fs_offset_t *filesize)
 {
        fs_offset_t startoffset = 0;
 
@@ -163,7 +163,7 @@ void CL_PasteDemo (void **buf, fs_offset_t *filesize)
        if(startoffset < *filesize)
                ++startoffset;
 
-       FS_Write(cls.demofile, (char*)*buf + startoffset, *filesize - startoffset);
+       FS_Write(cls.demofile, *buf + startoffset, *filesize - startoffset);
 
        Mem_Free(*buf);
        *buf = NULL;
@@ -365,7 +365,7 @@ void CL_Record_f (void)
 
        // open the demo file
        Con_Printf("recording to %s.\n", name);
-       cls.demofile = FS_Open (name, "wb", false, false);
+       cls.demofile = FS_OpenRealFile(name, "wb", false);
        if (!cls.demofile)
        {
                Con_Print("ERROR: couldn't open.\n");
@@ -377,6 +377,8 @@ void CL_Record_f (void)
        FS_Printf(cls.demofile, "%i\n", cls.forcetrack);
 
        cls.demorecording = true;
+       cls.demo_lastcsprogssize = -1;
+       cls.demo_lastcsprogscrc = -1;
 }
 
 
@@ -412,7 +414,7 @@ void CL_PlayDemo_f (void)
        cls.protocol = PROTOCOL_QUAKE;
 
        Con_Printf("Playing demo %s.\n", name);
-       cls.demofile = FS_Open (name, "rb", false, false);
+       cls.demofile = FS_OpenVirtualFile(name, false);
        if (!cls.demofile)
        {
                Con_Print("ERROR: couldn't open.\n");