o = todo
X = done
? = maybe but not likely
M = more testing
I = in progress
W = waiting on other work

M  it seems possible to crash a QF server still - need to fix this!
M  Scitech MGL used in win32 is screwed - dump it and use SDL
I  GL is still way too slow
I  Client side QuakeC.
I  mingw cross compiling
I  merge nq and qw code bases
W  fix skybox/dome vis problems (workable solution found, needs new renderer)
o  ogg support
o  It's possible to stick on some obtuse-angled corners qwsv 2.3x didn't
o  better server control of certain cvars
o  triggers (f_respawn, f_death, f_took; cl_triggers)
o  software PCXs don't work in X11 at least if you're using 16/24/32 color
o  stateful console (eg, rcon mode, chat mode, normal command mode...)
o  menu rewrite
o  scripted hud
o  doublesize modes (eg, render in 320x240 but display in 640x480)
?  more direct intra-team comms (eg, talk to offense or defense directly)
?  Draw_Pic and friends need a cleanup in GL at least
?  console commands to see a user, ignore talk from them, etc
?  improved crosshairs (custom file, 32 bit for GL, etc)
?  software targets should mix color at 16/16 or 24/32 color
?  Draw_Pic and other tex draw functions should use local palettes
?  wad loader should load wad3 and fall back to wad2 if necessary
?  better control over client console logging
?  ban reasons and expire times

Future directory tree:
o  todo
X  done (a parent dir is not done until its children are done:)

  quakeforge
o  +--- tools             useful/needed tools
X  |      +--- Forge      Forge.app map/model/everything editor
X  |      +--- cvs2cl
X  |      +--- gas2masm
X  |      +--- pak        massively enhanced pak tool
X  |      \--- qfcc       QuakeForge Gamecode Compiler
o  +--- include           API definitions for all subsystems
o  +--- nq                Non-common NQ code
o  +--- qw                Non-common QW code
o  \--- libs              common code libs
o         +--- audio
o         |       +--- cd
o         |       +--- recording
o         |       +--- renderer           3D audio rendering
o         |       |       +--- soft       Software 3D spatialization
o         |       |       \--- openal     Passing the buck to OpenAL
o         |       \--- targets            Raw sound I/O
o         |               +--- null       No raw output (none or OpenAL)
o         |               +--- alsa       ALSA
o         |               +--- oss        OSS or kernel sound
o         |               +--- dsound     MS DirectSound
o         |               \--- sdl        SDL (gack) output
o         +--- filesystem         Filesystem code
          |       |               (the code for normal fs is also here)
o         |       +--- pakfile    Quake Pakfiles
o         |       +--- qfp        QuakeForge Package
o         +--- formats
o         |       +--- bsp29      Quake BSP read/write
o         |       +--- bsp66      QuakeForge native BSP read/write
o         |       +--- mdl        Quake model read/write
o         |       +--- md2        Quake2 model read/write [would be nice]
o         |       +--- qfm        QuakeForge native model format
o         |       \--- textures   PCX, QFS (multi-skins), TGA
o         +--- gamecode           Progs interpreter (core)
o         |       +--- client     Client bindings
o         |       \--- server     Server bindings
o         +--- network            Network code (like netchan, but sane)
o         |       +--- transport  Low-level protocols (UDP, TCP+UDP, etc.)
o         |       +--- netquake   Quake's wire protocol
o         |       +--- null       Null protocol, for single-player
o         |       \--- quakeworld QuakeWorld's wire protocol
o         +--- system             Platform-dependant system lib
          |       |               (raw IO/filesystem/dlopen code)
o         |       +--- null       Portability aid, a skeleton system lib
o         |       +--- unix       POSIX stuff
o         |       \--- win32      Win32 system lib
X         +--- util               Utility library
          |       contents: Commands, Cvars, Quake-format scripts,
          |       property lists, console parsing/formatting/output, the
          |       heap and zones.
o         +--- video              Video input and output
o         |       +--- renderer           3D video rendering
o         |       |       +--- soft       Software 3D rendering
o         |       |       \--- opengl     Passing the buck to OpenGL
o         |       \--- targets
o         |               +--- null       Portability aid, skeleton
o         |               +--- console    Non-graphical, "readline" input
          |               |               (also needs old-style stuff for
          |               |               dumb-ass systems/terminals)
o         |               +--- sdl
o         |               +--- svgalib
o         |               +--- win32
o         |               \--- x11
o         \--- world              3D layout engine (includes objects)
                                  Talks to the sound and video renderers
                                  to output frames


Decided old menu structure was pointless and nobody cared.
So we don't forget something in the binds menu:

  Attack
  Change weapon
  Jump / Swim up
  Walk forward
  Backpedal
  Turn left
  Turn right
  Run
  Step left
  Step right
  Sidestep
  Look up
  Look down
  Center view
  Mouse look
  Keyboard look
  Swim up
  Swim down