quakeforge/TODO
Thad Ward 0d6af140b8 correct the date format to match the new format used by the new CVS. the
offset from GMT is also parsed out, but is not currently used. Also, there
is no need to subtract 1900 from the year when passing to timegm(), as it
assumes values over 999 are the actual year.
2004-06-16 07:36:57 +00:00

176 lines
7.4 KiB
Text

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
X server-side demos
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
X 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)
? 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