mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-17 02:11:35 +00:00
9ffa1f410a
When jackd gets an unhandled xrun, it stops all processing but neglects to tell the client about it. Thus, add a bit of a watchdog function to s_update() and assume the client thread is dead if there's no sign of life after one second. No more hanging on exit.
180 lines
7.5 KiB
Text
180 lines
7.5 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
|
|
X Scitech MGL used in win32 is screwed - dump it and use SDL
|
|
X kill MAX_STATIC_ENTITIES
|
|
X stateful console (eg, rcon mode, chat mode, normal command mode...)
|
|
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 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 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 favorites serverlist manipulation
|
|
o redo serverlist filtering for better flexability and/or easier use
|
|
o add individual server ping/info request from console
|
|
? dynamically allocate missing fields, particularly ones not needed by the
|
|
progs.
|
|
? 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
|