- The free/restricted axis distinction is gone; the joystick always
operates in "free" mode.
- Added direction snapping functionality to help aid exact movement in
cardinal and/or diagonal directions. The snapping angle can be
adjusted from 0% (disabled) to 100% (similar to the old "restricted"
mode). The snapping angle can also be biased towards cardinals or
diagonals.
- When the maximum zone is less than or equals dead zone, moving
the character will always move at maximum speed (as in the old
"restricted" mode).
- Most of these settings are now visualized in the options menu and can
be tested there.
* Use correctly scaled radial deadzones instead of naive per-axis
deadzones
* Option to adjust the "maximum zone" (upper deadzone)
* Option to remap square input into circular. Unfortunately there's no
nice way to detect which type the controller reports. We assume
circular by default.
* A more sensible sensitivity setting
* Use a larger minimum deadzone when emulating key presses (e.g. in
menus)
* Adjusted key repeat to be less aggressive
This also introduces `float32`, `float64`, and `real` typedefs to be
used in place of `float` and `double` later. `real` is for game code and
other places where we don't particularly care about the precision and
format of the underlying type, and is currently defined to `double`.
`float32` and `float64` should replace `float` and `double` respectively
* Initial port
* Switch specific video modes
* Handle clean exit
* Hide option to disable gamepads, force it enabled
* Match buttons layout with Switch controllers
* Hide player name setting (to avoid getting stuck)
* Switch specific VFS setup instead of env bootstrap
* Clean up, get rid of warnings and a few ifdefs
* Add Switch specific build script and assets
* Make vfs setup mount packages
* Re-enable packaging on Switch
* Transpile shaders to es and install them
* Add applet warning and shader deps to README
* Remove script; instead using meson build scripts
* Strict prototypes
* Build script compat with project minimum meson ver
Refactor of pack.py exclude option
* Uniformise header inclusion on arch_switch.c
* Allow input for any dev; hide the option on Switch
* Silence unsused function warnings
I would've preferred to just go with 4-spaces for indent and no tabs,
but lao is a bit conservative about it. :^)
Still, this is a ton better than mixing different styles all over the
place, especially within the same file.
GUIDs are now used to identify devices. this allows reliable persistent
configuration on multi-gamepad systems.
changed the way the device listing in the options menu works. it's
inactive when the gamepad system is disabled, and dynamically updated
when it's enabled. as a result, the "bare" init state is now finally
gone. this should work with minimal or no changes when the hotplugging
events are properly handled.
the "enable gamepad support" toggle is now effective immediately. the
gamepad system is no longer restarted every time the user leaves the
gamepad menu, unless they have changed the device.
still WIP, but it's better than it was
todo (maybe):
- handle hotplugging
- enable gamepad support by default
- treat analog triggers as buttons
- better way of saving which device to use to the config, the index
is virtually useless