// general default
numplayers = 8;
+// COMMANDLINEOPTION: Server: -dedicated [playerlimit] starts a dedicated server (with a command console), default playerlimit is 8
+// COMMANDLINEOPTION: Server: -listen [playerlimit] starts a multiplayer server with graphical client, like singleplayer but other players can connect, default playerlimit is 8
if (cl_available)
{
// client exists, check what mode the user wants
Cvar_SetValueQuick(&deathmatch, 1);
svs.maxclients = numplayers;
- sv_clients_mempool = Mem_AllocPool("server clients");
+ sv_clients_mempool = Mem_AllocPool("server clients", 0, NULL);
svs.clients = Mem_Alloc(sv_clients_mempool, sizeof(client_t) * svs.maxclients);
}
NetConn_Heartbeat(1);
// free the client now
+ if (host_client->entitydatabase)
+ EntityFrame_FreeDatabase(host_client->entitydatabase);
if (host_client->entitydatabase4)
EntityFrame4_FreeDatabase(host_client->entitydatabase4);
+ if (host_client->entitydatabase5)
+ EntityFrame5_FreeDatabase(host_client->entitydatabase5);
// clear the client struct (this sets active to false)
memset(host_client, 0, sizeof(*host_client));
}
if (host_speeds.integer)
time1 = Sys_DoubleTime();
- R_UpdateWorld();
CL_UpdateScreen();
if (host_speeds.integer)
if (cls.signon == SIGNONS && cl.viewentity >= 0 && cl.viewentity < MAX_EDICTS && cl_entities[cl.viewentity].state_current.active)
{
// LordHavoc: this used to use renderer variables (eww)
- vec3_t forward, left, up, origin;
- Matrix4x4_ToVectors(&cl_entities[cl.viewentity].render.matrix, forward, left, up, origin);
- S_Update(origin, forward, left, up);
+ S_Update(&cl_entities[cl.viewentity].render.matrix);
}
else
- S_Update(vec3_origin, vec3_origin, vec3_origin, vec3_origin);
+ S_Update(&identitymatrix);
CDAudio_Update();
srand(time(NULL));
// FIXME: this is evil, but possibly temporary
+// COMMANDLINEOPTION: Console: -developer enables warnings and other notices (RECOMMENDED for mod developers)
if (COM_CheckParm("-developer"))
{
forcedeveloper = true;
if (cls.state != ca_dedicated)
{
Palette_Init();
+ MR_Init_Commands();
VID_Shared_Init();
VID_Init();
Cbuf_InsertText("exec quake.rc\n");
// check for special benchmark mode
+// COMMANDLINEOPTION: Client: -benchmark <demoname> runs a timedemo and quits, results of any timedemo can be found in gamedir/benchmark.log (for example id1/benchmark.log)
i = COM_CheckParm("-benchmark");
if (i && i + 1 < com_argc)
Cbuf_InsertText(va("timedemo %s\n", com_argv[i + 1]));
}
Sys_Shutdown();
+ Log_Close ();
}