sizebuf_t buf;
unsigned char bufdata[8];
if (cls.demorecording)
- CL_Stop_f(&cmd_client);
+ CL_Stop_f(cmd_local);
// send disconnect message 3 times to improve chances of server
// receiving it (but it still fails sometimes)
cls.demoplayback = cls.timedemo = host.restless = false;
cls.signon = 0;
+ Cvar_Callback(&cl_netport);
+
// If we're dropped mid-connection attempt, it won't clear otherwise.
SCR_ClearLoadingScreen(false);
+
+ if(host.hook.SV_Shutdown)
+ host.hook.SV_Shutdown();
}
/*
void CL_Disconnect_f(cmd_state_t *cmd)
{
- CL_Disconnect ();
- if (sv.active)
- SV_Shutdown ();
+ CL_Disconnect();
}
{
int i;
*cls.connect_userinfo = 0;
- for(i = firstarg; i+2 <= Cmd_Argc(&cmd_client); i += 2)
- InfoString_SetValue(cls.connect_userinfo, sizeof(cls.connect_userinfo), Cmd_Argv(&cmd_client, i), Cmd_Argv(&cmd_client, i+1));
+ for(i = firstarg; i+2 <= Cmd_Argc(cmd_local); i += 2)
+ InfoString_SetValue(cls.connect_userinfo, sizeof(cls.connect_userinfo), Cmd_Argv(cmd_local, i), Cmd_Argv(cmd_local, i+1));
}
else if(firstarg < -1)
{
static double clframetime;
static double cl_timer = 0;
static double time1 = 0, time2 = 0, time3 = 0;
- static double wait;
int pass1, pass2, pass3;
CL_VM_PreventInformationLeaks();
{
clframetime = cl.realframetime = max(cl_timer, 1.0 / cl_maxfps.value);
// when running slow, we need to sleep to keep input responsive
- wait = bound(0, cl_maxfps_alwayssleep.value * 1000, 100000);
- if (wait > 0)
- Sys_Sleep((int)wait);
+ if (cl_maxfps_alwayssleep.value > 0)
+ Sys_Sleep((int)bound(0, cl_maxfps_alwayssleep.value * 1000, 100000));
}
else if (!vid_activewindow && cl_maxidlefps.value >= 1 && !cls.timedemo)
clframetime = cl.realframetime = max(cl_timer, 1.0 / cl_maxidlefps.value);
CL_Video_Init();
+ NetConn_UpdateSockets_Client();
+
host.hook.ConnectLocal = CL_EstablishConnection_Local;
host.hook.Disconnect = CL_Disconnect;
host.hook.CL_Intermission = CL_Intermission;