… | |
… | |
554 | cf::server_tick; # one server iteration |
554 | cf::server_tick; # one server iteration |
555 | |
555 | |
556 | my $NOW = Event::time; |
556 | my $NOW = Event::time; |
557 | $NEXT_TICK += $TICK; |
557 | $NEXT_TICK += $TICK; |
558 | |
558 | |
559 | # if we are delayed by > 0.25 second, skip ticks |
559 | # if we are delayed by four ticks, skip them all |
560 | $NEXT_TICK = $NOW if $NOW >= $NEXT_TICK + .25; |
560 | $NEXT_TICK = $NOW if $NOW >= $NEXT_TICK + $TICK * 4; |
561 | |
561 | |
562 | $TICK_WATCHER->at ($NEXT_TICK); |
562 | $TICK_WATCHER->at ($NEXT_TICK); |
563 | $TICK_WATCHER->start; |
563 | $TICK_WATCHER->start; |
564 | }, |
564 | }, |
565 | ); |
565 | ); |