Commit graph

22767 commits

Author SHA1 Message Date
Léo Lam
db7ee668ff Notify user that USB won't work if libusb init fails 2017-02-07 00:47:21 +01:00
Léo Lam
f5a3aac8e1 IOS: Check if libusb can be used instead of asserting
This prevents panic alerts from showing up three times when starting
Wii emulation whenever libusb could not be initialized. The user has
already seen a warning at startup -- no need to warn them 3 more times.
2017-02-06 22:09:43 +01:00
Matthew Parlane
d244597b42 Merge pull request #4408 from leoetlino/usb
IOS: USB support (OH0, USB_VEN, USB_HID)
2017-02-07 09:17:05 +13:00
Matthew Parlane
2835cfde52 Merge pull request #4836 from lioncash/enum
DSPCore: Convert the DSPCoreState enum into an enum class
2017-02-07 09:14:22 +13:00
Anthony
0c7d9bbb73 Merge pull request #4837 from lioncash/npd
NetWindow: Make chat messages queue private
2017-02-06 10:20:29 -08:00
Lioncash
2597d2b69b NetWindow: Make chat messages queue private
This doesn't need to be publicly accessable.
2017-02-06 13:03:35 -05:00
Mat M
f978765bf0 Merge pull request #4755 from Orphis/cmake_sdl
cmake: Modernize SDL discovery
2017-02-06 11:55:03 -05:00
Lioncash
063e4df5a1 DSPCore: Convert the DSPCoreState enum into an enum class 2017-02-06 11:47:19 -05:00
Mat M
02127e360a Merge pull request #4831 from Orphis/cmake_cleanup
Small CMake fixes
2017-02-06 11:29:05 -05:00
Mat M
e4c17f126c Merge pull request #4835 from ligfx/configurefilescmrev
CMake: use configure_file to generate scmrev.h
2017-02-06 11:14:08 -05:00
Mat M
11d1d227da Merge pull request #4834 from lioncash/enum
Core: Actually make the State enum an enum class
2017-02-06 02:43:35 -05:00
Michael Maltese
acc8dae2b3 CMake: use configure_file to generate scmrev.h
The built-in `configure_file` command correctly handles the case where
none of the variables change and scmrev.h doesn't need to be rebuilt.
This saves a full re-link of Dolphin any time CMake is re-run.
2017-02-05 22:26:49 -08:00
Lioncash
259f827e34 Core: Actually make the State enum an enum class
It helps if I actually make it a strongly typed enum.
2017-02-06 01:13:07 -05:00
Matthew Parlane
b9fc79020d Merge pull request #4817 from sepalani/debug_print_case
Handle another case with HLE_GeneralDebugPrint
2017-02-06 17:40:44 +13:00
Matthew Parlane
abe7081337 Merge pull request #4818 from ligfx/bundleutilities
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-06 17:39:46 +13:00
Matthew Parlane
d022913fb3 Merge pull request #4828 from lioncash/state
Core: Convert State enum into an enum class
2017-02-06 17:38:46 +13:00
Matthew Parlane
3cc4c02c5b Merge pull request #4832 from Orphis/cmake_wx
wx: Move platform defines to wx setup header
2017-02-06 17:37:18 +13:00
Matthew Parlane
516ddc1d0c Merge pull request #4820 from JosJuice/translate-swedish
Translate Swedish in example strings to English
2017-02-06 17:36:41 +13:00
Florent Castelli
a7c4fd9bf0 cmake: Move discovery of SDL to InputCommon 2017-02-06 05:02:45 +01:00
Florent Castelli
5984ca26f3 wx: Move platform defines to wx setup header
Usually, this is passed as a preprocessor definition, but this is error
prone and just complicating the compiler invocation for no good reason.
2017-02-06 04:27:06 +01:00
Florent Castelli
8464480ceb cmake: Remove -nopie, -no-pie should be used instead 2017-02-06 04:25:28 +01:00
Florent Castelli
3dfae32963 cmake: Fix possible redefinition of imported target in FindOpenSLES 2017-02-06 04:25:28 +01:00
Florent Castelli
e211cdd11d cmake: Fix possible redefinition of imported target in FindALSA 2017-02-06 04:25:28 +01:00
Mat M
834ec372cc Merge pull request #4830 from Orphis/cmake_cleanup
Fixes for resource installation in CMake
2017-02-05 14:30:57 -05:00
Florent Castelli
d096b7b378 cmake: Prevent gtest from installing its files 2017-02-05 20:19:30 +01:00
Florent Castelli
5058d07861 cmake: Fix resource installation for Linux 2017-02-05 20:17:11 +01:00
Mat M
1f1a232546 Merge pull request #4629 from JosJuice/es-movie-title-id
Don't call Movie::SetTitleId from ES
2017-02-05 09:26:08 -05:00
Mat M
af33c9714e Merge pull request #4825 from Orphis/cmake_alsa
CMake: Updates to AudioCommon & ALSA discovery
2017-02-05 08:50:34 -05:00
Lioncash
e07383a783 Core: Convert State enum into an enum class 2017-02-05 08:32:23 -05:00
Matthew Parlane
c4d470cbf2 Merge pull request #4827 from Kurausukun/master
Support Setting CPU Overclock via GameINIs
2017-02-06 01:36:05 +13:00
Matthew Parlane
4df22e03ca Merge pull request #4823 from lioncash/tlb
PowerPC: Rename tlb_entry struct to TLBEntry
2017-02-06 00:59:39 +13:00
Kurausukun
2479fe6e53 Support Setting CPU Overclock via GameINIs 2017-02-05 06:16:32 -05:00
Léo Lam
56fec3d72a Switch to the usbdk backend for libusb on Windows
The usbdk backend is the only libusb backend that has official support
for isochronous transfers (which are required for Wii Speak,
microphones and cameras). And it's actively developed and maintained.
2017-02-05 11:36:49 +01:00
Léo Lam
b63b6111b3 IOS: Implement USB_VEN (/dev/usb/ven) 2017-02-05 11:36:49 +01:00
Léo Lam
c9f4889437 IOS: Re-implement USB_HIDv4 (/dev/usb/hid)
This reimplements the USB HID v4 IOS device using the new common
USB code (to reuse more code and allow emulated HIDs to be added
more easily in the future).

The main difference is that HIDs now have to be whitelisted, like
every other USB device for OH0 and VEN.
2017-02-05 11:36:49 +01:00
Léo Lam
ee188a1d5a IOS: Implement OH0 (/dev/usb/oh0) 2017-02-05 11:36:48 +01:00
Léo Lam
c8a6dc6c23 Use a single libusb context
libusb on Windows is limited to only a single context. Trying to open
more than one can cause device enumerations to fail randomly.

libusb is thread-safe and we don't use the manual polling support (with
`poll()`) so this should be safe.
2017-02-05 11:36:48 +01:00
Léo Lam
73e55ccf44 IOS: Add base Host and USB::Device classes
The Host class will be used by the OH0, VEN and HID implementations
as the base class for the IOS HLE device. It handles scanning devices,
detecting device changes and everything that will be needed for OH0,
VEN and HID to be implemented, while mostly abstracting libusb away.

The Device class is for actual USB devices. This commit adds a
LibusbDevice which interacts with a real USB device and enables
USB passthrough.
2017-02-05 11:36:47 +01:00
Léo Lam
b8c651eac4 IOS: Store the active IOS title ID
This allows us to get back the current active IOS version and expose
only devices which exist/can be used in that version.
2017-02-05 11:36:47 +01:00
Léo Lam
e246afb049 IOS: Add UpdateWantDeterminism to devices
This will be useful for the USB devices to disconnect and hide any real
devices when Core::g_want_determinism is true.
2017-02-05 11:36:47 +01:00
Léo Lam
b7cc25535f DolphinWX: Add USB passthrough settings
Allows adding/removing devices from USB passthrough.
2017-02-05 11:36:47 +01:00
Léo Lam
69a13a12e2 Add USB passthrough setting and USBUtils
This adds a USB passthrough setting to ConfigManager and everything
needed for the UI to show and manage the whitelist properly.
2017-02-05 11:36:46 +01:00
JosJuice
e4d20647d4 Merge pull request #4824 from lioncash/coremode
PowerPC: Convert CoreMode enum into an enum class
2017-02-05 08:25:12 +01:00
Florent Castelli
2fceb016b4 cmake: Move ALSA detection to AudioCommon 2017-02-05 02:55:05 +01:00
Florent Castelli
d615c0f868 cmake: Add imported target to FindALSA 2017-02-05 02:55:05 +01:00
Florent Castelli
c3b2039153 cmake: Import FindALSA from upstream CMake 2017-02-05 02:55:04 +01:00
Florent Castelli
9ebfaa9324 AudioCommon: Move logic for default sound backend there from ConfigManager
This way, we don't have to leak the HAVE_ALSA define there.
2017-02-05 02:55:04 +01:00
Florent Castelli
31dfaafe0b AudioCommon: Remove checks against NullSound::isValid()
The NullAudio backend is guaranteed to be compiled in, so no reason
to check it.
In addition to that, if it wasn't valid, it wouldn't work as a fallback
in InitSoundStream as there are uses to g_sound_stream later.
2017-02-05 02:55:04 +01:00
Florent Castelli
ee8a21f1d0 cmake: In AudioCommon, append sources and dependencies to a real target 2017-02-05 02:55:04 +01:00
Florent Castelli
f1ba7832a5 cmake: Reindent AudioCommon 2017-02-05 02:55:04 +01:00