quakeforge/libs
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
..
audio Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
client Make nq and qw use the new entity state struct. 2012-07-05 09:39:16 +09:00
console Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
gamecode Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
gib Include stdint.h in regex.c 2013-01-22 21:02:50 +09:00
image Use pkg-config for zlib. 2012-08-18 21:41:33 +09:00
models Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
net Fix some 64-bit mingw compile issues. 2013-01-22 21:02:49 +09:00
qw Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
ruamoko Handle alloca "correctly". 2013-01-22 21:02:50 +09:00
util Make fs_userpath default to ~/quakeforge on windows. 2013-01-23 11:10:19 +09:00
video Rewrite joy_axis and JOY_Move for axis buttons. 2013-01-23 13:15:02 +09:00
Makefile.am Avoid building unneeded libs. 2012-08-20 14:12:20 +09:00