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.
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?.
- Initial Source Code release as of Q2 v3.05
- Point Source Code release as of Q2 3.14 (Linux 3.14a)
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
- "means of death" (MOD_) defines in
damage handling and fire functions,
- female vs. male player have less special
handling now (model, sexed sounds)
- damage values changed for DM vs. Coop.
- no monster pain animation in nightmare mode
- a lot of special handling to compensate
sv_ ServerCommand function
imported, new module
- dropping, timing for weapons/quad/powerups
- FOV flags and handling, FOV effects
- using PHS instead of PVS (bug)
- misc. bug fixes and typos, obsolete header removed
- reworked friendly fire handling
- reworked inventory handling
- reworked body queue
- reworked help, scoreboard
- cooperative mode, exits etc.
- inline assembly BoxOnPlaneSide
- teleport splashs and other EV/EF/TE
- new and removed c_vars
- changed autosave handling
- changed spawn spot handling
- validate info strings
- IP banning and passwords
- missing PMF flags added,
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.