quakeforge/include/QF
Bill Currie b2e92c2864 Rewrite joy_axis and JOY_Move for axis buttons.
First, this completely smashes joystick input: it will not work (though it
doesn't crash). This is because there is, as of yet, no means to configure
the system.

Each joystick axis has:
    - per-axis amplification (both pre and post).
    - per-axis offset (offset applied after pre-amp but before post amp)
    - selectable destination:
        - linear delta: position and angles (as before)
        - axis button: if the value crosses the threshold, the given key is
          pressed or released as appropriate.

The axis amplification still uses joy_amp and joy_pre_amp (and
in_amp/in_pre_amp), but now also has the per-axis settings.

The per-axis offset is most useful for axis buttons. For example, the xbox
360 controller triggers are analong but go "all the way to negative on 0
state". Offsetting the input keeps axis button thresholds simple.

Amplification and offset is applied before anything is done with the axis
value. The formula is:

    joy_amp * in_amp * axis-amp *
        (offset + value * joy_pre_amp * in_pre_amp * axis-pre_amp)

Axis button thresholds are very simple: if the sign of the value is the
same as the sign of the threshold and abs(value) >= abs(threshold), the
button is pressed. While multiple thresholds and keys can be placed on an
axis, only one can be pressed at a time. The threshold furthest from 0
wins.
2013-01-23 13:15:02 +09:00
..
classes Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
GL Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
GLSL Rewrite the 2d code to use a scrap. 2012-07-03 13:38:35 +09:00
math Split up mathlib.h into several smaller headers. 2012-08-19 17:39:09 +09:00
plugin Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
alloc.h Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
bspfile.h First step for BSP2 support. DOES NOT WORK! 2012-09-07 16:09:24 +09:00
cbuf.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
cdaudio.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
checksum.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
clip_hull.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cmd.h Clean up some unused or local functions. 2012-08-18 09:36:43 +09:00
console.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
crc.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
csqc.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cvar.h Clean up some unused or local functions. 2012-08-18 09:36:43 +09:00
draw.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
dstring.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
gib.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
hash.h Make hash tables more const correct. 2012-10-27 11:44:31 +09:00
hl.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
idparse.h so that's the right way to do groups and subgroups... 2006-12-05 11:40:00 +00:00
image.h Load iqm models in the sw renderers. 2012-05-17 21:17:48 +09:00
in_event.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
info.h Make info_t opaque. 2012-06-14 22:46:23 +09:00
input.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
iqm.h Enable loading of iqm models in gl. 2012-05-17 15:55:38 +09:00
joystick.h Rewrite joy_axis and JOY_Move for axis buttons. 2013-01-23 13:15:02 +09:00
keys.h Add keys for joystick axis buttons. 2013-01-23 13:15:02 +09:00
link.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
llist.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
locs.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
Makefile.am Implement the Mersenne Twister PRNG. 2013-01-21 20:05:16 +09:00
mathlib.h Split up mathlib.h into several smaller headers. 2012-08-19 17:39:09 +09:00
mdfour.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
mersenne.h Implement the Mersenne Twister PRNG. 2013-01-21 20:05:16 +09:00
model.h Remove the hard-coded bsp maximum depths. 2012-11-28 21:29:03 +09:00
modelgen.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
msg.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
object.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
pak.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
pakfile.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
pcx.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
plugin.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
png.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
pr_comp.h Use __attribute__((gcc_struct)) on dstatement_t. 2013-01-20 22:13:55 +09:00
pr_debug.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
pr_obj.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
progs.h Remove a stray variable declaration. 2013-01-13 15:10:39 +09:00
qargs.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
qdefs.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
qendian.h Ensure ShortNoSwap is always uint16_t. 2012-12-30 13:29:12 +09:00
qfplist.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
qtypes.h Add support and tests for 3x3 matrices. 2012-08-18 16:29:57 +09:00
quakefs.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
quakeio.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
render.h Remove viddef in favor of vid in the renderers. 2013-01-16 11:23:47 +09:00
riff.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
ruamoko.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
screen.h Mostly "merge" cl_screen.c. 2012-06-15 22:02:17 +09:00
script.h Permit control of single character tokens. 2011-08-11 14:22:27 +09:00
set.h Rename set_iter_t's value to element. 2012-12-21 14:09:00 +09:00
sizebuf.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
skin.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
sound.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
spritegn.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
sys.h Add SYS_MODEL developer flag (8192) 2012-05-17 13:39:45 +09:00
teamplay.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
tga.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
uint32.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
va.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
ver_check.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
vid.h Remove viddef in favor of vid in the renderers. 2013-01-16 11:23:47 +09:00
view.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
vrect.h Fix some doxygen issues. 2012-04-22 22:20:45 +09:00
wad.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
wadfile.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
winding.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
zone.h Add improved memory checking to progs. 2012-11-19 20:03:21 +09:00