==================
*/
-// LordHavoc: didn't like it asking me if I wanted to quit
-//extern void M_Menu_Quit_f (void);
-
extern qboolean host_shuttingdown;
void Host_Quit_f (void)
{
- /*
- if (key_dest != key_console && cls.state != ca_dedicated)
- {
- M_Menu_Quit_f ();
- return;
- }
- */
host_shuttingdown = true;
CL_Disconnect ();
Host_ShutdownServer(false);
======================
Host_Map_f
-handle a
+handle a
map <servername>
command from the console. Active clients are kicked off.
======================
*/
void Host_Map_f (void)
{
- int i;
- char name[MAX_QPATH];
+ int i;
+ char name[MAX_QPATH];
if (cmd_source != src_command)
return;
cls.demonum = -1; // stop demo loop in case this fails
-// SCR_BeginLoadingPlaque ();
+ SCR_BeginLoadingPlaque ();
CL_Disconnect ();
- Host_ShutdownServer(false);
+ Host_ShutdownServer(false);
key_dest = key_game; // remove console or menu
SV_SpawnServer (name);
if (!sv.active)
return;
-
+
if (cls.state != ca_dedicated)
{
+ /*
strcpy (cls.spawnparms, "");
for (i=2 ; i<Cmd_Argc() ; i++)
strcat (cls.spawnparms, Cmd_Argv(i));
strcat (cls.spawnparms, " ");
}
-
+ */
Cmd_ExecuteString ("connect local", src_command);
- }
+ }
}
/*
*/
void Host_Reconnect_f (void)
{
-// SCR_BeginLoadingPlaque ();
+ SCR_BeginLoadingPlaque ();
cls.signon = 0; // need new connection messages
}
===============
Host_SavegameComment
-Writes a SAVEGAME_COMMENT_LENGTH character comment describing the current
+Writes a SAVEGAME_COMMENT_LENGTH character comment describing the current
===============
*/
void Host_SavegameComment (char *text)
Con_Printf ("Relative pathnames are not allowed.\n");
return;
}
-
+
for (i=0 ; i<svs.maxclients ; i++)
{
if (svs.clients[i].active && (svs.clients[i].edict->v.health <= 0) )
sprintf (name, "%s/%s", com_gamedir, Cmd_Argv(1));
COM_DefaultExtension (name, ".sav");
-
+
Con_Printf ("Saving game to %s...\n", name);
f = Qopen (name, "w");
if (!f)
Con_Printf ("ERROR: couldn't open.\n");
return;
}
-
+
Qprintf (f, "%i\n", SAVEGAME_VERSION);
Host_SavegameComment (comment);
Qprintf (f, "%s\n", comment);
Con_Printf ("Savegame is version %i, not %i\n", version, SAVEGAME_VERSION);
return;
}
+
+ SCR_BeginLoadingPlaque ();
+
str = Qgetline (f);
for (i=0 ; i<NUM_SPAWN_PARMS ; i++) {
str = Qgetline (f);
sscanf (str, "%f\n",&time);
CL_Disconnect_f ();
-
+
SV_SpawnServer (mapname);
if (!sv.active)
{
Con_Printf ("\"name\" is \"%s\"\n", cl_name.string);
return;
}
- //if (Cmd_Argc () == 2)
- // newName = Cmd_Argv(1);
- //else
- // newName = Cmd_Args();
- //newName[15] = 0;
+
if (Cmd_Argc () == 2)
strncpy(newName, Cmd_Argv(1), 15);
else
int playercolor;
dfunction_t *f;
func_t SV_ChangeTeam;
-
+
if (Cmd_Argc() == 1)
{
Con_Printf ("\"color\" is \"%i %i\"\n", cl_color.integer >> 4, cl_color.integer & 15);
- Con_Printf ("color <0-13> [0-13]\n");
+ Con_Printf ("color <0-15> [0-15]\n");
return;
}
// LordHavoc: allow skin colormaps 14 and 15 (was 13)
if (bottom > 15)
bottom = 15;
-
+
playercolor = top*16 + bottom;
if (cmd_source == src_command)
return;
}
- // void(float color) SV_ChangeTeam;
if ((f = ED_FindFunction ("SV_ChangeTeam")) && (SV_ChangeTeam = (func_t)(f - pr_functions)))
{
Con_DPrintf("Calling SV_ChangeTeam\n");
pr_global_struct->time = sv.time;
- pr_globals[0] = playercolor;
+ pr_globals[OFS_PARM0] = playercolor;
pr_global_struct->self = EDICT_TO_PROG(host_client->edict);
PR_ExecuteProgram (SV_ChangeTeam, "");
}
// run the entrance script
if (sv.loadgame)
- { // loaded games are fully inited already
+ {
+ // loaded games are fully initialized already
// if this is the last client to be connected, unpause
sv.paused = false;
MSG_WriteByte (&host_client->message, i);
MSG_WriteByte (&host_client->message, client->colors);
}
-
+
// send all current light styles
for (i=0 ; i<MAX_LIGHTSTYLES ; i++)
{
MSG_WriteByte (&host_client->message, STAT_MONSTERS);
MSG_WriteLong (&host_client->message, pr_global_struct->killed_monsters);
-//
// send a fixangle
// Never send a roll angle, because savegames can catch the server
// in a state where it is expecting the client to correct the angle
Cmd_AddCommand ("viewnext", Host_Viewnext_f);
Cmd_AddCommand ("viewprev", Host_Viewprev_f);
}
+