Florent Castelli
cbb7e4072a
cmake: Move AO detection to AudioCommon
2017-02-07 03:42:43 +01:00
Léo Lam
b6d526ba2e
IOS: Do not init libusb unless passthrough is enabled
2017-02-07 00:47:21 +01:00
Léo Lam
6a0bf24e0b
Move libusb context initialization to on first use
...
This prevents libusb warnings from showing up even when the user is
not using Bluetooth or USB passthrough, or the Wii U GC adapter.
2017-02-07 00:47:21 +01:00
Léo Lam
db7ee668ff
Notify user that USB won't work if libusb init fails
2017-02-07 00:47:21 +01:00
Lioncash
c41f587c29
Frame: Hide functions that don't need to be exposed
...
Any functions left exposed are used elsewhere through the main_window
global. May as well prevent any more functions from being used in that
manner where possible.
2017-02-06 18:29:26 -05:00
Lioncash
ead076d335
NetWindow: Get rid of direct use of the main_window global
...
Utilizes the event system (which is what should have been done here
initially), in order to prevent coupling between two different window frames.
This also makes booting games more versatile using the UI event system,
as the event can just act as a carrier for the filename, making directly
calling boot functions unnecessary. All that's needed is for the event to
propagate to the frame.
2017-02-06 18:29:20 -05:00
Michael Maltese
1fd1620e4e
CMake: add CMAKE_CONFIGURE_DEPENDS on Data/Sys
...
Since files from Data/Sys are collected and added to a built macOS .app
bundle using GLOB, any new files won't get picked up until the next time
CMake is run. Tell CMake it should re-run itself every time the directory
is touched.
2017-02-06 13:55:35 -08: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
Markus Wick
eb3c172b95
Merge pull request #4618 from Helios747/bounding_box_check
...
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-06 21:58:19 +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
e4c17f126c
Merge pull request #4835 from ligfx/configurefilescmrev
...
CMake: use configure_file to generate scmrev.h
2017-02-06 11:14:08 -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
Chris Burgener
5224771dac
Copy Wii save for current game for Netplay and TAS
2017-02-05 13:17:05 -05: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
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
Lioncash
f7b9db9846
PowerPC: Convert CoreMode enum into an enum class
...
Prevents constants from polluting the namespace.
2017-02-04 19:34:56 -05:00
Lioncash
4b091f5872
MMU: Use references to TLBEntry instances instead of pointers
...
Same behavior, less verbosity.
2017-02-04 19:03:22 -05:00
Lioncash
52b45a3933
PowerPC: Rename tlb_entry struct to TLBEntry
...
Makes it consistent with our naming style.
2017-02-04 18:58:45 -05:00
JosJuice
bc2b9f4c3c
Translate Swedish in example strings to English
2017-02-04 22:51:01 +01:00
Helios747
4c22e6387d
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-04 10:08:52 -08:00
Markus Wick
3be364073d
Merge pull request #4713 from JosJuice/core-init-gameini
...
Don't load game INIs in Core::Init
2017-02-04 08:32:03 +01:00
Markus Wick
2ad62bf5df
Merge pull request #4777 from lioncash/dspstack
...
DSPCore: Convert DSP stack register enum into an enum class
2017-02-04 08:27:11 +01:00
Markus Wick
72d887cb20
Merge pull request #4816 from lioncash/pair
...
FramebufferManagerBase: Return a std::pair from GetTargetSize
2017-02-04 08:21:52 +01:00
Michael Maltese
38816bf51d
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-03 22:27:19 -08:00
Florent Castelli
fb02a321b6
cmake: Move OpenSLES detection to AudioCommon through find_package()
2017-02-04 03:38:11 +01:00
Sepalani
e280f5615a
Handle another case with HLE_GeneralDebugPrint
2017-02-03 23:30:37 +00:00
Matthew Parlane
529dc6aa53
Merge pull request #4811 from lioncash/memcardmanager
...
MemcardManager: Minor changes
2017-02-04 10:09:01 +13:00
Matthew Parlane
e2b0197ff6
Merge pull request #4807 from leoetlino/ios-version-for-wads
...
Remove unneeded write to 0x3140/0x3188 for WADs
2017-02-04 10:08:29 +13:00
JosJuice
edcf6819e2
Don't load game INIs in Core::Init
...
The game INIs are already loaded in BootManager::BootCore,
which is executed right before. Let's put the g_aspect_wide
code there instead.
2017-02-03 21:56:45 +01:00
JosJuice
c847a5258f
BootManager: Use local SConfig reference when possible
2017-02-03 21:55:02 +01:00
Matthew Parlane
87c73cbeb3
Merge pull request #4812 from lioncash/define
...
PowerPC: Move page #define constants to MMU.cpp
2017-02-04 09:49:48 +13:00
Lioncash
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
JosJuice
e572fb102f
Move ES_DIVerify's Movie-related code to a more logical place
2017-02-03 19:53:35 +01:00
JosJuice
6aa41ebc55
Movie: Put Wii s_bClearSave handling in a more logical place
2017-02-03 19:53:23 +01:00
JosJuice
88e0a5e418
Don't call Movie::SetTitleId from ES
...
Movie basically just wants to get the title ID of
the initally booted game, so let's set the title ID in
ConfigManager at boot like we do with the regular game ID.
Aside from being cleaner, this should make the approach to
title IDs compatible with booting non-disc software (WADs).
2017-02-03 19:52:25 +01:00
Michael Maltese
fa9881f0d2
CMake: actually call deploy-mac.py, don't just echo it
2017-02-03 09:22:30 -08:00
Lioncash
a30c653f3d
D3D: Add CommonTypes include to D3DTexture.h
...
Resolves a compile error on the Windows CMake build.
2017-02-03 12:07:53 -05:00
Lioncash
c67d095787
PowerPC: Move page #define constants to MMU.cpp
...
These are only ever used here.
This also converts them into typed constants.
2017-02-03 11:48:42 -05:00
Lioncash
5ce82583f8
MemcardManager: Get rid of prefixed double-underscores from an identifier
...
Identifiers with prefixed double-underscores are reserved by the C++
standard.
2017-02-03 11:30:39 -05:00
Lioncash
9d523f52f2
MemcardManager: Convert C arrays to std::array
2017-02-03 11:15:46 -05:00
Mat M
a3ba169e7d
Merge pull request #4809 from Orphis/cmake_windows
...
CMake for Windows: getting a working binary!
2017-02-03 08:33:13 -05:00
Florent Castelli
ca42f08e7d
cmake: Copy resources next to the DolphinWX binary on Windows
2017-02-03 04:54:54 +01:00
Florent Castelli
1a4f044e9e
cmake: Add RC file on Windows to DolphinWX
2017-02-03 04:54:54 +01:00
Florent Castelli
3842a9b71c
OpenAL: Move Windows binaries to lib folder and fix CMake detection
...
The module FindOpenAL is looking for the dll in a folder called lib, not x64.
This is only used on Windows x64, it's fine to remove the platform name.
2017-02-03 04:54:54 +01:00
Florent Castelli
9180c87197
cmake: Put test targets in folders
2017-02-03 04:23:24 +01:00
Mat M
1b9b1a356b
Merge pull request #4805 from Orphis/cmake_macos
...
CMake macOS fixes
2017-02-02 20:53:22 -05:00
Matthew Parlane
7f2753362f
Merge pull request #4802 from lioncash/header
...
ShaderGenCommon: Remove unnecessary includes
2017-02-03 14:52:41 +13:00
Matthew Parlane
8b1fc5b753
Merge pull request #4806 from lioncash/memcard-dlg
...
MemcardManager: Use unique_ptr over raw pointers
2017-02-03 14:50:55 +13:00
Léo Lam
767cbcafb1
Remove unneeded write to 0x3140/0x3188 for WADs
...
This is unnecessary now that IOS::HLE is responsible for writing the
values to memory; removing the writes also prevents the IOS minor
version from being mangled (by the write to 0x3142).
2017-02-02 22:05:36 +01:00
Lioncash
d72cf81dea
MemcardManager: Use unique_ptr over raw pointers
2017-02-02 14:33:01 -05:00
degasus
384efb0cb2
JitArm64: Initial implementation of the BLR optimization.
2017-02-02 09:06:34 +01:00
Florent Castelli
e9aac53cec
macOS: Update how resources are copied in the bundle
...
Instead of using install() commands, we use the MACOSX_PACKAGE_LOCATION
property, which will allow the files to be identified and updated individually
by the build system without having to remove the entire folder and copy it
each time.
deploy-mac.py is now idempotent and should be working properly, so we'll
call it all the time from now on.
2017-02-02 03:51:32 +01:00
Florent Castelli
0f9a6697fb
DolphinWX: Update how localization files are installed
...
On macOS, we want them copied in the bundle directly, otherwise we will
install them later in the system folder.
Obviously not working for Windows, but that's not any different from before!
2017-02-02 03:51:32 +01:00
Florent Castelli
62c439814f
cmake: Move Qt5 search to DolphinQt build script
2017-02-01 21:49:26 +01:00
Lioncash
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
Mat M
c5d4ae6163
Merge pull request #4801 from JosJuice/wii-remote-rumble
...
"Wii Remote Motor" -> "Wii Remote Rumble"
2017-02-01 10:41:33 -05:00
JosJuice
91fe332036
"Wii Remote Motor" -> "Wii Remote Rumble"
...
I've never heard any user call this motor. Let's use the word
that Nintendo uses and people actually recognize.
2017-02-01 16:19:03 +01:00
Markus Wick
543120c88e
Merge pull request #4799 from lioncash/light-headered
...
LightingShaderGen: Remove unnecessary includes
2017-02-01 15:23:18 +01:00
Markus Wick
f558ae4dd1
Merge pull request #4790 from lioncash/sram
...
Sram: Make SRAM dumps const
2017-02-01 13:27:03 +01:00
Markus Wick
094a75f3cb
Merge pull request #4791 from degasus/temp
...
DSPLLE: Only enable the DSP JIT on x64.
2017-02-01 13:04:18 +01:00
Lioncash
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
Matthew Parlane
a9627ac881
Merge pull request #4797 from lioncash/cast
...
RenderBase: Get rid of unnecessary casts
2017-02-01 17:18:12 +13:00
Mat M
6fd0e96ea3
Merge pull request #4785 from lioncash/ios-fs
...
IOS FS: Move behavior to separate functions
2017-01-31 22:28:42 -05:00
Mat M
84d81a4b7a
Merge pull request #4792 from sepalani/fix_isctype_assert
...
Fixes std::isprint undefined behavior
2017-01-31 21:53:12 -05:00
Sepalani
44196f6a55
Fixes std::isprint undefined behavior
2017-02-01 02:30:29 +00:00
Mat M
5b782b9f2d
Merge pull request #4795 from sepalani/fix_sock
...
Fixes a crash when closing a socket
2017-01-31 20:30:26 -05:00