TODO milestone 1: console text color and wrapping (ok) keyboard binds (ok) fix turning fix camera rotation fix camera frustum clip better crosshair bitmaps milestone 2: targetting system 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: engine flare key (ok) support map classes (e.g. func_rotate), requires class VertexData split map loader from model, load vertices into VertexData 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