Debian Quake/Quake II mini-policy, version 2
============================================

Configuration files
-------------------

Quake engines add many configuration options, and their savegames aren't
necessarily compatible, so they should not share a dot-directory. Use a
different dot-directory per engine (the engines initially packaged for Debian,
QuakeSpasm and DarkPlaces, use ~/.quakespasm and ~/.darkplaces).

Alternatives
------------

quake-engine is any Quake engine that, when run with -basedir DIR
and optionally -hipnotic or -rogue (where DIR contains at least id1/pak0.pak),
acts as a Quake client.

quake-engine-server is any Quake engine that, when run with the command-line
option -dedicated and the options above, acts as a Quake server. (By this
definition, almost every quake-engine could also be a quake-engine-server, but
engines where there is a separate server build with reduced dependencies
do not need to register their client as a potential server.)

quake2-engine is any Quake II engine that, when run with +set basedir DIR,
acts as a Quake II client.

quake2-engine-server is any Quake II engine that, when run with the
command-line options "+set dedicated 1" in addition to the options above,
acts as a Quake II server.

Neither quake-engine nor quake-engine-server is really meant to be run
directly, so the alternatives go in /usr/lib/quake:

update-alternatives --quiet --install /usr/lib/quake/quake-engine \
    quake-engine /usr/bin/MYENGINE 0
update-alternatives --quiet --install /usr/lib/quake/quake-engine-server \
    quake-engine-server /usr/bin/MYSERVER 0

Every implementation of the alternatives should register with priority 0,
and the prerm maintainer script should not remove the alternative when invoked
with $1 = "upgrade", so that the first engine that the user installs is
considered "best" by update-alternatives, and installing another engine
never causes the user to "lose" their configuration and savegames.

Virtual packages
----------------

Packages providing quake-engine must implement the quake-engine alternative,
and so on.

Non-Quake games
---------------

Games that use the Quake engine (like Nexuiz or OpenQuartz) should only depend
on quake-engine or quake-engine-server, or use the corresponding alternatives,
if they would run acceptably well on an unmodified id Quake engine with no
community patches or extra features (so no JPEG textures, for instance).

(For instance, Nexuiz relies on features from DarkPlaces, which is its
"official" engine, so it should depend on darkplaces directly and not rely
on quake-engine.)

Changes
-------

* version 2: added Quake II alternatives and virtual packages
