]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
fix a /* warning in a comment
[xonotic/darkplaces.git] / host_cmd.c
index 6a0b99141fbd6165ace0c3238bbe5c9828b86e0b..2d3d4dd06c051694940a635c7d51244ef5154e3f 100644 (file)
@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "sv_demo.h"
 #include "image.h"
 
+#include "prvm_cmds.h"
 #include "utf8lib.h"
 
 // for secure rcon authentication
@@ -107,7 +108,7 @@ static void Host_Status_f (void)
                if (svs.clients[i].active)
                        players++;
        print ("host:     %s\n", Cvar_VariableString ("hostname"));
-       print ("version:  %s build %s\n", gamename, buildstring);
+       print ("version:  %s build %s (gamename %s)\n", gamename, buildstring, gamenetworkfiltername);
        print ("protocol: %i (%s)\n", Protocol_NumberForEnum(sv.protocol), Protocol_NameForEnum(sv.protocol));
        print ("map:      %s\n", sv.name);
        print ("timing:   %s\n", Host_TimingReport(vabuf, sizeof(vabuf)));
@@ -379,9 +380,11 @@ static void Host_Map_f (void)
                svs.clients = (client_t *)Mem_Alloc(sv_mempool, sizeof(client_t) * svs.maxclients);
        }
 
+#ifdef CONFIG_MENU
        // remove menu
        if (key_dest == key_menu || key_dest == key_menu_grabbed)
                MR_ToggleMenu(0);
+#endif
        key_dest = key_game;
 
        svs.serverflags = 0;                    // haven't completed an episode yet
@@ -414,9 +417,11 @@ static void Host_Changelevel_f (void)
                return;
        }
 
+#ifdef CONFIG_MENU
        // remove menu
        if (key_dest == key_menu || key_dest == key_menu_grabbed)
                MR_ToggleMenu(0);
+#endif
        key_dest = key_game;
 
        SV_SaveSpawnparms ();
@@ -449,9 +454,11 @@ static void Host_Restart_f (void)
                return;
        }
 
+#ifdef CONFIG_MENU
        // remove menu
        if (key_dest == key_menu || key_dest == key_menu_grabbed)
                MR_ToggleMenu(0);
+#endif
        key_dest = key_game;
 
        allowcheats = sv_cheats.integer != 0;
@@ -641,7 +648,7 @@ void Host_Savegame_to(prvm_prog_t *prog, const char *name)
                        FS_Printf(f,"sv.sound_precache %i %s\n", i, sv.sound_precache[i]);
 
        // darkplaces extension - save buffers
-       numbuffers = Mem_ExpandableArray_IndexRange(&prog->stringbuffersarray);
+       numbuffers = (int)Mem_ExpandableArray_IndexRange(&prog->stringbuffersarray);
        for (i = 0; i < numbuffers; i++)
        {
                prvm_stringbuffer_t *stringbuffer = (prvm_stringbuffer_t*) Mem_ExpandableArray_RecordAtIndex(&prog->stringbuffersarray, i);
@@ -755,11 +762,6 @@ Host_Loadgame_f
 ===============
 */
 
-prvm_stringbuffer_t *BufStr_FindCreateReplace (prvm_prog_t *prog, int bufindex, int flags, char *format);
-void BufStr_Set(prvm_prog_t *prog, prvm_stringbuffer_t *stringbuffer, int strindex, const char *str);
-void BufStr_Del(prvm_prog_t *prog, prvm_stringbuffer_t *stringbuffer);
-void BufStr_Flush(prvm_prog_t *prog);
-
 static void Host_Loadgame_f (void)
 {
        prvm_prog_t *prog = SVVM_prog;
@@ -792,9 +794,11 @@ static void Host_Loadgame_f (void)
        if (cls.demoplayback)
                CL_Disconnect ();
 
+#ifdef CONFIG_MENU
        // remove menu
        if (key_dest == key_menu || key_dest == key_menu_grabbed)
                MR_ToggleMenu(0);
+#endif
        key_dest = key_game;
 
        cls.demonum = -1;               // stop demo loop in case this fails
@@ -1084,7 +1088,7 @@ static void Host_Loadgame_f (void)
        Mem_Free(text);
 
        // remove all temporary flagged string buffers (ones created with BufStr_FindCreateReplace)
-       numbuffers = Mem_ExpandableArray_IndexRange(&prog->stringbuffersarray);
+       numbuffers = (int)Mem_ExpandableArray_IndexRange(&prog->stringbuffersarray);
        for (i = 0; i < numbuffers; i++)
        {
                if ( (stringbuffer = (prvm_stringbuffer_t *)Mem_ExpandableArray_RecordAtIndex(&prog->stringbuffersarray, i)) )
@@ -1670,6 +1674,7 @@ static void Host_BottomColor_f(void)
 }
 
 cvar_t cl_rate = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_rate", "20000", "internal storage cvar for current rate (changed by rate command)"};
+cvar_t cl_rate_burstsize = {CVAR_SAVE | CVAR_NQUSERINFOHACK, "_cl_rate_burstsize", "1024", "internal storage cvar for current rate control burst size (changed by rate_burstsize command)"};
 static void Host_Rate_f(void)
 {
        int rate;
@@ -1691,6 +1696,27 @@ static void Host_Rate_f(void)
 
        host_client->rate = rate;
 }
+static void Host_Rate_BurstSize_f(void)
+{
+       int rate_burstsize;
+
+       if (Cmd_Argc() != 2)
+       {
+               Con_Printf("\"rate_burstsize\" is \"%i\"\n", cl_rate_burstsize.integer);
+               Con_Print("rate_burstsize <bytes>\n");
+               return;
+       }
+
+       rate_burstsize = atoi(Cmd_Argv(1));
+
+       if (cmd_source == src_command)
+       {
+               Cvar_SetValue ("_cl_rate_burstsize", rate_burstsize);
+               return;
+       }
+
+       host_client->rate_burstsize = rate_burstsize;
+}
 
 /*
 ==================
@@ -2626,11 +2652,11 @@ static void Host_Rcon_f (void) // credit: taken from QuakeWorld
                        char argbuf[1500];
                        dpsnprintf(argbuf, sizeof(argbuf), "%ld.%06d %s", (long) time(NULL), (int) (rand() % 1000000), Cmd_Args());
                        memcpy(buf, "\377\377\377\377srcon HMAC-MD4 TIME ", 24);
-                       if(HMAC_MDFOUR_16BYTES((unsigned char *) (buf + 24), (unsigned char *) argbuf, strlen(argbuf), (unsigned char *) rcon_password.string, n))
+                       if(HMAC_MDFOUR_16BYTES((unsigned char *) (buf + 24), (unsigned char *) argbuf, (int)strlen(argbuf), (unsigned char *) rcon_password.string, n))
                        {
                                buf[40] = ' ';
                                strlcpy(buf + 41, argbuf, sizeof(buf) - 41);
-                               NetConn_Write(mysocket, buf, 41 + strlen(buf + 41), &to);
+                               NetConn_Write(mysocket, buf, 41 + (int)strlen(buf + 41), &to);
                        }
                }
                else
@@ -2997,6 +3023,8 @@ void Host_InitCommands (void)
        Cmd_AddCommand_WithClientCommand ("color", Host_Color_f, Host_Color_f, "change your player shirt and pants colors");
        Cvar_RegisterVariable (&cl_rate);
        Cmd_AddCommand_WithClientCommand ("rate", Host_Rate_f, Host_Rate_f, "change your network connection speed");
+       Cvar_RegisterVariable (&cl_rate_burstsize);
+       Cmd_AddCommand_WithClientCommand ("rate_burstsize", Host_Rate_BurstSize_f, Host_Rate_BurstSize_f, "change your network connection speed");
        Cvar_RegisterVariable (&cl_pmodel);
        Cmd_AddCommand_WithClientCommand ("pmodel", Host_PModel_f, Host_PModel_f, "(Nehahra-only) change your player model choice");