mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-18 02:31:31 +00:00
174 lines
7.4 KiB
Text
174 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
|
|
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 software PCXs don't work in X11 at least if you're using 16/24/32 color
|
|
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 ogg support
|
|
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 (doable 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
|