~random-stuff/random-stuff/+git/visualboyadvance-m:mac-arm64-cross-wip

Last commit made on 2022-08-06
Get this branch:
git clone -b mac-arm64-cross-wip https://git.launchpad.net/~random-stuff/random-stuff/+git/visualboyadvance-m

Branch merges

Branch information

Name:
mac-arm64-cross-wip
Repository:
lp:~random-stuff/random-stuff/+git/visualboyadvance-m

Recent commits

2a1a7d0... by Rafael Kitover

WIP

Signed-off-by: Rafael Kitover <email address hidden>

fb99a07... by noabody <email address hidden>

error typedef Status fix for #904

51473a7... by Fabrice de Gans <email address hidden>

Refactor game controls bindings

This introduces abstractions for a game key (`wxGameKey`), a game
control (`wxGameControl`) and a common global handler for in-game
user input processing (`wxGameControlState`).
User configuration is changed from a vector to a map of `wxGameControl`
to a set of `wxUserInput`, which simplifies input configuration updates.

User input processing for in-game controls is now unified between
keyboard and joypad input, and is much faster in general since access
to game control state is now always logarithmic rather than linear.
This comes at the expense of slightly slower user input configuration
updates. However, in the worst case scenario, this is still done in
O(log(n)).

This removes all uses of `wxJoyKeyBinding`. However, some uses of the
key, mod, joy triplets remain and will be cleaned up in follow-up PRs.

Issue: #745

3f2d3c1... by Fabrice de Gans <email address hidden>

Remove manual joystick polling

Previously, a manual polling of every joystick was performed every 25ms,
resulting in many CPU resources being wasted. This seems to have been
put in place to deal with issues in SDL where joysticks connected after
SDL was initialized did not fire SDL events properly. From manual
testing, this issue seems to have been fixed.

This also fixes a bug in handling of legacy joystick hats, where an
incorrect conversion for the event value was performed.

Finally, this fixes minor typoes and renames
`wxSDLJoyState::ProcessEvent()` to `wxSDLJoyState::ProcessSDLEvent()` to
suppress a warning about a method override.

1cfe275... by Rafael Kitover

doc: add Discord/IRC links to README.md

Signed-off-by: Rafael Kitover <email address hidden>

4aebd0b... by Fabrice de Gans <email address hidden>

Introduce wxUserInput class

This introduces a new abstraction for any user input. The long-term goal
is to replace every usage of "custom" {key, mod, joy} triplets in the
code base with this new class.

This class implements comparison operators, allowing for faster access
in a set or as a key in a map, compared to the vectors currently used.

Issue: #745

d7abc27... by "Colton G. Rushton" <email address hidden>

doc: remove travis and appveyor from README.md

We are using GitHub actions now.

Signed-off-by: Rafael Kitover <email address hidden>

76bf554... by Deen O'Connor <email address hidden>

installdeps: use correct package name for libsdl2

The actual package name for libsdl2 is libsdl2-2.0-0 not libsdl2-2.0 in
Debian/Ubuntu and probably others, and this only worked by accident
due to apt doing a regex search for packages.

Get the correct package for the latest version of libsdl2 from
apt-cache.

Also fix the other lib package searches via apt-cache to return the
latest version.

Resolve #882.

Signed-off-by: Rafael Kitover <email address hidden>

f132e15... by Fabrice de Gans-Riberi <email address hidden>

Abstract player_index into wxJoystick

* Add wxJoystick to abstract what was previously referred to as
  |player_index|. This is a first step towards a larger refactor of
  input handling.
* Remove "SDL" from types that are not directly SDL-related, namely
  "wxSDLJoyEvent", "wxSDLControl".
* Rename "wxSDLJoy" into "wxJoyPoller". This clarifies the use of this
  class.

Issue: #745

37dc95b... by Rafael Kitover

translations: transifex pull

Signed-off-by: Rafael Kitover <email address hidden>