summaryrefslogtreecommitdiff
path: root/source/cl_draw.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/cl_draw.c')
-rw-r--r--source/cl_draw.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/cl_draw.c b/source/cl_draw.c
index cc58474..ab0b888 100644
--- a/source/cl_draw.c
+++ b/source/cl_draw.c
@@ -107,8 +107,8 @@ LAGOMETER
#define LAG_CRIT 0xF2
static struct {
- int samples[LAG_WIDTH];
- int head;
+ unsigned samples[LAG_WIDTH];
+ unsigned head;
} lag;
void SCR_LagClear( void ) {
@@ -118,15 +118,16 @@ void SCR_LagClear( void ) {
void SCR_LagSample( void ) {
int i = cls.netchan->incoming_acknowledged & CMD_MASK;
client_history_t *h = &cl.history[i];
- int ping = cls.realtime - h->sent;
+ unsigned ping;
h->rcvd = cls.realtime;
- if( !h->cmdNumber ) {
+ if( !h->cmdNumber || h->rcvd < h->sent ) {
return;
}
+ ping = h->rcvd - h->sent;
for( i = 0; i < cls.netchan->dropped; i++ ) {
- lag.samples[lag.head % LAG_WIDTH] = LAG_MAX | LAG_CRIT_BIT;
+ lag.samples[lag.head % LAG_WIDTH] = ping | LAG_CRIT_BIT;
lag.head++;
}