improved demo recording

The demo data is collected, hashed and compressed fully in memory, mostly
in a worker thread.

While in memory, each demo is identified by an unique sequence number,
which is, for example, used to request a download by the client.

If so configured, the demo is written to file by the worker thread.

If F10 is pressed later than two minutes into the next game, instead of
downloading the last game, the current game is scheduled to be
automatically downloaded when it ends.

At the end of a game, all clients and the server sign the demo file.
This commit is contained in:
ac-stef
2017-06-27 15:15:24 +02:00
parent 2f80c5bae5
commit 7fe7e47317
7 changed files with 456 additions and 236 deletions
+1 -1
View File
@@ -551,7 +551,7 @@ static const int msgsizes[] = // size inclusive message token, 0 f
SV_SWITCHNAME, 0, SV_SWITCHSKIN, 0, SV_SWITCHTEAM, 0,
SV_CLIENT, 0,
SV_EXTENSION, 0,
SV_MAPIDENT, 3, SV_HUDEXTRAS, 2, SV_POINTS, 0,
SV_MAPIDENT, 3, SV_HUDEXTRAS, 2, SV_POINTS, 0, SV_DEMOCHECKSUM, 0, SV_DEMOSIGNATURE, 0,
-1
};