Commit Graph

6452 Commits

Author SHA1 Message Date
f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
8f8134f5f4 Merge pull request #3504 from degasus/master
VideoBackend: Cleanup API a bit.
2016-01-13 01:27:24 +01:00
5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
c3481a576b VideoBackend: Remove simple wrapper functions. 2016-01-12 23:28:26 +01:00
0c92603fd5 Merge VideoBackendHardware into VideoBackend.
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
f8fcceb99e Jit: Get rid of indirect includes 2016-01-12 00:12:36 -05:00
68094171f8 Merge pull request #3489 from lioncash/interp
Interpreter: Remove unnecessary includes from Interpreter.h
2016-01-11 12:43:25 +01:00
84c4f75aeb Merge pull request #3498 from lioncash/global
MemTools: Get rid of a global variable
2016-01-11 12:43:01 +01:00
7c6fe11348 Merge pull request #3499 from lioncash/hle
HLE: Move static variable out of header
2016-01-11 12:42:48 +01:00
984fc7fb39 ARM Jit: Use std::tie for SlowmemHandler comparison 2016-01-11 04:28:16 -05:00
846c904624 HLE: Move static variable out of header
It's only ever used in the implementation file.
2016-01-11 04:11:12 -05:00
b688a62143 MemTools: Get rid of a global variable 2016-01-11 03:24:03 -05:00
d9a16f7c9c Interpreter: Remove unnecessary includes from Interpreter.h
Previously the JIT code relied on indirect inclusion from this header,
this gets rid of that.
2016-01-10 18:51:12 -05:00
986108715d JitInterface: Get rid of a global variable 2016-01-09 14:57:50 -05:00
54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
5db10d83f7 Merge pull request #3477 from mmastrac/memorywatcher_crash
MemoryWatcher: Initialize m_running
2016-01-09 16:11:42 +01:00
39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01:00
c49a82bf0a Rework aspect ratio calculations.
They are now based on signal timings rather than pixels, as it
didn't make a lot of sense to do things with pixels.

Now handles all 240i/240p/480i/480p modes without any special
casing.

Despite the diffrent equaions, this should result in the exact same aspect
ratio as the previous code.
2016-01-09 14:30:46 +13:00
bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
a60b24c937 MemoryWatcher: Initialize m_running to false to prevent crashes on OSX in the dtor when it picks up the wrong initial value 2016-01-08 12:20:35 -07:00
9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
40c7a2fb7d Use the current commit hash in the netplay version
So that it contains the current commit and not an arbitrary date that
may or may not be up-to-date. This will cause tears as people will not
be able to use netplay with one diverging commit that does not touch
anything related. On the other hand, users can’t be trusted.
2016-01-07 00:17:05 +01:00
342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
6e503bebc4 Add a stubbed GCAdapter namespace.
This cleans up a bunch of #ifdef checks in places.
2016-01-06 00:57:08 -06:00
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
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
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
371e9f4fae Move SI_GCAdapter over to InputCommon 2016-01-05 13:44:37 -06:00
14e6720f22 Fix warning in VideoInterface 2016-01-05 11:54:04 -06:00
e8e0ad3e52 Merge pull request #3408 from Tilka/fcmp
JitArm64: fix fcmpo/fcmpu
2016-01-04 22:19:32 -05:00
b00bb300e5 Merge pull request #3447 from degasus/arm
JITArm64: Single precision + FPRF
2016-01-04 22:09:44 -05:00
cc8aeec58c Added hotkey for toggling the crop setting 2016-01-04 10:10:49 -05:00
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
fb3b1e4eb0 Add missing header for sprintf() 2016-01-03 01:30:39 -08:00
d4e2c9fa98 HW: Fix libusb support for older libusb APIs 2016-01-03 00:53:31 -08:00
96d8ea5537 Merge pull request #3415 from rabbott99/movie-end-pause
Movie: Fix "Pause at End of Movie" for wii games
2016-01-02 09:08:06 +11:00
76333b388f Fix building with PCH disabled. 2016-01-01 10:26:15 -06:00
f836e5937f Merge pull request #3422 from Sonicadvance1/Linux_bba_bridge
Support multiple bridge interfaces in Linux.
2016-01-01 04:23:06 -05:00
454ebb7150 Merge pull request #3417 from aserna3/remove_salt_button
[Netplay] Disabled loading savestates
2016-01-01 04:02:43 -05:00
4e22bab71d Support multiple bridge interfaces in Linux.
This allows you to run multiple instances of Dolphin that touch the BBA (Up to a 32 interface limit)
2016-01-01 02:51:31 -06:00
5cd4619a1d Merge pull request #3413 from spxtr/follow-pointers
Allow MemoryWatcher to follow pointers
2016-01-01 21:45:44 +13:00
a551e8adbb Fix building with PCH disabled. 2016-01-01 02:32:53 -06:00
42c38cbbd3 Blocked netplay users from desyncing by messing with savestates. 2015-12-31 18:50:45 -06:00
d2ef903d1a Movie: Fix "Pause at End of Movie" for wii games.
InputUpdate() is never called during wii playback, so the pause never
executed.
2015-12-30 23:11:40 -05:00
525fc4fe8a Allow MemoryWatcher to follow pointers 2015-12-30 19:10:31 -08:00
d9e921cc2c VI: set the JP bit of VI's DTV reg when needed
The "Force NTSC-J" option was broken by 480dbb22f2
 (i.e. field-timing). A side effect of this was that it exposed a bug
 where the JP region bit of VI's DTV reg was not automatically set for wads
 from the JP region.
2015-12-31 05:36:29 +08:00
afde6ae72c Merge pull request #3403 from spxtr/reporter
Add support for sending game memory changes to outside processes
2015-12-30 15:17:47 +13:00
2f50560602 Add support for sending game memory changes to outside processes 2015-12-29 17:59:16 -08:00