]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_demo.c
Solaris compile fixes
[xonotic/darkplaces.git] / sv_demo.c
index 3ba4349a47f58923acaea273fd39094a129a4a8e..c56274709e0bfb26166125af8e6467bdc4f60e98 100644 (file)
--- a/sv_demo.c
+++ b/sv_demo.c
@@ -13,7 +13,7 @@ void SV_StartDemoRecording(client_t *client, const char *filename, int forcetrac
 
        Con_Printf("Recording demo for # %d (%s) to %s\n", PRVM_NUM_FOR_EDICT(client->edict), client->netaddress, name);
 
-       client->sv_demo_file = FS_Open(name, "wb", false, false);
+       client->sv_demo_file = FS_OpenRealFile(name, "wb", false);
        if(!client->sv_demo_file)
        {
                Con_Print("ERROR: couldn't open.\n");
@@ -23,7 +23,7 @@ void SV_StartDemoRecording(client_t *client, const char *filename, int forcetrac
        FS_Printf(client->sv_demo_file, "%i\n", forcetrack);
 }
 
-void SV_WriteDemoMessage(client_t *client, sizebuf_t *sendbuffer)
+void SV_WriteDemoMessage(client_t *client, sizebuf_t *sendbuffer, qboolean clienttoserver)
 {
        int len, i;
        float f;
@@ -33,7 +33,7 @@ void SV_WriteDemoMessage(client_t *client, sizebuf_t *sendbuffer)
        if(sendbuffer->cursize == 0)
                return;
        
-       len = LittleLong(sendbuffer->cursize);
+       len = LittleLong(sendbuffer->cursize | (clienttoserver ? DEMOMSG_CLIENT_TO_SERVER : 0));
        FS_Write(client->sv_demo_file, &len, 4);
        for(i = 0; i < 3; ++i)
        {
@@ -55,7 +55,7 @@ void SV_StopDemoRecording(client_t *client)
        buf.maxsize = sizeof(bufdata);
        SZ_Clear(&buf);
        MSG_WriteByte(&buf, svc_disconnect);
-       SV_WriteDemoMessage(client, &buf);
+       SV_WriteDemoMessage(client, &buf, false);
 
        FS_Close(client->sv_demo_file);
        client->sv_demo_file = NULL;
@@ -78,5 +78,5 @@ void SV_WriteNetnameIntoDemo(client_t *client)
        MSG_WriteUnterminatedString(&buf, "\n// this demo contains the point of view of: ");
        MSG_WriteUnterminatedString(&buf, client->name);
        MSG_WriteString(&buf, "\n");
-       SV_WriteDemoMessage(client, &buf);
+       SV_WriteDemoMessage(client, &buf, false);
 }