]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
made darkplaces able to compile as C++ again, and fixed all conversion warnings when...
[xonotic/darkplaces.git] / host_cmd.c
index 9bd58db01dec59540b4940a99657b89ab775d5a4..458ad9da9ee2c8d04b07eeac2b8a3047bd7fb963 100644 (file)
@@ -281,6 +281,27 @@ void Host_Map_f (void)
        SV_SpawnServer(level);
        if (sv.active && cls.state == ca_disconnected)
                CL_EstablishConnection("local:1");
+
+// if cl_autodemo is set, automatically start recording a demo if one isn't being recorded already
+       if (cl_autodemo.integer && !cls.demorecording)
+       {
+               char demofile[MAX_OSPATH];
+
+               dpsnprintf (demofile, sizeof(demofile), "%s_%s.dem", Sys_TimeString (cl_autodemo_nameformat.string), level);
+
+               Con_Printf ("Recording to %s.\n", demofile);
+
+               cls.demofile = FS_Open (demofile, "wb", false, false);
+               if (cls.demofile)
+               {
+                       cls.forcetrack = -1;
+                       FS_Printf (cls.demofile, "%i\n", cls.forcetrack);
+               }
+               else
+                       Con_Print ("ERROR: couldn't open.\n");
+
+               cls.demorecording = true;
+       }
 }
 
 /*
@@ -1403,19 +1424,19 @@ void Host_Spawn_f (void)
        // send some stats
        MSG_WriteByte (&host_client->netconnection->message, svc_updatestat);
        MSG_WriteByte (&host_client->netconnection->message, STAT_TOTALSECRETS);
-       MSG_WriteLong (&host_client->netconnection->message, prog->globals.server->total_secrets);
+       MSG_WriteLong (&host_client->netconnection->message, (int)prog->globals.server->total_secrets);
 
        MSG_WriteByte (&host_client->netconnection->message, svc_updatestat);
        MSG_WriteByte (&host_client->netconnection->message, STAT_TOTALMONSTERS);
-       MSG_WriteLong (&host_client->netconnection->message, prog->globals.server->total_monsters);
+       MSG_WriteLong (&host_client->netconnection->message, (int)prog->globals.server->total_monsters);
 
        MSG_WriteByte (&host_client->netconnection->message, svc_updatestat);
        MSG_WriteByte (&host_client->netconnection->message, STAT_SECRETS);
-       MSG_WriteLong (&host_client->netconnection->message, prog->globals.server->found_secrets);
+       MSG_WriteLong (&host_client->netconnection->message, (int)prog->globals.server->found_secrets);
 
        MSG_WriteByte (&host_client->netconnection->message, svc_updatestat);
        MSG_WriteByte (&host_client->netconnection->message, STAT_MONSTERS);
-       MSG_WriteLong (&host_client->netconnection->message, prog->globals.server->killed_monsters);
+       MSG_WriteLong (&host_client->netconnection->message, (int)prog->globals.server->killed_monsters);
 
        // send a fixangle
        // Never send a roll angle, because savegames can catch the server
@@ -1486,7 +1507,7 @@ void Host_Kick_f (void)
 
        if (Cmd_Argc() > 2 && strcmp(Cmd_Argv(1), "#") == 0)
        {
-               i = atof(Cmd_Argv(2)) - 1;
+               i = (int)(atof(Cmd_Argv(2)) - 1);
                if (i < 0 || i >= svs.maxclients || !(host_client = svs.clients + i)->active)
                        return;
                byNumber = true;
@@ -1814,7 +1835,7 @@ void Host_Viewnext_f (void)
        if (e->fields.server->frame >= m->numframes)
                e->fields.server->frame = m->numframes - 1;
 
-       PrintFrameName (m, e->fields.server->frame);
+       PrintFrameName (m, (int)e->fields.server->frame);
 }
 
 /*
@@ -1842,7 +1863,7 @@ void Host_Viewprev_f (void)
        if (e->fields.server->frame < 0)
                e->fields.server->frame = 0;
 
-       PrintFrameName (m, e->fields.server->frame);
+       PrintFrameName (m, (int)e->fields.server->frame);
 }
 
 /*