TODO (ok) done (--) postponed milestone 1: console text color and wrapping (ok) entity axis interpolation (usable for now) camera tracking mode (usable for now) camera frustum clip (--) keyboard binds milestone 2: server-client event system, hit-once lightweight entities explosion events weapons fire events filesystem: write a filesystem based on streams write handlers for zip model: support map classes (e.g. func_rotate), requires class VertexData split map loader from model, load vertices into VertexData engine flare key core: connection to remote game (ok) read/write configuration file (ok) split client and server configuration (ok) parse command line options (ok) execute command line options (ok) globe entity (ok) zones execute config files (ok, autoexec.cfg still missing) game module loading/unloading network: UDP datagrams (ok) buffered sends (ok) client connection state (ok) zlib compression (partial) fix lag (usable for now) protocol description chat, channels rcon, commands protocol version in handshake detect and disconnect clients behaving badly client: input handler switching (ok) console chars (ok) keyboard handler, must be able to handle keyboard layouts decent input handling implementation key bindings on-the-fly cl_mousecontrol (toggle function) render: render pipeline (ok) .map models (ok) write RLE tga screenshots (ok) texture registry (ok) add small camera light (ok) text quads render pipe fix lighting without sun sound: engine sounds user interface sounds win32 port: network not functional (ok) texture loading is broken (ok) screenshots are broken (ok) sound is broken directory creation