Commit Graph

15676 Commits

Author SHA1 Message Date
Mat M 331b112816 Merge pull request #4214 from lioncash/nandcontent
NANDContentLoader: Minor changes
2016-09-17 16:44:25 -04:00
degasus 258f48572d VertexLoaderJit: Fix out-of-bounds access for zfreeze.
This fixes a GCC6.1 warning.
2016-09-17 16:47:12 +02:00
degasus 735da0ed69 Fifo: Use SyncGPU timings for single core. 2016-09-17 16:25:13 +02:00
JosJuice 22b5d89bf1 Merge pull request #4056 from Pringo/master
Update Menu Ellipses Usage
2016-09-16 20:28:51 +02:00
Anthony 533ee4ccbe Merge pull request #3275 from JosJuice/wiimote-message
DolphinWX: Don't translate OSD messages
2016-09-16 12:39:11 -05:00
EmptyChaos 39edc1d91e PPCDebugInterface: Fix ToggleMemcheck
ToggleMemCheck fails to create a memcheck if one doesn't already
exist.
2016-09-15 13:08:48 +10:00
Lioncash 5aeedcd27c NANDContentLoader: Remove unnecessary trailing semicolons 2016-09-14 20:12:25 -04:00
Lioncash b43a26b90c NANDContentLoader: Remove virtual specifier from CNANDContentLoader destructor
This class is marked final, so there's no need to declare it as virtual.
2016-09-14 19:45:52 -04:00
Lioncash 3196bf5392 NANDContentLoader: Specify constructors as explicit where applicable
Prevents implicit conversion.
2016-09-14 19:44:44 -04:00
Lioncash 89c65be703 NANDContentLoader: Delay vector construction until needed in Get()
No need to construct the vector right off the bat.
2016-09-14 19:41:41 -04:00
Lioncash b1ffa74043 NANDContentLoader: Make CNANDContentData's Get function return by non-const value
const specifiers like this are practically pointless and can inhibit move construction.
2016-09-14 19:15:31 -04:00
Scott Mansell 4c004b6dc9 Merge pull request #4131 from aldelaro5/memoryViewer-memChecks-improvements
Add the configuration of how a memory check is added via the memory window
2016-09-15 10:46:07 +12:00
Scott Mansell 514ce3c6ed Merge pull request #4201 from EmptyChaos/interpreter-coretiming
Interpreter/CachedInterpreter/JitArm64: Fix CoreTiming::Advance usage
2016-09-15 09:57:00 +12:00
Sepalani 78d50c9a31 PPCSymbolDB: Rename unknown variable 2016-09-14 20:00:15 +02:00
Mat M 564d04cdd3 Merge pull request #4212 from EmptyChaos/nand-leak
DiscIO: Fix NAND Memory Leak
2016-09-14 11:30:02 -04:00
Sepalani 13048afd08 MemoryView: Symbols shown in ASCII view 2016-09-14 15:28:13 +02:00
Scott Mansell ea7e734496 Merge pull request #4186 from aldelaro5/registerView-update-fix
Fix registerView updates issues when stepping over or stepping out
2016-09-14 18:10:41 +12:00
Scott Mansell 4e595ca25f Merge pull request #4208 from aldelaro5/more-debugger-font-fix
Fix the debugger font not appearing on the captions of panes (DSP)
2016-09-14 18:09:28 +12:00
Scott Mansell d5c25a8990 Merge pull request #4207 from aldelaro5/debugger-floating-window-fix
Debugger: Fix some floating window issues
2016-09-14 18:08:23 +12:00
EmptyChaos eccec3c6d3 DiscIO: Fix NAND Memory Leak
CNANDContentData is a base class with a non-virtual destructor so
derived classes don't get destroyed causing them to leak resources.
2016-09-14 15:54:05 +10:00
EmptyChaos 070fe7f499 Jit64: Fix Dispatcher ABI (downcount) violation
The dispatcher requires that the flags contain the downcount state.
2016-09-14 15:46:54 +10:00
EmptyChaos 55a7f576aa JitArm64: Fix CoreTiming contract
Call Advance at the start of each timing slice instead of the end.

Possibly fixed a bug where a slice would randomly branch straight
back to Advance() because the flags were not set to the right
values before branching to the dispatcher entrypoint.
2016-09-14 15:44:51 +10:00
EmptyChaos f5bfce657c CachedInterpreter: Fix CoreTiming contract
Call CoreTiming::Advance() before executing the slice, not after.
2016-09-14 15:44:51 +10:00
EmptyChaos 1bcd129683 Interpreter: Fix CoreTiming contract
The interpreter does not use CoreTiming correctly. Calls to Advance
must be made in advance of executing the associated slice, not
afterwards.
2016-09-14 15:44:51 +10:00
Lioncash 00ddbee786 SymbolDB: Change Symbol's 'analyzed' member into a boolean
It's only ever used as one
2016-09-13 21:23:28 -04:00
Lioncash 0ac77b0288 SymbolDB: Use an enum class for representing symbol type 2016-09-13 21:21:03 -04:00
Lioncash d8d127df25 SymbolDB: In-class initialize Symbol class variables 2016-09-13 20:47:00 -04:00
Mat M add5de2d08 Merge pull request #4178 from aldelaro5/registerView-formated-display
Add formatting options for the GPR and FPR registers
2016-09-13 09:18:50 -04:00
Markus Wick bdcee1c585 Merge pull request #4205 from degasus/arm
JitArm64: Cleanup + small fix.
2016-09-12 11:47:51 +02:00
Scott Mansell 65c1df34f4 Merge pull request #4198 from aldelaro5/memory-breakpoint-fix
Fix the memChecks breaking a second time after hitting one and unpausing
2016-09-12 14:51:47 +12:00
aldelaro5 f689b1e6b5 Switch the CPU state to CPU_STEPPING before single stepping after unpausing
This fix a double break bug when hitting a memcheck and hitting play on the same instruction it broke to earlier.  The state is put back to CPU_RUNNING after.
2016-09-11 22:46:12 -04:00
aldelaro5 6b6cce823b Fix the debugger font not appearing on the captions of panes (DSP)
Forgot to fix that since the last font fix.
2016-09-11 20:13:20 -04:00
aldelaro5 6029c946f5 Manually select the coresponding tab before floating a panel
Doing this forces the window to be drawn before reparenting it. It fixes the possibility of creating an empty floating window if the selected tab wasn't corespoinding to the window.
2016-09-11 18:52:48 -04:00
aldelaro5 b3d49c7335 Add missing IDs for the Watch window
Fix the code window not floating when asked to do so via the popout menu.
2016-09-11 12:51:50 -04:00
aldelaro5 72f1d99634 Implement the configuration of how a breakpoint is added in the memory window
There might be a better way to highlight the options when adding the memory check, but for now, this works and the breakpoint list reports the right settings anyway.
2016-09-11 11:29:20 -04:00
aldelaro5 da55d2a381 Add options read, write and log when toggling a breakpoint
These are needed for the next commit. I had to modify the implementation of the DSP one too, but since it basically isn`t used, I don`t think it matters much.  These options only matters when adding one.
2016-09-10 22:38:57 -04:00
Markus Wick cbdda17507 Merge pull request #4124 from mimimi085181/wiimote-netplay-check-reporting-mode
Wiimote netplay: Check the reporting mode instead of the size
2016-09-10 23:28:57 +02:00
Markus Wick a15b3fda6e Merge pull request #4203 from aldelaro5/free-memChecks-debug-builds
Move Memchecks support out of debug only builds
2016-09-10 23:24:24 +02:00
degasus a0dcebba37 JitArm64: replace MOVI2R with MOVP2R when possible.
This skips the (u64) cast.
2016-09-10 11:01:18 +02:00
degasus 789e776a47 JitArm64: Fix block linking.
Double negation fail, sorry.
2016-09-10 11:01:18 +02:00
degasus be763949bc JitArm64: Drop 32bit alignment restriction of the memarea.
ADD() is almost as fast as MOVK(), and we already have a register for the memory location. Let's just use it.
2016-09-10 11:01:18 +02:00
Bernhard Urban 976da3707a arm64: add comment about data cache flushing 2016-09-10 08:05:16 +02:00
Bernhard Urban fff8221b63 arm64: fixes around icache flushing 2016-09-10 02:31:07 +02:00
aldelaro5 09df343247 Move Memchecks support out of debug only builds
It wouldn't impact performance until at least one memcheck is enabled.  Because of this, it can be used in release builds without much impact, the only thing that woudl change is the use of HasAny method instead of preprocessor conditionals.  Since the perforamnce decrease comes right when the first memcheck is added and restored when the last is removed, it basically is all beneficial and works the same way.
2016-09-09 15:05:54 -04:00
Markus Wick 6e488e65e3 Merge pull request #4013 from leoetlino/wx-assert-fix
Drop Dolphin patch to wxWidgets (and fix issues)
2016-09-09 17:27:07 +02:00
Lioncash 5b3c74a31a OGL: Remove unnecessary c_str calls 2016-09-09 06:30:34 -04:00
Mat M 1eacb8fd59 Merge pull request #4115 from aldelaro5/memorycheck-memorywindow-update-fix
Fix the breakpoint list not updating after adding a memory check via the memory view
2016-09-09 02:41:06 -04:00
Anthony 145ebd34e2 Merge pull request #4126 from aldelaro5/debugger-pause-button-fix
Fix the pause/play toolbar button not updating when reaching a breakp…
2016-09-08 20:10:19 -05:00
aldelaro5 ea2effcc7d Add formatting options for viewing registers
All formatting are individual per registers and they all have one option to go back to their original hexadecimal form.

- GPR: signed integer, unsigned integer, float
- FPR: double

Also happened to come accross an issue where editing the PFR would ignore the higher 32 bits of the new value, this had to be fixed for the format to work.
2016-09-08 10:50:04 -04:00
EmptyChaos 2e14920e16 CoreTiming: Guarantee FIFO processing of timed events
The min-heap provides no ordering when the key is the same on 2
nodes. Disambiguate identical times by tracking the order items
were added into the queue.
2016-09-08 19:46:42 +10:00
Jules Blok da43f9a156 PixelShaderGen: Always divide the texture coordinates by q.
Some games will set q to a different value than 1.0 through
texture matrix manipulations. It seems the console will still
do the division in that case.
2016-09-07 21:13:16 +02:00
JDV d486fdfdb7 Keep tag consistent on traversal settings reset 2016-09-07 10:50:53 -06:00
JosJuice d0a323cce7 Merge pull request #4192 from TylerAldrich/typo_fix
Boot: Fix minor comment typo
2016-09-07 17:35:35 +02:00
Léo Lam e8cb4119b8 Drop Dolphin-specific patch to wxWindows
This removes a Dolphin-specific patch to the wxWidgets3 code
for the following reasons:

* Calling wxWindowGTK::DoSetSize on a top-level window can end up
  calling wxTopLevelWindowGTK::DoMoveWindow, which triggers an assert
  because it is not supposed to be called for a top-level wxWindow.

* We should not be patching the wxWidgets code because that means the
  toolbars will still be broken if someone builds without using the
  WX that is in our Externals.

Instead, we now use a derived class for wxAuiToolBar and override
DoSetSize() to remove the problematic behaviour to get the same effect
(fixing toolbars) but without changing Externals code and without
causing asserts and other issues.
2016-09-07 15:15:09 +02:00
Léo Lam 4e402379e3 IPC_HLE: Fix warnings about missing override 2016-09-07 15:09:45 +02:00
Tyler Aldrich 08c72abf0f fix minor typo, 0x20 != 20 bytes 2016-09-07 08:01:00 -04:00
Scott Mansell fe41dff228 Fix the master build. 2016-09-07 20:10:03 +12:00
Scott Mansell d951f9e765 Merge pull request #3771 from phire/pr3771
Remove instant ARAM DMA hack (Fixes Sarge's War)
2016-09-07 19:09:39 +12:00
Scott Mansell 42e91dd815 Merge pull request #4189 from phire/efb_linear_downsampling
EFB2RAM: Downsample higher resolutions with linear filtering.
2016-09-07 17:44:16 +12:00
Chris Burgener 69eed56256 Fix recursive code 2016-09-06 22:45:50 -04:00
Scott Mansell 62d7a698da Merge pull request #4145 from tenthmile/WiiOrientationModifier
Emulated Wiimote Orientation Modifier
2016-09-07 14:20:02 +12:00
Scott Mansell 7311cd8b6e Merge pull request #4137 from aldelaro5/memCheck-crash-fix
Fix a crash when adding the first memory check while the game is running
2016-09-07 14:19:19 +12:00
Chris Burgener 23b2601133 Fix advanced config panel staying disabled after TAS recording 2016-09-06 22:12:13 -04:00
Scott Mansell f5e870bbe5 Merge pull request #4135 from RisingFog/remove_wii_limits_rtc
Fix issues with Custom RTC when set past the year 2038
2016-09-07 14:05:58 +12:00
Scott Mansell 366a38a917 Merge pull request #4142 from mbc07/IPC_HLE_usb_ven
[IPC HLE] Implement /dev/usb/ven with very basic functionality
2016-09-07 13:51:55 +12:00
Scott Mansell dbface94ea And remove the feature from the Arm64 jit too. 2016-09-07 12:53:14 +12:00
Scott Mansell c354dfcd2f Remove instant ARAM DMA mode.
Now that our timings are much more accurate it doesn't look like we
need it anymore. And the instant ARAM DMA mode + scheduling fixes
ctually breaks ATV: Quad Power Racing 2 (causing all sorts of werid
bugs).
2016-09-07 12:53:14 +12:00
Scott Mansell f5c70a4b27 EFB2RAM: Downsample higher resolutions with linear filtering. 2016-09-07 11:17:32 +12:00
Markus Wick 18030ebfb4 Merge pull request #4179 from magcius/xinput2-default
Remove the old Xlib backend
2016-09-06 10:26:26 +02:00
degasus a4d72ac6e3 MMU: Add small BAT comment. 2016-09-06 08:43:31 +02:00
degasus ce5dac11a2 Boot: Update BAT lookup table on booting ELF. 2016-09-06 08:43:31 +02:00
degasus 6493ea1eb9 MMU: Coding style fixes. 2016-09-06 08:43:31 +02:00
degasus ae1421b606 JitArm64: Rebase failure. 2016-09-06 08:43:31 +02:00
degasus 2925a5b219 Jit64: Simplify dcbz. 2016-09-06 08:43:31 +02:00
degasus ef0dcfe558 MMU: Small fixes. 2016-09-06 08:43:31 +02:00
magumagu d557310371 Support for dynamic BAT modification (dynamic-bat).
Fundamentally, all this does is enforce the invariant that we always
translate effective addresses based on the current BAT registers and
page table before we do anything else with them.

This change can be logically divided into three parts.  The first part is
creating a table to represent the current BAT state, and keeping it up to
date (PowerPC::IBATUpdated, PowerPC::DBATUpdated, etc.).  This does
nothing by itself, but it's necessary for the other parts.

The second part (mostly in MMU.cpp) is simply removing all the hardcoded
checks for specific untranslated addresses, and consistently translating
addresses using the current BAT configuration. Very straightforward, but a
lot of code changes because we hardcoded assumptions all over the place.

The third part (mostly in Memmap.cpp) is making the fastmem arena reflect
the current BAT configuration.  We do this by redoing the mapping (calling
memmap()) based on the BAT table whenever it changes.

One additional minor change is that translation can fail in two ways:
either the segment is a direct store segment, or page table lookup failed.
The difference doesn't usually matter, but the difference affects cache
instructions, like dcbz.
2016-09-06 08:43:22 +02:00
aldelaro5 6f54c3207c Fix registerView updates issues when stepping over or stepping out
For step over, it was updating twice which actually made the red display on the register view (when a register changes since) malfunction.  Since it doesn't seem to be usefull to update before AND after the run, the one before the run was removed.

For step out, well, because there was no chances given for the thread to run as it is single stepping all the time, I only added a call to update after it was done.
2016-09-05 23:45:24 -04:00
EmptyChaos 014714d515 WII_IPC_HLE: Fix Reinit
Init cannot be called more than once because it registers the
CoreTiming callbacks, that trips the assertions and will cause
anyone with PanicAlerts disabled to crash.
2016-09-06 12:59:22 +10:00
Scott Mansell 5932ded806 Merge pull request #4183 from aldelaro5/if-simplification-slowmem
Simplify an if condition after PR #4078
2016-09-06 13:20:58 +12:00
aldelaro5 173bdc766d Simplify an if condition after PR #4078 2016-09-05 13:01:02 -04:00
Scott Mansell d29dae207a Merge pull request #4078 from comex/alwaysUseMemFuncs-for-write
Don't use the fast path when there are watchpoints enabled, for writes too
2016-09-06 04:55:17 +12:00
Scott Mansell 0119f1302f Merge pull request #4177 from phire/useless_cases
BPStructs: remove case statements which never match.
2016-09-06 00:56:09 +12:00
Scott Mansell a665743b70 BPStructs: remove case statments which never match.
Visual Studio's code analyzer complains about these.
2016-09-06 00:40:49 +12:00
Jasper St. Pierre 928d05ec47 InputCommon: Remove the Xlib backend
The XInput2 backend is more performant, so let's default to it and
remove the old, core-only backend.
2016-09-04 10:44:22 -07:00
Jasper St. Pierre 2b640a4f7d XInput2: Only do a round trip when the mouse has moved
This should cut down on round trips and blocking calls dramatically
during gameplay.
2016-09-04 10:44:22 -07:00
Jasper St. Pierre 980ecfba7f IPC_HLE_net_ssl: Include mbedtls/platform.h
My version of mbedtls seems to require this -- otherwise, it doesn't compile.
2016-09-04 10:44:22 -07:00
Scott Mansell f5fa5a7d32 Merge pull request #4168 from EmptyChaos/coretiming-cleanup
Core: CoreTiming Cleanup (Add UnitTests)
2016-09-04 11:48:54 +12:00
Mat M 0f359000c5 Merge pull request #4166 from lioncash/emitter-func
x64Emitter: Generify ABI_CallFunction variants
2016-09-03 07:26:34 -04:00
EmptyChaos 9d8f373016 VideoSoftware: Don't Init the PixelEngine twice
PixelEngine is initialized by InitializeShared()
2016-09-03 15:12:41 +10:00
EmptyChaos 3a85aa9817 EXI_DeviceMemoryCard: Use CoreTiming/DoState correctly
CoreTiming gets restored before ExpansionInterface so CoreTiming
events need to already be registered before the save state loading
begins. This means that the callbacks must be registered
unconditionally instead of on-demand.
2016-09-03 14:55:45 +10:00
EmptyChaos fb5537213a CoreTiming: Document initial startup behavior
Events don't update the downcount until after the first Advance(),
thus Advance() must be called once before scheduling works normally.
2016-09-03 14:55:45 +10:00
EmptyChaos 59465911d7 CoreTiming: Fix scheduling into the past
ForceExceptionCheck messes up the downcount and slice length if the
callback is scheduled into the past (g_slice_length becomes negative)
2016-09-03 14:55:44 +10:00
EmptyChaos aa16282516 Core: Change CoreTiming event key from int to EventType*
Replace 'int' keys with something that carries type information.
Performance is neutral.
2016-09-03 14:55:44 +10:00
EmptyChaos f15e4fb35e WII_IPC: Fix reregistering CoreTiming callback multiple times.
Separate state reset from Init().
2016-09-03 14:55:43 +10:00
Scott Mansell a32bb8f1b9 Movie: Fix null pointer derefrence.
Part of the acceleration data is packed in with the buttons. We
always have button data when we have acceleration data.
2016-09-03 16:46:48 +12:00
EmptyChaos 17c34ae0b1 CoreTiming: Data structure cleanup
Replace adhoc linked list with a priority heap. Performance
characteristics are mostly the same, but is more cache friendly.

[Priority Queues have O(log n) push/pop compared to the linked
list's O(n) push/O(1) pop but the queue is not big enough for
that to matter, so linear is faster over linked. Very slight gains
when framelimit is unlimited (Wind Waker), 1900% -> 1950%]
2016-09-03 12:46:14 +10:00
EmptyChaos b88b188819 CoreTiming: Cleanup naming conventions 2016-09-03 12:46:14 +10:00
Markus Wick da82389347 Merge pull request #4172 from phire/software_fog_error
VideoSoftware: Fix unsigned overflow bug in fog
2016-09-02 09:53:44 +02:00
Scott Mansell 0e7424b359 VideoSoftware: Fix unsigned overflow bug in fog
Was causing fog errors on the left half of the screen.

Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
Jules Blok d072d6d336 Merge pull request #4170 from Armada651/float-abs
VertexShaderManager: Explicitly use floating-point variant of abs.
2016-09-01 19:03:03 +02:00
Jules Blok 9fb6f93ca1 PixelEngine: Add missing static specifier for `s_token_finish_mutex`. 2016-09-01 17:28:48 +02:00
Jules Blok 376cadb862 VertexShaderManager: Explicitly use floating-point variant of abs.
Some compilers don't have an automatic abs() overload for floats.
Doesn't really matter if they use the integer variant here, but
it's better to be explicit about the fact that we're using floats.
2016-09-01 17:23:07 +02:00
Jules Blok 73b05b339b DVDInterface: Remove unused Triforce buffer. 2016-09-01 17:15:43 +02:00
Jules Blok 50984d85b0 Merge pull request #4164 from Armada651/sonic-clipping
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
2016-09-01 15:28:09 +02:00
EmptyChaos e0d4dc6fed VertexShaderGen: Fix D3D X3014 compile error
float2 requires 2 parameters in HLSL apparently.
2016-09-01 14:43:19 +10:00
Lioncash 13506d3c12 x64Emitter: Generify ABI_CallFunction variants
Gets rid of the need to cast to void* just to use the functions.
2016-08-31 22:54:47 -04:00
Jules Blok 15a009706d Merge pull request #4143 from Pringo/capitalize
Fix Graphics Settings Capitalization
2016-09-01 03:21:24 +02:00
Jules Blok 2ab9e5e610 Merge pull request #4165 from lioncash/global
Backends: Remove unnecessary references to the renderer global
2016-09-01 03:20:31 +02:00
Jules Blok debaf63fe8 VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
In the vertex shader we have control over the depth clipping planes,
so we don't have to offset every floating point value and lose accuracy.
2016-09-01 01:14:14 +02:00
Lioncash ec7114a658 OGL: Remove unnecessary renderer global references 2016-08-31 14:19:56 -04:00
Lioncash 168e145fae D3D: Remove unnecessary renderer global references 2016-08-31 14:17:22 -04:00
Lioncash 9e26ef4aa8 D3D12: Remove unnecessary renderer global references 2016-08-31 14:14:51 -04:00
Preston Smith 94cbe0c12a Comments 2016-08-31 06:40:50 -05:00
Preston Smith e6ccd0729f Revert postMat movement 2016-08-31 02:14:51 -05:00
EmptyChaos 9842cef13f GameListCtrl: Reimplement Custom Paint to remove column lines.
This leaves system themes enabled and instead just repaints the
list view background to eliminate the column ruler lines.
2016-08-31 14:32:39 +10:00
EmptyChaos 50756d69c0 WX: Various fixes.
Dolphin no longer lowers itself below the top window when opening.
Dolphin no longer draws garbage lines all over the game list.

Use the correct platform macros so Dolphin can actually find the
translation catalogs on Unix.
2016-08-31 14:32:39 +10:00
EmptyChaos cf0b4c9387 ISOProperties: Add notification when Cheats are disabled.
If the user enables a cheat while cheats are globally disabled then
display a notice about it. Issue 9690.
2016-08-31 14:32:12 +10:00
EmptyChaos 00a4404045 CheatManager/ISOProperties: Refactor ActionReplay tabs as a class
Refactor Action Replay code into its own class like Gecko Codes.
2016-08-31 14:32:12 +10:00
Preston Smith 89b1d613cc Remove else in software renderer 2016-08-30 18:33:27 -05:00
Preston Smith e0a1ab9027 lint fix 2016-08-30 18:33:26 -05:00
Preston Smith 8f69de51ca inputform ABC1's q value is defaulting to 0
This is causing the 0 divide case to run when source row is using tex0-7 and inputform is ABC1.
2016-08-30 18:33:25 -05:00
Preston Smith 767f56d7c8 Software renderer fix 2016-08-30 18:33:24 -05:00
Preston Smith 5a6b876dbd Hardware renderer fix 2016-08-30 18:33:23 -05:00
Jules Blok 92920c4005 TextureCacheBase: Address 0x0 is valid, don't you dare ignore it. 2016-08-30 16:45:49 +02:00
Sepalani 53b64435ae Map: Prevents symbols from being stripped 2016-08-30 17:59:49 +04:00
Scott Mansell efac0cf8fe Merge pull request #4156 from phire/interlaced_panic
VideoInterface: Fix panic alert on interlaced fields.
2016-08-29 23:10:55 +12:00
Scott Mansell c4786ad70e Merge pull request #4151 from phire/fix_lswx
Fix bug in interpreter's lswx. Was overwriting extra register.
2016-08-29 23:10:23 +12:00
Scott Mansell 17e64b75a5 VideoInterface: Fix panic alert on interlaced fields.
For some reason this was only showing up in video software.

Not sure why.
2016-08-29 23:08:23 +12:00
Scott Mansell fc2b0e0f45 Simplify lswx loop. 2016-08-29 22:57:37 +12:00
Scott Mansell fc969388f0 Merge pull request #4152 from aldelaro5/debugger-font-fix
Fix the Debugger font not appearing on the captions of panes
2016-08-29 11:17:59 +12:00
Tim Maile 3266bf052a Toggle and Switches for upward/sideway WiimoteEmu 2016-08-28 12:47:24 +02:00
aldelaro5 cd515911c0 Fix the user font not appearing on the captions of panes
Both those in the code window and the ones that appears when the user select edit perpective.  The one that isn't fixed by this is in edit perspective mode, when the user drags a panel out and it becomes a floating window.
2016-08-27 21:29:03 -04:00
Scott Mansell 967c371d7a Zero case behaviour confirmed by hardware test
Modify comments to reflect this
2016-08-28 09:48:29 +12:00
Scott Mansell ab3eedcc33 While I'm here, stswx should wrap too. 2016-08-27 14:15:43 +12:00
Scott Mansell 5b47635b3f Fix bug in interpreter's lswx. Was overwriting extra register.
When n was a multiple of 4, the old implementation would overwrite
the following register with 0.

This was causing Not64 to crash.

Thanks to Extrems for spotting this.
2016-08-27 14:15:42 +12:00
Chris Burgener df0f7657d0 Fix frame dump issues where frame dumping stops before next drawn frame 2016-08-24 13:00:25 -04:00
Jules Blok 35a270d2a8 TextureConversionShader: Don't use the float specifier in shader code. 2016-08-24 17:42:32 +02:00
Scott Mansell 0fbf72cbf1 Merge pull request #4140 from Armada651/ww-depth
D3D: Correctly invert the viewport depth range.
2016-08-24 02:28:53 +12:00
Jules Blok f7987017a0 PixelShaderManager: Use signed integers for the depth range parameters. 2016-08-23 15:54:05 +02:00
Jules Blok a8a9348913 OGL: Handle cases where reversed depth is already used. 2016-08-23 15:54:04 +02:00
Scott Mansell 92f165d756 Merge pull request #4144 from aldelaro5/debugger-insertInstruction-fix
Invalidate the icache when inserting a nop or a BLR
2016-08-24 00:22:24 +12:00
aldelaro5 cc7aa73081 Invalidate the icache when inserting a nop or BLR
Also schedule an event to invalidate it if the emu thread is running.
2016-08-23 07:37:54 -04:00
aldelaro5 47d1b07abb Add a thread safe variant of invalidating the icache
This is used by the next commit.
2016-08-23 07:37:41 -04:00
Jules Blok 65472260d8 D3D: Correctly invert the viewport depth range. 2016-08-23 09:57:11 +02:00
Markus Wick 52af0770c3 Merge pull request #4141 from lioncash/vtx
VertexManagerBase: Get rid of static state
2016-08-23 07:33:25 +02:00
Pringo 9446a2550b Fix Graphics Settings Capitalization 2016-08-22 21:25:54 -07:00
mbc07 8fa687eab4 Implement /dev/usb/ven with very basic functionality (based on the old wiispeak branch) 2016-08-23 00:23:19 -04:00
Lioncash 2bf05a544d VertexManager: Correct variable naming scheme
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Markus Wick 8d186a468f Merge pull request #4136 from Helios747/custom_textures_hotkey
[Hotkey] Added custom textures toggle
2016-08-22 16:59:01 +02:00
Markus Wick 8177eddd68 Merge pull request #4125 from leoetlino/fix-iterate-crash
InputConfigDiag: Fix a segfault caused by missing check
2016-08-22 16:58:14 +02:00
Markus Wick 09b955fbdd Merge pull request #4133 from lioncash/hle
HLE_OS: Return string from GetStringVA by value
2016-08-22 16:53:53 +02:00
Markus Wick 10d20d47aa Merge pull request #4132 from lioncash/enum-fifo
Fifo: Make SyncGPUReason an enum class
2016-08-22 16:49:40 +02:00
Markus Wick 3156e8590b Merge pull request #4122 from EmptyChaos/tas-sticky
TASInputDlg: Fix inputs "sticking" after closing (Issue 9748)
2016-08-22 16:27:24 +02:00
Lioncash 1392efa91d VertexManagerBase: Get rid of static behavior 2016-08-21 23:30:38 -04:00
Chris Burgener a3eb9082fc Fix issues with Custom RTC when set past the year 2038 2016-08-21 13:33:01 -04:00
JosJuice 9f6000bb27 Move code into Movie::SignalDiscChange
DVDInterface shouldn't need to know anything about
the DTM format's 40-character limitation.

Also replacing "filename" in variable names with "path"
to make it clearer which variables contain the whole path
and which ones only contain the filename.
2016-08-21 12:51:14 +02:00
aldelaro5 a39e331aad Schedule an event to clear the jit cache when adding the first and last
memory check

Also fix an oddity in the case when the last memory check is deleted,
the jit cache was supposed to be cleared in that case, but it was out of
the for loop that finds the one to delete so it was never run.
Naturally, the same fix for the adding the first memory check was
applied.
2016-08-21 00:57:35 -04:00
aldelaro5 0480ca48fb Add a thread safe variant of clearing the jit cache 2016-08-21 00:57:34 -04:00
Anthony Serna 9e40fa2657 [Hotkey] Added custom textures toggle 2016-08-19 23:14:56 -05:00
Scott Mansell f1964f90d6 Merge pull request #4129 from RisingFog/hahahahahahahahahaha
Fix a really stupid GLSL version parsing bug
2016-08-20 08:48:28 +12:00
Chris Burgener da0204a85c Fix a really stupid GLSL version parsing bug 2016-08-19 08:53:27 -04:00
JosJuice 31c530c7b3 Merge pull request #3386 from lioncash/memory
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
Lioncash e0c9c9b3ca HLE_OS: Return string from GetStringVA by value
No real point to using an out parameter for something like this.
2016-08-19 00:31:54 -04:00
Lioncash 5635d4b709 Fifo: Make SyncGPUReason an enum class 2016-08-18 22:35:58 -04:00
Jules Blok e86d7cbc99 OGL: Workaround gl_ClipDistance bug on Mesa i965. 2016-08-18 01:08:39 +02:00
Jules Blok 7078216b61 Improve documentation. 2016-08-16 21:09:58 +02:00
Julian Löhr 34385760c6 Move FifoPlayer 'Close' button to the right side of the dialog 2016-08-16 12:28:50 +02:00
Julian Löhr 41e64cfdfc Change the Wii U GC Adapter Dialog button from 'OK' to 'Close' 2016-08-16 12:28:49 +02:00
Julian Löhr 124772cfe0 Rename and reorder Members and Methods for name consistencies; Replace 'OK' and 'Cancel' buttons with single 'Close'; Remove the 'revert' for Wiimote Sources
The 'revert' functionality is some very old left-over and isn't even working properly (read: could break Wiimote mapping). As no dialog features any cancel and revert functionality it is removed.
2016-08-16 12:28:48 +02:00
Julian Löhr 1951df97db Change Input Config Dialogs to have only one 'Close' button 2016-08-16 11:21:56 +02:00
Julian Löhr 5608815cc8 Change Main Dialog Ok Button to Close 2016-08-16 02:25:49 +02:00
aldelaro5 7ad1f340df Fix the pause/play toolbar button not updating when reaching a breakpoint or a memory check 2016-08-15 14:08:19 -04:00
Jules Blok 8c1c7fc2da Cosmetics. 2016-08-15 13:11:30 +02:00
Jules Blok 959d1879e5 VertexShaderGen: Fix far clipping.
We should only check whether z > 0, we don't care about w.
2016-08-15 13:11:29 +02:00
Jules Blok afa251af42 DriverDetails: Add bug for broken gl_ClipDistance on i965. 2016-08-15 13:11:28 +02:00
Jules Blok 94927f360f VideoCommon: Add a user-defined far clipping plane. 2016-08-15 13:11:28 +02:00
Jules Blok 6e2052fae6 OGL: Disable clip distance on when not in a game-like state. 2016-08-15 13:11:27 +02:00
Jules Blok 9596ec8971 GeometryShaderGen: Pass-through clipping distance. 2016-08-15 13:11:27 +02:00
Jules Blok a141e91dd2 OGL: Check for GL_DEPTH_CLAMP support.
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.

Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok 4582853af4 VertexShaderGen: Use reversed depth range. 2016-08-15 13:11:26 +02:00
Jules Blok e9e81ece65 VideoBackends: Enable depth clamping. 2016-08-15 13:11:25 +02:00
Jules Blok b1ed7e80fb VertexShaderGen: Clip z using user-defined clipping planes. 2016-08-15 13:11:25 +02:00
Jules Blok 159247f4ad VertexShaderGen: Clamp to the console depth range.
This fixes the Mii Channel among others.
2016-08-15 13:11:24 +02:00
Jules Blok 92aa7669b5 VertexShaderManager: Use a more accurate depth range.
This fixes the gxtest_depth hwtest.
2016-08-15 13:11:24 +02:00
Jules Blok c223bd47b9 VideoCommon: Implement depth range equation in vertex shader. 2016-08-15 13:11:23 +02:00
hthh 789975e350 Jit: FIFO optimization improvements
This introduces speculative constants, allowing FIFO writes to be
optimized in more places.

It also clarifies the guarantees of the FIFO optimization, changing
the location of some of the checks and potentially avoiding redundant
checks.
2016-08-15 20:09:52 +10:00
Léo Lam b59e919919 InputConfigDiag: Fix a segfault caused by missing check
The original code assumed that we would always find a button in
control_buttons. However, this is incorrect, since the iterator can and
will be control_buttons.end() if the button that triggered the iterate
code is not in control_buttons, which happens when it's in an
exclude list.
2016-08-15 11:31:14 +02:00
Scott Mansell 0015d2e86b Merge pull request #4121 from leoetlino/osreport-sjis
Convert OSREPORT text from SJIS to UTF-8
2016-08-15 16:04:07 +12:00
mimimi085181 111182d9a3 Wiimote netplay: Check the reporting mode instead of the size 2016-08-14 19:25:00 +02:00
EmptyChaos e5e126c2eb TASInputDlg: Fix inputs "sticking" after closing 2016-08-14 05:13:33 +10:00
Léo Lam c0be228c71 Convert OSREPORT text from SJIS to UTF-8
I'm not sure this is the correct fix, but it looks like OSREPORT output
is Shift-JIS, so we need to convert it to UTF-8. Most characters work
fine without and with this conversion, but Japanese text completely
fails and results in outputting invalid UTF-8 (which gets shown as �).
2016-08-13 17:19:21 +02:00
Mateus B. Cassiano 4b339e60aa Drop ThemeName40, GCMPathes and RecursiveGCMPaths INI hacks from 4.0-era 2016-08-12 16:54:50 -04:00
JosJuice f63461175c DolphinWX: Loose language matching in interface config 2016-08-12 15:29:34 +02:00
JosJuice ed9007cab7 Save GUI language as string instead of wxLanguage enum
When 5.0-211 updated wxWidgets to 3.1.0, some entries in the
wxLanguage enum were moved and added, changing the wxLanguage
values. Because we save Dolphin's interface language to disk
as a wxLanguage, the language you have set will mean something
different depending on whether you have the updated wx version
or not. For instance, setting the language to English with the
updated version and then using an older version will make
Dolphin use Dutch. Because we can't rely on the enum anymore,
I'm replacing the "Language" setting with a "LanguageCode"
setting that uses standard ISO 639 codes.
2016-08-12 14:52:01 +02:00
hthh d841d9c7b3 JitArm64: Check the FIFO on EIEIO instructions
Copied from the Jit64 version
2016-08-12 21:09:15 +10:00
hthh bbc0f0c744 Jit: Check the FIFO on EIEIO instructions
The gather pipe optimization postpones checking the FIFO until the end
of the current block (or 32 bytes have been written). This is usually
safe, but is not correct across EIEIO instructions.

This is inferred from a block in NBA2K11 which synchronizes the FIFO
by writing a byte to it, executing eieio, and checking if PI_FIFO_WPTR
has changed. This is not currently an issue, but will become an issue
if the gather pipe optimization is applied to more stores.
2016-08-12 21:03:41 +10:00
aldelaro5 5358e898c6 Fix the breakpoint list not updating after adding a memory check via the memory view.
Add the CCodeWindow to the constructor of the memoryWindow so it can call the notify update of the breakpoint list.

Add the case of breakpoint update when receiving an event (the update command was issued, but wasn't managed before).

Run clang format and renamed the code window names.
2016-08-11 15:38:17 -04:00
Léo Lam c1184957a5 Run clang-format on missed files
`clang-format`s files that lint missed because of the bug. Fortunately,
not much.
2016-08-11 21:14:39 +02:00
Pierre Bourdon cef71afc27 Merge pull request #3987 from JosJuice/scheduleevent-cleanup
CoreTiming: ScheduleEvent cleanup
2016-08-11 16:18:14 +02:00
Pierre Bourdon c6fed0565d Merge pull request #4109 from JosJuice/remove-am-baseboard
Remove AM Baseboard
2016-08-11 16:16:23 +02:00
JosJuice 3bb0e7e3f5 Remove AM Baseboard
Let's stop pretending that we support Triforce emulation.
Keeping this code around just in case someone will make
major improvements in the future isn't really worth it.

I'm keeping the Triforce game INIs so users will know that
the compatibility rating for Triforce games is 1 star (broken).
2016-08-11 12:53:44 +02:00
JosJuice 3443a10030 CoreTiming: Merge ScheduleEvent variants into one function
Now Core::IsCPUThread() only gets called once when using the AnyThread
variant. Also, I think the enum approach makes calling code clearer.
2016-08-11 12:45:57 +02:00
Markus Wick 5697032ec7 Merge pull request #4103 from degasus/dynamic-bat
JitArm64: Fix two issues.
2016-08-11 12:42:02 +02:00
Scott Mansell 088f7eaa3d Merge pull request #4110 from JosJuice/fix-exi-translations
Fix choosing certain localized EXI devices
2016-08-11 12:39:36 +12:00
Scott Mansell e577ffaee5 Merge pull request #4107 from JosJuice/no-immediate-scheduleevent
Remove Immediate variants of ScheduleEvent
2016-08-11 12:13:49 +12:00
EmptyChaos 17e4bd9575 InputCommon: Fix slow startup on some Windows systems
Rewrite GetXInputGUIDS to use SetupAPI instead of WMI Queries. When
using a language pack where the system language and user/program
language differ, Windows starts taking a VERY long time (10+ seconds)
to complete Queries for Win32_PNPEntity objects (it's probably
translating every single string since it transfers every single one
from the WMI server into memory in the program).

Fixes Issue 9744.
2016-08-11 09:30:36 +10:00
JosJuice c9fa6318a2 Fix choosing certain localized EXI devices 2016-08-10 20:04:33 +02:00
JosJuice ccc4e6de02 DolphinWX: Don't translate OSD messages
OSD messages other than these one and a half aren't translated,
and OSD only supports ASCII. (Also, that "Wiimote %i %s" uses %s
like it does is bad for translation, but that's easy to fix.)
2016-08-10 18:18:25 +02:00
Mat M 8552ff5789 Merge pull request #4106 from RisingFog/dtm_gc_language
Add Gamecube Language to DTM Header
2016-08-10 12:16:20 -04:00
JosJuice b8e04c9513 Replace some unnamed tick constants with GetTicksPerSecond()
These operations should always take the same amount of time,
not the same amount of ticks. The number of ticks per second
is different for GameCube and Wii.
2016-08-10 17:34:23 +02:00
JosJuice 47c8bb26f8 Remove Immediate variants of ScheduleEvent
Usage of these are replaced with regular equivalents in order
to avoid executing event handlers in the middle of JIT blocks.
2016-08-10 16:34:06 +02:00
Léo Lam dca22e08eb Use Common::Flag and Common::Event when possible
Replaces old and simple usages of std::atomic<bool> with Common::Flag
(which was introduced after the initial usage), so it's clear that
the variable is a flag and because Common::Flag is well tested.

This also replaces the ready logic in WiimoteReal with Common::Event
since it was basically just unnecessarily reimplementing Common::Event.
2016-08-10 16:08:15 +02:00
Stenzek bce8097712 D3D11: Support texture dumping of non-zero mipmap levels 2016-08-10 23:45:25 +10:00
Markus Wick cb2b110d42 Merge pull request #4097 from lioncash/sysconf
SysConf: Minor simplifications to initial generating
2016-08-10 14:41:35 +02:00
Markus Wick b075d18d2e Merge pull request #4096 from lioncash/codeblock-init
CodeBlock: In-class initialize variables
2016-08-10 14:39:51 +02:00
degasus 82bdc4ef86 PixelEngine: Delay token updates by events.
To still get a speedup, mark if already an event is queued.
If so, don't raise a new event.
2016-08-10 13:24:57 +02:00
degasus a051db9792 PixelEngine: Cleanup PE Token.
This also affects the behavior a bit, it should now fit better to the one of the commonly more used PE Finish flag.
2016-08-10 10:07:53 +02:00
degasus 367e1b4d4c PixelEngine: Drop write-only variables. 2016-08-10 10:07:53 +02:00
Chris Burgener 84731456fa Add Gamecube Language to DTM Header 2016-08-09 23:02:31 -04:00
Michael Maltese 0f5951e324 And pull KeycodeToName into its own function 2016-08-09 19:59:45 -07:00
Michael Maltese d1594f9529 use a std::map instead of running through the AOS 2016-08-09 19:54:59 -07:00
Michael Maltese a5cc054bd1 use std::to_string instead of sstream 2016-08-09 17:45:41 -07:00
Michael Maltese 6097d30288 clang-format and cleaning up Key::GetName 2016-08-09 17:23:30 -07:00
Michael Maltese 3889e4d4b2 style fixes 2016-08-09 15:52:02 -07:00
Markus Wick 7e3c04f069 Merge pull request #4076 from RisingFog/fix_sram_rtc_offset
Fix improper SRAM RTC offset
2016-08-08 23:10:33 +02:00
degasus 447b23e09a JitArm64: Load memory base based on MSR.DR. 2016-08-08 20:19:57 +02:00
degasus 77cfd0d4fd JitArm64: Fix rfi 2016-08-08 20:19:57 +02:00
Calvin Cochran ba45a5999f clean up bounds checking for SIDEVICE_ENUM 2016-08-08 12:33:08 -05:00
Michael Maltese 3dc8136e14 Add Quartz/CoreGraphics controller interface for default k&m events 2016-08-08 09:38:22 -07:00
Lioncash fbc0aaf796 MemoryUtil: Remove unimplemented/unused functions
GuardMemoryMake/GuardMemoryUnmake are unimplemented prototypes.
GetPageSize is an unused function.
2016-08-07 13:04:05 -04:00
Lioncash e01c143379 Common: namespace MemoryUtil 2016-08-07 13:03:07 -04:00
Rohit Nirmal cbec38e775 Fix building with PCH disabled. 2016-08-07 01:18:59 -05:00
Lioncash 08bc19bf51 SysConf: Use range-based for loops in sysconf generation
Same thing, nicer looking
2016-08-06 16:22:42 -04:00
Lioncash 58b871e05c SysConf: Simplify entry generation
Just use a vector and move it instead of manually pushing them one-by-one.
2016-08-06 16:10:48 -04:00
Lioncash 18210a65ce CodeBlock: In-class initialize variables 2016-08-06 13:20:38 -04:00
degasus 85affe995e JitCache: Do not use block 0.
This ID is reserved for invalid blocks. So this block can't be invalidated.
2016-08-06 14:16:13 +02:00
degasus 814f29b25b JitCache: Implement block unlinking. 2016-08-06 11:41:39 +02:00
magumagu ba39a0b3b4 Add ISI logging to interpreter. 2016-08-06 11:41:39 +02:00
magumagu ca511640a5 Add support for DSI exceptions to CachedInterpreter.
Should be straightforward.  Maybe useful for the purpose of testing.
2016-08-06 11:41:39 +02:00
magumagu 758e6406cd JIT: fix handling of PC in dispatcher/block cache.
Specifically, don't make any assumptions about what effective addresses
are used for code, and correctly handle changes to MSR.DR/MSR.IR.

(Split off from dynamic-bat.)
2016-08-06 11:41:39 +02:00
Mat M fa5a2474f4 Merge pull request #4088 from RisingFog/remove_globals_movie
Remove Global Declarations from Movie
2016-08-05 10:42:58 -04:00
Dan Beste 25c77babeb Remove curl version check / include curl.h
This should help prevent breakage when the curl.h header is changed.

As far as I can tell this only increases the compile time by a hair, but prevents needing to create a PR every time curl.h gets updated. Alternatively I'm experimenting with CURL_STRICTER defined per a conversion with booto:

>booto | krakn: try having CURL_STRICTER defined for the build?

Credit goes to: flacs for the suggestion to include curl.h

Fix include
2016-08-04 22:39:45 -05:00
Lioncash e2f1b85cf4 NetWindow: Add missing override specifier 2016-08-04 16:19:01 -04:00
Chris Burgener 222c4ba077 Remove Global Declarations from Movie 2016-08-04 15:24:44 -04:00
Chris Burgener 2bdc3ee777 Remove Global Declarations from Frame 2016-08-04 15:05:31 -04:00
Lioncash 8b84ac2f6b NetPlayClient: Remove another duplicate inclusion
I'm blind apparently, btw
2016-08-04 10:55:39 -04:00
Lioncash ca7816acae NetPlayClient: Remove duplicate header inclusion 2016-08-04 10:50:33 -04:00
JDV 7e535b2855 Make Dolphin remember the NetPlay window size/position
The default size might be too big for some screens. This allows
the user to modify the window as they see fit and has Dolphin
remember those settings. People who are happy with the default
size and position will not be affected
2016-08-03 16:10:20 -06:00
Léo Lam cbb77532c6 Tools: Fix lint by removing unneeded awk
git diff --name-only already took care of only returning the name, so
the awk is unneeded and makes it return only empty file names.

Facepalm, I know. Sorry for this oversight.

(Also fixes something that lint didn't catch because of this)
2016-08-02 22:00:41 +02:00
Lioncash 041f4f5eea GCAdapter: Return input state by value 2016-08-01 21:27:51 -04:00
Lioncash 2be2b2a4f1 GCKeyboard: Return input state by value 2016-08-01 20:58:04 -04:00
Lioncash ee43820282 GCPad: Return input state by value 2016-08-01 20:49:30 -04:00
comex c51faa41f5 Don't use the fast path when there are watchpoints enabled, for writes too.
Also fold the check in both functionss into 'slowmem' rather than having
a separate test.  (jo.alwaysUseMemFuncs implies jo.memcheck anyway, as
makes sense.)
2016-08-01 20:40:00 -04:00
Chris Burgener 28039b3d8b Fix improper SRAM RTC offset 2016-08-01 19:41:33 -04:00
Lioncash 8b5e94a102 FifoPlayer: const correctness 2016-08-01 18:33:46 -04:00
Lioncash 128d762aea AudioCommon: const correctness 2016-07-31 19:14:20 -04:00
Pierre Bourdon d078c6cb35 Merge pull request #4073 from amaiorano/fix-d3d-debugobjectname
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rat…
2016-08-01 00:38:02 +02:00
Pierre Bourdon 007df77fba Merge pull request #4074 from lioncash/soundstream
AudioCommon: Make the SoundStream global a unique_ptr
2016-08-01 00:37:48 +02:00
Pierre Bourdon 2c0364d95c Merge pull request #4058 from Aestek/fix/netplay-gui-freeze
NetPlay: Fix GUI freeze
2016-08-01 00:36:49 +02:00
Pierre Bourdon 04bf2d612c Merge pull request #4066 from Martchus/master
Fix typedef for CURL
2016-08-01 00:35:42 +02:00
Lioncash ecc1710676 AudioCommon: Make the SoundStream global a unique_ptr 2016-07-31 15:45:28 -04:00
Pierre Bourdon 18a669abcc Merge pull request #4067 from leoetlino/no-device
InputConfigDiag: Don't prevent closing dialog if device not found
2016-07-31 17:25:40 +02:00
amaiorano 2030a5e1b8 Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rather than the depth_read_texture (probably a copy paste error) 2016-07-31 10:48:09 -04:00
Pierre Bourdon bfa42a3f15 Merge pull request #4071 from lioncash/constant
DSP: Make DSP_CONTROL_MASK a concrete constant
2016-07-31 16:43:41 +02:00
Markus Wick a6834dc2cc Merge pull request #4070 from lioncash/const
SI_DeviceGBA: const correctness
2016-07-31 11:14:46 +02:00
Markus Wick ad1c5a8e2e Merge pull request #4054 from leoetlino/wiimote-scanner
WiimoteReal: Change the scanner to support several backends
2016-07-31 10:39:13 +02:00
Markus Wick e281273cd7 Merge pull request #4047 from lioncash/enum-fwd
VideoCommon: Make API_TYPE an enum class
2016-07-31 10:38:42 +02:00
Lioncash 9e6bb68a64 DSP: Make DSP_CONTROL_MASK a concrete constant 2016-07-30 18:55:45 -04:00
Lioncash 462ba0c742 SI_DeviceGBA: const correctness 2016-07-30 13:30:20 -04:00
Léo Lam 77fab5940c InputConfigDiag: Don't prevent closing dialog if device not found
There is no reason to prevent the user from closing the config dialog
if the device is not found. It's not very good UX…

Also fixes ExpressionParser to return NO_DEVICE if the device doesn't
exist instead of SUCCESS.
2016-07-30 10:00:55 +02:00
Lioncash 14e0b48ae4 VideoCommon: Make API_TYPE an enum class
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
Martchus 0157b72bbc Fix typedef for CURL 2016-07-29 19:34:34 +02:00
JDV fcf4589aa3 Make it so comments don't take up gecko space
Unlike notes, we want comments to be completely ignored
2016-07-29 11:20:35 -06:00
Pierre Bourdon e0cbb9d1ae Merge pull request #3890 from leoetlino/evdev-hotplug
evdev: Add hotplug support
2016-07-29 17:43:49 +02:00
Léo Lam 135641404a evdev: Add hotplugging support
This adds hotplugging support to the evdev input backend. We use
libudev to monitor changes to input devices in a separate thread.
Removed devices are removed from the devices list, and new devices
are added to the list.

The effect is that controllers are usable immediately after plugging
them without having to manually refresh devices (if they were
configured to be used, of course).
2016-07-29 17:18:40 +02:00
Léo Lam 3926db624d ControllerInterface: Don't block on UpdateInput()
Changes UpdateInput() to skip if we can't lock the mutex, instead of
potentially blocking the CPU thread and causing a short but noticeable
frame drop.
2016-07-29 17:18:40 +02:00
Léo Lam 93f5df4195 ControllerInterface: Add RemoveDevice()
This adds RemoveDevice() to ControllerInterface, fixes ExpressionParser
and some other code to support device removals without crashing,
and adds an IsValid() method to Device, to prepare for hotplugging.
2016-07-29 17:18:37 +02:00
Léo Lam 0d783f0869 ControllerInterface: Add a way to register callbacks
This adds RegisterHotplugCallback() to register a callback which will
be invoked by the input backends' hotplug threads when there is a new
device, so that Core (GCKeyboard, GCPad, Wiimote, Hotkey) can reload
the configuration without adding a dependency to Core from InputCommon.
2016-07-29 17:16:22 +02:00
Aestek 0aa6e20685 Allow to change Wii sd card path in config pane
Add a setting in the "Paths" config pane to select which file should be
used as wii sd card.
2016-07-29 15:03:01 +02:00
Léo Lam d2976086b6 WiimoteReal: Remove unsafe static_cast in IOLinux
Since we now support different scanner sources, g_wiimotes is not
guaranteed to only contain WiimoteLinux anymore.
This replaces the previous "already connected" check with one that
doesn't use g_wiimotes.
2016-07-27 14:20:26 +02:00
Scott Mansell 6834b4cb27 Revert "JitCache: Support for VMEM + MSR bits" 2016-07-27 11:15:25 +12:00
Aestek d906462dee Do not pause emulation when confirming stop when using NetPlay
Pausing emulation requires to access the CPU thread, which might be blocked
waiting for inputs by netplay. Accessing it in this state would cause the
whole GUI to hang for set timeout (10s).
2016-07-26 21:34:35 +02:00
Aestek 1760b3bdad Rewrite NetPlayClient input wait logic to use std::condition_variable's
Instead of sleeping in NetPlayClient::GetNetPads and NetPlayClient::WiimoteUpdate,
now use std::condition_variable. This allows for finer control over these blocking
areas.
2016-07-26 21:34:35 +02:00
Pierre Bourdon d7de39ebbe Merge pull request #3588 from Aestek/feature/improve-netplay-dialog
Improve netplay UX
2016-07-26 02:12:22 +02:00
Léo Lam 9c02e327b7 WiimoteReal: Split WiimoteScannerDarwin
This moves out the HID code into a separate scanner.
2016-07-26 00:45:25 +02:00
Léo Lam 3305a923e1 WiimoteReal: Rename IONix to IOLinux
IONix.cpp really isn't for Unix, as the name would imply, but only
for Linux, so there is no reason to name it IONix.
2016-07-26 00:45:25 +02:00
Léo Lam 9455e2bca4 WiimoteReal: Change the scanner to support several backends
This makes WiimoteScanner support several scanner backends.

This adds a WiimoteScannerBackend base class, which scanner backends
derive from, and which allows backend-specific things to be moved out
of the common code.

Also removes IODummy which is not needed anymore.
2016-07-26 00:45:24 +02:00
Pierre Bourdon c6924b4d03 Merge pull request #4036 from RisingFog/rtc_osd
Display RTC on OSD
2016-07-25 15:36:03 +02:00
Pierre Bourdon 7a8ca99cda Merge pull request #4053 from codl/fix-upnp
Fix bogus UPnP requests
2016-07-24 13:06:12 +02:00
Pringo f89d5c9a20 Update Menu Ellipses Usage 2016-07-23 13:15:34 -07:00
JDV 67eb814320 Fixes focus not being set on gamelist after tab change
Once a tab is selected the focus can be set directly from the page
changed event. However once the tab was shown, the first tab order
control element was given the focus by default. This was fixed by
delaying the action and setting the focus after the default focus
had been assigned.
2016-07-23 20:58:51 +02:00
JDV 2ba4b22e88 Standardizes constant use 2016-07-23 20:58:51 +02:00
Aestek 6a0fc4c438 Improve netplay setup dialog UX
* Focus "Hash Code" / "IP address" text box by default in "Connect"
* Focus game list in "Host" tab
* RETURN keypress now host/join depending on selected tab
* Remember last hosted game
* Remove PanicAlertT:
	* Simply log message to netplay window
	* Remove them when they are useless
* Show some netplay message in OSD
	* Chat messages
	* Pad buffer changes
	* Desync alerts
* Stop the game consistently when another player disconnects / crashes
* Prettify chat textbox
* Log netplay ping to OSD

Join scenario:
* Copy netplay code
* Open netplay
* Paste code
* Press enter

Host scenario:
* Open netplay
* Go to host tab
* Press enter
2016-07-23 20:58:51 +02:00
Anthony Serna aa34e5e20e Merge pull request #4042 from leoetlino/where-did-the-panicalert-go
Don't pipe PanicAlerts to netplay window if it isn't opened
2016-07-23 13:57:39 -05:00
codl 9a01ced032
Fix bogus UPnP requests
UPNP_AddPortMapping needs our IP address, however enet_address_get_host
will return 0.0.0.0 or a host name in most cases.

This gets our IP address from the socket to the IGD.
2016-07-23 20:04:07 +02:00
Pierre Bourdon 78b68b707f Merge pull request #4052 from leoetlino/wiimote-reconnect
Fix Wiimotes not reconnecting on button press
2016-07-23 11:41:01 +02:00
Léo Lam 7c3a3ce46d Fix Wiimotes not reconnecting on button press
5.0-56 broke reconnecting a Wiimote on button press; this is because
data reporting was now always stopped for real Wii remotes on
disconnect, making it impossible to know a button was pressed in the
first place (to reconnect the Wiimote).

This semi-reverts to the previous behaviour, where data reporting is
never stopped.

(Also, control channels now go through WiimoteEmu, just like before,
to make sure some things are reset on disconnection.)

Hopefully fixes issue 9711.
2016-07-23 11:17:31 +02:00
JMC47 0a7a3aef0e Removes fake wiimote data that was causing desyncs. 2016-07-23 04:52:39 -04:00
Léo Lam da18f7f8ac Netplay: Fix a typo in the MD5 check dropdown
"Curent game" → "Current game"
2016-07-22 17:41:33 +02:00
Chris Burgener 0ef1ee7a83 Display RTC on OSD 2016-07-22 09:58:34 -04:00
Pierre Bourdon 76b1a4d7fa Merge pull request #4039 from RisingFog/check_dump_height_split
Check for zero height when splitting video dump
2016-07-21 17:32:55 +02:00
Chris Burgener 37a0c9c404 Check for zero height when splitting video dump 2016-07-21 11:28:10 -04:00
Léo Lam 574468c95b Don't pipe PanicAlerts to netplay window if it isn't opened
This is something that was quite confusing for me while trying to get
netplay to work for me; once the Connect/Host buttons were pressed,
the UI would hang, only to work again a few seconds later, but with
no error message or explanation *at all*.

Turns out this is because panic alerts are shown in the netplay window
instead during netplay, even before it is even shown.

This fixes it by "piping" the alerts to the netplay chat only if the
netplay window is visible.

(regression introduced in #3823)
2016-07-21 16:52:57 +02:00
Pierre Bourdon c7ead90a09 Merge pull request #4041 from lioncash/mismatch
Movie: use std::mismatch for byte mismatch checking
2016-07-21 10:59:59 +02:00
Pierre Bourdon 382e7bf2f3 Merge pull request #3825 from magumagu/wii-reset-button
Make reset button (Emulation -> Reset) work correctly for Wii games.
2016-07-21 10:58:08 +02:00
Lioncash 92efd177fc Movie: use std::mismatch for detecting byte mismatches 2016-07-21 02:43:30 -04:00
comex 591e10c4dd trivial warning fixes 2016-07-20 01:23:19 -04:00
Mat M 3fbd781cb8 Merge pull request #4033 from RisingFog/configurable_rtc
Disable changing Custom RTC when game is running
2016-07-19 23:09:43 -04:00
Matthew Parlane 7b9e17b72d Merge pull request #4035 from lioncash/si-constness
SI_DeviceKeyboard: const correctness
2016-07-20 12:35:10 +12:00
Lioncash 609cc3c1c3 SI_DeviceKeyboard: const correctness 2016-07-19 19:55:44 -04:00
Lioncash 0483c88f1e TAP_Win32: Use vector assign instead of resize + memcpy 2016-07-19 19:29:49 -04:00
Chris Burgener 80ac4a359d Disable changing Custom RTC when game is running 2016-07-19 16:30:00 -04:00
Chris Burgener e32af8e0fe Merge pull request #4007 from RisingFog/configurable_rtc
Add Configurable RTC options
2016-07-19 11:55:46 -04:00
Chris Burgener cac9516e39 Add Configurable RTC 2016-07-19 11:20:02 -04:00
EmptyChaos 5adb29b6cb Fifo: Call AllowSleep instead of Wakeup when pausing.
BlockingLoop was being woken when the emulator was being paused
which would cause the loop to busy spin. Issue 9692.
2016-07-19 15:20:17 +10:00
Pierre Bourdon 5740ec2158 Merge pull request #4029 from lioncash/filter
VS: Add MD5Dialog.cpp to the correct filter hierarchy
2016-07-19 01:09:14 +02:00
Pierre Bourdon 01e99b8a2a Merge pull request #4027 from leoetlino/fix-warnings
Fix warnings
2016-07-19 01:08:54 +02:00
Lioncash 8f52209b3a VS: Add MD5Dialog.cpp to the correct filter hierarchy 2016-07-18 17:58:40 -04:00
Léo Lam 0e1aeedb5b Fix warnings
This fixes warnings in:
- Source/Core/InputCommon/ControllerEmu.h: avoid shadowing other
  variables (my fault)
- Source/Core/Core/IPC_HLE/WII_IPC_HLE.h: made
  SDIO_EventNotify_CPUThread static as it's not used anywhere else
2016-07-18 23:38:42 +02:00
Pierre Bourdon dac1c2d4fe Merge pull request #4026 from lioncash/constness
EXI: Misc const correctness changes
2016-07-18 18:19:23 +02:00
Pierre Bourdon e21cc8937b Merge pull request #4023 from bentley/openbsd-context
Clean up context definition errors.
2016-07-18 16:43:52 +02:00
Anthony Serna 1a81735527 Merge pull request #3859 from Aestek/feature/netplay-md5
Netplay: add md5 testing
2016-07-18 09:20:37 -05:00
Lioncash 902a0ccedf Sram: Correct constness of SetCardFlashID parameter 2016-07-18 02:15:07 -04:00
Lioncash 5161351ca3 EXI_DeviceMic: Don't cast away const in Pa_Callback 2016-07-18 01:47:03 -04:00
Lioncash 6eaa1aab5c EXI_DeviceAGP: Correct constness for CRC8 parameter 2016-07-18 01:41:45 -04:00
Lioncash 37da945609 EXI_DeviceEthernet: Correct constness of function parameters 2016-07-18 01:36:04 -04:00
Anthony J. Bentley b0f4a2b959 Add a context definition for OpenBSD amd64. 2016-07-17 22:15:14 -06:00
Matthew Parlane a51c992e61 Merge pull request #4018 from bentley/openbsd-ifdefs
Openbsd ifdefs
2016-07-18 16:12:06 +12:00
Anthony J. Bentley cdf62dece3 Add OpenBSD to the list of Unixes declaring CEXIETHERNET. 2016-07-17 20:38:39 -06:00
Anthony J. Bentley 9a14cbb225 Undefine OpenBSD's system byteswap macros to pick up generic functions. 2016-07-17 20:18:50 -06:00
Anthony J. Bentley 6e6b113a7e Clarify error message.
If the #error hits, the operating system may be fine but the
architecture won't be.
2016-07-17 19:02:59 -06:00
Anthony J. Bentley eea609c55e Explicitly error out when no context definition is provided.
If there is no context definition in a non-generic build, compilation
will error out anyway, but in a less obvious place.
2016-07-17 18:59:26 -06:00
Matthew Parlane 4b9173ca62 Merge pull request #4017 from bentley/openbsd-libs
OpenBSD neither provides nor requires libdl and librt.
2016-07-18 12:42:14 +12:00
Scott Mansell ff3b4a0fd7 Merge pull request #4020 from bentley/fstat64
Use the standard stat()/fstat() interfaces, not nonstandard *64().
2016-07-18 12:22:33 +12:00
Anthony J. Bentley eb4cae78aa OpenBSD neither provides nor requires libdl and librt. 2016-07-17 18:06:38 -06:00
Matthew Parlane b9246cf5e1 Merge pull request #4019 from bentley/posix-includes
POSIX includes portability
2016-07-18 09:19:20 +12:00
Léo Lam 66c2ce6c74 DolphinWX: Center the links in the About dialog
This makes the links explicitly vertically centered in the DolphinWX
About dialog. It is not needed on Windows, because the links have the
same height as text (and look just like text links). However, this is
required on other platforms or the links would look misaligned.
2016-07-17 22:48:26 +02:00
Anthony J. Bentley f4cc52813c Add required POSIX includes and fairly portable Unix include.
POSIX specifies that inet_ntoa() is declared in arpa/inet.h, and that
POLLRDNORM, etc. are defined in poll.h.

gethostbyname() is not specified by POSIX, but the manpages in OpenBSD,
FreeBSD, OS X, and glibc all state that it is declared in netdb.h.

Without these headers, the build fails on OpenBSD and possibly other
systems.
2016-07-17 04:41:15 -06:00
Anthony J. Bentley 5bab6210ef Use the standard stat()/fstat() interfaces, not nonstandard *64().
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-07-17 04:30:00 -06:00
Anthony J. Bentley de6babb928 Add an OpenBSD driver identifier. 2016-07-17 04:13:06 -06:00
Anthony J. Bentley 64fb96e493 OpenBSD uses pthread_set_name_np() to set the name of a thread. 2016-07-17 04:09:46 -06:00
Anthony J. Bentley 5c90738638 OpenBSD doesn't support per-thread locales. 2016-07-17 04:08:44 -06:00
Anthony J. Bentley 242c770fe5 OpenBSD has a custom sysctl for physical memory. 2016-07-17 04:06:38 -06:00
Aestek 9c5b546e2e Add Wii sdcard to CommonPaths 2016-07-16 22:48:46 +02:00
Aestek 51c77e8eea Add md5 testing to netplay
Allows to test current game, an arbitrary game or the sdcard of all players
at once.
2016-07-16 22:48:46 +02:00
mimimi085181 8b7bfe6cf9 Netplay: Fix synchronization for the Wiinote netplay
The old implementation always polled the local 1st Wiimote and used that as input for the Wiimote that is mapped to the player. But the reporting mode for Wiimotes can be different, even when using the same extensions. So an input for Wiimote 1 with a data size 4 could be used for Wiimote 2, which actually requires data size 7 at that time for example.

The 2nd problem was that the code added a dummy input into the buffer, when the reporting mode changed. But when the data from the other player hasn't arrived yet, the data in the buffer is out of order. Well, i think this is the problem, i'm not 100% sure, because i don't fully understand how the buffer works. But on the other hand, i'm pretty sure this will just force sync the players on reporting mode changes, instead of allowing them to be apart.

Pros:
- No more desyncs caused by big bugs in the code.
- Can use different extensions for different players.

Cons:
- Higher latency, because instead of polling 1 controller per player at once, all controllers are polled in order, send to the other players, before the next is processed.
- Have to setup the Wiimote, which the player is going to use, instead of the 1st one.

Now, if the controller config could temporarily be overridden with the one from another slot, the 2nd problem could be fixed. But at the same time, we would lose the ability to use different extensions. (unless we hack around it somehow, or properly send the used extension to the other players)
2016-07-16 13:00:54 +02:00
Pierre Bourdon bb87bb73f4 Merge pull request #4004 from degasus/dynamic-bat
JitCache: Support for VMEM + MSR bits
2016-07-16 12:26:54 +02:00
degasus f9e5660106 JitCache: Implement block unlinking. 2016-07-16 09:24:10 +02:00
magumagu 0de9d94de3 Add ISI logging to interpreter. 2016-07-16 09:24:09 +02:00
magumagu 0f788e0c3d Add support for DSI exceptions to CachedInterpreter.
Should be straightforward.  Maybe useful for the purpose of testing.
2016-07-16 09:24:09 +02:00