From d7bcacd9fb01162c70f5f44ed9bea360c1ad4be4 Mon Sep 17 00:00:00 2001 From: Andrey Nazarov Date: Thu, 26 May 2011 13:25:08 +0400 Subject: Improve client event loop. Execute command buffers directly inside CL_ProcessEvents. Break sub-msec spin loop when important event occurs. --- src/common.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/common.c') diff --git a/src/common.c b/src/common.c index adb384e..ffe22ed 100644 --- a/src/common.c +++ b/src/common.c @@ -2134,9 +2134,11 @@ void Qcommon_Frame( void ) { // spin until msec is non-zero if running a client if( !dedicated->integer && !com_timedemo->integer ) { while( msec < 1 ) { - CL_ProcessEvents(); + qboolean break_now = CL_ProcessEvents(); com_eventTime = Sys_Milliseconds(); msec = com_eventTime - oldtime; + if( break_now ) + break; } } #endif @@ -2200,9 +2202,6 @@ void Qcommon_Frame( void ) { all, ev, sv, gm, cl, rf ); } #endif - - // this is the only place where console commands are processed. - Cbuf_Execute( &cmd_buffer ); } /* -- cgit v1.2.3