]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
globally rename model_t to dp_model_t for OpenSolaris. Sorry, guys who now have svn...
[xonotic/darkplaces.git] / host_cmd.c
index 578a2b8745d1d3d2e04296d0b6211bc327958445..5a8db28a0e16f1af1a5a80205d542d6e04380a72 100644 (file)
@@ -30,6 +30,7 @@ cvar_t rcon_address = {0, "rcon_address", "", "server address to send rcon comma
 cvar_t team = {CVAR_USERINFO | CVAR_SAVE, "team", "none", "QW team (4 character limit, example: blue)"};
 cvar_t skin = {CVAR_USERINFO | CVAR_SAVE, "skin", "", "QW player skin name (example: base)"};
 cvar_t noaim = {CVAR_USERINFO | CVAR_SAVE, "noaim", "1", "QW option to disable vertical autoaim"};
 cvar_t team = {CVAR_USERINFO | CVAR_SAVE, "team", "none", "QW team (4 character limit, example: blue)"};
 cvar_t skin = {CVAR_USERINFO | CVAR_SAVE, "skin", "", "QW player skin name (example: base)"};
 cvar_t noaim = {CVAR_USERINFO | CVAR_SAVE, "noaim", "1", "QW option to disable vertical autoaim"};
+cvar_t r_fixtrans_auto = {0, "r_fixtrans_auto", "0", "automatically fixtrans textures (when set to 2, it also saves the fixed versions to a fixtrans directory)"};
 qboolean allowcheats = false;
 
 extern qboolean host_shuttingdown;
 qboolean allowcheats = false;
 
 extern qboolean host_shuttingdown;
@@ -263,6 +264,10 @@ void Host_Map_f (void)
                return;
        }
 
                return;
        }
 
+       // GAME_DELUXEQUAKE - clear warpmark (used by QC)
+       if (gamemode == GAME_DELUXEQUAKE)
+               Cvar_Set("warpmark", "");
+
        cls.demonum = -1;               // stop demo loop in case this fails
 
        CL_Disconnect ();
        cls.demonum = -1;               // stop demo loop in case this fails
 
        CL_Disconnect ();
@@ -494,7 +499,7 @@ void Host_Savegame_f (void)
        FS_Printf(f, "%i\n", SAVEGAME_VERSION);
 
        memset(comment, 0, sizeof(comment));
        FS_Printf(f, "%i\n", SAVEGAME_VERSION);
 
        memset(comment, 0, sizeof(comment));
-       sprintf(comment, "%-21s kills:%3i/%3i", PRVM_GetString(prog->edicts->fields.server->message), (int)prog->globals.server->killed_monsters, (int)prog->globals.server->total_monsters);
+       sprintf(comment, "%-21.21s kills:%3i/%3i", PRVM_GetString(prog->edicts->fields.server->message), (int)prog->globals.server->killed_monsters, (int)prog->globals.server->total_monsters);
        // convert space to _ to make stdio happy
        // LordHavoc: convert control characters to _ as well
        for (i=0 ; i<SAVEGAME_COMMENT_LENGTH ; i++)
        // convert space to _ to make stdio happy
        // LordHavoc: convert control characters to _ as well
        for (i=0 ; i<SAVEGAME_COMMENT_LENGTH ; i++)
@@ -560,6 +565,13 @@ void Host_Loadgame_f (void)
 
        Con_Printf("Loading game from %s...\n", filename);
 
 
        Con_Printf("Loading game from %s...\n", filename);
 
+       // stop playing demos
+       if (cls.demoplayback)
+               CL_Disconnect ();
+
+       // remove menu
+       key_dest = key_game;
+
        cls.demonum = -1;               // stop demo loop in case this fails
 
        t = text = (char *)FS_LoadFile (filename, tempmempool, false, NULL);
        cls.demonum = -1;               // stop demo loop in case this fails
 
        t = text = (char *)FS_LoadFile (filename, tempmempool, false, NULL);
@@ -1800,7 +1812,7 @@ Host_Viewmodel_f
 void Host_Viewmodel_f (void)
 {
        prvm_edict_t    *e;
 void Host_Viewmodel_f (void)
 {
        prvm_edict_t    *e;
-       model_t *m;
+       dp_model_t      *m;
 
        if (!sv.active)
                return;
 
        if (!sv.active)
                return;
@@ -1831,7 +1843,7 @@ void Host_Viewframe_f (void)
 {
        prvm_edict_t    *e;
        int             f;
 {
        prvm_edict_t    *e;
        int             f;
-       model_t *m;
+       dp_model_t      *m;
 
        if (!sv.active)
                return;
 
        if (!sv.active)
                return;
@@ -1851,7 +1863,7 @@ void Host_Viewframe_f (void)
 }
 
 
 }
 
 
-void PrintFrameName (model_t *m, int frame)
+void PrintFrameName (dp_model_t *m, int frame)
 {
        if (m->animscenes)
                Con_Printf("frame %i: %s\n", frame, m->animscenes[frame].name);
 {
        if (m->animscenes)
                Con_Printf("frame %i: %s\n", frame, m->animscenes[frame].name);
@@ -1867,7 +1879,7 @@ Host_Viewnext_f
 void Host_Viewnext_f (void)
 {
        prvm_edict_t    *e;
 void Host_Viewnext_f (void)
 {
        prvm_edict_t    *e;
-       model_t *m;
+       dp_model_t      *m;
 
        if (!sv.active)
                return;
 
        if (!sv.active)
                return;
@@ -1894,7 +1906,7 @@ Host_Viewprev_f
 void Host_Viewprev_f (void)
 {
        prvm_edict_t    *e;
 void Host_Viewprev_f (void)
 {
        prvm_edict_t    *e;
-       model_t *m;
+       dp_model_t      *m;
 
        if (!sv.active)
                return;
 
        if (!sv.active)
                return;
@@ -1941,7 +1953,7 @@ void Host_Startdemos_f (void)
                Con_Printf("Max %i demos in demoloop\n", MAX_DEMOS);
                c = MAX_DEMOS;
        }
                Con_Printf("Max %i demos in demoloop\n", MAX_DEMOS);
                c = MAX_DEMOS;
        }
-       Con_Printf("%i demo(s) in loop\n", c);
+       Con_DPrintf("%i demo(s) in loop\n", c);
 
        for (i=1 ; i<c+1 ; i++)
                strlcpy (cls.demos[i-1], Cmd_Argv(i), sizeof (cls.demos[i-1]));
 
        for (i=1 ; i<c+1 ; i++)
                strlcpy (cls.demos[i-1], Cmd_Argv(i), sizeof (cls.demos[i-1]));
@@ -2337,6 +2349,8 @@ void Host_Packet_f (void) // credit: taken from QuakeWorld
        }
 
        mysocket = NetConn_ChooseClientSocketForAddress(&address);
        }
 
        mysocket = NetConn_ChooseClientSocketForAddress(&address);
+       if (!mysocket)
+               mysocket = NetConn_ChooseServerSocketForAddress(&address);
        if (mysocket)
                NetConn_Write(mysocket, send, out - send, &address);
 }
        if (mysocket)
                NetConn_Write(mysocket, send, out - send, &address);
 }
@@ -2498,6 +2512,7 @@ void Host_InitCommands (void)
        Cmd_AddCommand ("pingplreport", Host_PingPLReport_f, "command sent by server containing client ping and packet loss values for scoreboard, triggered by pings command from client (not used by QW servers)");
 
        Cmd_AddCommand ("fixtrans", Image_FixTransparentPixels_f, "change alpha-zero pixels in an image file to sensible values, and write out a new TGA (warning: SLOW)");
        Cmd_AddCommand ("pingplreport", Host_PingPLReport_f, "command sent by server containing client ping and packet loss values for scoreboard, triggered by pings command from client (not used by QW servers)");
 
        Cmd_AddCommand ("fixtrans", Image_FixTransparentPixels_f, "change alpha-zero pixels in an image file to sensible values, and write out a new TGA (warning: SLOW)");
+       Cvar_RegisterVariable (&r_fixtrans_auto);
 
        Cvar_RegisterVariable (&team);
        Cvar_RegisterVariable (&skin);
 
        Cvar_RegisterVariable (&team);
        Cvar_RegisterVariable (&skin);
@@ -2507,3 +2522,6 @@ void Host_InitCommands (void)
        Cvar_RegisterVariable(&sv_adminnick);
 }
 
        Cvar_RegisterVariable(&sv_adminnick);
 }
 
+void Host_NoOperation_f(void)
+{
+}