TODO milestone 1: fix turning fix camera rotation fix camera frustum clip fix cl_prediction milestone 2: targetting system server-client event system, hit-once lightweight entities explosion events weapon fire events zones milestone 3: gui filesystem: write a filesystem based on streams write handlers for zip fs_homedir, to define the writeable directory fs_datadir, readonly package datadir fs_base, fs_mod, fs_game, to be used by modules model: engine flare key (ok) split map loader from model (ok) load vertices into VertexData support map classes (e.g. func_rotate), requires class VertexData rework textures/shaders on .map load, convert 'common/entity' to a flag rename 'entity' to 'primairy' add 'common/primairy_dark', ''common/secondairy', 'common/secondairy_dark' and convert to flags sort triangles by flags render by flag use quads array and quad flag? 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) refactor 'say', it should not be a game function (ok) execute config files (ok) zones (breaks network proto) game module loading/unloading (breaks network proto, server must send module type) support entity secondairy color (breaks network proto) toggle func to toggle a bool cvar network: UDP datagrams (ok) buffered sends (ok) client connection state (ok) zlib compression (partial) protocol version in handshake (ok) rcon framework (ok) protocol description (incomplete) private chat zone/system chat (requires zones) group/clan chat (requires groups) rcon authentication, rcon command, servers must be able to disable rcon fix lag/client prediction detect and disconnect clients behaving badly client: console chars (ok) console text color and wrapping (ok) input handler switching (ok) key binds (ok) better crosshair bitmaps (ok) modifier key binds keyboard repeat render: render pipeline (ok) .map models (ok) write RLE tga screenshots (ok) texture registry (ok) add small camera light (ok) text quads render pipe? (see model quads) test/fix? lighting without sun in world.ini sun light strenght gui: a gui library with widgets and buttons convert console and chat to gui sound: engine sounds (ok) user interface sounds (ok) enitity/event positional sounds game: implement player credits entity health/shield/armor gui concept artwork win32 port: network not functional (ok) texture loading is broken (ok) screenshots are broken (ok) sound is broken (ok) directory creation