diff --git a/uquake/cl_demo.c b/uquake/cl_demo.c index 40a2699..eaf87ed 100644 --- a/uquake/cl_demo.c +++ b/uquake/cl_demo.c @@ -60,6 +60,7 @@ void CL_StopPlayback (void) cls.demoplayback = 0; cls.demofile = NULL; cls.state = ca_disconnected; + cl.paused = false; if (cls.timedemo) CL_FinishTimeDemo (); @@ -103,6 +104,8 @@ int CL_GetMessage(void) if (cls.demoplayback) { + if (cl.paused) + return 0; // decide if it is time to grab the next message if (cls.signon == SIGNONS) // allways grab until fully connected { diff --git a/uquake/host_cmd.c b/uquake/host_cmd.c index 7c19f35..919ae38 100644 --- a/uquake/host_cmd.c +++ b/uquake/host_cmd.c @@ -1248,6 +1248,11 @@ Host_Pause_f */ void Host_Pause_f (void) { + if (cls.demoplayback) + { + cl.paused = !cl.paused; + return; + } if (cmd_source == src_command) { @@ -1258,7 +1263,7 @@ void Host_Pause_f (void) SV_ClientPrintf ("Pause not allowed.\n"); else { - sv.paused ^= 1; + sv.paused = !sv.paused; if (sv.paused) {