Age | Commit message (Collapse) | Author |
|
This control seemed redundant, as we have the control below it that
selects the gamepad to use. So remove it and set the usejoystick
variable automatically based on whether joystick_index has been
configured to point to a valid device.
|
|
When applying defaults for a particular gamepad, we must clear all
the current buttons, and the jump binding wasn't on this list for
some reason.
|
|
This reverts my last change. I was testing with the Gravis Gamepad and
had the switch for left-handed mode turned on and didn't realise
(embarrassing!)
|
|
Directions were backwards for both X and Y axes when testing with an
original Gravis Gamepad.
|
|
|
|
setup: add support for the Xbox One controller on Linux
|
|
The identified name/signature for this adapter is different under OS X.
Also fix a mistake in the last commit.
|
|
|
|
This configuration supports the "Super Joy Box 7" USB gameport adapter,
for people using old PC gameport joysticks / gamepads. The button
configuration matches the original Vanilla configuration, for
authenticity.
|
|
|
|
The wiki now has documentation pages for most of the windows in the
setup tool. Add help URLs that link to these.
One other minor change here is that the warp button on the main menu
had to change to F2 instead of F1, which is now the help key.
|
|
Effectively it's a slightly re-arranged Xbox 360 controller, no major
changes, so we can just use the same config as that one.
|
|
The config file API previously relied on binding config variables
using M_BindVariable() which took a void pointer. It occurred to me
that if used on a boolean variable, this would be erroneous, but the
void pointer would make it impossible to tell. Split this into
separate M_Bind{Foo}Variable() functions based on type, which allows
for proper type checking on the pointers that are passed.
Vaguely related to #509.
|
|
Thanks to Matt Davis (3nT) for providing a detailed report for this
gamepad.
|
|
The Buffalo Classic USB Gamepad is a USB gamepad that resembles the
classic SNES controller. Thansk to Fabian Greffrath for sending in
the report.
|
|
Thanks to "Absolute Zero" for the report with the gamepad settings.
|
|
The XBOX One controller apparently appears identical to the Xbox
360 controller. Thanks Brad Harding.
|
|
The Xbox360 controller is handled differently by different
operating systems, and the layout is different on Linux to Windows.
Detect the Linux layout and set some appropriate defaults.
|
|
Only init the joystick subsystem when we need to call the joystick
API functions, and quit the subsystem when we are finished. This avoids
conflicts with the joystick widgets that quit the subsystem while the
main code relies on it running.
This fixes a bug where trying to calibrate the joystick twice would
fail on the second attempt.
|
|
Move code for configuring joystick axes into a separate widget, and
add axis widgets to the configuration window for all possible movement.
|
|
Recognise the Xbox360 controller and Logitech Dual Action controllers
and set defaults as appropriate. Thanks to Brad Harding for the
information about these controllers.
|
|
This change rewrites and simplifies the copyright headers at the top
of all source files:
* Remove "Emacs style mode select" line; this line was included in
the headers for the originally released source files and appears
to be to set the file type for old versions of Emacs. I'm not sure
entirely why it was required but I don't think it is any more.
* Remove "You should have received a copy of..." text from copyright
header. This refers to the old 59 Temple Place address where the
FSF headquarters used to be located and is no longer correct.
Rather than change to the new address, just remove the paragraph
as it is superfluous anyway. This fixes #311.
* Remove ---- separator lines so that the file headers are barer
and more simplified.
|
|
The Wii remote is not a HID device, meaning it cannot be supported in
a proper cross-platform way. However, it can be supported for
individual platforms. Add a fingerprint and configuration for a Wii
remote under OS X using the WJoy tool.
|
|
When setting a joystick button binding to -1 to disable it, set it
directly; do not go through to the physical button mapping layer.
Also add a quick note to encourage users to send in details of their
gamepads.
|
|
Detect certain gamepads by name and automatically configure defaults
for buttons and axes, to minimize setup time. Supported so far are
the PS3 controller and AIRFLO gamepad.
|
|
|
|
If the user has just successfully calibrated the joystick, then
turn on use_joystick as a convenience feature.
|
|
The code is already in place for this but there was no control in
the setup tool to configure it.
|
|
Refactor how joystick buttons are reassigned. Define a fixed
mapping from joyb* variables to virtual buttons, and change the
button assignments at the virtual->physical mapping level.
|
|
The solution to solving #386 is to add a layer of indirection: the
game code can only support up to ~20 joystick buttons, but this
doesn't matter as long as we never want to bind more than 20 buttons
to actions anyway. Redefine the game's notion of buttons to be based
on "virtual" joystick buttons, and map these buttons to physical
(SDL) buttons based on configuration file variables.
|
|
In some cases a joystick axis can be "stuck" and have a large
uncentered value. These must be detected and ignored, otherwise the
axis can be chosen during calibration instead of the user's actual
desired axis.
|
|
As a second fallback, if all joysticks are centered and no buttons
are pressed, look at the hats on the joystick to see if one of those
is uncentered. Bizarre as it seems, some gamepads actually present the
D-pad as a hat.
|
|
Detect when we need to configure a "button axis" by falling back to
buttons when none of the joystick axes are significantly outside of
the centered range. Add extra calibration stages to get the D-pad
buttons for right and down in these cases.
|
|
Vanilla Doom's setup.exe only made reference to "joysticks" as back
then gamepads were relatively uncommon for PCs and ports for game
controllers canonically known as "joystick ports". Nowadays it's far
more likely (and ergonomic) that the player will be using a gamepad
than a joystick. Change the labelling to refer to "Gamepad/Joystick"
or "controller" instead.
|
|
When using a joystick or gamepad it's nice to be able to bring up the
menu without having to reach for the keyboard. This makes modern
gamepads more useful/usable.
|
|
Modern gamepads typically have 2-3 D-pads and joysticks. This means
that it's desirable to be able to use one joystick for turning and
another for strafing. Add another axis in addition to the current X
and y axes that performs strafe movement.
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2388
|
|
Subversion-branch: /branches/strife-branch
Subversion-revision: 2367
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 2347
|
|
variables are bound for Strife. Add option for show_talk to sound
configuration screen.
Subversion-branch: /branches/strife-branch
Subversion-revision: 2296
|
|
several days ago.
Subversion-branch: /branches/raven-branch
Subversion-revision: 2212
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1987
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1737
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1411
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1390
|
|
keyboard/mouse/joystick variables. Make other configuration file
variables static and add bind functions.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1387
|
|
code. Split out I_Endoom to separate i_endoom.c file.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1384
|