Commit graph

65 commits

Author SHA1 Message Date
Danila Malyutin
7f0de0f204 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
Alexandre Bouvier
e9ec2e4cf0 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
Narr the Reg
91f98f57b3 input_common: Implement joycon ir camera 2023-01-19 18:05:22 -06:00
german77
b40c5ba2c3 input_common: Implement joycon nfc 2023-01-19 18:05:21 -06:00
Narr the Reg
4d68a82563 input_common: Add support for joycon ring controller 2023-01-19 18:05:21 -06:00
Narr the Reg
046e95be06 input_common: Add support for joycon input reports 2023-01-19 18:05:21 -06:00
Narr the Reg
f7164f77d6 input_common: Use calibration from joycon 2023-01-19 18:05:21 -06:00
Narr the Reg
d2f5eae036 input_common: Add support for joycon generic functions 2023-01-19 18:05:21 -06:00
Narr the Reg
147faa16ef input_common: Add joycon low level functions 2023-01-19 18:05:21 -06:00
Narr the Reg
0e41ae9595 input_common: Initial skeleton for custom joycon driver 2023-01-19 18:05:20 -06:00
Liam
41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
german77
3cc666b845 input_common: Add virtual gamepad 2022-12-16 18:26:11 -06:00
liamwhite
ec6bca7a6f Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
Alexandre Bouvier
87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
Alexandre Bouvier
75f9183846 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
liamwhite
c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
ameerj
bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
lat9nq
868c5ca1cb CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
Morph
dc61af8eb1 CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
Morph
ea5b59b539 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
Morph
9fba74d245 general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
Morph
4bad20dc5f CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
german77
56b1301938 input_common: Create virtual amiibo driver 2022-10-02 12:32:26 -05:00
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
german77
76b18ad549 input_common: Add camera driver 2022-07-23 19:38:42 -05:00
Morph
e647661b76 CMakeLists: Make variable shadowing a compile-time error
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-13 18:19:23 -04:00
german77
4fc8607f61 input_common: Remove obsolete files 2021-11-24 20:30:23 -06:00
german77
9a108578ed input_common: Rewrite SDL 2021-11-24 20:30:23 -06:00
german77
13413c2290 input_common: Rewrite udp client 2021-11-24 20:30:22 -06:00
german77
ec744b3b04 input_common: Rewrite tas input 2021-11-24 20:30:22 -06:00
german77
78a8ed6290 input_common: Rewrite gc_adapter 2021-11-24 20:30:22 -06:00
german77
86a57fb096 input_common: Rewrite touch 2021-11-24 20:30:22 -06:00
german77
280342cd0a input_common: Rewrite mouse 2021-11-24 20:30:22 -06:00
german77
00d3c058c5 input_common: Rewrite keyboard 2021-11-24 20:30:22 -06:00
german77
1d0e9b62da input_common: Move touch and analog from button. Move udp protocol 2021-11-24 20:30:22 -06:00
german77
783c01771a input_common: Create input poller and mapping 2021-11-24 20:30:22 -06:00
MonsterDruide1
31068a63a9 input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
2021-09-18 23:22:00 +02:00
Morph
64f22684d4 CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
Morph
b6c7707fe9 input_common: Enforce C4242 2021-06-28 14:20:25 -04:00
lat9nq
21d81ee941 cmake: General improvements to libusb linking
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
2021-06-03 03:49:35 -04:00
lat9nq
c8a26a2cbf cmake: Use SDL 2.0.14 and fix CMake scope issue
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds
a message when switching to the external.

Fixes an error where input_common only links to SDL when SDL2_FOUND is
set, but externals/CMakeLists cannot set that variable to the required
scope. Switch to using ENABLE_SDL2, which we can use since we now
include the SDL source.
2021-04-17 23:42:57 -04:00
bunnei
7a76bc30fa common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
bunnei
0c0c14ca1e Merge pull request #4939 from german77/MouseInput
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
german
56a8fee35a Implement full mouse support 2020-11-25 23:59:30 -06:00
Jan Beich
805312e278 input_common: ignore some Clang warnings after c8aec32f12
error: unknown warning option '-Werror=unused-but-set-parameter'; did you mean '-Werror=unused-parameter'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Werror=unused-but-set-variable'; did you mean '-Werror=unused-const-variable'? [-Werror,-Wunknown-warning-option]
2020-11-25 23:57:11 +00:00
Lioncash
c8aec32f12 input_common: Treat warnings as errors
Migrates over warnings as errors for input common to match how the
common library treats warnings as errors.
2020-11-22 04:50:03 -05:00
Lioncash
d44d662529 input_common/CMakeLists: Make some warnings errors
Makes the input_common code warnings consistent with the rest of the
codebase.
2020-10-15 19:37:51 -04:00
german
ef4f095aae Add random motion input to keyboard 2020-09-25 17:59:52 -05:00
bunnei
60e59d1d0c Merge pull request #4570 from german77/motionInput
input_common: Add a basic class for motion devices
2020-09-02 11:09:18 -04:00
FearlessTobi
2903f0f7ce yuzu: Add motion and touch configuration 2020-08-29 18:56:34 +02:00