TODO for QuakeForge
-------------------

This file contains a (very incomplete) list of things we are doing and
considering doing in the QuakeForge project.  If you'd like to make
additions or corrections to this list, pleas send an email with details to
quake-devel@lists.sourceforge.net.  Thanks!

This file is divided into several generally broad categories, plus a group
for unsorted ideas.  New ideas will probably go into unsorted until we
determine the factors involved with implementation and move them.  Each
idea has a status flag and may also have a list of people currently
working on it and an estimate as to when it'll be done.  An explanation of
the flags:

        *  Being implemented now
	+  We know how we'll implement it, but it hasn't been started yet
	-  We don't yet know how we'll implement it, but we'll probably
	     do it at some point if we can
	?  Don't know if we'll do it, how we'll do it, or exactly what'd
	     be involed with doing it yet.
	0  This cannot be done (you won't see many of these)


PLEASE NOTE:  Because the merge is still in progress, we haven't even
              looked yet at how we'll do a number of these things yet.
	      That doesn't mean we don't want to or can't implement them,
	      but rather that we're too busy working on the internal
	      framework necessary to support most of these nifty features
	      later on.  The merge is our release goal for 0.2 and we are
	      convinced it can be finished before then.


Major projects:

* (0.2)    Merge Quake/QuakeWorld (essentially done)
+ (0.3?)   Make one QF bin w/ many shared libs
+          Integration of Aftershock
?          Redesign the entire network protocol to be more extensible and
             better able to combat cheating/exploits


Platform support:

* (0.2)    X11 DGA support
+          tty target
* (0.2?)   Run-time video mode switching for most targets
+ (0.2)    Seperate pak game and config directory support
+ (0.2)    Global config file [knghtbrd]
+ (0.2?)   Automake support
+ (0.3?)   Revamp the entire menu subsystem
+          Return of the unix dedicated uquake server
+          Add more platform support
-          Audio support for more platforms
-          Support for XInput
-          C replacements for Linux SVGALib target's asm
-          Amiga support
-          MacOS support


Game engine:

* (0.2)    zip-packed game files (pak3 and similar) [raptor]
* (0.3?)   Add a volumetric fog engine [raptor]
+          Allow server admin to adjust air control (ie. in low gravity)
-          Add a wind engine
-          Add a terrain engine
-          Real skies (using wind/fog engines)
-          Remove many arbitrary limits by using dynamic memory
-          Add support for compiled shared library game modifications
-          qstat-type support directly in the game
?          Add a more modern portal engine
?          Dead-reckoning for some/all entities
?          Multithreading support


Other engines:

+ (0.2?)   Real mouse wheel support
- (0.3?)   Make the damned brightness slider in GL renderers useful
+          More generalized sound/music APIs [mercury, knghtbrd]
-          Support overriding the 8x8 console font with one of any size
-          Add replacement for OpenGL multi-pass texturing extension
-          Unreal-style camera rooms
-          Working fullbright in GL targets
-          Packet compression ala Qizmo
-          Serial support for *nix
+          Make "map" cmd give map info when called w/ no args


Gameplay-altering mods:

+          Implement a "feign death" action
+          Implement climbable objects (ladders, vines)
+          Allow support for fire (ie torches) to burn
-          Lasting effects of ammunition (bulletholes, scorch marks)
-          Implement breakable objects such as glass
-          Flowing water that can be spilled out 
-          Implement possibility for projectiles to enter slipgates

(some of these may end up not requiring mods to the QuakeForge code)


General unsorted ideas:

          (none at this time)

