diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-10-28 16:48:52 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-10-28 16:48:52 +0000 |
| commit | 5f8c4522fd0c78f517f127e3a1afe1201b9bf996 (patch) | |
| tree | afd9d4019fdfbf35e3b7a04b86a6550fa7a338a0 /src/engine | |
| parent | a3ce2eb90cd26fe87042344175e5c9669adb7dcd (diff) | |
| download | zcatch-5f8c4522fd0c78f517f127e3a1afe1201b9bf996.tar.gz zcatch-5f8c4522fd0c78f517f127e3a1afe1201b9bf996.zip | |
fixed errors in input and prediction handling
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/client/client.c | 2 | ||||
| -rw-r--r-- | src/engine/server/server.c | 13 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/engine/client/client.c b/src/engine/client/client.c index c6a9252f..4d63e618 100644 --- a/src/engine/client/client.c +++ b/src/engine/client/client.c @@ -19,7 +19,7 @@ #include <mastersrv/mastersrv.h> -const int prediction_margin = 5; +const int prediction_margin = 60; /*(int)(1000/(SERVER_TICK_SPEED*1.2f));*/ /* Server Time diff --git a/src/engine/server/server.c b/src/engine/server/server.c index 0262c65f..8fa10d7b 100644 --- a/src/engine/server/server.c +++ b/src/engine/server/server.c @@ -236,13 +236,6 @@ int server_send_msg(int client_id) return 0; } - -static void server_do_tick() -{ - current_tick++; - mods_tick(); -} - static void server_do_snap() { int i, k; @@ -464,7 +457,7 @@ static void server_process_client_packet(NETPACKET *packet) input->timeleft = server_tick_start_time(tick)-time_get(); input->pred_tick = tick; - if(tick < server_tick()) + if(tick <= server_tick()) { /* TODO: how should we handle this */ dbg_msg("server", "input got in late for=%d cur=%d", tick, server_tick()); @@ -713,6 +706,8 @@ static int server_run() if(t > server_tick_start_time(current_tick+1)) { + current_tick++; + /* apply new input */ { int c, i; @@ -734,7 +729,7 @@ static int server_run() /* progress game */ { int64 start = time_get(); - server_do_tick(); + mods_tick(); simulationtime += time_get()-start; } |