summaryrefslogtreecommitdiff
path: root/src/common.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2011-05-26 13:25:08 +0400
committerAndrey Nazarov <skuller@skuller.net>2011-05-26 13:25:08 +0400
commitd7bcacd9fb01162c70f5f44ed9bea360c1ad4be4 (patch)
treea6b2de2fccbea7b703281bd5f61521c3cb1077ff /src/common.c
parentf5624d2154c1aabc67a45c1e82cd25550df33a14 (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.c7
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 );
}
/*