Commit graph

3765 commits

Author SHA1 Message Date
Ryan Houdek
6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
Ryan Houdek
1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
Ryan Houdek
49410576e9 Make the Wii U Gamecube adapter work with less magic.
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy
as possible.
The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular
gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs
if something was connected.
While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really
know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in
the IRC channel in the last week).

This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in
to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration.
Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube
Pad device and only reimplements what it needs to.
This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input.

Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05 13:44:37 -06:00
Ryan Houdek
371e9f4fae Move SI_GCAdapter over to InputCommon 2016-01-05 13:44:37 -06:00
Markus Wick
8b3bf1557f Merge pull request #3445 from jake8/add-crop-hotkey
Added Hotkey for toggling the Crop Setting
2016-01-04 16:24:22 +01:00
jake8
cc8aeec58c Added hotkey for toggling the crop setting 2016-01-04 10:10:49 -05:00
Markus Wick
f3c1cc95fc Merge pull request #3311 from Phatcat/analog_input_android
[Android] More analog input configurations + misc
2016-01-04 14:57:43 +01:00
Markus Wick
ca7160f714 Merge pull request #3434 from lioncash/enum
OnScreenDisplay: Make CallbackType an enum class
2016-01-04 13:47:22 +01:00
Phatcat
f62054e467 Android: More analog input configurations
Lets the user set the following in intervals of 10 between 10 and 100;
- Stick/Radius (default 100,000000)
- Triggers/Threshold (default 90,000000)
- Tilt/Modifier/Range (default 50,000000) + mapped Tilt/Modifier button
to the configurations for wiimotes & nunchuks
2016-01-04 13:35:04 +01:00
Phatcat
158f0e8102 Android: Added categories to input controls
- Seperates input configurations into categories
- Reworked input configurations to reuse more strings
2016-01-04 13:19:44 +01:00
Phatcat
cfe8400cdd Android: Revision of PR 3253 (Wiimote controls)
- Fix small error in NativeLibrary (line 141)
- Fix faulty indentment in arrays.xml
- Rework numbering system to be more accessible.
2016-01-04 13:19:42 +01:00
Lioncash
01f99a04a2 VideoBackend: Get rid of a boolean global
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Lioncash
edda018d54 OnScreenDisplay: Make CallbackType an enum class 2016-01-02 14:57:55 -05:00
skidau
066af14272 Merge pull request #3409 from sepalani/r_menu_code
RegisterView: View code menu added
2016-01-02 11:40:02 +11:00
skidau
88c2900e9e Merge pull request #3399 from rabbott99/cheat-search
CheatSearchTab: Use an enum for filter masks rather than ints
2015-12-29 11:13:35 +11:00
skidau
c80dede49f Merge pull request #3377 from JosJuice/elfdol-case
DolphinWX: Add missing m_ListElfDol cases
2015-12-29 11:03:43 +11:00
skidau
08bf808d49 Merge pull request #3343 from JosJuice/getstringt-encoding
Fix encoding for savestate slots
2015-12-29 10:54:54 +11:00
Sepalani
a6967358b2 RegisterView: View code menu added 2015-12-28 22:41:24 +04:00
Markus Wick
aabcd441d9 Merge pull request #3381 from Armada651/revert-3076
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28 10:18:32 +01:00
Markus Wick
cec1a75976 Merge pull request #3296 from sepalani/r_menu
DebuggerViews: Fixed nullptr dereferences
2015-12-28 10:02:53 +01:00
Sepalani
4d3f05ddf8 DebuggerViews: Fixed nullptr dereferences 2015-12-27 19:57:58 +04:00
rabbott99
5d61e067a0 CheatSearchTab: Use an enum for filter masks rather than ints 2015-12-26 16:51:06 -05:00
Jules Blok
8bda12bcfd Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
This reverts commit 81414b4fa2, reversing
changes made to b926061f64.

Conflicts:
	Source/Core/DolphinWX/Frame.cpp
	Source/Core/VideoCommon/VideoConfig.cpp
	Source/Core/VideoCommon/VideoConfig.h
2015-12-23 00:35:19 +01:00
Jules Blok
9a1b2f68cc ISOProperties: Replace the ConvergenceMinimum option by the Convergence option.
The ConvergenceMinimum was replaced by Convergence in the GameINI.
2015-12-22 23:16:27 +01:00
JosJuice
ed8fa5ba77 DolphinWX: Add missing m_ListElfDol cases 2015-12-22 16:26:31 +01:00
Scott Mansell
ebe3c49c5f Merge pull request #3332 from degasus/master
MSAA: Store samples in ini files.
2015-12-19 01:37:10 +13:00
JosJuice
b4b1844fe8 DolphinWX: Change "AM-Baseboard" string to "AM Baseboard"
It's so that the string in ControllerConfigDiag will match the string
in GameCubeConfigPane. Right now, it unnecessarily appears twice in
the list of strings to translate.
2015-12-17 22:25:15 +01:00
JosJuice
9a0b70cc51 Fix encoding for savestate slots
StrToWxStr is needed, otherwise the string will not be read as UTF-8.
2015-12-17 11:25:14 +01:00
Christian Widmer
9dd9a75dbe DolphinWX: Fix items vanishing from toolbar
Commit 33487ab5f2 introduced a regression
where items would vanish from the toolbar. This adds a call to Realize()
after the reinsertions of the play/pause button as required per
documentation.

Thanks to Simonwayneee for noticing this!
2015-12-16 00:18:04 +01:00
Markus Wick
c310b3f0e6 Merge pull request #3309 from JosJuice/reload-banner-without-volume
Don't read from volume when reloading Wii banners
2015-12-15 18:48:49 +01:00
Markus Wick
e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
Markus Wick
556371b2bc Merge pull request #3333 from ShadowsFriend/pausebutton_fix
DolphinWX: Fix label change for the play/pause button
2015-12-15 17:40:25 +01:00
degasus
e26d9f7c35 MSAA: Store samples in ini files. 2015-12-15 09:41:01 +01:00
Jules Blok
3f7bf5ca93 VideoConfigDiag: Snap the convergence slider. 2015-12-13 22:58:38 +01:00
Jules Blok
ee657c04fe VideoConfig: Change convergence setting to percentage value. 2015-12-13 22:58:16 +01:00
Christian Widmer
33487ab5f2 DolphinWX: Fix label change for the play/pause button
This fixes changing the play/pause button's label depending on the
emulation state. Before, wxToolBarToolBase's SetLabel() function was
used. This function, however, is not implemented in wxGTK which leads to
the label not changing on linux when the button is clicked. Although the preferred
method (according to the wxWidgets documentation) to change the properties
of a tool is to use the toolbar's setters, there is no such setter for
the label. Therefore, this implements a workaround where the
button is deleted and readded afterwards with the updated properties.

Thanks to linkmauve for noticing this!
2015-12-12 23:28:34 +01:00
JosJuice
a27610ff17 MainAndroid: Fix size logging 2015-12-08 12:37:51 +01:00
Bartosz Kaszubowski
4655cd01fa minor General Config GUI improvements
- theme and language selectors wrapped into one GridBagSizer for better
appearance
- missing left padding added to checkbox on Advanced Pane
2015-12-08 02:13:32 +01:00
Lioncash
edbbf493f8 DiscIO: Make factory methods return unique_ptrs
Rather than rely on the developer to do the right thing,
just make the default behavior safely deallocate resources.

If shared semantics are ever needed in the future, the
constructor that takes a unique_ptr for shared_ptr can
be used.
2015-12-07 05:57:37 -05:00
JosJuice
a0cd753060 Don't read from volume when reloading Wii banners
Should make loading cached Wii games that lack banners slightly faster.
2015-12-03 17:29:59 +01:00
Scott Mansell
a759883ae5 Merge pull request #3126 from phire/remove-logging-lock
Refactor logging code to get rid of a mutex.
2015-12-03 13:32:07 +13:00
Markus Wick
6425ddcbe7 Merge pull request #3253 from Phatcat/master
More wiimote controls (+extensions) for android
2015-12-02 22:50:29 +01:00
Phatcat
ca9c9b7135 Wiimote + Extensions for Android 2015-12-02 21:58:54 +01:00
Markus Wick
abbc25f662 Merge pull request #2788 from TurboK234/3d_hotkeys
Added hotkeys for toggling different stereoscopy modes
2015-12-02 15:24:59 +01:00
Markus Wick
a3433e162a Merge pull request #3149 from ShadowsFriend/fname_column
DolphinWX: Add a filename column
2015-12-02 15:04:36 +01:00
Markus Wick
ec6a48ff76 Merge pull request #2876 from CastellaFactory/master
[Netplay] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-12-02 14:20:47 +01:00
Markus Wick
b0dbb6ef46 Merge pull request #3067 from JosJuice/cheat-manager-regression
Fix Cheat Manager not saving created codes
2015-12-02 14:08:32 +01:00
Markus Wick
4a40e7b405 Merge pull request #3111 from JosJuice/wx-banner-scaling
DolphinWX: Improve HBC banner scaling
2015-12-02 13:59:13 +01:00
Markus Wick
02d5981b22 Merge pull request #3290 from JosJuice/compression-condition
DolphinWX: Correct a compression condition
2015-11-30 13:53:50 +01:00
Brian Bowman
507b7920e9 Fix typo in anti-aliasing dropdown description 2015-11-29 14:28:26 -06:00