#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);
#undef PRVM_DECLARE_function
};
-static void Host_Timescale_c(char *string)
+static void Host_Timescale_c(cvar_t *var)
{
- double value;
- value = atof(string);
-
- if(value < 0.00001 && value != 0)
- string[0] = '0', string[1] = 0;
+ if(var->value < 0.00001 && var->value != 0)
+ Cvar_SetValueQuick(var, 0);
}
//============================================================================
================
*/
-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));