Preserve node predictions until server catches up zefram/prediction_preservation
authorZefram <zefram@fysh.org>
Sat, 9 Aug 2014 09:53:57 +0000 (10:53 +0100)
committerZefram <zefram@fysh.org>
Sat, 9 Aug 2014 09:53:57 +0000 (10:53 +0100)
commitde7fde4e17cf6c5501494932767e385ac71c31b9
treed3cd2eeebf0d23d73211b61ce46613527ccaa54f
parent15f3713e2f2f272c8f6b8d59e507c9af8417f26e
Preserve node predictions until server catches up

Apply implicit sequence numbers on actions sent by clients, and use them
for the server to indicate, in a node status update, how up to date it is
in processing the client's actions.  Rather than apply all node updates
blindly, the client now checks whether it has relevant predictions that
are more recent than what the server has used to produce the update,
and keep those predictions applied until the server has caught up.
This avoids lag-induced node glitches.
src/client.cpp
src/client.h
src/clientiface.h
src/clientserver.h
src/game.cpp
src/server.cpp
src/server.h
src/util/ringbuffer.h [new file with mode: 0644]