diff options
author | Andrey Nazarov <skuller@skuller.net> | 2011-05-26 13:25:08 +0400 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2011-05-26 13:25:08 +0400 |
commit | d7bcacd9fb01162c70f5f44ed9bea360c1ad4be4 (patch) | |
tree | a6b2de2fccbea7b703281bd5f61521c3cb1077ff /src/common.c | |
parent | f5624d2154c1aabc67a45c1e82cd25550df33a14 (diff) |
Improve client event loop.
Execute command buffers directly inside CL_ProcessEvents. Break sub-msec
spin loop when important event occurs.
Diffstat (limited to 'src/common.c')
-rw-r--r-- | src/common.c | 7 |
1 files changed, 3 insertions, 4 deletions
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 ); } /* |