#include "csprogs.h"
#include "thread.h"
+// current client
+client_t *host_client;
+
static void SV_SaveEntFile_f(cmd_state_t *cmd);
static void SV_StartDownload_f(cmd_state_t *cmd);
static void SV_Download_f(cmd_state_t *cmd);
================
*/
-void SV_SpawnServer (const char *server)
+void SV_SpawnServer (const char *map)
{
prvm_prog_t *prog = SVVM_prog;
prvm_edict_t *ent;
char modelname[sizeof(sv.worldname)];
char vabuf[1024];
- Con_DPrintf("SpawnServer: %s\n", server);
+ Con_DPrintf("SpawnServer: %s\n", map);
- dpsnprintf (modelname, sizeof(modelname), "maps/%s.bsp", server);
+ dpsnprintf (modelname, sizeof(modelname), "maps/%s.bsp", map);
if (!FS_FileExists(modelname))
{
- dpsnprintf (modelname, sizeof(modelname), "maps/%s", server);
+ dpsnprintf (modelname, sizeof(modelname), "maps/%s", map);
if (!FS_FileExists(modelname))
{
- Con_Printf("SpawnServer: no map file named maps/%s.bsp\n", server);
+ Con_Printf("SpawnServer: no map file named maps/%s.bsp\n", map);
return;
}
}
if(sv.active)
{
+ client_t *client;
+ for (i = 0, client = svs.clients;i < svs.maxclients;i++, client++)
+ {
+ if (client->netconnection)
+ {
+ MSG_WriteByte(&client->netconnection->message, svc_stufftext);
+ MSG_WriteString(&client->netconnection->message, "reconnect\n");
+ }
+ }
World_End(&sv.world);
if(PRVM_serverfunction(SV_Shutdown))
{
//
// tell all connected clients that we are going to a new level
//
- if (sv.active)
- {
- client_t *client;
- for (i = 0, client = svs.clients;i < svs.maxclients;i++, client++)
- {
- if (client->netconnection)
- {
- MSG_WriteByte(&client->netconnection->message, svc_stufftext);
- MSG_WriteString(&client->netconnection->message, "reconnect\n");
- }
- }
- }
- else
- {
- // open server port
+ if (!sv.active)
NetConn_OpenServerPorts(true);
- }
//
// make cvars consistant
sv.active = true;
// set level base name variables for later use
- strlcpy (sv.name, server, sizeof (sv.name));
+ strlcpy (sv.name, map, sizeof (sv.name));
strlcpy(sv.worldname, modelname, sizeof(sv.worldname));
FS_StripExtension(sv.worldname, sv.worldnamenoextension, sizeof(sv.worldnamenoextension));
strlcpy(sv.worldbasename, !strncmp(sv.worldnamenoextension, "maps/", 5) ? sv.worldnamenoextension + 5 : sv.worldnamenoextension, sizeof(sv.worldbasename));