QSG Network Versioning System
=============================

Part II - CLC Versioning

CLC Versioning
--------------
Client messages to the server are a single one-way transaction, hence aren't a
problem as the server knows which version the client runs and therefore only
reads the message data corresponding to the QSG version (e.g. expects no extra
data from old clients).
Hard-coded if-statements on client and server side are sufficient and work well.
The checked QSG version is CCLC (cvar on client, client structure on server).

Example:
Client: if (qsg_cclc_version.value >= n.nn)
Server: if (host_client->qsg_cclc >= n.nn)


Test: Precise Aiming (clc_move)
-------------------------------
Instead of sending three bytes for the angles, the client sends three floats
when he is allowed by the server. This will be implemented from QSG version 1.0
on.
You can check out the difference with QSG_MAX_CLIENT 0.00 and QSG_MAX_CLIENT -1
(don't forgot to reconnect or restart the level).


Known Problems
--------------
none


File Changes
------------
Redone CLC versioning example: precise aiming (search for QSG CLC)

* 2000-05-01:
CL_INPUT.C
  added CLC versioning example for precise aiming in CL_SendMove()
SV_USER.C
  added CLC versioning example for precise aiming in SV_ReadClientMove()
