o = todo X = done ? = maybe but not likely M = more testing I = in progress W = waiting on other work X fix skybox/dome vis problems (workable solution found, needs new renderer) X It's possible to stick on some obtuse-angled corners qwsv 2.3x didn't X ~/.quakeforgerc should support all commands, not just set and setrom X software PCXs don't work in X11 at least if you're using 16/24/32 color X ogg support M it seems possible to crash a QF server still - need to fix this! M merge nq and qw code bases M mingw cross compiling M Scitech MGL used in win32 is screwed - dump it and use SDL M software targets should mix color at 16/16 or 24/32 color I GL is still way too slow I Client side QuakeC. I menu rewrite I clean up TODO ;) o doublesize modes (eg, render in 320x240 but display in 640x480) o allow qf clients to download .lit files from qf servers. o better server control of certain cvars o triggers (f_respawn, f_death, f_took; cl_triggers) o stateful console (eg, rcon mode, chat mode, normal command mode...) o scripted hud o add a U_PHYSICAL field to entities. it should include a solid bit, a rotated bbox bit, and mins/maxs for the bbos o gui for serverlist o add favorates serverlist manipulation o redo serverlist filtering for better flexability and/or easier use o add individual server ping/info request from console ? more direct intra-team comms (eg, talk to offense or defense directly) ? Draw_Pic and friends need a cleanup in GL at least ? Draw_Pic and other tex draw functions should use local palettes ? improved crosshairs (custom file, 32 bit for GL, etc) ? console commands to see a user, ignore talk from them, etc ? wad loader should load wad3 and fall back to wad2 if necessary ? better control over client console logging ? ban reasons and expire times ? no 512 entities limit (protocol limitation) ? large or infinite (!) maps (currently has +-4096 protocol limit) (not just protocol, but bit precision, too) ? redirection for file downloads ? way to change con back besides changing mod dir (csqc likely) ? server-side demos ? movie-like demo controls (fastforward, rewind, step forward and back, seek, etc) ? delta compression for protocol ? transmit nails as source/direction/speed/time rather than direction/location, to improve delta compression ? custom particle explosions (controlled via csqc) ? server should shutdown cleanly when it recieves SIGTERM and SIGHUP ? client-only commands (rejected if done via a server stuffcmd) ? bring software-mode skybox code in from Quake 2 ? bring some assembly code for the software renderer in from Quake 2. These are explained better in doc/ideas/rhamph.txt: ? portal vis system ? remappable portals ? room duplication ? randomly generated maps ? variable detail models ? skeletal model animations ? Inverse kinematics ? variable detail walls Future directory tree: o todo X done (a parent dir is not done until its children are done:) quakeforge o +--- tools useful/needed tools I | +--- Forge Forge.app map/model/everything editor X | +--- cvs2cl X | +--- gas2masm X | +--- pak massively enhanced pak tool X | \--- qfcc QuakeForge Gamecode Compiler X +--- 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 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 output o +--- filesystem Filesystem code | | (the code for normal fs is also here) o | +--- pakfile Quake Pakfiles o | +--- qfp QuakeForge Package o +--- formats [1] 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 Gamecode o | +--- engine Progs interpreter (core) o | \--- builtins Progs utility builtins o +--- models Generic API o | +--- alias Alias model loader o | +--- brush Brush model loader o | \--- sprite Sprite model loader 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 [1] taniwha feels that formats is wrong and is using models with the following structure: libs models generic api code alias alias model loading code brush brush model loading code sprite sprite model loading code textures texture reading/writing/management code 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