X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=host_cmd.c;h=d4b1a659eb435a630038bf056e24da20b7c39746;hb=a76b746a4cd4e319c9629348ad2fb6563ef49393;hp=780abeeb7ed0ab768040f57a97d1885bede96de4;hpb=45982a9894c5bff60ff494a0f82865ec267d52f7;p=xonotic%2Fdarkplaces.git diff --git a/host_cmd.c b/host_cmd.c index 780abeeb..d4b1a659 100644 --- a/host_cmd.c +++ b/host_cmd.c @@ -22,8 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. int current_skill; -void Mod_Print (void); - dfunction_t *ED_FindFunction (char *name); /* @@ -32,18 +30,10 @@ Host_Quit_f ================== */ -// 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); @@ -78,7 +68,7 @@ void Host_Status_f (void) print = SV_ClientPrintf; print ("host: %s\n", Cvar_VariableString ("hostname")); - print ("version: %s build %i\n", gamename, buildnumber); + print ("version: %s build %s\n", gamename, buildstring); if (tcpipAvailable) print ("tcp/ip: %s\n", my_tcpip_address); if (ipxAvailable) @@ -251,25 +241,25 @@ SERVER TRANSITIONS ====================== Host_Map_f -handle a +handle a map 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 @@ -286,9 +276,10 @@ void Host_Map_f (void) SV_SpawnServer (name); if (!sv.active) return; - + if (cls.state != ca_dedicated) { + /* strcpy (cls.spawnparms, ""); for (i=2 ; iv.health <= 0) ) @@ -476,7 +464,7 @@ void Host_Savegame_f (void) 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) @@ -484,7 +472,7 @@ void Host_Savegame_f (void) Con_Printf ("ERROR: couldn't open.\n"); return; } - + Qprintf (f, "%i\n", SAVEGAME_VERSION); Host_SavegameComment (comment); Qprintf (f, "%s\n", comment); @@ -516,6 +504,8 @@ void Host_Savegame_f (void) } +extern mempool_t *edictstring_mempool; + /* =============== Host_Loadgame_f @@ -533,7 +523,7 @@ void Host_Loadgame_f (void) edict_t *ent; int entnum; int version; - float spawn_parms[NUM_SPAWN_PARMS]; + float spawn_parms[NUM_SPAWN_PARMS]; if (cmd_source != src_command) return; @@ -549,11 +539,6 @@ void Host_Loadgame_f (void) sprintf (name, "%s/%s", com_gamedir, Cmd_Argv(1)); COM_DefaultExtension (name, ".sav"); - // LordHavoc: made SCR_UpdateScreen use a great deal less stack space, no longer an issue - //// we can't call SCR_BeginLoadingPlaque, because too much stack space has - //// been used. The menu calls it before stuffing loadgame command -// SCR_BeginLoadingPlaque (); - Con_Printf ("Loading game from %s...\n", name); f = Qopen (name, "rz"); if (!f) @@ -570,6 +555,9 @@ void Host_Loadgame_f (void) Con_Printf ("Savegame is version %i, not %i\n", version, SAVEGAME_VERSION); return; } + + SCR_BeginLoadingPlaque (); + str = Qgetline (f); for (i=0 ; iactive || !client->spawned) continue; - if (teamplay.value && teamonly && client->edict->v.team != save->edict->v.team) + if (teamplay.integer && teamonly && client->edict->v.team != save->edict->v.team) continue; host_client = client; SV_ClientPrintf("%s", text); @@ -862,7 +850,7 @@ void Host_Color_f(void) if (Cmd_Argc() == 1) { - Con_Printf ("\"color\" is \"%i %i\"\n", ((int)cl_color.value) >> 4, ((int)cl_color.value) & 0x0f); + Con_Printf ("\"color\" is \"%i %i\"\n", cl_color.integer >> 4, cl_color.integer & 15); Con_Printf ("color <0-13> [0-13]\n"); return; } @@ -894,7 +882,6 @@ void Host_Color_f(void) 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"); @@ -953,7 +940,7 @@ void Host_Pause_f (void) Cmd_ForwardToServer (); return; } - if (!pausable.value) + if (!pausable.integer) SV_ClientPrintf ("Pause not allowed.\n"); else { @@ -1033,7 +1020,8 @@ void Host_Spawn_f (void) // 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; @@ -1093,7 +1081,7 @@ void Host_Spawn_f (void) MSG_WriteByte (&host_client->message, i); MSG_WriteByte (&host_client->message, client->colors); } - + // send all current light styles for (i=0 ; imessage, 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 @@ -1439,7 +1426,7 @@ void Host_Viewmodel_f (void) if (!e) return; - m = Mod_ForName (Cmd_Argv(1), false); + m = Mod_ForName (Cmd_Argv(1), false, true, false); if (!m) { Con_Printf ("Can't load %s\n", Cmd_Argv(1)); @@ -1476,9 +1463,8 @@ void Host_Viewframe_f (void) void PrintFrameName (model_t *m, int frame) { - int data; - if (m->ofs_scenes && (data = (int) Mod_Extradata(m))) - Con_Printf("frame %i: %s\n", frame, ((animscene_t *) (m->ofs_scenes + data))[frame].name); + if (m->animscenes) + Con_Printf("frame %i: %s\n", frame, m->animscenes[frame].name); else Con_Printf("frame %i\n", frame); } @@ -1600,11 +1586,8 @@ Return to looping demos */ void Host_Stopdemo_f (void) { - if (cls.state == ca_dedicated) - return; if (!cls.demoplayback) return; - CL_StopPlayback (); CL_Disconnect (); } @@ -1664,6 +1647,5 @@ void Host_InitCommands (void) Cmd_AddCommand ("viewframe", Host_Viewframe_f); Cmd_AddCommand ("viewnext", Host_Viewnext_f); Cmd_AddCommand ("viewprev", Host_Viewprev_f); - - Cmd_AddCommand ("mcache", Mod_Print); } +