Commit Graph

19600 Commits

Author SHA1 Message Date
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
Markus Wick 7c2c73a5fd Merge pull request #3453 from aserna3/master
[UI] More DQt removals
2016-01-06 03:15:27 +01:00
Anthony Serna 82c72cf76b [UI] More DQt removals 2016-01-05 20:02:40 -06:00
Mathew Maidment 079be1db9a Merge pull request #3452 from aserna3/master
[UI] Remove DolphinQt
2016-01-05 20:48:27 -05:00
Anthony Serna 2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
degasus 3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01: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 6e932af831 Add two missing values that can fit in GCPadStatus 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
JosJuice fd2d50535f DolphinWX: Minor adjustments to the widths of images 2016-01-05 19:19:36 +01:00
JosJuice 81466d7fa3 DolphinWX: Stop using XPM images
Using the XPM format for images has become a maintenance problem because
people don't know how to create them. This commit removes all XPM images
and all C files that contain PNG images. DolphinWX now uses the PNGs
in the Resources folder instead, just like DolphinQt and DolphinQt2 do.
2016-01-05 19:11:58 +01:00
Ryan Houdek f3098bf426 Merge pull request #3450 from Sonicadvance1/fix_warning
Fix warning in VideoInterface
2016-01-05 13:07:41 -05:00
JosJuice 460cef492a New 32x32 platform icons by MaJoR 2016-01-05 19:04:10 +01:00
Ryan Houdek 14e6720f22 Fix warning in VideoInterface 2016-01-05 11:54:04 -06:00
Chris Burgener bfcf7c791c Add ffmpeg externals 2016-01-05 18:00:41 +01:00
JosJuice ea7d686811 Remove padding from platform icons and rating icons 2016-01-05 16:57:31 +01:00
Kim Johnsson 204201bcbc StartupHandler.java: Finish main activity if AutoStartFile is specified in intent
Call finish() on parent (main/browser) activity after starting EmulationActivity if AutoStartFile was specified. This makes the experience more streamlined for users who want to start games from an external frontend, since they don't expect to return to the Dolphin main activity after they've played their game.
2016-01-05 13:55:30 +01:00
Markus Wick 0da8bd0f61 Merge pull request #3444 from RisingFog/avidumpfixes
AVIDump Clean Up and Fixes
2016-01-05 10:38:07 +01:00
Ryan Houdek e8e0ad3e52 Merge pull request #3408 from Tilka/fcmp
JitArm64: fix fcmpo/fcmpu
2016-01-04 22:19:32 -05:00
Ryan Houdek b00bb300e5 Merge pull request #3447 from degasus/arm
JITArm64: Single precision + FPRF
2016-01-04 22:09:44 -05:00
Mathew Maidment 0509292f86 Merge pull request #3431 from stenzek/shadercache
ShaderGen: Remove virtual methods and string from ShaderGeneratorInterface.
2016-01-04 19:11:14 -05: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 d29b406292 Merge pull request #3433 from lioncash/gl
GLInterface: Minor changes
2016-01-04 13:49:40 +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
Markus Wick 3045e08daf Merge pull request #3430 from lioncash/compare
ProgramShaderCache: Simplify SHADERUID comparison operators
2016-01-04 13:42:39 +01:00
Phatcat b2ad0d0793 Android: 4k Internal Resolution support
Adds two more internal resolution options (including 4k) to the Android
configurations
2016-01-04 13:36:06 +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
Ryan Houdek d354034498 Merge pull request #3443 from sigmabeta/android-overclock-ui
[Android] Add UI support for the so-called "Overclock" feature
2016-01-04 05:21:52 -05:00
Chris Burgener fe4e99d6bf AVIDump Clean Up and Fixes 2016-01-03 18:39:52 -05:00
Ryan Houdek 465ef93beb Merge pull request #3441 from Sonicadvance1/opensles_audio_delay
[OpenSLES] Fix a delay in audio processing.
2016-01-03 18:34:20 -05:00
Mathew Maidment 18ac844e4b Merge pull request #3442 from lioncash/unique_ptr
OGL: Correct unique_ptr types
2016-01-03 17:29:07 -05:00
sigmabeta b882a79322 Add support for the CPU Clock Override feature to Android UI 2016-01-03 16:46:29 -05:00
Lioncash 1bcfae5fd7 OGL: Correct unique_ptr types
By default unique_ptr will call delete on the given type if an array
qualifier isn't present, not delete[]. It's important to explicitly
specify an array is being handled.
2016-01-03 16:00:16 -05:00
Ryan Houdek a898aa1585 Merge pull request #3436 from endrift/fix-libusb
HW: Fix libusb support for older libusb APIs
2016-01-03 12:35:08 -05:00
Ryan Houdek 1db01a8c56 [OpenSLES] Fix a delay in audio processing.
A failure on my part. I was updating the two buffers in the wrong order, so we were always a buffer behind in sending audio out to OpenSLES.
2016-01-03 11:33:38 -06:00
Ryan Houdek 6e60dc60e0 [Android] Disable screen lock when a title is running.
Encountered this when testing out the Wii U Gamecube Adapter.
2016-01-03 09:42:41 -06:00
Jules Blok 8c3108b354 Render: Clamp the z range to the full range. 2016-01-03 15:39:34 +01:00
Sepalani ba794272f5 Debug Builds: Fixed vector assertion 2016-01-03 13:17:26 +01:00
Mathew Maidment a63873535f Merge pull request #3437 from endrift/missing-include
HW: Add missing header for sprintf()
2016-01-03 04:52:15 -05:00
Ganael Laplanche fb3b1e4eb0 Add missing header for sprintf() 2016-01-03 01:30:39 -08:00
Jeffrey Pfau d4e2c9fa98 HW: Fix libusb support for older libusb APIs 2016-01-03 00:53:31 -08:00
Pierre Bourdon f0e5811d9a Merge pull request #3435 from lioncash/backend
VideoBackend: Get rid of a boolean global
2016-01-03 00:09:39 +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
Lioncash f3c05d39b9 GLInterface: Make GLInterfaceMode an enum class 2016-01-02 14:26:43 -05:00
Lioncash df9c9ad706 GLInterfaceBase: In-class initialize protected members
Gives the class a well-defined initial state
2016-01-02 14:26:42 -05:00