Next Previous Contents

5. The Quake 2 Game DLL

The game library is used by the server process to run the simulation (authorative). The server notifies the client of important events - primarly collision detection, and collision handling related (movement clipping). User input is also executed on the server?

The server transmits full state data only 10 times per second. It also transmits smaller updates of important state information (movement) at a higher rate. In addition, the client does movement prediction which extrapolates Last Known Good till the next update arrives, to compensate lag and latency.

Certain effects that have no significance for events, like generation and animation of particles, are generated and controlled by the client exclusively once the event notification is arrived.

5.1 Releases and versions

There were two source release:

The second release was the first ever source release by id Software with a license.txt file and an installer. ???Filenames and dates, checksums?.

Notes: the point release was OS-dependend (Win32 project files not in Lnux release, Linux Makefile not in Win32 release).

Changes from v3.05 to v3.14

The initial recursive diff is about a 100K. I made a short summary of 30K in a very raw form. The most important differences seem to be:

Downward/upward compatibility is not really practical, as several functions have additional or changed parameter lists now. For this reason, a list of new functions is not worth the trouble, too.

Using special spawn filter function to fix map specific bugs is a rather strange approach to a problem that could be fixed with patches. Map patches have been done for DOOM already.

Next Previous Contents