Commit Graph

14377 Commits

Author SHA1 Message Date
Pierre Bourdon 991d3f6f96 Merge pull request #3525 from lioncash/ptr
DSPEmulator: Make CreateDSPEmulator return a unique_ptr
2016-01-19 23:54:58 +01:00
Silvan Jegen 59f72d3571 AVIDump: coded_frame is deprecated
Setting this is not required anymore as of commit 40cf1bbacc622 of
FFmpeg.

For users of older versions of the libavcodec library we guard the
change with an #if.
2016-01-19 20:38:21 +01:00
Ryan Houdek abb4c64c8f Fix the Exit hotkey.
We were constructing our wxCommandEvent incorrectly and using an ID as an event type instead of the ID.
Works properly now.
2016-01-19 02:04:45 -06:00
Ryan Houdek 7b9eeba168 Merge pull request #3479 from Sonicadvance1/fix_hotkeys
Fix hotkeys not reporting inputs.
2016-01-19 02:15:25 -05:00
Jules Blok 51a36f27e0 Merge pull request #3448 from Armada651/depth-epsilon
VertexShaderManager: Add an epsilon hack to the perspective projection.
2016-01-18 20:56:18 +01:00
Ryan Houdek f73961663e Fix a typo on the size passed in to the IPL descrambler.
Fixes issue #6081
2016-01-18 04:30:30 -06:00
Lioncash 2ff5923334 DSPEmulator: Make CreateDSPEmulator return a unique_ptr 2016-01-17 22:33:21 -05:00
Pierre Bourdon 24c228c6e9 Merge pull request #3523 from lioncash/video
VideoCommon: Header cleanup
2016-01-18 02:24:50 +01:00
Lioncash d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Mathew Maidment a7f35eeb42 Merge pull request #3520 from Sonicadvance1/debugger_address_minsize
Fix debugger address lookup search control.
2016-01-16 11:34:24 -05:00
Ryan Houdek 6754326c6b Fix debugger address lookup search control.
The dumb wxAUI stuff isn't fully implemented for GTK. So the wxAuiToolBar doesn't properly deduce the size it needs to be when it contains a
wxSearchCtrl object.
Force the manager to set its minimum size to something reasonable.
2016-01-16 08:05:24 -06:00
Pierre Bourdon ea2765e010 Merge pull request #3509 from stenzek/negative-indirect
PixelShaderGen: Manually wrap negative indirect texture coordinates
2016-01-16 09:10:33 +01:00
shuffle2 799fce0b03 Merge pull request #3512 from jloehr/Fix-SCMRevGen
Fix SCMRevGen by running system native CScript
2016-01-15 23:56:31 -08:00
Stenzek edebadc093 PixelShaderGen: Use bitwise AND for wrapping indirect texture coordinates
(x % y) is not defined in GLSL when sign(x) != sign(y).
This also has the added benefit of behaving the same as sampler wrapping modes, in regards to negative inputs.
2016-01-15 19:46:38 +10:00
booto 92278886b9 DiscIO: Use specified Wii region for discs 2016-01-15 03:35:10 +08:00
Mathew Maidment 87464d432b Merge pull request #3501 from rohit-n/build-pch
Fix building with PCH disabled.
2016-01-13 21:07:51 -05:00
Jules Blok 48b60649af Merge pull request #3495 from Armada651/d3d-float
D3D: Use a 32-bit floating point depth buffer.
2016-01-14 00:39:23 +01:00
Julian Löhr bb5cb7e365 Run system native CScript
Build Events are run in an 32 bit environment, therefore both program files environment strings resolve to the x86 program files folder on 64 Bit systems. If Git is 64 bit and installed into the x64 program files it can't be found by the script.
2016-01-14 00:37:11 +01:00
Jules Blok d54291f2e8 Merge pull request #3506 from stenzek/odd-mips
TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
2016-01-13 23:10:18 +01:00
Jules Blok 55cb6675cc IniFile: Initialize with default value if key does not exist. 2016-01-13 22:51:53 +01:00
Pierre Bourdon 8ee93fc4fa Merge pull request #3507 from lioncash/header
HW: Header cleanup
2016-01-13 14:09:35 +01:00
Jules Blok a307883069 Merge pull request #3505 from Armada651/invert-conversion
TextureConversionShader: Also invert color encoders if they're used to encode depth.
2016-01-13 12:58:44 +01:00
Lioncash f2038b9e90 HW: Remove unnecessary header inclusions 2016-01-13 02:47:32 -05:00
Stenzek 1f3b90d70a TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
This was causing crashes/driver resets when odd-dimension textures were
being loaded, due to the size we were uploading being larger than the size
of the higher-level texture calculated by the runtime.
2016-01-13 12:54:38 +10:00
Pierre Bourdon 8f8134f5f4 Merge pull request #3504 from degasus/master
VideoBackend: Cleanup API a bit.
2016-01-13 01:27:24 +01:00
Jules Blok daabd88d69 TextureConversionShader: Also invert color encoders if they're used to encode depth. 2016-01-13 01:08:27 +01:00
degasus aa430c10d5 VideoState: Simplify dummy wrapper. 2016-01-12 23:28:26 +01:00
degasus 5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus c3481a576b VideoBackend: Remove simple wrapper functions. 2016-01-12 23:28:26 +01:00
degasus 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
Lioncash f8fcceb99e Jit: Get rid of indirect includes 2016-01-12 00:12:36 -05:00
Jules Blok 8158d291aa D3D: Use the full depth range for Z pokes. 2016-01-11 22:27:41 +01:00
Jules Blok 129975233f D3D: Use a 32-bit floating point depth buffer. 2016-01-11 22:27:40 +01:00
Rohit Nirmal f9837d4447 Fix building with PCH disabled. 2016-01-11 13:20:47 -06:00
Pierre Bourdon 68094171f8 Merge pull request #3489 from lioncash/interp
Interpreter: Remove unnecessary includes from Interpreter.h
2016-01-11 12:43:25 +01:00
Pierre Bourdon 84c4f75aeb Merge pull request #3498 from lioncash/global
MemTools: Get rid of a global variable
2016-01-11 12:43:01 +01:00
Pierre Bourdon 7c6fe11348 Merge pull request #3499 from lioncash/hle
HLE: Move static variable out of header
2016-01-11 12:42:48 +01:00
Pierre Bourdon 6b25e52f57 Merge pull request #3500 from lioncash/arm
ARM Jit: Use std::tie for SlowmemHandler comparison
2016-01-11 12:42:24 +01:00
Lioncash 984fc7fb39 ARM Jit: Use std::tie for SlowmemHandler comparison 2016-01-11 04:28:16 -05:00
Lioncash 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
Lioncash b688a62143 MemTools: Get rid of a global variable 2016-01-11 03:24:03 -05:00
Lioncash 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
Ryan Houdek 5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Ryan Houdek 6448e5e5ee Add support to EGL to on the fly destroy the resulting surface 2016-01-10 12:28:05 -06:00
Pierre Bourdon e7fbd1fd50 Merge pull request #3439 from Armada651/depth-range
Render: Clamp the z range to the full range.
2016-01-10 19:09:57 +01:00
Pierre Bourdon 20718305db Merge pull request #3484 from Sonicadvance1/mesa_disable_geometry_shaders
Disable geometry shaders on mesa AMD/ATI drivers.
2016-01-10 02:38:33 +01:00
Mathew Maidment ff0e1c3624 Merge pull request #3485 from booto/minor-comment-change
Comment change to reflect what code does
2016-01-09 17:18:59 -05:00
Mathew Maidment 9925d8a947 Merge pull request #3478 from mmastrac/ui_resize_fix
DolphinWX: fixes the window growing slightly on every re-launch
2016-01-09 17:15:35 -05:00
Matt Mastracci 560769ad5d DolphinWX: Fix window growing on every relaunch
Fixes part of #8993 -- the window would grow slightly on every re-launch
because the size was set before the UI was fully initialized.
2016-01-09 14:29:15 -07:00
Pierre Bourdon 98106b717a Merge pull request #3487 from Sonicadvance1/fix_typo
Fix typo in GLExtensions
2016-01-09 22:17:05 +01:00
Ryan Houdek b4eb5d8e3f Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Ryan Houdek 8c37498230 Fix typo in GLExtensions
I had changed a variable name and forgot to update it everywhere.
Should fix Adreno devices.
2016-01-09 15:06:36 -06:00
Lioncash 986108715d JitInterface: Get rid of a global variable 2016-01-09 14:57:50 -05:00
booto b89c79b9f2 Comment change to reflect what code does 2016-01-10 02:42:56 +08:00
Ryan Houdek 54e4d90b6d Fix assert on reset button hit.
Fixes issue 9225.
2016-01-09 11:23:22 -06:00
Pierre Bourdon 5db10d83f7 Merge pull request #3477 from mmastrac/memorywatcher_crash
MemoryWatcher: Initialize m_running
2016-01-09 16:11:42 +01:00
Tillmann Karras 98ea1f773a VideoSW: fix some warnings 2016-01-09 10:38:07 +01:00
Ryan Houdek 6862d7c7b2 Fix hotkeys not reporting inputs. 2016-01-08 23:25:36 -06:00
Pierre Bourdon dbe7e6634d Merge pull request #3412 from skidau/CheatSearch-Prev-Value
Added the ability to search on previous value in the Cheat Search.
2016-01-09 06:06:02 +01:00
Pierre Bourdon 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
Scott Mansell 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
Pierre Bourdon 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
Matt Mastracci 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
Chris Burgener 66595b0ac9 Force XVID FourCC for MPEG4 output 2016-01-08 10:22:19 -05:00
Scott Mansell 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
Chris Burgener c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
Jules Blok db551c55a2 FrameBufferManager: Fix typo in stereoscopic MSAA shader. 2016-01-07 20:05:12 +01:00
Pierre Bourdon 89bb4b1288 Merge pull request #3460 from JosJuice/platform-icon-padding
Adjust the size of the Wii platform icon and padding of all platform icons
2016-01-07 00:50:06 +01:00
Pierre Bourdon bff79df363 Merge pull request #3429 from sepalani/debug_vector_fix
Debug Builds: Fixed vector assertion
2016-01-07 00:48:40 +01:00
Pierre Bourdon e668fd7a02 Merge pull request #3465 from Sonicadvance1/Android_move_jni
Move Android JNI bits from DolphinWX to the Android folder.
2016-01-07 00:47:39 +01:00
Pierre Bourdon 7c91dbe239 Merge pull request #3467 from mathieui/netplay_version_commit_hash
Use the current commit hash in the netplay version
2016-01-07 00:45:11 +01:00
Pierre Bourdon 22555312de Merge pull request #3464 from Armada651/stereo-warnings
VideoConfig: Don't give warnings for per-game stereoscopy parameters.
2016-01-07 00:35:14 +01:00
Pierre Bourdon 4553f723ff Merge pull request #3466 from JosJuice/game-list-empty-condition
DolphinWX: Unify the condition for the game list being empty
2016-01-07 00:33:32 +01:00
mathieui 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
JosJuice 85ab84935a Use the English name for DK Bongos in the English version of Dolphin
Tarukonga is Japanese. People who don't speak Japanese are unlikely to
understand it.
2016-01-07 00:12:25 +01:00
Ryan Houdek 74478addeb Move Android JNI bits from DolphinWX to the Android folder. 2016-01-06 15:36:44 -06:00
JosJuice dcde91cdd8 DolphinWX: Unify the condition for the game list being empty
When there are no games to display in the game list, DolphinWX shows a
message instead. Clicking the message will perform an action. If the game
list truly is empty, the message and action are for opening a browse
dialog, but if the user has hidden some games, they are instead for
unhiding all games. However, the condition for checking which message to
display lacked some parts that are in the condition for checking which
action to use, so the two could be different in rare cases. This PR fixes
that by breaking out the two conditions to a new unified function.
2016-01-06 22:25:30 +01:00
Jules Blok 1e111421e9 VideoConfig: Don't give warnings for per-game stereoscopy parameters. 2016-01-06 22:21:12 +01:00
degasus efbe5bc4b6 VideoSW: Use more VideoCommon
Now we require lots of empty functions, but this removes by far more duplicated code.
2016-01-06 22:10:29 +01:00
Ryan Houdek 7fcb5a803b Merge pull request #3359 from degasus/ini
VideoConfig: Use "GFX.ini" for both D3D and OGL.
2016-01-06 16:02:23 -05:00
Markus Wick 05fdf0398b Merge pull request #3313 from degasus/videosw
VideoSW: Clear Vertex data before usage
2016-01-06 21:56:02 +01:00
degasus ad1f7576ad VideoConfig: Use "GFX.ini" for both D3D and OGL.
They share the same format, so there is no need to separate their configs.
2016-01-06 21:43:11 +01:00
Ryan Houdek 0a42a0ab1b Merge pull request #3428 from Sonicadvance1/proper_glextensions
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Ryan Houdek 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
JosJuice e6cee3a130 DolphinWX: Re-add some padding for platform icons
The padding on the right was changed from 3px to 0px by fd2d505. 1px is
needed for counteracting the white 1px line to the left of the game list.
2016-01-06 21:06:36 +01:00
Mathew Maidment 87e753b104 Merge pull request #3459 from JosJuice/custom-texture-all-regions-2
HiresTextures: Refactor getting directory
2016-01-06 14:19:33 -05:00
Ryan Houdek b49683b2e8 Merge pull request #3357 from JosJuice/no-xpm
DolphinWX: Stop using XPM images
2016-01-06 13:37:03 -05:00
JosJuice 03091ce180 HiresTextures: Refactor getting directory 2016-01-06 19:35:16 +01:00
Ryan Houdek adffa5fbec Merge pull request #3457 from booto/si-sampling
[RFC] SI: Base SI sampling on VSync & horiz lines
2016-01-06 13:02:38 -05:00
booto a1db1a2082 SI: Base SI sampling on VSync & horiz lines 2016-01-06 23:47:20 +08:00
JosJuice 42237dc511 Merge pull request #3456 from JosJuice/custom-texture-all-regions
HiresTextures: Also look for directories with 3-character IDs
2016-01-06 14:43:49 +01:00
JosJuice a2b45a4b82 HiresTextures: Also look for directories with 3-character IDs
People who make texture packs usually release them using a specific ID
(for instance SX4E01). Users who have a different version of the game
(like the PAL version SX4P01) then need to rename the custom texture
folder to match. This is a lot simpler than renaming every texture file,
as was required with the old texture format, but it's still something
that users can forget to do. To make that unnecessary, this change makes
it possible to use three-character region-free IDs for custom texture
folders, similarly to how game INIs can use three-character IDs. Once
most people have updated to Dolphin versions that include this change,
those who make texture packs will be able to name them with
three-character IDs, removing the need for users to rename anything.
2016-01-06 14:33:36 +01:00
Markus Wick 86b0e7e4f2 Merge pull request #3356 from degasus/master
Throttler: Rename "framelimiter" to "emulation speed".
2016-01-06 14:21:55 +01:00
Ryan Houdek e62503c873 [Android] Add support for the Wii U Gamecube adapter under Android.
No way to properly enable it from an end user perspective yet.
Doesn't require root.
This same sort of system can be used for the Dolphinbar in the future for real wiimote support.
2016-01-06 01:10:54 -06:00
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 af6a5ddafe Fixup typo in GCAdapter 2016-01-06 00:41:00 -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
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