Jordan Woyak
58f1ff3773
WiimoteEmu: Minor accuracy fixes.
2019-02-20 17:44:55 -06:00
Stenzek
f039149198
Move most backend functionality to VideoCommon
2019-02-19 16:57:54 +10:00
Stenzek
933f3ba008
TextureCache: Don't copy out-of-range rectangles when stitching textures
...
This can cause driver crashes or GPU hangs if we do.
2019-02-17 16:35:43 +10:00
Stenzek
2165523fdc
TextureConverterShader: Write EFB2Tex XFB copies with alpha value of 1
...
This way we don't end up with artifacts of the EFB's alpha values in
frame dumps. XFB copies loaded from RAM also set the alpha to 1, so this
will match.
2019-02-17 16:35:43 +10:00
Stenzek
50bdcb8d9c
TextureCache: Bind textures/samplers after loading all textures
...
Since loading textures can result in rendering, e.g. partial copies, we
don't want to disturb partially-bound GX state.
2019-02-17 16:35:43 +10:00
Stenzek
eabde77892
CMake: Add an ENABLE_NOGUI option
2019-02-15 18:40:46 +10:00
Stenzek
836f76da89
DolphinNoGUI: Runtime selection of platform
2019-02-15 18:40:46 +10:00
Stenzek
f9869cb216
Vulkan: Support runtime selection of WSI
2019-02-15 18:40:46 +10:00
LAGonauta
c209d07c96
Removed FFDShow DPL2 decoder
2019-02-13 22:52:41 -02:00
LAGonauta
f4cf1e4f49
Removed zeroing-out the LFE as it is not needed anymore.
...
Also removed minimum number of frames needed when decoding DPL2, and use
std::numeric_limits to clamp the samples when needed.
Clamping is still needed, but those samples are much rarer now and depend
on the game.
2019-02-13 22:52:40 -02:00
LAGonauta
fdfd9d6953
Cleaned up PulseAudio as we now use FreeSurround
2019-02-13 22:52:40 -02:00
LAGonauta
df631f0d75
Swapped FFDShow's DPL2 decoder by FreeSurround
...
Added class in AudioCommon for the surround decoder
2019-02-13 22:52:40 -02:00
JosJuice
5067e96f37
Minor fixes to translatable strings
2019-02-13 18:54:45 +01:00
Tilka
131f4931fb
Merge pull request #7792 from jordan-woyak/auto-calibration
...
DolphinQt/ControllerEmu: Add stick calibration "wizard".
2019-02-13 02:13:27 +00:00
Tilka
8d59d1bb11
Merge pull request #7798 from ShFil119/impr/empty
...
Use empty instead of size
2019-02-13 01:59:43 +00:00
Filip Gawin
49fe9f5db1
Use empty instead of size
2019-02-13 00:03:49 +01:00
Mat M
6b22693e6e
Merge pull request #7796 from stenzek/glx-context
...
GLContext: Fix shared context creation error on Mesa
2019-02-11 09:23:52 -05:00
spycrab
eb11d045d7
Merge pull request #7790 from spycrab/rp_fixes
...
ResourcePacks: Fix various bugs
2019-02-11 11:09:43 +01:00
spycrab
f86b34ceb9
ResourcePacks: Fix various bugs
2019-02-11 11:05:35 +01:00
Tilka
4d85bb2d18
Merge pull request #7782 from jordan-woyak/wiimote-emu-speaker-pan
...
WiimoteEmu: Change speaker pan to use "constant power pan law".
2019-02-11 00:20:07 +00:00
Jordan Woyak
3c77b4aa4b
WiimoteEmu: Change speaker pan to use "constant power pan law" and change UI setting max value from 127 to 100.
2019-02-10 17:55:11 -06:00
Tilka
226affe00b
Merge pull request #7788 from jordan-woyak/mapping-ui-clear-button
...
DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality.
2019-02-10 23:29:33 +00:00
Tilka
33e51da3b8
Merge pull request #7785 from Tilka/patch_editor
...
DolphinQt: limit patch padding to 8
2019-02-10 23:22:20 +00:00
Jordan Woyak
0064f70c8a
DolphinQt/ControllerEmu: Replace Input Radius/Shape settings with an input calibration "wizard".
2019-02-10 07:55:47 -06:00
Stenzek
cecefa2d97
ChunkFile: Don't access element zero of empty container
...
This was causing assertion failures in debug MSVC builds.
2019-02-10 13:28:50 +10:00
Stenzek
ef3306e954
GLContext: Fix shared context creation error on Mesa
...
This was failing if the first version tried (4.6) didn't succeed.
2019-02-09 21:51:23 +10:00
spycrab
0abb1c6ea6
Qt/LogWidget: Make logging asynchronous
2019-02-08 13:21:21 +01:00
Anthony
2987e8313a
Merge pull request #7752 from 8times9/text-tweaks
...
Qt: Minor text tweaks
2019-02-07 10:21:00 -08:00
8times9
d45dad7bf7
Qt: Minor text tweaks
2019-02-07 11:53:07 -06:00
Jordan Woyak
64c3c52ef3
DolphinQt: Make the mapping window clear button use ControllerEmu's clear functionality.
2019-02-06 17:40:58 -06:00
spycrab
63cdebba88
UICommon/AutoUpdate: Add macOS support
2019-02-06 20:50:09 +01:00
spycrab
80f4181f60
MacUpdater: Initial implementation
2019-02-06 20:50:09 +01:00
spycrab
fa01db4904
Qt/GameConfigEdit: Fix some settings being in the wrong section
2019-02-06 09:42:33 +01:00
Tillmann Karras
03a7071c57
DolphinQt: limit patch padding to 8
2019-02-05 04:59:52 +00:00
Tillmann Karras
74c5e60327
DolphinQt: show game descriptions in one line
2019-02-03 22:32:36 +00:00
Anthony
f65b3a998c
Merge pull request #7739 from zackhow/multib
...
Android: Disable backend multithreading and add option to gfx menu
2019-02-03 12:44:00 -08:00
Anthony
e05cc3f61d
Merge pull request #7718 from cristian64/display_listcolumns_via_rightclick_on_header
...
Qt/MainWindow: Also display "List Columns" menu via right-click on table's header.
2019-02-03 12:41:39 -08:00
Anthony
227a26490d
Merge pull request #7773 from spycrab/rp_compression
...
ResourcePacks: Support compression
2019-02-03 12:34:11 -08:00
Anthony
eee24cd1ce
Merge pull request #7746 from Techjar/fix-hotkey-conflicts
...
[RFC] Core/HotkeyManager: Fix default hotkey conflicts
2019-02-03 12:26:14 -08:00
Tilka
8aaebfa2b3
Merge pull request #7716 from stenzek/stereo
...
Stereoscopy regression fixes
2019-02-03 19:57:01 +00:00
Anthony
4e825beddf
Merge pull request #7757 from jordan-woyak/wiimote-connection-status-checkmarks
...
WiimoteDevice: Update UI when wiimote connection status changes.
2019-02-03 10:28:08 -08:00
Anthony
e9130734af
Merge pull request #7688 from jordan-woyak/evdev-improve
...
ControllerInterface: evdev: Cleanups and effect processing fixes.
2019-02-03 10:25:23 -08:00
Jordan Woyak
69b617ce76
WiimoteEmu: Remove redundant Matrix library and use the one in Common.
2019-02-03 12:02:02 -06:00
Jordan Woyak
b9a00a40a9
Common: Move Matrix classes out of MathUtil into their own files and make their interface more friendly.
2019-02-03 11:35:31 -06:00
Jordan Woyak
9c1a8891e5
WiimoteEmu: Code cleanups.
2019-02-02 19:40:31 -06:00
Jordan Woyak
3945aa6242
WiimoteEmu: Fix battery level handling and remove old comments.
2019-02-02 19:40:31 -06:00
Jordan Woyak
6c0902ab0a
WiimoteEmu: Add logic for enabling/disabling M+ and force it disabled for now.
2019-02-02 19:40:31 -06:00
Jordan Woyak
0d1fbe7bbc
WiimoteEmu: Major renaming and cleanup.
2019-02-02 19:40:31 -06:00
Jordan Woyak
b1f350ab1c
WiimoteEmu: Cleanups, Kill some now-redundant constants.
2019-02-02 19:40:30 -06:00
Jordan Woyak
6e5847a790
WiimoteEmu: Fix wiimote pan setting from keeping center at half volume.
2019-02-02 19:40:30 -06:00
Jordan Woyak
d3906e548d
WiimoteEmu: Cleanup ack handling. Improve accuracy of report handling with unusual values. Eliminated outdated comments.
2019-02-02 19:40:30 -06:00
Jordan Woyak
3a889c35ad
WiimoteEmu: Cleanups, Kill more magic numbers and use some enum classes.
2019-02-02 19:40:30 -06:00
Jordan Woyak
86c94b8b22
WiimoteEmu: Motion plus now works half of the time in Wii Sports Resort.
2019-02-02 19:40:30 -06:00
Jordan Woyak
0b4329e077
Implement the rest of the wiimote input reports.
2019-02-02 19:40:30 -06:00
Jordan Woyak
10c2101e72
WiimoteReal: Unbreak.
2019-02-02 19:40:30 -06:00
Jordan Woyak
42b9392784
WiimoteEmu: Cleanups and work towards making motion plus functional.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a25e8cb516
Advance save state version.
2019-02-02 19:40:30 -06:00
Jordan Woyak
a0721b256f
WiimoteEmu: Cleanup, kill some magic numbers, and unbreak wiimote speaker pan setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
372b12c67f
WiimoteEmu: Emulated motion plus is detected by game now.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ba936923bd
WiimoteEmu: Tweak the i2c bus code to better support motion plus and its passthrough port.
2019-02-02 19:39:29 -06:00
Jordan Woyak
84d32f6645
WiimoteEmu: Fix usage of ReportFeatures in TAS related code.
2019-02-02 19:39:29 -06:00
Jordan Woyak
4dc0aa6f8e
WiimoteEmu: Process wiimote read data requests like they are on a real wiimote. It's not a queue. New requests are ignored and input is suppressed while processing a request. This simplifies the save state code greatly.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ec460da36d
WiimoteEmu: Add wiimote speaker logic to i2c bus. Temporarily break the "pan" setting.
2019-02-02 19:39:29 -06:00
Jordan Woyak
62b66580c3
WiimoteEmu: Unbreak wiimote extensions.
2019-02-02 19:39:29 -06:00
Jordan Woyak
ebc2e58fa4
WiimoteEmu: Partially emulate i2c bus to more closely simulate the real thing. Transfer most of IR camera logic to the i2c bus. Temporarily break everything else.
2019-02-02 19:39:29 -06:00
Jordan Woyak
6c40c47472
WiimoteEmu: Remove some remnants of hybrid wiimote.
2019-02-02 19:39:28 -06:00
Tilka
a95b6e1b9b
Merge pull request #7735 from spycrab/qt_modal
...
Qt: Make more messages modal
2019-02-03 01:30:03 +00:00
Tilka
cfbc852fb0
Merge pull request #7777 from jordan-woyak/input-rounding
...
ControllerEmu: Round input floats instead of casting.
2019-02-03 00:56:05 +00:00
Tilka
6ec11c6801
Merge pull request #7742 from jordan-woyak/si-device-change-fix
...
SI: Device change logic fix.
2019-02-03 00:52:23 +00:00
Jordan Woyak
3bc4968c11
ControllerEmu: Round input floats instead of casting to prevent almost-neutral values from being rounded down.
2019-02-02 15:12:07 -06:00
spycrab
b6863ff0a2
ResourcePacks: Support compression
2019-02-02 15:54:06 +01:00
Tilka
28c0b5338e
Merge pull request #7738 from spycrab/core_warnings
...
Core: Fix some warnings
2019-02-02 14:13:21 +00:00
Tilka
d55e276d0b
Merge pull request #7763 from jordan-woyak/steering-wheel-ff-fix
...
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-02 13:12:51 +00:00
Tilka
2d75797c63
Merge pull request #7747 from stenzek/vulkan-shutdown
...
Vulkan: Shutdown fixes and cleanup/refactoring
2019-02-02 12:45:20 +00:00
Tilka
6dc16dda26
Merge pull request #7750 from jordan-woyak/gamelist-less-padding
...
DolphinQt: Reduce the padding between gamelist items.
2019-02-02 12:41:06 +00:00
Tilka
eb7135ac9b
Merge pull request #7771 from stenzek/qt-non-looping-fifoplayer
...
DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
2019-02-02 12:28:55 +00:00
Tilka
0115906e41
Merge pull request #7767 from Tilka/chunkfile
...
ChunkFile: treat vectors/strings as sized arrays
2019-02-02 12:25:42 +00:00
Stenzek
31a5dd15a9
DolphinQt: Connect Host::RequestStop() to MainWindow::RequestStop()
...
The fact that this wasn't connected was causing fifoplayer to hang if
looping was disabled.
2019-02-02 13:36:46 +10:00
Admiral H. Curtiss
fdd19c1b54
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-02-01 17:50:19 +01:00
Tillmann Karras
4090c19e00
GeckoCodeConfig: fix Gecko Code downloading
...
For some reason the server always redirects once to the same location.
2019-02-01 13:44:58 +00:00
Tillmann Karras
3ff0e7dbd4
Common/HttpRequest: optionally follow redirects
2019-02-01 13:44:58 +00:00
Jordan Woyak
552392e4f6
HW: SI_Device_GCSteeringWheel: Fix handling of force commands.
2019-02-01 06:47:17 -06:00
Jordan Woyak
b0cb100958
SI: Device change logic fix.
2019-02-01 06:43:24 -06:00
Tillmann Karras
04a92482bf
ChunkFile: treat vectors/strings as sized arrays
2019-02-01 05:13:16 +00:00
JMC47
a129d60a57
Merge pull request #7762 from jordan-woyak/gcadapter-calibration
...
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 23:47:09 -05:00
Tillmann Karras
45aeb86766
Fix -Wmissing-declarations warning
2019-02-01 03:06:01 +00:00
Mat M
e5ca338958
Merge pull request #7761 from jordan-woyak/gccontroller-minor-cleanup
...
HW: SI_Device_GCController: Minor cleanup.
2019-01-31 21:29:55 -05:00
Tillmann Karras
5b4a5ca059
DolphinQt: cache filesystem icons for speed
2019-02-01 00:15:52 +00:00
JosJuice
c1492aeb45
Merge pull request #7744 from stenzek/vsync
...
Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled
2019-01-31 22:44:10 +01:00
Jordan Woyak
cb9896618f
HW: SI_Device_GCAdapter: Restore calibration behavior for real gamecube controllers.
2019-01-31 08:38:25 -06:00
Jordan Woyak
c54cc3fa38
HW: SI_Device_GCController: Minor cleanup. Remove a member/state variable that should just be a local variable.
2019-01-31 06:30:06 -06:00
JosJuice
419ba925b7
Merge pull request #7748 from jordan-woyak/compressed-game-indicator
...
DolphinQt: Display game list compressed file sizes with an asterisk.
2019-01-30 19:47:47 +01:00
JosJuice
9340ddc7c9
Merge pull request #7726 from zackhow/rumfast
...
Android: Optimize rumble call
2019-01-30 19:37:24 +01:00
Jordan Woyak
159d2b1cc3
HW/Wiimote: Don't reconnect wiimotes on ChangeWiimoteSource when the source hasn't actually changed.
2019-01-29 10:01:35 -06:00
Jordan Woyak
4bc576472c
WiimoteDevice: Update UI when wiimote connection status changes to keep check marks in the menu bar accurate.
2019-01-29 07:57:51 -06:00
JMC47
0e1669e1c7
Merge pull request #7728 from jordan-woyak/pad-perfect-calib
...
SI_DeviceGCController: Calibrate to perfect neutral instead of initial input state.
2019-01-28 21:11:46 -05:00
JMC47
cf8da56297
Merge pull request #7751 from zackhow/motefix
...
Android: Don't grab wiimote report if size is < 1
2019-01-28 19:53:04 -05:00
Jordan Woyak
efd5c36773
DolphinQt: Display game list file sizes with an asterisk when file-size differs from volume-size (e.g. when they are compressed).
2019-01-28 14:44:25 -06:00
JMC47
7907633126
Merge pull request #7715 from Techjar/qt-delete-unparented
...
Qt/MainWindow: Directly delete unparented dialogs
2019-01-28 06:42:07 -05:00
zackhow
831ab64e1c
Android: Don't grab wiimote report if size is < 1
...
Fixes crash when using official wiimotes with the dolphin bar.
2019-01-27 16:43:19 -05:00
Jordan Woyak
3db904baba
DolphinQt: Reduce the padding between gamelist items.
2019-01-27 14:00:22 -06:00
Jordan Woyak
c386a6a875
DolphinQt: Fix selection of PP shader when using anaglyph 3D.
2019-01-27 13:23:42 -06:00
Techjar
d70ea9e4ec
Core/HotkeyManager: Fix default hotkey conflicts
2019-01-27 06:20:01 -05:00
Stenzek
3b033bf3f0
Vulkan: Move clear shader from Renderer to ShaderCache
2019-01-27 13:07:35 +10:00
Stenzek
e2cf238ec4
Vulkan: Move swapchain related members from Renderer to SwapChain
2019-01-27 12:59:57 +10:00
Stenzek
bd66db049a
Vulkan: Use device-local functions where possible
...
Avoids a call into the loader library, which may improve performance
ever-so-slightly.
2019-01-27 12:51:04 +10:00
Stenzek
ce1cc2d9fa
Vulkan: Don't execute command buffer before shutting down
...
We don't need to, and this was causing occasional crashes on Adreno.
2019-01-27 12:41:10 +10:00
Stenzek
b01df8670f
Renderer: Fix throttle-disable (TAB) hotkey when vsync is enabled
2019-01-27 12:31:12 +10:00
zackhow
4979220cf0
Android: Optimize rumble call
...
Moved rumble call to IDCache since GetMethodID is expensive
2019-01-26 09:38:35 -05:00
Techjar
408029e8a3
Qt/MainWindow: Don't unpause after confirming shutdown
...
There's no good reason to do this, as it just causes running signals to
be sent as the core is shutting down.
2019-01-26 07:27:37 -05:00
zackhow
8a1eb34c38
Android: Default backendMultithreading to false on android
2019-01-25 19:22:07 -05:00
spycrab
51a219c54d
Merge pull request #7263 from spycrab/qt_ini_edit
...
Qt/GameConfigWidget: Complete overhaul
2019-01-26 00:45:46 +01:00
spycrab
ff5556ce2f
Qt/GameConfigWidget: Complete overhaul
2019-01-26 00:41:22 +01:00
JosJuice
b14e540671
Merge pull request #7736 from stenzek/imgui-hidpi
...
RenderWidget: Fix mouse position for imgui on hidpi screens
2019-01-25 22:45:31 +01:00
spycrab
0691971d82
Core: Fix some warnings
2019-01-25 21:21:22 +01:00
spycrab
f908612452
DolphinQt: Fix some warnings
2019-01-25 17:21:38 +01:00
Stenzek
3d8145af65
RenderWidget: Fix mouse position for imgui on hidpi screens
2019-01-26 01:31:58 +10:00
spycrab
787f2c6bd7
Qt: Make more messages modal
2019-01-25 16:16:27 +01:00
spycrab
6962d5bc52
Merge pull request #7478 from stenzek/imgui
...
Replace raster font with dear imgui
2019-01-25 15:08:40 +01:00
Stenzek
774480ba23
Vulkan: Set contents scale of Metal layer to screen factor
...
This gives us a native resolution framebuffer.
2019-01-26 00:02:04 +10:00
JMC47
e060b133e3
Merge pull request #7722 from 0xFEEDC0DE64/gamecube-settings-improvements
...
General GameCubePane improvements
2019-01-25 05:40:07 -05:00
Stenzek
ee0fa548bc
Vulkan: Don't bind last descriptor set if bounding box is unsupported
...
Fixes crash on a4xx/Vulkan.
2019-01-25 11:15:57 +10:00
Stenzek
e9b02e7dd0
Vulkan: Remove unused UpdateUtilityUniformBuffer function
2019-01-25 11:15:57 +10:00
Stenzek
78588ce79d
ShaderCache: Use imgui for shader compilation dialog
2019-01-25 11:15:57 +10:00
Stenzek
e4b205c769
Decouple XFB scanout from presentation
2019-01-25 11:15:57 +10:00
Stenzek
f1e7fb505b
Renderer: Scale all imgui fonts by the backbuffer scale
2019-01-25 11:15:57 +10:00
Stenzek
c9c0b85056
VideoBackends: Store a backbuffer 'scale'
...
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
Stenzek
e03b8e899e
Vulkan: Move texture upload buffer to ObjectCache
2019-01-25 11:15:57 +10:00
Stenzek
36ce47635b
RenderWidget: Hook up to ImGui
2019-01-25 11:15:57 +10:00
Stenzek
63dd91628d
Remove old RasterFont classes
2019-01-25 11:15:57 +10:00
Stenzek
600d1fc0bc
Renderer: Use imgui for drawing debug text and OSD
2019-01-25 11:15:57 +10:00
Stenzek
d1868d9475
RenderBase: Implement imgui rendering
2019-01-25 11:10:49 +10:00
Stenzek
396b7c2978
OGL: Invalidate tracked state when calling ResetAPIState()
...
Due to the current design, any of the GL state can be mutated after
calling this function, so we can't assume that the tracked state will
match if we call SetPipeline() after ResetAPIState().
2019-01-25 11:10:49 +10:00
Connor McLaughlin
224b23b979
Merge pull request #7729 from stenzek/adreno-sillyness
...
ShaderGen: Fix broken rendering on Adreno Vulkan drivers
2019-01-25 11:07:12 +10:00
JMC47
ddb1fbf701
Merge pull request #7500 from zackhow/pointer
...
Android: Add IR pointer control to touch overlay
2019-01-24 20:02:23 -05:00
0xFEEDC0DE64
e1fdf4ae9a
General GameCubePane improvements (squashed commit)
2019-01-24 21:08:21 +01:00
Stenzek
1d61041985
ShaderGen: Don't use interface blocks on Vulkan without GS
...
Doing so causes the Adreno driver to choke and spew errors about
too many output locations/components, when clearly we're under
the limit.
2019-01-24 17:02:17 +10:00
zackhow
d0b42286cf
Load custom game IR values if they are not set
...
This is mostly for android so that a user can use the touchscreen to
accurately emulate pointer movements
2019-01-23 17:16:32 -05:00
Stenzek
68cb24172b
ShaderGen: Omit some unused varyings when possible
...
Removes the clipPos varying unless slow-depth is used, and the
clipDistance varyings if geometry shaders are not used.
2019-01-23 18:34:22 +10:00
Jordan Woyak
3cd3e84486
SI_DeviceGCController: Calibrate pad origin on boot to perfect neutral values instead of initial input state.
2019-01-22 15:33:04 -06:00
Christian Aguilera
9a1a98a9f6
Qt/MainWindow: Also display "List Columns" menu via right-click on table's header.
2019-01-21 21:06:04 +00:00
Cody Wilson
00f786384d
Update GeckoCodes code download to use https
...
The WiiRD codes respository at https://geckocodes.org has started using HTTPS, and 301 Redirecting traffic from HTTP to HTTPS. The HTTP client does not appear to be able to handle a 301 Redirect and instead fails when attempting to download codes. This pull request is purely a string replacement to set the URL as HTTPS.
2019-01-20 11:26:29 -05:00
zackhow
47d6406fd4
Android: Add touch to move pointer in overlay
2019-01-19 23:21:33 -05:00
Stenzek
1070192165
TextureCache: Fix a possible crash when partial updating palette textures
2019-01-19 23:38:02 +10:00
Stenzek
84bcbef944
TextureCache: Don't partial copy to non-existant texture layers
2019-01-19 23:38:00 +10:00
Stenzek
ade255a5ff
TextureCache: Fix broken XFB stitching with stereoscopy is enabled
2019-01-19 23:23:21 +10:00
Stenzek
6bfe4c83a5
OGL: Fix broken stereoscopy geometry shader for EFB copies
2019-01-19 23:22:57 +10:00
Techjar
47cc5b02e3
Qt/MainWindow: Directly delete unparented dialogs
...
Calling deleteLater in MainWindow's destructor doesn't work, as the
event loop will stop before it gets around to deleting these dialogs.
Seeing as this is a QObject destructor, we should already be on the
event loop anyways, so simply using delete should be safe.
2019-01-19 04:37:07 -05:00
Jordan Woyak
6cc8775510
ControllerInterface: evdev: Replace unclear bool parameter with enum class.
2019-01-17 12:10:50 -06:00
Jordan Woyak
52aa39991c
ControllerInterface: evdev: Cleanup rumble effect processing so effects aren't removed and re-uploaded with every SetState() call. Split the "LeftRight" output into separate "Strong" and "Weak" outputs. Other minor cleanups.
2019-01-17 12:10:50 -06:00
Léo Lam
3627ef8a04
Merge pull request #7696 from TryTwo/Debugger_Restore_Tabbed_Docking
...
Qt/Debugger restore tabbed docking
2019-01-17 13:40:02 +01:00
Léo Lam
c7373701cc
Merge pull request #7580 from Techjar/netplay-padmapping-type
...
NetPlay: Remove PadMapping type
2019-01-16 21:57:38 +01:00
Léo Lam
fd3ef7ebc5
Merge pull request #7616 from AdmiralCurtiss/memcard-cleanup
...
Clean up GCMemcard a bit.
2019-01-16 21:56:40 +01:00
Léo Lam
e19ee2ad4f
Merge pull request #7664 from jordan-woyak/kill-button-threshold
...
ControllerEmu: Killed the button group threshold setting.
2019-01-16 21:33:05 +01:00
Léo Lam
3892c3ac48
Merge pull request #7690 from NarryG/dragload-savestate
...
Reimplement savestate loading via drag and drop (resubmission of #7425 )
2019-01-16 21:32:44 +01:00
Dan B
d69740c8b4
Reimplement savestate loading via drag and drop
2019-01-16 21:19:31 +01:00
Léo Lam
a8bc6f9899
Merge pull request #7693 from jordan-woyak/hotplug-callback-fix
...
ControllerInterface: Hotplug callback fixes.
2019-01-16 21:00:48 +01:00
Léo Lam
b2de98cad1
Merge pull request #7680 from jordan-woyak/dinput-axis-range
...
DirectInput: Use more than 8 bits of precision on axis inputs.
2019-01-16 18:52:11 +01:00
Léo Lam
634ef78a26
Merge pull request #7705 from cristian64/master
...
Fixed crash when dereferencing the potential null pointer returned by GetSelectedGame().
2019-01-16 18:51:11 +01:00
Léo Lam
c785ccba27
Merge pull request #7712 from linkmauve/gcadapter-flatten
...
Flatten a GCAdapter function
2019-01-16 18:48:15 +01:00
Emmanuel Gil Peyrot
fb6fae2b2b
Flatten GCAdapter function
...
Make CheckDeviceAccess() more flat by inverting checks, reducing
indentation and removing dead code.
2019-01-16 14:20:00 +01:00
Christian Aguilera
ee5e2fd9f9
Fixed crash when dereferencing the potential null pointer returned by GetSelectedGame().
2019-01-16 09:25:47 +00:00
Connor McLaughlin
5962316068
Merge pull request #7643 from weihuoya/texture-overlap
...
Texture: fx overlap src position
2019-01-16 08:49:36 +10:00
JMC47
1d3e3de44b
Merge pull request #7629 from JosJuice/auto-disc-change
...
Automatic disc change for 2-disc games
2019-01-15 13:01:36 -05:00
TryTwo
b557faa386
Debugger restore tabbed docking
2019-01-11 14:32:27 -07:00
Jordan Woyak
b425f86121
ControllerInterface: Allow hotplug callbacks to be unregistered and don't reload the entire config from the ini file on hotplug, just update the control references. This should fix a crash on shutdown on Android.
2019-01-10 18:32:16 -06:00
JMC47
012338288e
Merge pull request #7662 from jordan-woyak/mapping-indicators-make-pretty
...
ControllerEmu: Make mapping indicators pretty
2019-01-10 19:04:27 -05:00
zackhow
078fc74b54
Android/OGL: fix bounding box for OpenGL-ES
...
OpenGL-ES does not have glGetBufferSubData, so use glMapBufferRange instead
2019-01-09 21:08:49 -05:00
JosJuice
d3e1d2ea00
Merge pull request #7666 from jordan-woyak/input-shutdown-fix
...
ControllerInterface: Shutdown order and race condition fix.
2019-01-08 14:39:47 +01:00
JosJuice
b30a338dd6
Merge pull request #7683 from zackhow/removefullanalog
...
Android: Change all AnalogInputs to just inputs
2019-01-08 14:01:26 +01:00
Connor McLaughlin
0da5929226
Merge pull request #7626 from weihuoya/vulkan-oom
...
Always clean cache on render swap
2019-01-08 21:57:25 +10:00
weihuoya
66a7db3850
Always flush on swap
2019-01-08 18:28:59 +08:00
zackhow
02c649ba20
Android: Change all analoginputs to just inputs
...
Android doesn't report values for the inputs generated by FullAnalogInput so
there isn't a reason to add them as such. This also avoids a bug(for android)
where if there are three inputs(say 12, 11, and 121), and you generate a FullAnalogInput
with 12/11 then it will create another input with the name 121 which can cause conficts
with the real 121 input. This is probably not an issue on PC since most Axis inputs
are named and not numbered.
2019-01-07 21:52:39 -05:00
JMC47
3397824601
Merge pull request #7588 from Techjar/controller-dialog-wiimote-disabled-bug
...
Qt/ControllersWindow: Fix Wiimote settings not being re-enabled after quitting NetPlay
2019-01-07 16:55:36 -05:00
Anthony
3da06970d9
Merge pull request #7605 from zackhow/jitarmconfigs
...
Android: Add Jit debug options to menu.
2019-01-07 13:50:57 -08:00
Anthony
c73adf8d8e
Merge pull request #7656 from JMC47/DanceMatFix
...
Fix Emulated Dance Mat
2019-01-07 13:48:50 -08:00
Jordan Woyak
a7c45fb49e
DirectInput: Use more than 8 bits of precision on axis inputs.
2019-01-06 08:14:37 -06:00
Admiral H. Curtiss
04bcc64e82
GCMemcard: Update formatting of memcard field comments in header.
2019-01-06 14:40:38 +01:00
Admiral H. Curtiss
e6acbf7cbe
GCMemcard: 'Broken File000' commented out code can't work anymore, but leave a comment about it.
2019-01-06 14:18:00 +01:00
Admiral H. Curtiss
41767daabc
GCMemcard: Remove obsolete commented out code, this is handled via InitActiveDirBat() and related.
2019-01-06 14:12:59 +01:00
Admiral H. Curtiss
111f0b38e0
GCMemcard: Update panic alerts and comments to refer to 1st/2nd dir/BAT blocks.
2019-01-06 14:12:59 +01:00
JMC47
0ca9accd8b
Merge pull request #7640 from jordan-woyak/input-fixes
...
ControllerInterface: Output/Rumble fixes
2019-01-05 17:16:35 -05:00
JMC47
d75e9b2d5d
Merge pull request #7677 from Techjar/netplay-peer-init-fix
...
NetPlay: Fix server peer initialization hang
2019-01-05 15:10:39 -05:00
Jordan Woyak
a995e2f5ba
ControllerInterface: Set DInput FF effect parameters sanely. This fixes a crash with periodic effects and my GCPad adapter (probably a divide by zero behind the scenes).
2019-01-05 13:00:04 -06:00
JMC47
1cd5debecf
Merge pull request #7585 from Techjar/netplay-wiimote-extension
...
NetPlay: Sync Wiimote extension
2019-01-05 05:57:36 -05:00
JosJuice
0c622929ba
Add M3U file support for automatic disc switching
2019-01-04 09:24:42 +01:00
JosJuice
352ac91a1c
Add a delay before automatically switching discs
...
Some games don't behave as expected if we eject the disc as soon as
we receive the DVDLowStopMotor command. For instance, Baten Kaitos
never shows the prompt to switch discs or the "Reading disc..." text
(but works correctly other than that).
2019-01-04 09:24:41 +01:00
JosJuice
b608e80d8e
Don't do automatic disc switching when running e.g. the Wii Menu
...
We only want automatic disc switching to happen when the game actually
is running, but software like the Wii Menu also uses DVDLowStopMotor.
2019-01-04 09:24:41 +01:00
JosJuice
bd665aad5d
Automatic disc change for 2-disc games
2019-01-04 09:24:38 +01:00
Mat M
931af76da3
Merge pull request #7668 from spycrab/rpack_fix
...
UICommon/ResourcePack: Fix packs without manifests crashing Dolphin
2019-01-03 13:59:07 -05:00
JosJuice
a8e5f2b922
Merge pull request #7230 from ligfx/remove_clamp_draw_size
...
RenderBase: don't clamp draw size to window
2019-01-03 18:26:41 +01:00
spycrab
c2c23677ed
UICommon/ResourcePack: Fix resource packs without manifests being able to crash dolphin
2019-01-02 22:47:18 +01:00
Jordan Woyak
25d43ffd98
ControllerInterface: Shutdown order and race condition fix.
2019-01-02 08:19:42 -06:00
Jordan Woyak
88e588673b
Qt Game List: Sort game titles "naturally". e.g. 10 comes after 9.
2019-01-01 06:06:02 -06:00
Jordan Woyak
df43fd9472
ControllerEmu: Killed the Buttons group threshold setting.
2018-12-31 08:35:31 -06:00
Jordan Woyak
7efa96eda9
ControllerEmu: code cleanup.
2018-12-30 10:52:45 -06:00
Jordan Woyak
1c24bef594
MappingUI: Organize some color constants and hide IR adjusted Z value when cursor is hidden.
2018-12-30 09:50:22 -06:00
Jordan Woyak
7a00f55cfa
ControllerEmu::Cursor: Add input radius/shape settings to IR Cursor mappings to allow use of round inputs in absolute mode. Make relative input option obey the center/width/height settings. Make the mapping indicator pretty and actually show what the relative/center/w/h settings are doing.
2018-12-30 09:10:32 -06:00
Jordan Woyak
247fa8c628
WiimoteEmu: Remove redundant threshold setting from hotkeys button group.
2018-12-29 16:19:28 -06:00
Jordan Woyak
c3dc3c106c
ControllerEmu: Reorganize stick reshaping code and use it for emu wiimote tilt as well. Also make the tilt mapping indicator pretty.
2018-12-29 16:06:03 -06:00
Jordan Woyak
6a6195f53c
ControllerEmu: Implement dead zone setting for triggers.
2018-12-29 13:56:35 -06:00
Jordan Woyak
def5c6e573
Mapping UI: Reorganize wiimote extension layouts a bit so things fit better.
2018-12-29 12:59:47 -06:00
Jordan Woyak
970073084a
Mapping UI: Make the mixed trigger indicator styling match that of the analog sticks.
2018-12-29 12:46:05 -06:00
spycrab
75b8824c95
Merge pull request #7658 from spycrab/debugger_show
...
Qt/Debugger: Add Show in Code / Show in Memory
2018-12-29 15:08:51 +01:00
JMC47
f8586bb83c
Fix Emulated Dance Mat
...
I have no idea how it got so broken, but this makes it so both the
Active Life and DDR Mario/Wii games can be fully configured.
2018-12-28 17:47:49 -05:00
Jordan Woyak
2765475e7b
HW: DK Bongos actual fix
2018-12-28 15:15:29 -06:00
spycrab
3e3f9565ec
Qt/Debugger: Add Show in Code / Show in Memory
2018-12-28 20:30:38 +01:00
Mat M
dd1fc70d70
Merge pull request #7644 from jordan-woyak/dk-bongos-fix
...
HW: DK Bongos clap fix and cleanup
2018-12-28 06:41:10 -05:00
Mat M
2d379446b5
Merge pull request #7642 from MerryMage/fprf-whole
...
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-28 06:37:43 -05:00
Mat M
b7db1f020b
Merge pull request #7624 from lioncash/paired-single
...
PowerPC: Remove separate macros for paired singles
2018-12-28 06:32:45 -05:00
Mat M
8c9f553734
Merge pull request #7620 from lioncash/paired
...
Interpreter: Handle HID2.PSE and HID2.LSQE bits
2018-12-28 06:30:37 -05:00
Mat M
b37455ef46
Merge pull request #7652 from JMC47/NetplayWarning
...
Update Netplay Main Page Notices
2018-12-28 06:22:56 -05:00
Mat M
2749c50843
Merge pull request #7653 from jordan-woyak/ini-cleanup
...
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-28 06:21:24 -05:00
Mat M
de03019c77
Merge pull request #7628 from jordan-woyak/stick-shapes
...
ControllerEmu: Add ability to reshape analog sticks. Make the mapping indicator pretty.
2018-12-28 06:18:56 -05:00
MerryMage
77e9aa48bc
Jit64: Remove Jitx86Base class
2018-12-28 09:15:26 +00:00
Jordan Woyak
c614f5f534
ControllerEmu: Allow analog stick input radius greater than one. Useful for rounded-square inputs of xbox controllers.
2018-12-27 19:16:37 -06:00
Jordan Woyak
da9bcf83ef
InputCommon: Simplified StickGate interface and moved class into its own file. Changed default input radius to perform no resizing. Tweaked the indicator colors a bit to improve visibility. Cleaned up some math and code.
2018-12-27 18:31:46 -06:00
Jordan Woyak
ceb28a2302
Add ability to reshape analog sticks from square/circle to octagon and make the analog stick mapping indicator pretty.
2018-12-27 18:31:46 -06:00
Tilka
bfb9b1aca5
Merge pull request #7602 from CrystalGamma/stop-g_jit
...
stop using g_jit outside of JitInterface
2018-12-27 23:12:14 +01:00
Tilka
89eedc8c1b
Merge pull request #7625 from jordan-woyak/emu-shake-fix
...
WiimoteEmu: Shaking emulation fix
2018-12-27 22:32:50 +01:00
MerryMage
26bc38d25d
Jit64: Fix instruction breakpoints
...
Broken by 5236dc3
.
2018-12-27 20:11:26 +00:00
Jordan Woyak
a464025bba
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-26 20:15:32 -06:00
JMC47
e6b859a923
Update Netplay Main Page Warnings
...
We now support automatically syncing most things. Add Dual Core Netplay
Warning. Update Wii Remote Netplay string since it now kinda works.
2018-12-26 14:23:43 -05:00
Mat M
bd527e62ef
Merge pull request #7647 from MerryMage/emit-singles
...
x64Emitter: Add some single-precision instructions
2018-12-26 09:33:06 -05:00
JosJuice
5b97ea8b40
Merge pull request #7606 from booto/dtk_pos_align
...
DTK: Report position in increments of 0x8000
2018-12-26 10:22:40 +01:00
MerryMage
da7608ff9f
x64Emitter: Add some single-precision instructions
2018-12-26 00:23:42 +00:00
JosJuice
2ff1bfdc85
Merge pull request #7646 from leoetlino/temporary-to-permanent
...
WiiUtils: Clear IPL.TID when re-installing a title manually
2018-12-25 23:46:47 +01:00
Léo Lam
0aef6bc834
WiiUtils: Clear IPL.TID when re-installing a title manually
...
If the user tries to permanently install a title that has already been
imported, and if that title is currently marked as a temporary title
in IPL.TID, that flag should be cleared.
2018-12-25 20:49:11 +01:00
Jordan Woyak
43f5d4973e
Fix wiimote/nunchuk acceleration value clamping (off-by-one).
...
Add in shaking acceleration rather than overwritting it so it doesn't look like the device is in free-fall. This fixes shaking in "Batman: TBATB". It appears the game only detects shaking along the z-axis and expects gravity to exist.
2018-12-25 12:10:31 -06:00
Jordan Woyak
56256d8624
HW: DK Bongos clap fix and cleanup
2018-12-25 11:24:09 -06:00
Lioncash
244d083f0e
PowerPC: Remove separate macros for paired singles
...
Previously, PowerPC.h had four macros in it like so:
\#define rPS0(i) (*(double*)(&PowerPC::ppcState.ps[i][0]))
\#define rPS1(i) (*(double*)(&PowerPC::ppcState.ps[i][1]))
\#define riPS0(i) (*(u64*)(&PowerPC::ppcState.ps[i][0]))
\#define riPS1(i) (*(u64*)(&PowerPC::ppcState.ps[i][1]))
Casting between object representations like this is undefined behavior.
Given this is used heavily with the interpreter (that is, the most
accurate, but slowest CPU backend), we don't exactly want to allow
undefined behavior to creep into it.
Instead, this adds a helper struct for operating with the paired singles,
and replaces the four macros with a single macro for accessing the
paired-singles/floating-point registers.
This way, it's left up to the caller to explicitly decide how it wants to interpret
the data (and makes it more obvious where different interpretations of
the same data are occurring at, as there'll be a call to one of the
[x]AsDouble() functions).
2018-12-25 10:35:09 -05:00
JosJuice
ca2a2c98f2
Merge pull request #7627 from Techjar/netplay-disable-bt-passthrough
...
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
2018-12-25 15:48:08 +01:00
JosJuice
08ae6d7706
Merge pull request #7525 from JosJuice/nand-title-region
...
Accurate region detection for NAND titles
2018-12-25 15:36:00 +01:00
weihuoya
184b2edc30
fx texture overlap
2018-12-25 21:24:25 +08:00
Jordan Woyak
0f19c4a40f
ControllerInterface: DInput: Update force feedback effects in a thread. This should prevent slowdowns experienced by a handful of users.
2018-12-24 19:40:58 -06:00
MerryMage
0deed2a5af
EmuCodeBlock: Fix bug in SetFPRF: Should only consider lower double
2018-12-24 19:02:43 +00:00
Markus Wick
e7b53540d8
Merge pull request #7634 from MerryMage/downcount-on-exit
...
Jit64: Check downcount at block exit, not block entry
2018-12-23 19:34:12 +01:00
MerryMage
5236dc31a6
Jit64: Check downcount at block exit, not block entry
2018-12-23 18:03:29 +00:00
Markus Wick
54f37c3bae
Merge pull request #7631 from MerryMage/crXXX-AeqB
...
Jit_SystemRegisters: Special-case crXXX for CRBA == CRBB
2018-12-23 17:55:09 +01:00
spycrab
fc998093cc
Merge pull request #7600 from spycrab/resource_pack
...
Implement resource packs
2018-12-23 16:04:05 +01:00
Jordan Woyak
d5df56c677
ControllerInterface: Make CoalesceExpression not set the inactive child's value (rumble) to 0. This caused rumble to not enable when a control expression was both a valid "bareword" and "complex" expression.
2018-12-22 11:17:05 -06:00
Jordan Woyak
a8d0afe219
Reduce input mapping detection time to 3 seconds because 5 seconds was ridciculously long and output (rumble) testing time to 2 seconds because 5 seconds was annoyingly long.
2018-12-22 10:58:34 -06:00
degasus
64378c90da
JitArm64: Fix RC calculation of srawix.
...
Seems like it was missed from the early implementation.
2018-12-22 17:31:14 +01:00
Jordan Woyak
3a145aeae4
ResetRumble on emu pause/stop regardless of presence of DInput/Xinput as that's not relevant. All the backends would like to stop rumbling.
2018-12-22 07:31:36 -06:00
zackhow
233b00fb7e
ConfigManager: add save/load for Jit debug options
2018-12-21 15:06:37 -05:00
MerryMage
174d2b0230
crXXX: Avoid loading twice when CRBA == CRBB
2018-12-21 11:33:18 +00:00
MerryMage
07c146e7e2
crXXX: Remove unnecessary CRBA == CRBD constraint for crclr and crset
2018-12-21 11:20:06 +00:00
spycrab
71d53c922f
Implement resource packs
2018-12-19 11:03:09 +01:00
Techjar
cf8b730c61
Core/BootManager: Disable bluetooth passthrough when booting NetPlay
...
Bluetooth passthrough does not and never will work on NetPlay, so we'll
just force the use of emulated bluetooth when booting in NetPlay.
2018-12-17 18:22:13 -05:00
Jordan Woyak
79eb065cf3
Reduce emulated shaking frequency to 6hz. (something more humanly possible) (was ~13hz)
2018-12-15 10:36:22 -06:00
Jordan Woyak
a8a6bdcdd2
Compute emulated classic controller calibration data instead of having hardcoded values.
2018-12-15 10:27:06 -06:00
Jordan Woyak
6848812a31
Produce emulated nunchuk calibration data.
2018-12-15 10:27:06 -06:00
CrystalGamma
2f490e44fb
stop using g_jit outside of JitInterface
...
Replace g_jit in x86-64 ASM routines code by m_jit member reference
2018-12-15 01:58:58 +01:00
Lioncash
6d394d03fe
Common/GLContext: Make member functions const qualified where applicable
...
These don't modify object state, so they can be const qualified.
2018-12-14 11:02:26 -05:00
Lioncash
52cae18b01
Interpreter: Handle paired-single HID2.PSE and HID2.LSQE bits
...
These bits enable or disable paired-single execution based on how
they're set. If PSE isn't set, then all paired-single instructions are
illegal. If PSE is set, but LSQE isn't set, then psq_l, psq_lu, psq_st
and psq_stu are illegal to execute.
Also thanks go out to my roommate @Veegie for letting me use his Wii as
a blasting ground for tests, since mine isn't on hand right now. It only
caught on fire twice and only burned down half of the house through the
process; what a team player.
2018-12-13 22:48:05 -05:00
Lioncash
c87a2f57b4
Interpreter_SystemRegisters: Handle reserved/read-only bits for HID2 in mtspr
2018-12-13 11:39:40 -05:00
Admiral H. Curtiss
fa6782f841
GCMemcard: Required declaration before C++17.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
36d84c6959
GCMemcard: Slightly nicer definition of UNINITIALIZED_GAMECODE.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
ca2c7679df
GCMemcard: Rewrite DEntry_IconFmt() and DEntry_AnimSpeed() to make more sense.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
2351a60567
GCMemcard: Let GetDEntry() return std::optional<DEntry>.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
860e003b0c
GCMemcard: Remove needless second definition of DENTRY_SIZE.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
3d77a43e67
GCMemcard: Use std::array for GCMBlock.m_block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
ceb9cb53c6
GCMemcard: Rename GCMBlock.block to m_block to match naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
fc70b60d8b
GCMemcard: Access active directory/BAT via methods instead of pointers.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
7ff65db3b2
GCMemcard: As far as I can tell, the directory and BAT blocks aren't really main and backup, but just two blocks that store data are written to alternately. So store them as an std::array of 2 blocks instead of an explicit 'backup' block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
0aaf24b9cc
GCMemcard: Rename GCMemcard variables to match our naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
4d4b5442bd
GCMemcard: Use std::array and BigEndianValue for BlockAlloc.m_map.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
eb6cc3dbab
GCMemcard: Use BigEndianValue for BlockAlloc.m_last_allocated_block.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
d3b61c3ff0
GCMemcard: Use BigEndianValue for BlockAlloc.m_free_blocks.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
88bdab6fe6
GCMemcard: Use BigEndianValue for BlockAlloc.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0f776fb091
GCMemcard: Use BigEndianValue for Directory.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
2d77096d63
GCMemcard: Use std::array for Directory's members.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
f8488f4561
GCMemcard: Use std::array for DEntry.m_unused_2.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
4175fdf28d
GCMemcard: Use std::array for DEntry.m_makercode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
deadec608e
GCMemcard: Use std::array for DEntry.m_gamecode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0c638ad858
GCMemcard: Use std::array for DEntry.m_filename.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
443729d2c3
GCMemcard: Use BigEndianValue for DEntry.m_comments_address.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
8a920dac93
GCMemcard: Use BigEndianValue for DEntry.m_block_count.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
675a549628
GCMemcard: Use BigEndianValue for DEntry.m_first_block.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
929fd2b41d
GCMemcard: Use BigEndianValue for DEntry.m_animation_speed.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
c3e9f53480
GCMemcard: Use BigEndianValue for DEntry.m_icon_format.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
65f6250faa
GCMemcard: Use BigEndianValue for DEntry.m_image_offset.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
1d25e249e8
GCMemcard: Use BigEndianValue for DEntry.m_modification_time.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
2f1ff80dd6
GCMemcard: Use std::array for Header members instead of raw C arrays.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
256d336219
GCMemcard: Use BigEndianValue for Header.m_encoding.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
8eabcbf294
GCMemcard: Use BigEndianValue for Header.m_size_mb.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
bfbfcc72a2
GCMemcard: Use BigEndianValue for Header.m_device_id.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
b3ce882109
GCMemcard: Use BigEndianValue for Header.m_sram_language.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
905a16e7e7
GCMemcard: Use BigEndianValue for Header.m_format_time.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
9f03c2f358
GCMemcard: Rename BlockAlloc variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
17208f4c89
GCMemcard: Rename Directory variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
15f89d3e6f
GCMemcard: Rename DEntry variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
c419dac1d8
GCMemcard: Rename Header variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
4b1d891378
GCMemcard: Add a few static asserts for sizes of memory card structures.
2018-12-09 22:28:55 +01:00
Techjar
2e19efa8d5
NetPlay: Sync Wiimote extension
...
Small addition of NetPlay code in Core.cpp was needed to set the
extensions at the right time, as init would override them otherwise.
This solution is more elegant than modifying the user's INI files on
game start.
2018-12-05 16:36:44 -05:00
Techjar
a2545a18b2
Qt/ControllersWindow: Fix Wiimote settings not being re-enabled after quitting NetPlay
...
We no longer allow accessing controller config while NetPlay is
running, so this check is no longer needed.
2018-12-05 16:12:12 -05:00
Léo Lam
2eb85c8fcf
Merge pull request #7594 from TryTwo/NestedDocks
...
Add nested docking to increase layout choices while debugging.
2018-12-05 17:14:46 +01:00
Pierre Bourdon
2c57e709d0
Merge pull request #7603 from jordan-woyak/fs-open-file-fix
...
Present an error message when failing to open a file that should exist.
2018-12-04 08:49:21 +01:00
Stenzek
7afd5cc2fb
Use main buffers for utility draws
2018-12-04 17:37:25 +10:00
Stenzek
5ca18ff04e
Vulkan: Restore viewport/scissor state on RestoreAPIState
2018-12-04 17:36:08 +10:00
Stenzek
b409a87d1a
D3D: Clamp viewport to current framebuffer dimensions, not target
2018-12-04 17:36:08 +10:00
Stenzek
fa8262fa4a
Vulkan: Don't panic on missing color/depth buffer in config
2018-12-04 17:36:08 +10:00
Stenzek
2644e920cc
Renderer: Add backbuffer format to base class
2018-12-04 17:36:08 +10:00
Stenzek
1adcd47dcb
Renderer: Add a base Initialize() method to match Shutdown()
2018-12-04 17:36:08 +10:00
Stenzek
38479dd783
RenderBase: Force a pipeline flush when drawing the XFB to the host
...
Since we use the common pipelines here and draw vertices if a batch is
currently being built by the vertex loader, we end up trampling over its
pointer, as we share the buffer with the loader, and it has not been
unmapped yet. Force a pipeline flush to avoid this.
2018-12-04 17:36:08 +10:00
booto
1ab390c15f
DTK: Report position in increments of 0x8000
2018-12-04 00:16:46 -05:00
Jordan Woyak
122ce28786
Present an error message when failing to open a file that should exist.
...
This could happen with savestate loads, permission issues, or use by other processes.
Prior to this Dolphin assumed any existing file could be opened and crashes from invalid variant access.
Failing to open a file during savestate load will likely still crash but at least the user will know why.
2018-12-03 19:07:42 -06:00
weihuoya
3ab0f02cec
vulkan: fx index buffer reserve size
2018-12-03 19:23:36 +08:00
Pierre Bourdon
f5e9135912
Merge pull request #7598 from sepalani/wfsi
...
WFSI: Fix Dragon Quest X (all-in-one, v2, v3) installers
2018-12-03 02:39:47 +01:00
Léo Lam
00151fd913
Merge pull request #7601 from sepalani/html-pre
...
LogWidget: Preserve spaces and newlines
2018-12-02 19:38:54 +01:00
Sepalani
d5692afd7d
LogWidget: Preserve spaces and newlines
2018-12-02 19:12:12 +04:00
Sepalani
077597b028
VersionInfo: Replace IOS59 v7021 with v9249
2018-12-01 22:29:39 +04:00
Sepalani
5bb7cd251e
WFSI: Handle PATCH_TYPE_2 properly in IOCTL_WFSI_FINALIZE_TITLE_INSTALL
2018-12-01 22:28:58 +04:00
Sepalani
f351280061
WFSI: Implement IOCTL_WFSI_CHANGE_TITLE
2018-12-01 22:26:47 +04:00
Stenzek
e3708ea8c3
Externals: Add MoltenVK binary, copy to package on macOS
2018-12-01 14:35:45 +10:00
Pierre Bourdon
754d934a18
Merge pull request #7596 from Techjar/netplay-fix-force-stop
...
NetPlay: Allow force stopping
2018-11-30 21:30:04 +01:00
Connor McLaughlin
6388992f62
Merge pull request #7039 from stenzek/moltenvk
...
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
Techjar
9c51439144
Qt/NetPlayDialog: Request game stop when core enters stopping state
...
This makes it possible to gracefully force stop emulation rather than
having to kill Dolphin completely when NetPlay deadlocks in the input
loop. Without a graceful stop, Wii saves do not get flushed to the main
NAND, and are left in limbo in the temporary NAND.
2018-11-30 03:40:23 -05:00
Techjar
baecc500e8
Core: Notify state change callback about stopping state
2018-11-30 01:20:22 -05:00
Pierre Bourdon
d9cacf6f5a
Merge pull request #7572 from delroth/analytics-quirks
...
Analytics: add simple framework for game quirks reporting
2018-11-30 05:22:45 +01:00
Pierre Bourdon
4d14d5ee9b
Merge pull request #7587 from Techjar/disable-controller-config-netplay
...
Qt: Disable controller configuration while NetPlay is running
2018-11-29 14:28:18 +01:00
Techjar
577f6a5fb1
Qt: Disable controller configuration while NetPlay is running
...
Doing pretty much anything in the controller config breaks NetPlay
(desync and/or deadlock), as saving the settings reconfigures
controller interfaces, which NetPlay doesn't expect.
2018-11-29 07:31:45 -05:00
Pierre Bourdon
09deed8aa4
Merge pull request #7586 from Techjar/controller-dialog-button-thing
...
Qt/ControllersWindow: Fix incorrect enabled states of configure buttons
2018-11-29 03:34:11 +01:00
TryTwo
c18aa36eab
Add nested docking to increase layout choices while debugging.
2018-11-27 11:14:46 -07:00
Techjar
9bb3c7d839
Qt/ControllersWindow: Fix incorrect enabled states of configure buttons
...
All configure buttons would be enabled, although no-op, upon
initialization of the dialog. Changing a setting to cause a save would
fix them.
2018-11-23 04:47:49 -05:00
Techjar
5c81285b91
NetPlay: Fix server peer initialization hang
...
The implementation of peer initialization would hang if the initial
packet was never received. This fixes that issue by deferring the
initialization to the packet receive loop.
2018-11-22 03:15:49 -05:00
Pierre Bourdon
8d20a173f0
Merge pull request #7579 from AdmiralCurtiss/next-free-block-fix
...
GCMemcard: Fix mixed memcard-based and bat-based indices in definition and usage of NextFreeBlock().
2018-11-22 06:54:52 +01:00
Jordan Woyak
fae368d2ee
Fix spurious error logs for conversions of empty strings on Windows.
2018-11-22 06:50:11 +01:00
Pierre Bourdon
0c6d677233
Merge pull request #7582 from AdmiralCurtiss/memcard-delete-wrong-dir
...
GCMemcard: Fix incorrect directory block being accessed in RemoveFile().
2018-11-22 06:43:25 +01:00
Pierre Bourdon
c9d5ac3e9a
Updater/UI: ITaskbarlist3 handling improvements.
...
* Properly error-check the interface querying and instance creation.
* Call HrInit() as required when getting the instance.
2018-11-22 02:46:36 +01:00
Pierre Bourdon
1805f51d79
Merge pull request #7446 from Techjar/wii-save-full-sync
...
NetPlay: Add full Wii save sync
2018-11-21 00:22:50 +01:00
Admiral H. Curtiss
431e6c42e1
GCMemcard: Fix incorrect directory block being accessed in RemoveFile().
...
When deleting files, block index data was always fetched from the first copy of the directory listing rather than the currently active one.
2018-11-21 00:15:58 +01:00
Admiral H. Curtiss
353e289fbf
GCMemcard: Fix mixed memcard-based and bat-based indices in definition and usage of NextFreeBlock().
2018-11-19 20:40:18 +01:00
JosJuice
46fe0669a5
Minor fixes to netplay sync strings
2018-11-19 19:54:55 +01:00
Techjar
b06b7e5686
NetPlay: Add full Wii save sync
...
This adds the ability to sync all Wii saves, instead of only the
selected game. Useful for cases like launching a game though GeckoOS.
2018-11-19 06:37:09 -05:00
Techjar
f4eb4fab08
HW/WiiSave: Fix reversed condition in WriteFiles
...
This didn't make any sense, as it would only attempt to create the directory if it already existed, and would simply fail if it didn't exist.
2018-11-19 06:37:09 -05:00
Techjar
6730748309
NetPlay: Use chunked data transfer for save sync
2018-11-19 06:37:09 -05:00
Techjar
d94922002b
NetPlay: Implement chunked data transfer
...
This sends arbitrary packets in chunks to be reassembled at the other
end, allowing large data transfers to be speed-limited and interleaved
with other packets being sent. It also enables tracking the progress of
large data transfers.
2018-11-19 06:37:09 -05:00
Techjar
529796bd59
NetPlay: Remove PadMapping type
...
Its usage was inconsistent, confusing, and buggy, so I opted to just
remove it entirely. It has been replaced with PadIndex for the
appropriate instances (mainly networking), and inappropriate usages
(where it was really just a player ID) have been replaced with the
PlayerId type. The definition of "no mapping" has been changed from -1
to 0 to match the defintion of "no player", as -1 (255 unsigned) is
actually a valid player ID.
The bugs never manifested because it only occurs with a full lobby of
255 players, at which point the last player's ID collides with the "no
mapping" definition and some undefined behavior occurs. Nevertheless, I
thought it best to fix it anyways as the usage of PadMapping was
confusing.
2018-11-19 05:45:32 -05:00
Pierre Bourdon
e6b2758ab4
Merge pull request #7477 from Zexaron/ext-minizip
...
Externals: Add a stripped down version of minizip
2018-11-17 22:23:02 +01:00
Léo Lam
c56516502d
Merge pull request #7440 from JosJuice/wii-menu-1.0-region
...
Never return Unknown from SConfig::GetFallbackRegion
2018-11-17 21:18:38 +01:00
Pierre Bourdon
08f9df2461
Merge pull request #7574 from spycrab/updater_pb
...
Updater: Add total progressbar
2018-11-17 16:42:32 +01:00
spycrab
3cfa255c5a
Updater: Add total progressbar
2018-11-17 16:37:53 +01:00
Techjar
94d7e7d78a
Qt/NetPlayDialog: Add external IP to interface combo box
...
The interface address isn't particularly useful in most circumstances
(playing over internet), and we have a way to get the external IP now,
so displaying it in the dialog is useful.
2018-11-15 03:29:28 -05:00
Pierre Bourdon
ef562ec2f1
Analytics: add simple framework for game quirks reporting
...
And use it for reporting games that rely on ICache emulation to some
degree. We know of a few but it would be interesting to get a more
exhaustive list from crowdsourcing.
2018-11-15 03:32:49 +01:00
Pierre Bourdon
6b7a1ca6d1
Merge pull request #7535 from UnclePunch/synccodes
...
Netplay: Sync AR and gecko codes with clients
2018-11-13 22:39:25 +01:00
Pierre Bourdon
41333fa971
Merge pull request #7564 from Techjar/netplay-sync-wii-shutdown
...
NetPlay: Sync power button event
2018-11-13 22:33:59 +01:00
Techjar
ef89e4e70c
NetPlay: Sync power button event
...
This fixes the deadlock on shutdown when Wii Remotes are in use.
2018-11-12 22:32:18 -05:00
Stenzek
502c4c0e87
TextureCache: Recompute overlapping XFB copy hashes after copying to RAM
2018-11-13 12:48:27 +10:00
Techjar
caf2fc3c3e
NetPlay: Sync Defer EFB Copies setting
2018-11-12 20:45:12 -05:00
Pierre Bourdon
97e3200f57
Merge pull request #7519 from stenzek/controller-window
...
Core: Switch controller interface to render surface on booting
2018-11-12 17:26:03 +01:00
Stenzek
a0653a1a34
Vulkan: Fix incorrect fence being assigned to staging texture
2018-11-12 01:02:32 +10:00
Pierre Bourdon
a9f7df5b15
SystemTimers: fix a 1-in-1000 crash happening in throttler performance
2018-11-10 20:50:17 +01:00
MerryMage
df08a77812
Jit_LoadStore: Ra needs to be ReadWrite when writeback is required
...
This was an erronous change in 534db3b
, Ra was previously loaded but was changed to not being loaded.
Why is loading necessary? Loading is necessary because when a memory exception occurs, the current
register values are flushed. This occurs before a new value is loaded into Ra, so the previous value
is required in Ra.
2018-11-10 10:57:15 +00:00
JosJuice
0e1cca54da
Merge pull request #7555 from Techjar/config-delcaration-unused
...
Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration
2018-11-09 08:07:21 +01:00
Pierre Bourdon
61b9ef33ab
Merge pull request #7492 from MerryMage/regcache2
...
JitRegCache: Refactor register cache
2018-11-09 04:45:47 +01:00
Techjar
4fd2a25253
Core/Config: Remove unused NETPLAY_SELECTED_HOST_GAME declaration
2018-11-08 22:39:42 -05:00
Pierre Bourdon
162e34ad22
Merge pull request #7534 from Techjar/fix-netplay-gamelist-saving
...
NetPlay: Fix saving host game selection
2018-11-09 04:28:55 +01:00
Pierre Bourdon
541c5ee996
Merge pull request #7550 from JosJuice/widescreen-hack-suggested-ratio
...
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-09 04:28:31 +01:00
Pierre Bourdon
e903d346ea
Merge pull request #7552 from stenzek/texture-cache-leak
...
TextureCache: Fix leaking TCacheEntry instances
2018-11-09 04:27:14 +01:00
spycrab
1595a9bdcd
Updater: Show progress in taskbar
2018-11-08 11:54:56 +01:00
Stenzek
78056686fd
TextureCache: Fix leaking TCacheEntry instances
2018-11-08 11:52:17 +10:00
JosJuice
a42432cae4
RenderBase: Set m_aspect_wide on start
...
It doesn't feel great to let the value from a previous emulation session
linger around considering that the GC aspect ratio heuristic can use
the previous value of m_aspect_wide when calculating m_aspect_wide.
2018-11-07 19:01:45 +01:00
JosJuice
b93b7ec419
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-07 19:00:24 +01:00
Pierre Bourdon
16a618f413
Merge pull request #7548 from stenzek/graphics-window-crash
...
OGL: Fix crash when opening graphics window on another backend
2018-11-07 17:45:52 +01:00
Pierre Bourdon
a77882468b
Merge pull request #7544 from DXGLdotinfo/master
...
Add supportedOS manifests for Windows 7, 8, 8.1, and 10 to DolphinQt …
2018-11-07 15:35:56 +01:00
Stenzek
0c0d66809d
PixelShaderGen: Split bbox into seperate variables
...
The Metal shader compiler fails to compile the atomic instructions
when operating on individual components of a vector. Spltting it
into four variables shouldn't make any difference for other
platforms, as they are accessed independently.
2018-11-07 05:41:09 -08:00
Stenzek
673f1963a0
Vulkan: Support macOS via MoltenVK
...
The path to the MoltenVK library can be specified by the
LIBMOLTENVK_PATH environment variable, otherwise it assumes it is
located in the application bundle's Contents/MacOS directory.
2018-11-07 05:41:09 -08:00
Stenzek
c7a2b1572b
CMake: Build Vulkan backend on macOS
2018-11-07 05:12:20 -08:00
Stenzek
041b977523
Common: Use GCD semaphores on macOS
...
Unnamed semaphores are not supported.
2018-11-07 05:12:20 -08:00
Stenzek
a1b9a9f519
DolphinQt: Add backend multithreading to graphics config
2018-11-07 05:12:20 -08:00
Stenzek
487ea5ab36
VideoBackend: Add a virtual PrepareWindow function
...
Executes backend-specific commands on the main thread.
2018-11-07 05:12:20 -08:00
Pierre Bourdon
c52bdba28a
Merge pull request #7542 from Tilka/fifo_analyzer
...
FIFOAnalyzer: don't use misleading format strings
2018-11-07 13:26:01 +01:00
Stenzek
7efdd1070b
OGL: Fix crash when opening graphics window on another backend
2018-11-07 21:20:12 +10:00
Techjar
dfa4395ba0
Core/Config: Fix memcard path not being saved
2018-11-07 04:29:44 -05:00
Stenzek
a45f977d26
Analytics: Add deferred EFB copies setting to graphics settings
2018-11-07 16:25:01 +10:00
Stenzek
66b6e72c5e
Vulkan: Submit fewer command buffers in deferred EFB copies mode
2018-11-07 16:25:01 +10:00
Stenzek
8e2c063d62
TextureCache: Implement deferred/batched EFB copies
2018-11-07 16:25:01 +10:00
William
6d437b282a
Add supportedOS manifests for Windows 7, 8, 8.1, and 10 to DolphinQt and Updater. Enables high contrast themes on Windows 8+.
2018-11-03 22:33:55 -04:00
Tillmann Karras
6714159660
FIFOAnalyzer: don't use misleading format strings
2018-11-03 14:37:22 +00:00
JosJuice
20b8c24847
Fix first DTK track not playing after booting with IPL
...
DVDLowAudioBufferConfig doesn't start a DTK stream, it just tells the
drive that the game is allowed to use DTK. At least if I'm not mistaken.
2018-11-01 21:06:11 +01:00
Vin Bertinelli
469f29350f
Netplay: Sync codes
...
Adds a tickbox to the server's window to syncronize codes. Codes
are temporarily sent to each client and are used for the duration of the
session.
Saves the "sync codes" tickbox as per PR Netplay: Properly save hosting
settings #7483
2018-10-29 23:00:51 +01:00
Techjar
203ecb534d
NetPlay: Fix saving host game selection
2018-10-29 17:01:30 -04:00
Pierre Bourdon
6bb31fc94c
DolphinQt: tell analytics to reload settings on change
2018-10-29 05:07:47 +01:00
Stenzek
6392be61eb
Host: Also call ControllerInterface::ChangeWindow when window changes
...
This should prevent us from trying to poll against destroyed native
windows.
2018-10-29 11:46:06 +10:00
Stenzek
cb6ba59a44
Host: Don't call ChangeSurface when handle hasn't changed
...
This was causing a deadlock when switching to fullscreen in
render-to-main-window mode.
2018-10-29 11:46:06 +10:00
Stenzek
52828901ef
Core: Switch controller interface to render widget on booting
...
Previously, the Qt frontend would initialize the controller
interface on starting, resulting in the cursor position being
relative to the main window, instead of the render window.
2018-10-29 11:46:06 +10:00
Stenzek
a7f334dc2a
ControllerInterface: Don't crash on non-X11 QPA
2018-10-29 11:46:06 +10:00
Pierre Bourdon
9095233d21
Merge pull request #7483 from Zexaron/netplay_save-host-settings
...
Netplay: Properly save hosting settings
2018-10-29 01:44:41 +01:00
Pierre Bourdon
f1413dbbf6
Merge pull request #7501 from Techjar/class-memaccess-cleanup
...
VideoCommon: Clean up class-memaccess warnings
2018-10-28 23:59:51 +01:00
Pierre Bourdon
7094f225d4
Merge pull request #7515 from JosJuice/wcsftime
...
Use wcsftime instead of strftime on Windows to fix encoding errors
2018-10-28 23:58:17 +01:00
Pierre Bourdon
53a45e5c28
Merge pull request #7445 from Techjar/improve-sfmlhelper
...
Improve SFMLHelper
2018-10-28 23:53:59 +01:00
Pierre Bourdon
98987beb73
Merge pull request #7526 from Tilka/mo_logging
...
DolphinQt: reduce warnings about MO files
2018-10-28 23:52:22 +01:00
Pierre Bourdon
2071dea9b7
Merge pull request #7497 from stenzek/lazy-initialize
...
Qt/MainWindow: Lazy initialize child windows
2018-10-28 23:51:23 +01:00
MerryMage
342067abfa
JitRegCache: Remove old interface
2018-10-28 17:57:46 +00:00
MerryMage
08c41090b2
JitRegCache: Add RegistersInUse
2018-10-28 17:57:46 +00:00
MerryMage
096392f295
JitRegCache: Add PreloadRegisters function
2018-10-28 17:57:46 +00:00
MerryMage
9f683f9bb1
BitSet: Add << operator
2018-10-28 17:57:46 +00:00
MerryMage
e699b6b283
Jit: Remove OpArg variant of ComputeRC
2018-10-28 17:57:46 +00:00
MerryMage
7d7316c90f
Jit_SystemRegisters: mffsx
2018-10-28 17:57:46 +00:00
MerryMage
62484141f2
Jit_SystemRegisters: mtfsfx
2018-10-28 17:57:46 +00:00
MerryMage
192f8ba6f1
Jit_Paired: ps_res
2018-10-28 17:57:46 +00:00
MerryMage
66d9349643
Jit_Paired: ps_rsqrte
2018-10-28 17:57:45 +00:00
MerryMage
3fc3a55a9a
Jit_Paired: mergeXX
2018-10-28 17:57:45 +00:00
MerryMage
cf5823c146
Jit_Paired: ps_muls
2018-10-28 17:57:45 +00:00
MerryMage
1550729688
Jit_Paired: ps_sum
2018-10-28 17:57:45 +00:00
MerryMage
be8fec6244
Jit_Paired: ps_mr
2018-10-28 17:57:45 +00:00
MerryMage
96b86a9bc4
Jit_FloatingPoint: HandleNaNs
2018-10-28 17:57:45 +00:00
MerryMage
0a96da578e
Jit_FloatingPoint: fresx
2018-10-28 17:57:45 +00:00
MerryMage
e812a62879
Jit_FloatingPoint: frsqrtex
2018-10-28 17:57:45 +00:00
MerryMage
68bbd56c01
Jit_FloatingPoint: frspx
2018-10-28 17:57:45 +00:00
MerryMage
cc77e2f3ef
Jit_FloatingPoint: fctiwx
2018-10-28 17:57:45 +00:00
MerryMage
457327cbc4
Jit_FloatingPoint: FloatCompare
2018-10-28 17:57:45 +00:00
MerryMage
55c21a15a2
Jit_FloatingPoint: fmrx
2018-10-28 17:57:45 +00:00
MerryMage
fecbf091e5
Jit_FloatingPoint: fselx
2018-10-28 17:57:45 +00:00
MerryMage
d62ca40496
Jit_FloatingPoint: fsign
2018-10-28 17:57:45 +00:00
MerryMage
537eeb7ebf
Jit_FloatingPoint: fmaddXX
2018-10-28 17:57:45 +00:00
MerryMage
a26c9c4b74
Jit_FloatingPoint: fp_arith
2018-10-28 17:57:45 +00:00
MerryMage
2337e089bf
Jit_SystemRegisters: mtspr
2018-10-28 17:57:45 +00:00
MerryMage
d87436c57d
Jit_LoadStorePaired: psq_lXX
2018-10-28 17:57:45 +00:00
MerryMage
0b29b5cb83
Jit_LoadStorePaired: psq_stXX
2018-10-28 17:57:45 +00:00
MerryMage
459f977483
Jit_LoadStoreFloating: stfiwx
2018-10-28 17:57:45 +00:00
MerryMage
dcfe955087
Jit_LoadStoreFloating: stfXXX
2018-10-28 17:57:45 +00:00
MerryMage
f564da7233
Jit_LoadStoreFloating: lfXXX
2018-10-28 17:57:45 +00:00
MerryMage
36790ad3ad
Jit_SystemRegisters: mtcrf
2018-10-28 17:57:45 +00:00
MerryMage
d8b2bf785a
Jit_SystemRegisters: mfcr
2018-10-28 17:57:45 +00:00
MerryMage
6ff8f9e991
Jit_SystemRegisters: mfmsr
2018-10-28 17:57:45 +00:00
MerryMage
5fa6df8c1e
Jit_SystemRegisters: mtmsr
2018-10-28 17:57:45 +00:00
MerryMage
1d867493d9
Jit_SystemRegisters: mfspr
2018-10-28 17:57:45 +00:00
MerryMage
9438ea0ef5
Jit_LoadStore: stmw
2018-10-28 17:57:45 +00:00
MerryMage
98cf0b3286
Jit_LoadStore: lmw
2018-10-28 17:57:45 +00:00
MerryMage
c6b9712ac4
Jit_LoadStore: stXx
2018-10-28 17:57:44 +00:00
MerryMage
90cef22d57
Jit_LoadStore: stX
2018-10-28 17:57:44 +00:00
MerryMage
4a2efc8f5e
Jit_LoadStore: dcbz
2018-10-28 17:57:44 +00:00
MerryMage
0e501e5c36
Jit_LoadStore: dcbx
2018-10-28 17:57:44 +00:00
MerryMage
534db3b2ed
Jit_LoadStore: lXXx
2018-10-28 17:57:44 +00:00
MerryMage
00d65f7a69
Jit: memcheck
2018-10-28 17:57:44 +00:00
MerryMage
c896d41c37
DoJit
2018-10-28 17:57:44 +00:00
MerryMage
4443b36326
Jit_Branch: bclrx
2018-10-28 17:57:44 +00:00
MerryMage
0cd85bbce7
Jit_Branch: bcctrx
2018-10-28 17:57:44 +00:00
MerryMage
453417ad8c
Jit_Branch: bcx
2018-10-28 17:57:44 +00:00
MerryMage
256e234949
Jit_Integer: DoMergedBranchCondition
2018-10-28 17:57:44 +00:00
MerryMage
0d3393b306
Jit_Integer: rlwimix
2018-10-28 17:57:44 +00:00
MerryMage
b866b5bdd9
Jit_Integer: reg_imm
2018-10-28 17:57:44 +00:00
MerryMage
ace2ed27ac
Jit_Integer: DoMergedBranchImmediate
2018-10-28 17:57:44 +00:00
MerryMage
88e5d0d8b1
Jit_Integer: cmpXX
2018-10-28 17:57:44 +00:00
MerryMage
b256286690
Jit_Integer: boolX
2018-10-28 17:57:44 +00:00
MerryMage
b7a4296bec
Jit_Integer: extsXx
2018-10-28 17:57:44 +00:00
MerryMage
c380764ed0
Jit_Integer: twX
2018-10-28 17:57:44 +00:00
MerryMage
5621907283
Jit_Integer: cntlzwx
2018-10-28 17:57:44 +00:00
MerryMage
31bd9b5cd0
Jit_Integer: srawix
2018-10-28 17:57:44 +00:00
MerryMage
817fddf734
Jit_Integer: srawx
2018-10-28 17:57:44 +00:00
MerryMage
32572dd639
Jit_Integer: slwx
2018-10-28 17:57:44 +00:00
MerryMage
22600b33ee
Jit_Integer: srwx
2018-10-28 17:57:44 +00:00
MerryMage
4a97f31aa2
Jit_Integer: negx
2018-10-28 17:57:44 +00:00
MerryMage
42614ede16
Jit_Integer: rlwnmx
2018-10-28 17:57:44 +00:00
MerryMage
d4e2acc9cd
Jit_Integer: rlwinmx
2018-10-28 17:57:44 +00:00
MerryMage
bde5df03a3
Jit_Integer: arithcx
2018-10-28 17:57:44 +00:00
MerryMage
6ce718b920
Jit_Integer: arithXex
2018-10-28 17:57:44 +00:00
MerryMage
9bf75a0f31
Jit_Integer: addx
2018-10-28 17:57:44 +00:00
MerryMage
50e7b97406
Jit_Integer: divwx
2018-10-28 17:57:44 +00:00
MerryMage
f945457915
Jit_Integer: divwux
2018-10-28 17:57:44 +00:00
MerryMage
2652d4dfdb
Jit_Integer: mulhwXx
2018-10-28 17:57:44 +00:00
MerryMage
24aadd933e
Jit_Integer: mullwx
2018-10-28 17:57:44 +00:00
MerryMage
02deaab6ee
Jit_Integer: mulli
2018-10-28 17:57:44 +00:00
MerryMage
497ac5789d
Jit_Integer: subfx
2018-10-28 17:57:44 +00:00
MerryMage
64c29ab942
Jit_Integer: Port subfic to new register cache interface
2018-10-28 17:57:44 +00:00
MerryMage
33812319ac
Jit: Add preg_t variant of ComputeRC
2018-10-28 17:57:44 +00:00
MerryMage
5e46c16e4f
JitRegCache: Add IsZero to RCOpArg
2018-10-28 17:57:43 +00:00
MerryMage
2e955012b2
JitRegCache: Add BindOrImm
2018-10-28 17:57:43 +00:00
MerryMage
590ec866b0
JitRegCache: Add revertable binds
2018-10-28 17:57:43 +00:00
MerryMage
16f8b7413d
JitRegCache: IsAllUnlocked
2018-10-28 17:57:43 +00:00
MerryMage
6c61d9a426
JitRegCache: RCForkGuard
2018-10-28 17:57:43 +00:00
MerryMage
367a0bb672
JitRegCache: Add RCOpArg::ExtractWithByteOffset
2018-10-28 17:57:43 +00:00
MerryMage
ae1bd7a6b0
JitRegCache: New interface
2018-10-28 17:57:43 +00:00
MerryMage
6fef683e14
JitRegCache: Move files to subdirectory
2018-10-28 17:57:43 +00:00
MerryMage
448fc89e4c
JitRegCache: Count locks/unlocks
2018-10-28 17:57:43 +00:00
MerryMage
2dce7e6e21
Common: Add variant utilities
2018-10-28 17:57:43 +00:00
Pierre Bourdon
98b0efb6de
Merge pull request #7499 from JosJuice/purge-game-list-cache
...
DolphinQt: Implement "Purge Game List Cache"
2018-10-28 17:00:04 +01:00
Tillmann Karras
13930f565a
DolphinQt: reduce warnings about MO files
2018-10-28 11:45:59 +00:00
JosJuice
8baafcc523
Accurate region detection for NAND titles
2018-10-28 11:27:08 +01:00
Stenzek
7c4607a05a
Vulkan: Add missing increment of draw call count
2018-10-28 11:32:26 +10:00
Pierre Bourdon
756a2fe14d
Merge pull request #7517 from delroth/analytics-perf
...
Report performance information through our analytics subsystem
2018-10-28 00:43:12 +02:00
Pierre Bourdon
83c3370c2a
RenderBase: send performance sample at every end of frame
...
Not the best integration point, but couldn't think of something better.
This implementation has the benefit to be super simple.
2018-10-27 17:39:54 +02:00
Pierre Bourdon
6a891ea37c
Core/Analytics: add support for performance sampling
...
Samples are pushed to the analytics module every frame but only sent
once every ~15min. We send data for 100 frames at a time.
2018-10-27 17:39:53 +02:00
Pierre Bourdon
d98c0da41b
Common/Analytics: add basic support for vector serialization
...
Only supports u32 for now since that's the only thing we need.
2018-10-27 17:16:58 +02:00
Pierre Bourdon
64e04eb38c
SystemTimers: export performance index from the throttler callback
2018-10-27 15:14:59 +02:00
JosJuice
5718b870d1
Use wcsftime instead of strftime on Windows to fix encoding errors
...
Reported by https://forums.dolphin-emu.org/Thread-odd-codes-appear-in-save-load-state-when-chinese-language-is-used
2018-10-26 14:26:21 +02:00
JosJuice
34edcdd454
Never return Unknown from SConfig::GetFallbackRegion
...
This happens if Wii Menu 1.0 is installed.
Reported by https://forums.dolphin-emu.org/Thread-default-case-should-not-be-reached
2018-10-25 17:54:13 +02:00
JosJuice
8bbec31295
DolphinQt: Implement "Purge Game List Cache"
...
This is a missing feature from DolphinWX.
2018-10-25 08:29:54 +02:00
Mat M
74c49c961e
Merge pull request #7504 from JosJuice/game-id-partition-none
...
Fix issue 11422 (inconsistent game ID for some hacked games)
2018-10-24 21:15:10 -04:00
Pierre Bourdon
eadb4a66a5
ThrottleCallback: use microseconds to represent realtime
...
Using milliseconds doesn't provide a lot of granularity, and we can use
all we can get for performance analysis.
2018-10-25 02:27:49 +02:00
Stenzek
8c84e27155
Core: Fix display being passed as surface to ControllerInterface
2018-10-24 15:24:10 +10:00
Stenzek
1e8cdc02d1
CMake: Fix DolphinNoGUI build
2018-10-24 14:50:23 +10:00
Stenzek
2c6d96433c
GLContext: Try GL versions 3.2-4.6 when getting a context
...
GLX previously was only creating a 4.0 context.
2018-10-20 21:11:34 +10:00
Stenzek
c95802afeb
CMake: Make X11 and EGL optional
2018-10-20 21:11:34 +10:00
Stenzek
0559311f92
GLContext: Runtime selection of EGL/GLX on Linux
2018-10-20 21:11:34 +10:00
Stenzek
025e909773
GLContext: Use destructor instead of Shutdown() to cleanup
...
Also uses the Initialize() method to make the context current.
2018-10-20 21:11:34 +10:00
Stenzek
4b8d1c2b42
GLContext: Combine shared context initialization and creation
2018-10-20 21:11:34 +10:00
Stenzek
dcdd02d646
GLContext: Remove global context pointer
2018-10-20 21:11:34 +10:00
Stenzek
eb284b5d66
VideoBackends: Pass window system info from host on creation
2018-10-20 21:11:34 +10:00
Stenzek
9c57a98723
GLContext: Use host connection
...
This also removes the need for a sleeping event thread.
2018-10-20 21:11:34 +10:00
Stenzek
1d827a5223
Renderer: Pull dimensions from GLInterface/Swapchain
2018-10-20 21:11:34 +10:00
Stenzek
a3961750a7
Drop Host_GetRenderSurface and pass display to backend
2018-10-20 21:11:34 +10:00
Stenzek
134d967be2
Refactoring and cleanup of GLInterface (now GLContext)
2018-10-20 21:11:34 +10:00
Stenzek
74b82bab3b
GLInterface: Drop Haiku support
2018-10-20 21:11:33 +10:00
Tillmann Karras
97cc9894e4
Update to Visual Studio's default Windows SDK
2018-10-20 00:53:08 +01:00
Mat M
4d62037f88
Merge pull request #7505 from JosJuice/korean-country-code
...
DiscIO: Restore the Korean case in CountryCodeToCountry
2018-10-19 17:28:50 -04:00
JosJuice
338f3467e5
DiscIO: Restore the Korean case in CountryCodeToCountry
...
I must've goofed or something last time I changed this.
2018-10-19 18:45:59 +02:00
JosJuice
03d401127e
Fix issue 11422 (inconsistent game ID for some hacked games)
...
Starting with PR 7411, the rest of Dolphin reads the game ID from
PARTITION_NONE, but SetRunningGameMetadata was still reading from
the game partition. https://bugs.dolphin-emu.org/issues/11422
2018-10-16 21:41:28 +02:00
Tilka
cb576bf382
Merge pull request #7503 from MerryMage/signed_comparison
...
BTReal: Correct comparison of integers of different signs
2018-10-15 19:36:45 +01:00
MerryMage
688e8db904
BTReal: Correct comparison of integers of different signs
2018-10-15 19:30:58 +01:00
Anthony
cffca7cbec
Merge pull request #7502 from JosJuice/functions-signature
...
Improve the "functions signature" string
2018-10-15 11:01:36 -07:00
JosJuice
4a07b9a0e1
Improve the "functions signature" string
2018-10-15 18:31:02 +02:00
Techjar
8560eecd49
VideoCommon: Clean up class-memaccess warnings
2018-10-14 23:05:47 -04:00
Z1ni
d7640f5929
Qt/GameList: Cancel ISO compression when the user cancels the save dialog
2018-10-14 21:04:43 +03:00
Stenzek
ea77899ddd
Qt/MainWindow: Maintain pointer to hotkey window
...
Prevents multiple hotkey windows from being opened.
2018-10-14 22:24:31 +10:00
Stenzek
211a9bf6d2
Qt/MainWindow: Lazy initialize child windows
2018-10-14 21:46:59 +10:00
Tilka
b5d855caf7
Merge pull request #7496 from stenzek/null-shader-cache
...
ShaderCache: Don't create or load shader cache with Null backend
2018-10-14 12:30:32 +01:00
Stenzek
e3f475b30e
NullBackend: Initialize vtx_decl in VertexFormat
...
This field was previously left uninitialized, which resulted in corrupted
UID caches being created.
2018-10-14 21:24:09 +10:00
Tilka
660fb3fca0
Merge pull request #7412 from AdmiralCurtiss/xfb-stitch-in-order
...
Stitch together overlapping XFB regions in order of XFB copy creation.
2018-10-14 12:00:41 +01:00
Stenzek
c2fab7f016
ShaderCache: Don't create or load shader cache with Null backend
2018-10-14 20:03:57 +10:00
Tilka
64515d0840
Merge pull request #7216 from leoetlino/test
...
Fix BT passthrough by sending larger packets
2018-10-14 10:22:51 +01:00
Tilka
8d1e996f39
Merge pull request #7495 from JosJuice/wii-menu-1.0-region-3
...
Show 1.0U instead of 1.0 for Wii Menu 1.0
2018-10-14 09:49:26 +01:00
JosJuice
34c05e17dc
Show 1.0U instead of 1.0 for Wii Menu 1.0
...
As suggested by https://github.com/dolphin-emu/dolphin/pull/7487#issuecomment-429528407
2018-10-14 09:47:47 +02:00
Tilka
e18fbb9bd3
Merge pull request #7449 from amaiorano/fix-extensions-combo-update-on-reset-defaults
...
Fix extensions combo update on reset defaults
2018-10-14 02:22:54 +01:00
Tilka
9a1f259626
Merge pull request #7486 from amaiorano/fix-infinite-polling-for-usb-devices
...
Fix infinite polling for usb devices after the "add to whitelist" dia…
2018-10-14 01:13:35 +01:00
Tilka
1abb27909d
Merge pull request #7480 from sp00nd/master
...
Change gecko sorting back to manual
2018-10-14 01:07:51 +01:00
Tilka
2d0e217715
Merge pull request #7485 from amaiorano/double-click-to-add-usb-whitelist-device
...
Make double click on selected usb whitelist device add it
2018-10-14 01:02:50 +01:00
MerryMage
93ec976975
Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0 (Redux)
...
* BTR modifies its argument.
* Do not fallthrough.
2018-10-13 19:20:08 +01:00
Pierre Bourdon
2508f6c621
Revert "Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0"
2018-10-13 20:04:30 +02:00
Pierre Bourdon
2bdee9b80b
Merge pull request #7455 from spycrab/qt_tags
...
Qt/GameList: Implement tag system
2018-10-13 19:58:32 +02:00
MerryMage
e7a65c31a8
Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0
...
BTR modifies its argument
2018-10-13 15:59:40 +01:00
Zexaron
550aa93ed0
NetPlay: Properly save Hosting GUI settings
2018-10-13 10:35:42 +02:00
Antonio Maiorano
3dec84a91b
Fix infinite polling for usb devices after the "add to whitelist" dialog has been opened once
...
Problem is that USBDeviceAddToWhitelistDialog starts a timer once created to poll for devices every second. In Qt, closing a heap-allocated dialog doesn't delete it, so it keeps on polling. This fix is to allocate dialog on the stack, then use "exec" to run it modally without returning. Once closed, the stack instance will get destroyed, thus killing the timer.
2018-10-12 21:34:05 -04:00
MerryMage
d60345f15e
Jit_FloatingPoint: Make fp_tri_op a local lambda
2018-10-12 20:46:02 +01:00
Tilka
94f07e7fa9
Merge pull request #7472 from Z1ni/usb-dev-dialog-close
...
Qt/Settings: Add Cancel button to USB passthrough device dialog
2018-10-12 20:43:09 +01:00
Mat M
bbb08eec98
Merge pull request #7487 from JosJuice/wii-menu-1.0-region-2
...
Treat Wii Menu 1.0 as NTSC-U
2018-10-12 14:45:17 -04:00
JosJuice
7643d6d2f9
Treat Wii Menu 1.0 as NTSC-U
...
See the comments of https://github.com/dolphin-emu/dolphin/pull/7440 .
2018-10-12 17:13:40 +02:00
Mat M
57529bc455
Merge pull request #7438 from RolandMunsil/master
...
Fix issue where breakpoint type wasn't correct in debugger memory view.
2018-10-12 10:30:31 -04:00
Mat M
ecd4897d43
Merge pull request #7437 from stenzek/graphics-options-race
...
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
Mat M
b3cd6158fc
Merge pull request #7471 from JosJuice/country-region-switch
...
DiscIO: Improve RegionSwitch/CountrySwitch
2018-10-12 10:25:45 -04:00
JosJuice
f834ef1dfe
DiscIO: Rename RegionSwitch/CountrySwitch
...
Callers don't need to know that these functions are implemented
with a switch statement.
2018-10-12 12:32:22 +02:00
JosJuice
7fd1784b9a
DiscIO: Add more RegionSwitch/CountrySwitch comments
2018-10-12 12:32:22 +02:00
JosJuice
7607dc3573
DiscIO: Fix CountrySwitch's 'M' comment (and clarify other VC comments)
2018-10-12 12:31:52 +02:00
Tilka
f5bfcdda5a
Merge pull request #7473 from aldelaro5/fix-signature-export
...
Qt/debugger: restore previously lost symbols and signature features
2018-10-11 13:03:37 +01:00
Tilka
b35e0fd456
Merge pull request #7451 from stenzek/gles-blit-scissor
...
OGL: Disable scissor test when calling glBlitFramebuffer()
2018-10-11 13:00:17 +01:00
Antonio Maiorano
3a8493cc59
Make double click on selected usb whitelist device add it
2018-10-09 20:34:32 -04:00
Tillmann Karras
db54b903ef
Zero-initialize CPU state and register view
2018-10-10 00:04:02 +01:00
Tillmann Karras
dfe8305ae7
PowerPC: fix a cast warning
2018-10-10 00:03:54 +01:00
sp00nd
6cd53bf92d
Change gecko sorting back to manual
...
Gecko codes are a core foundation of most netplay sessions and most general modding cases. It has gone so far as to now have an ini for almost every game.
After the massive UI overhaul, the gecko code sorting defaults to Alphabetical with no option to change it. This removes the possibility for netplay builds to have important and necessary codes at the top for easy selecting, and removes the ability to sort massive code lists in categories.
This will also make the sorting consistent with AR codes, which are sorted manually.
2018-10-09 17:46:11 -05:00
Tilka
7cfba7397c
Merge pull request #7475 from aldelaro5/symbols-search-case-insensitive
...
Qt/debugger: make the symbols search case insensitive
2018-10-09 21:18:06 +01:00
Z1ni
b27c688fdf
Qt/Settings: Add Cancel button to USB passthrough device dialog
2018-10-09 15:28:40 +03:00
Pierre Bourdon
8e26d33133
Externals: Add a stripped down version of minizip.
2018-10-09 14:27:53 +02:00
Stenzek
2e905455b1
OGL: Disable scissor test when calling glBlitFramebuffer()
...
glBlitFramebuffer() does not bypass the scissor test, which meant that
part of texture copies (e.g. XFB) could have been clipped when running
under OpenGL ES, as glCopyImageSubData() is not supported.
2018-10-09 22:00:40 +10:00
Tilka
480972612c
Merge pull request #7474 from aldelaro5/fix-pc-icons-swap
...
Qt/debugger: reorder the PC toolbar icons to their correct buttons
2018-10-09 09:02:10 +01:00
Tilka
5b8e1e61e8
Merge pull request #7470 from Tilka/fifoplayer
...
FifoPlayer: reduce XF_REGS_SIZE to what we know
2018-10-09 08:56:48 +01:00
aldelaro5
68aff9c023
Qt/debugger: make the symbols search case insensitive
2018-10-08 21:17:33 -04:00
aldelaro5
9fd7da59b1
Qt/debugger: reorder the PC toolbar icons to their correct buttons
2018-10-08 21:10:18 -04:00
aldelaro5
3921d8a8be
Qt/debugger: restore previous symbols and signature features
...
They were mysteriously lost after the Qt migration.
2018-10-08 20:59:55 -04:00
Tillmann Karras
56fdcf5f00
VideoCommon: remove unnecessary floor()
...
floatindex is clamped to the range [0, 9]. For non-negative numbers
floor() is equivalent to trunc(). Truncation happens implicitly when
converting to uint, so the floor() is unnecessary.
2018-10-09 00:31:43 +01:00
Tilka
31594a8138
Merge pull request #7462 from aldelaro5/fix-signature-export
...
Qt/debugger: Accept empty prefix input
2018-10-09 00:30:19 +01:00
Tillmann Karras
79051a28c4
evdev: simplify code
...
No need to check write access if we call open() right after which checks
that anyway. Also only get the device name once.
2018-10-08 19:51:29 +01:00
JosJuice
cab5e52d15
DiscIO: Fix the 'W', 'X', 'Y' and 'Z' country codes
...
These country codes have the unfortunate property that they are used
by Wii disc games in two different regions. We already correct for this
in VolumeGC::GetCountry and VolumeWii::GetCountry, so this commit
shouldn't really have any effect on how the game list behaves,
but it will be useful if we in the future would want to call
CountrySwitch directly without having extra code in the caller for
handling region weirdness.
2018-10-08 13:57:31 +02:00
JosJuice
504024ab46
DiscIO: Add the missing 'V' country code
2018-10-08 13:57:31 +02:00
JosJuice
57d05293fd
DiscIO: Move the Korean GC mess out of VolumeGC
2018-10-08 13:56:13 +02:00
Tillmann Karras
9c7136453d
FifoPlayer: reduce XF_REGS_SIZE to what we know
...
This avoids out-of-bounds warnings when replaying FIFO captures.
The value of XF_REGS_SIZE is written into the DFF header and we only
read the min of XF_REGS_SIZE and the header value, so this change is
backward compatible and doesn't break forward compatibility for old
Dolphin versions either.
2018-10-08 06:54:32 +01:00
Tillmann Karras
b37886580b
GekkoDisassembler: fix mtfsf yet again
2018-10-08 02:43:34 +01:00
Tillmann Karras
09385b9542
FIFOAnalyzer: print BP registers without X suffix
2018-10-08 02:00:25 +01:00
Tillmann Karras
ec4c019a7b
FIFOAnalyzer: fix printing of XF registers
2018-10-08 02:00:25 +01:00
Mat M
74fd95c4c4
Merge pull request #7465 from Tilka/mtfsf_disasm
...
GekkoDisassembler: fix disassembly of mtfsf
2018-10-07 20:53:55 -04:00
Tilka
63dcd33e9c
Merge pull request #7467 from MerryMage/lXXx
...
Jit_LoadStore: Name indexed condition
2018-10-07 20:35:05 +01:00
MerryMage
8e3846d844
Jit_LoadStore: Name indexed condition
...
inst.OPCD == 31 represents an indexed instruction
2018-10-07 20:29:47 +01:00
Jules Blok
1ab1d41b10
Merge pull request #7457 from Tilka/use_clamp
...
VideoSoftware: make use of Clamp()
2018-10-07 19:53:45 +01:00
Tillmann Karras
29c271d0eb
GekkoDisassembler: fix disassembly of mtfsf
...
This fixes https://dolp.in/i11411 .
2018-10-07 17:27:02 +01:00
Tillmann Karras
c53cd09b00
BPStructs: don't warn about busclock/perf regs
2018-10-07 16:08:18 +01:00
mazes-80
eae36399dc
IOWindow: append new text at the end by default
...
This fixes https://dolp.in/i11026 .
2018-10-07 12:27:05 +01:00
MerryMage
d448ed3308
JitRegCache: Fix SanityCheck
2018-10-07 11:48:06 +01:00
MerryMage
d5999bc0df
JitRegCache: Rename CachedReg function names
...
* BoundTo -> SetBoundTo
* Flushed -> SetFlushed
* Remove argument from MakeDirty
2018-10-07 11:48:06 +01:00
MerryMage
29d301e303
JitRegCache: Use preg_t for PPC register indexes
2018-10-07 11:48:06 +01:00
MerryMage
d9e2b3ed98
JitRegCache: Make {Store,Load}Register protected
...
No reason for them to be public
2018-10-07 11:48:06 +01:00
MerryMage
66c3d1e183
JitRegCache: Remove FlushR
...
No external users.
2018-10-07 11:48:05 +01:00
MerryMage
ba33e1e69b
JitRegCache: Simplify ASSERTs
2018-10-07 11:48:05 +01:00
aldelaro5
4b75876ba1
Qt/debugger: Accept empty prefix input
2018-10-06 21:22:34 -04:00
MerryMage
ff0a6b8331
JitRegCache: Encapsulate behavior of X64CachedReg
2018-10-06 19:27:56 +01:00
MerryMage
dd41bab365
JitRegCache: Encapsulate behavior of PPCCachedReg
2018-10-06 19:27:56 +01:00
Tilka
af2f212039
Merge pull request #7348 from spycrab/gl_cache_shaders
...
GL/TextureCache: Clean up inline shader code
2018-10-06 00:28:54 +01:00
Tilka
32ef8706e5
Merge pull request #7414 from Sintendo/shortmovs
...
x64Emitter: emit shorter MOVs for 64-bit immediates
2018-10-06 00:01:35 +01:00
Tilka
b480db9392
Merge pull request #7419 from Sintendo/miscopts
...
Miscellaneous x64 micro-optimizations
2018-10-05 23:44:25 +01:00
Tilka
781b707af8
Merge pull request #7444 from amaiorano/fix-messagebox-icons
...
Fix QMessageBox icons using the default rather than the Dolphin logo
2018-10-05 23:34:40 +01:00
Tillmann Karras
a6a5d86cd8
VideoSoftware: make use of Clamp()
2018-10-05 22:07:38 +01:00
JosJuice
08d0b98988
DiscIO: Merge RegionSwitchGC and RegionSwitchWii
2018-10-05 17:54:29 +02:00
spycrab
6e873c6e06
Qt/GameList: Implement tag system
2018-10-05 08:22:51 +02:00
Antonio Maiorano
bf18f19b0a
Make the progress dialog look better (used for e.g. shader compiling)
...
* Removed the Cancel button since the code doesn't react to it anyway.
* Only show a window title, not the help icon (?), and disable the close button
* Set the title to "Dolphin" instead of repeating the label text
2018-10-03 21:35:10 -04:00
Antonio Maiorano
f257630c0a
Fix resetting emulated wii remote settings to default not updating Extension combo box
2018-10-02 23:34:32 -04:00
Techjar
c5b4e1a5f6
Improve SFMLHelper
...
Switch to using additional overloads of sf::Packet, so we can eliminate
some of the messy code and just use the normal syntax for
BigEndianValue.
We can't avoid helper functions with u64 due to SFML's non-standard way
of defining 64-bit integer types.
2018-10-02 05:44:50 -04:00
Antonio Maiorano
165ac1c29e
Fix QMessageBox icons using the default rather than the Dolphin logo
2018-10-02 00:26:43 -04:00
Pierre Bourdon
58b0a284a8
Merge pull request #7408 from AdmiralCurtiss/twin-snakes-cutscene-flicker-fix
...
Do not consider XFB copies for invalidating textures when loading a new texture.
2018-10-01 22:24:31 +02:00
Pierre Bourdon
91d9190e69
Merge pull request #7442 from shuffle2/fix-sram
...
mx sram: fix checksum calc; use Common::BigEndianValue for rtc field.
2018-10-01 22:08:42 +02:00
Pierre Bourdon
94c70bf884
Merge pull request #7441 from JosJuice/fix-read-title-id
...
Fix reading title IDs of Wii discs
2018-10-01 22:07:03 +02:00
Shawn Hoffman
2a0f022da3
mx sram: replace union-with-byte-array with operator[] to make gcc happy.
2018-10-01 00:00:20 -07:00
Shawn Hoffman
d300f3bbbc
exi ipl: quiet a gcc warning
2018-09-30 18:22:35 -07:00
Shawn Hoffman
2cd96aa5bb
mx sram: fix checksum calc; use Common::BigEndianValue for rtc field.
2018-09-30 17:58:37 -07:00
JosJuice
0bcb9923f8
Fix reading title IDs of Wii discs
...
Partial revert of a1db82a
.
Should fix https://bugs.dolphin-emu.org/issues/11404 .
2018-09-30 17:46:20 +02:00
Shawn Hoffman
d594d4f12f
Fix sram accesses.
2018-09-29 22:52:29 -07:00
Sintendo
d8953dbe57
x64Emitter: nit, use helper method in CMP_or_TEST
2018-09-29 09:52:54 +02:00
Sintendo
ef94fca504
DSPJit: various micro-optimizations
2018-09-29 09:52:30 +02:00
Sintendo
e3b424facd
EmuCodeBlock: remove redundant instructions
...
Their result is overwritten by a subsequent MOV.
2018-09-28 23:58:16 +02:00
MerryMage
89a0b0de32
Jit64AsmCommon: Reduce branches in fast-path and inline most behavior
...
The only behavior requires a function call is denormal behaviour. We also fix fpscr exception raising.
2018-09-28 18:11:30 +01:00
Stenzek
349765ba77
GraphicsWindow: Ensure adapter selection isn't enabled while running
2018-09-28 22:01:23 +10:00
Stenzek
eb33d7af64
Core: Call InitBackendInfo before loading config
2018-09-28 21:44:41 +10:00
Stenzek
93923e2b29
Don't fill backend info when core is running
...
The current approach results in the UI thread creating a graphics device
whilst the core is running, leading to races on function pointers, and
potentially crashing.
2018-09-28 21:43:22 +10:00
Mat M
a1db82a72e
Merge pull request #7411 from JosJuice/wii-metadata-unencrypted
...
Read Wii disc metadata from the unencrypted header
2018-09-28 00:44:25 -04:00
Stenzek
a877d5f6dc
Remove unused Host_ShowVideoConfig
2018-09-28 14:05:53 +10:00
Mat M
a5c74cd6d1
Merge pull request #7382 from stenzek/drop-vk-nv-glsl
...
Vulkan: Drop usage of VK_NV_glsl extension
2018-09-27 21:56:22 -04:00
Mat M
3cee297c87
Merge pull request #7331 from booto/si_buffer
...
SI: Add 16bit accessors for SI IO buffer
2018-09-27 21:50:50 -04:00
Mat M
d0b2f04539
Merge pull request #7421 from JosJuice/qt-sd-hotplug
...
DolphinQt: Allow inserting/ejecting SD cards during emulation
2018-09-27 21:48:16 -04:00
Mat M
62b88f890d
Merge pull request #7422 from JosJuice/scrub-unencrypted
...
Fix scrubbing unencrypted Wii disc images
2018-09-27 21:47:49 -04:00
Roland Munsil
5eefd0482a
Fix issue with breakpoint type loaded from settings not propogating to MemoryWindow
2018-09-25 17:45:18 -05:00
Roland Munsil
54bd16e753
Fix typo causing "Remove from Watch" in Cheat Manager to crash Dolphin
2018-09-24 23:01:24 -05:00
Roland Munsil
04969f94b6
Fix some Cheat Manager comparisons being wrong
2018-09-24 21:34:48 -05:00
Markus Wick
85961f996e
Merge pull request #7400 from zackhow/phone-rumble
...
Android: Add rumble for phone
2018-09-21 17:05:46 +02:00
JosJuice
facaeb615e
Fix scrubbing unencrypted Wii disc images
...
Untested with unencrypted Wii disc images, because I don't have any.
I tested that normal Wii disc images still work, though.
2018-09-20 23:23:10 +02:00
JosJuice
ce3e0fc091
Refactor DiscScrubber::MarkAsUsedE
2018-09-20 23:23:06 +02:00
JosJuice
5db27b8e7e
DolphinQt: Allow inserting/ejecting SD cards during emulation
...
This is possible on real hardware and was possible in DolphinWX.
2018-09-20 18:41:37 +02:00
Sintendo
53a947749a
x64Emitter: short MOV for 64bit immediates (2)
...
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.
0: 48 b8 ef be ad de 00 movabs rax,0xdeadbeef
7: 00 00 00
With this change, it will instead rely on the fact that on x64 writes to
32-bit registers are automatically zero extended to 64-bits, allowing
us to emit a 5 or 6-bytes instruction with the same effect for certain
immediates.
0: b8 ef be ad de mov eax,0xdeadbeef
2018-09-16 19:52:03 +02:00
Léo Lam
e90bd035cb
Merge pull request #7262 from lioncash/force
...
ControlGroup: Return state data via GetState() by value where applicable
2018-09-16 16:04:21 +02:00
Léo Lam
5a289de27a
Fix BT passthrough by sending larger packets
...
Fixes a critical regression from 8bb08d1ca6
.
In that commit, I replaced a 1024 byte buffer with a SHCIEventCommand.
However, it looks like some Bluetooth adapters actually require such
a large buffer, so this change needs to be reverted.
2018-09-16 15:36:58 +02:00
Léo Lam
40b7fab235
Merge pull request #7261 from lioncash/static
...
WiimoteReal: Make functions internally linked where applicable
2018-09-16 15:30:25 +02:00
Léo Lam
3ecc4ed1c4
Merge pull request #7390 from Techjar/qt-save-grid-scale
...
Qt/GameList: Make grid view scale persistent
2018-09-16 15:21:00 +02:00
Léo Lam
c49eb2d249
Merge pull request #7398 from Techjar/emu-speed-skip-vsync
...
VideoCommon: Skip vsync if configured emulation speed is not 100%
2018-09-16 15:19:45 +02:00
Léo Lam
80c402e1ad
Merge pull request #7161 from lioncash/disasm
...
CMake: Only link in Bochs on x86 platforms
2018-09-16 15:16:00 +02:00
Léo Lam
3a16c0d47e
Merge pull request #7401 from JosJuice/translation-fixes
...
Translation fixes
2018-09-16 15:09:26 +02:00
Pierre Bourdon
e3a52b3361
Merge pull request #7415 from JosJuice/korean-shop-channel-check
...
Include the Korean Wii Shop Channel when checking default credentials
2018-09-15 17:37:35 +02:00
JosJuice
b5bb445f21
Include the Korean Wii Shop Channel when checking default credentials
2018-09-15 17:28:23 +02:00
Admiral H. Curtiss
f2fa63783b
Do not consider XFB copies for invalidating textures when loading a new texture.
...
This fixes severe image flickering in some cutscenes of Twin Snakes. The game appears to sometimes load a previously made XFB copy as a texture before it is actually rendered to the screen, which we took as an invitation to invalidate the XFB copy.
2018-09-15 13:56:45 +02:00
Sintendo
575f1b309a
x64Emitter: short MOV for 64bit immediates (1)
...
Prior to this commit, the emitter would unconditionally emit a 10-byte
instruction known as MOVABS when loading a 64-bit immediate to a
register.
0: 48 b8 ef be ad de ff movabs rax,0xffffffffdeadbeef
7: ff ff ff
With this change, it will instead emit a 7-byte instruction when it is
possible to express the 64-bit immediate using a signed 32-bit value.
0: 48 c7 c0 ef be ad de mov rax,0xffffffffdeadbeef
2018-09-14 23:11:26 +02:00
Admiral H. Curtiss
3e95d3c477
Stitch together overlapping XFB regions in order of XFB copy creation.
2018-09-14 19:41:27 +02:00
Admiral H. Curtiss
d97bc0d359
Correctly adjust the rendered XFB region at non-native internal resolutions when XFB was loaded from console RAM.
...
If, for whatever reason, the XFB has to be loaded from console memory, it's possible that the texture is returned at native resolution instead of EFB-scaled resolution. In this case, our xfb_rect.right adjustment must also happen at native resolution instead of scaled resolution.
2018-09-13 19:39:49 +02:00
JosJuice
cec601f1fb
Read Wii disc metadata from the unencrypted header
...
The header of a Wii disc can be read from two places: The
unencrypted area at the beginning of the disc, or the beginning of
the game partition. The two copies are usually identical (except
for 0x60 and 0x61), but there are exceptions. For most of Dolphin's
history, we have been reading from the header inside the game
partition when getting metadata. This was however not the case
starting with 4.0-4901 and ending with 5.0-3762. This commit once
again makes Dolphin read metadata from the unencrypted header,
because of the following reasons that I recently was informed about:
- The "pink fish" disc has the game ID 410E01 in the unencrypted
header but the placeholder game ID RELSAB in the partition header.
- The revisions of some games differ between the two headers,
with the unencrypted one making more sense.
(See https://bugs.dolphin-emu.org/issues/11387 )
For better or worse, this also means that sloppily hacked games where
only the game ID in the unencrypted header has been changed now will
use that modified game ID. And unlike with the partition header,
there is no signing or hashing that can tell us whether the
unencrypted header has been modified by someone other than Nintendo.
2018-09-12 13:41:30 +02:00
booto
3825e2e5ff
SI: Add 16bit accessors for SI IO buffer
...
Dolphin has traditionally treated the SI IO buffer (128 bytes) as a set of
32 little endian u32s. This works out fine if you only ever read/write
using aligned 32bit accesses. Different sized accesses or misaligned reads
will mess it up. Byte swapping reads/writes will fix this up, but all the
SI devices that use the SI IO buffer need to be adjusted.
2018-09-11 22:19:13 -04:00
JosJuice
fb6b31bba8
Re-add i18n comments that were lost in the DolphinWX removal
2018-09-08 15:58:15 +02:00
JosJuice
e0cb56edb9
Reword some translatable strings
...
We've decided to use the term "Usage Statistics Reporting"
instead of "Analytics" in user-facing strings.
2018-09-08 15:19:01 +02:00
JosJuice
5f35edf505
Remove unused function and translatable strings
2018-09-08 15:18:31 +02:00
JosJuice
a4f950ee86
Fix a string not getting translated
2018-09-08 15:16:39 +02:00
zackhow
126ff8dc5f
Android: Add rumble for phone
...
This currently only supports using the internal vibrate on a phone for rumble.
2018-09-07 08:54:03 -04:00
Techjar
e9046f8eec
VideoCommon: Skip vsync if configured emulation speed is not 100%
...
It doesn't make much sense to try to vsync at weird framerates, and
vsync actually causes the speed setting to not work as expected.
2018-09-05 05:40:22 -04:00
Techjar
bb598529be
Qt/GameList: Make grid view scale persistent
2018-09-02 18:22:44 -04:00
Pierre Bourdon
95c2a92f26
Revert "ShaderGen: Drop broken fragment shader index workaround for Vulkan"
2018-09-01 05:32:56 +02:00
spycrab
392df8a11d
GL/TextureCache: Clean up inline shader code
2018-08-30 16:05:39 +02:00
MerryMage
9753f21cc7
Arm64Emitter: Remove unsequenced expressions
...
Incrementing `it` twice between sequence points is undefined behavior.
2018-08-30 07:38:37 +01:00
Stenzek
448e19629d
Vulkan: Drop usage of VK_NV_glsl extension
...
It's not providing a large performance improvement anymore, after the
more recent drivers introduced a new shader compiler.
2018-08-29 13:12:19 +10:00
Stenzek
3ad7812b53
ShaderGen: Drop broken fragment shader index workaround for Vulkan
...
AMD appears to have since fixed this in their driver, and it makes
shadergen ever so slightly less messy.
2018-08-28 23:39:47 +10:00
JosJuice
fbdc239199
Fix reducing log paths when building with MSVC
...
The LogManager code had trouble detecting the "/Source/Core/" substring
for two reasons, neither of which seemed to happen a few years ago:
1. __FILE__ is in lowercase on MSVC
2. __FILE__ uses backslash as the directory separator on MSVC
Fixes https://bugs.dolphin-emu.org/issues/11366
2018-08-28 11:48:43 +02:00
JosJuice
762747f8c1
Merge pull request #7377 from Techjar/more-frameskip-junk
...
Core/Core: Remove another leftover part of frameskip
2018-08-28 08:29:43 +02:00
Techjar
c5ae721eca
Core/Core: Remove another leftover part of frameskip
2018-08-28 02:22:05 -04:00
Pierre Bourdon
2033d660d2
Merge pull request #7376 from lioncash/sfml
...
Externals: Update SFML to 2.5.0
2018-08-28 02:53:05 +02:00
Lioncash
d10a0b440f
SFMLHelper: Simplify 64-bit packet reading function and remove 64-bit write function
...
Now that SFML's packet class can properly handle 64-bit values, we don't
need a helper function just to write values to the packets.
2018-08-27 17:38:07 -04:00
Lioncash
e6a4116bf2
Common/SFMLHelper: Remove unused forward declaration
...
BigEndianValue isn't used in either the header or SFMLHelper.cpp, so it
can be removed.
2018-08-27 16:48:12 -04:00
Pierre Bourdon
4c75331d5d
Merge pull request #7374 from lioncash/iowin
...
IOWin: Make functions internally linked where applicable
2018-08-27 22:13:24 +02:00
Lioncash
8753321841
IOWin: Use anonymous namespaces where applicable
...
Several functions (and one variable) were being given external linkage.
Instead, relocate them all to anonymous namespaces to make them
internally linked.
2018-08-27 16:10:07 -04:00
Lioncash
d40022d6d0
JitInterface: Move explanatory comment of ClearSafe() to the function's prototype
...
Puts the comment in the header where it's more likely to be seen
initially. We can also remove the TODO, given doing nothing or returning
an error is what is generally done for the JIT interface if the JIT
instance isn't valid.
2018-08-27 13:04:05 -04:00
Lioncash
36b24bf7a0
PowerPC: Remove Profiler.cpp
...
With 7aa305ea35
merged, all that remains
within Profiler.cpp is an unused function that just forwards to the
equivalent function within JitInterface. Given that, we can just remove
the source file.
2018-08-27 12:13:39 -04:00
Lioncash
7aa305ea35
Profiler: Migrate global g_ProfileBlocks boolean to JitOptions
...
This global belongs in the JitOptions structure, as it's a conditional
setting (A.K.A. option) that changes the behavior of what the JIT does.
Plus it keeps the scope of the variable constrained to the general area
it's intended to be used and nothing further.
2018-08-27 11:30:19 -04:00
Pierre Bourdon
88a91562b5
Merge pull request #7370 from lioncash/constness
...
JitArm64/Jit: Don't cast away const within DumpCode()
2018-08-27 16:31:15 +02:00
Lioncash
cc2ef5a2c3
JitArm64/Jit: Don't cast away const within DumpCode()
...
swap32() has a const u8* overload that swaps the data being pointed to as
if it were a 32-bit word. We can just use that instead. It gets rid of
undefined behavior, as we're not type punning a pointer and dereferencing it,
and gets rid of the need to cast entirely.
2018-08-27 10:28:11 -04:00
Lioncash
e81408588f
JitCommon/JitCache: Make JitBlock's checkedEntry and normalEntry members non-const pointers
...
In both cases of the x64 and AArch64 JITs, these would have const casted
away from them, followed by them being placed within an emitter and
having breakpoint instructions written in them.
In this case, we shouldn't be using const period if we're writing to the
emitted data.
2018-08-27 10:23:22 -04:00
Pierre Bourdon
25898cfa55
Merge pull request #7368 from lioncash/const-cast
...
Arm64Emitter: Make the Align* functions return a non-const data pointer
2018-08-27 15:54:05 +02:00
Lioncash
208be26bb4
Arm64Emitter: Make the Align* functions return a non-const data pointer
...
Similar in nature to e28d063539
in which
this same change was applied to the x64 emitter.
There's no real requirement to make this const, and this should also
be decided by the calling code, considering we had places that would
simply cast away the const and carry on
2018-08-27 09:44:38 -04:00
Pierre Bourdon
6a22f1b3e0
Merge pull request #7253 from booto/fifo_reg
...
CP: some bits in some of the HI registers cannot be set
2018-08-27 14:56:12 +02:00
Pierre Bourdon
b2b72bd3ce
Merge pull request #7272 from Techjar/xkb-mouse-button-fix
...
InputCommon/XInput2: Increase mouse buttons to 32
2018-08-27 14:52:37 +02:00
Techjar
311d0442de
InputCommon/XInput2: Increase mouse buttons to 32
...
Xlib supports many mouse buttons, though there are 9 standard buttons, and they aren't arranged like other mouse APIs. Using only 5 buttons was preventing the use of buttons besides left/right/middle click and the scroll wheel. Here's what all the standard buttons are:
1. left button
2. middle button (pressing the scroll wheel)
3. right button
4. turn scroll wheel up
5. turn scroll wheel down
6. push scroll wheel left
7. push scroll wheel right
8. 4th button (aka browser backward button)
9. 5th button (aka browser forward button)
The remaining button indices are non-standard and device-specific, and technically far more than 32 are supported, but this seems like a reasonable limit to avoid cluttering the list with tons of useless mouse buttons. What mouse has more than 32 buttons anyways?
2018-08-27 08:47:32 -04:00
Techjar
f1bc17ab9e
Qt/MD5Dialog: Fix pressing enter on NetPlay window causing dialog to close
2018-08-27 08:39:39 -04:00
Pierre Bourdon
ea26ccbbe1
Merge pull request #7318 from VinDuv/rename-master-log
...
LogManager: Change Master Log short name to fix log configuration loading
2018-08-27 13:36:04 +02:00
Pierre Bourdon
62928de547
Merge pull request #7357 from Techjar/qt-memcard-manager-select-button
...
Qt/GCMemcardManager: Make slot and file selection more intuitive
2018-08-27 13:35:38 +02:00
Pierre Bourdon
af2e69dfdc
Merge pull request #7366 from Techjar/discord-pics-popular
...
DiscordPresence: Add popular games to artwork list
2018-08-27 12:40:57 +02:00
Techjar
80c4e77735
DiscordPresence: Add popular games to artwork list
2018-08-27 06:10:11 -04:00
Pierre Bourdon
f2323331ea
Merge pull request #7240 from lioncash/namespace
...
Common/DebugInterface: Namespace code under the Common namespace
2018-08-27 04:49:26 +02:00
Pierre Bourdon
0c39590353
Merge pull request #7229 from lioncash/truncate
...
Interpreter: Remove an unnecessary cast in Trace()
2018-08-27 04:49:06 +02:00
Pierre Bourdon
e096ca20e9
Merge pull request #7358 from Techjar/qt-memcard-manager-deletion-fix
...
Qt/GCMemcardManager: Fix deletion of multiple files
2018-08-27 04:48:07 +02:00
Pierre Bourdon
dbb7563cce
Merge pull request #7363 from Techjar/netplay-hia-comments
...
NetPlay: Add additional comments for host input authority mode
2018-08-27 04:45:20 +02:00
Pierre Bourdon
db55c36f09
Merge pull request #7359 from stenzek/intel-d3d-crash
...
PixelShaderGen: Ensure all components of ocol1 are initialized
2018-08-27 04:42:28 +02:00
Pierre Bourdon
246b1f4459
Merge pull request #7350 from zackhow/android-analytics
...
Android: Add usage statistics to android
2018-08-27 04:37:17 +02:00
Techjar
1ba834d13c
NetPlay: Add additional comments for host input authority mode
2018-08-26 22:28:23 -04:00
Pierre Bourdon
0cc3ae72a5
Merge pull request #7344 from delroth/discord-pics
...
DiscordPresence: use game-specific artwork if available
2018-08-27 00:11:21 +02:00
Pierre Bourdon
9bcd7bfe1e
Merge pull request #7360 from Techjar/netplay-host-input-authority
...
NetPlay host input authority mode
2018-08-26 23:15:44 +02:00
Techjar
5519efa66e
NetPlay host input authority mode
...
Currently, each player buffers their own inputs and sends them to the
host. The host then relays those inputs to everyone else. Every player
waits on inputs from all players to be buffered before continuing. What
this means is all clients run in lockstep, and the total latency of
inputs cannot be lower than the sum of the 2 highest client ping times
in the game (in 3+ player sessions with people across the world, the
latency can be very high).
Host input authority mode changes it so players no longer buffer their
own inputs, and only send them to the host. The host stores only the
most recent input received from a player. The host then sends inputs
for all pads at the SI poll interval, similar to the existing code. If
a player sends inputs to slowly, their last received input is simply
sent again. If they send too quickly, inputs are dropped. This means
that the host has full control over what inputs are actually read by
the game, hence the name of the mode. Also, because the rate at which
inputs are received by SI is decoupled from the rate at which players
are sending inputs, clients are no longer dependent on each other. They
only care what the host is doing. This means that they can set their
buffer individually based on their latency to the host, rather than the
highest latency between any 2 players, allowing someone with lower ping
to the host to have less latency than someone else.
This is a catch to this: as a necessity of how the host's input sending
works, the host has 0 latency. There isn't a good way to fix this, as
input delay is now solely dependent on the real latency to the host's
server. Having differing latency between players would be considered
unfair for competitive play, but for casual play we don't really care.
For this reason though, combined with the potential for a few inputs to
be dropped on a bad connection, the old mode will remain and this new
mode is entirely optional.
2018-08-26 17:10:23 -04:00
BhaaL
5f95ed5263
Jit64: get rid of global g_jit accesses
2018-08-25 16:53:49 +02:00
spycrab
476037d1f2
Merge pull request #7345 from spycrab/qt_cover_uniform
...
Qt/GridProxyModel: Ensure uniform sizes in cover mode
2018-08-25 02:01:14 +02:00
Stenzek
bae1168fe9
PixelShaderGen: Ensure all components of ocol1 are initialized
...
This was causing a warning in the shader compiler, as the rgb components
were not initialized. Which shouldn't be an issue, as the rgb is not
used in the blend equation, only the alpha. However, the lack of
initialization causes crashes in Intel's D3D shader compiler, so we'll
play nice and initialize all the channels.
2018-08-24 23:53:00 +10:00
Techjar
fd7d51eed6
Qt/GCMemcardManager: Fix deletion of multiple files
2018-08-24 07:58:38 -04:00
Techjar
6ae77623c5
Qt/GCMemcardManager: Make slot and file selection more intuitive
2018-08-24 07:10:48 -04:00
spycrab
248afb9fa7
Merge pull request #7347 from spycrab/qt_fix_visibility
...
Qt: Fix widgets being visible when they shouldn't be
2018-08-24 01:58:55 +02:00
spycrab
398cce52be
Merge pull request #7352 from Techjar/qt-signal-blocker
...
Qt: Switch to QSignalBlocker for scoped signal blocking
2018-08-24 01:58:21 +02:00
zackhow
82f82a6b7d
Android: Add usage statistics to android.
...
Added an option in General config to enable/disable usage statistics. Added a popup on first open if
the user would like to engage in reporting. Clicking cancel or out of the box opts out. Only
clicking 'Ok' will enable reporting. Also added a new android specific values to report.
2018-08-23 17:31:17 -04:00
Techjar
1547b185c7
Qt: Switch to QSignalBlocker for scoped signal blocking
2018-08-23 07:11:52 -04:00
Techjar
d72f4ed468
Qt/AdvancedPane: Block signals during Update()
2018-08-23 07:00:20 -04:00
Techjar
5512eadd08
VideoCommon/HiresTextures: Change wildcard to a Windows-compatible character
2018-08-21 15:54:25 -04:00
Pierre Bourdon
d44087128e
Merge pull request #7342 from spycrab/qt_dbg_scroll
...
Qt/Debugger: Improve scrolling
2018-08-20 21:41:54 +02:00
Pierre Bourdon
183fb9bf6a
Merge pull request #7338 from booto/controller_modes
...
Fix analog modes that use 4 bits for c-stick data
2018-08-20 13:02:32 +02:00
Markus Wick
3c354d9280
Merge pull request #7333 from weihuoya/gamecover-nomedia
...
Hide game cover in android gallery
2018-08-20 10:01:50 +02:00
spycrab
77ebd721e3
Qt: Fix widgets being visible when they shouldn't be
2018-08-20 00:39:57 +02:00
spycrab
5b992f138b
Qt/Debugger: Improve scrolling
...
Reduces the scrolling speed for both keyboard and mouse scrolling so
users are able to navigate the code and memory view line by line
2018-08-19 22:36:04 +02:00
JosJuice
be890c56ac
Fix critital buffer overflow in LoadPNG
2018-08-19 17:35:15 +02:00
spycrab
2ea6cc66ba
Qt/GridProxyModel: Ensure uniform sizes in cover mode
2018-08-19 17:13:29 +02:00
Pierre Bourdon
4ecee3cb99
DiscordPresence: use game-specific artwork if available
...
Since we don't have a way (AFAIK) to dynamically collect the list of
available art assets, we hardcode a list of gameids with available
artwork inside Dolphin. It's not great, but I don't think it's a
terrible solution either.
Art has to be manually uploaded to our Discord app configuration, and we
have a limit of ~150 assets, so most likely we'll limit ourselves to a
small set of popular games.
2018-08-19 14:53:40 +02:00
Mat M
8f847c7655
Merge pull request #7343 from spycrab/qt_bp_fix
...
Qt/Debugger: Readd title bar to breakpoint widget
2018-08-19 08:41:36 -04:00
Pierre Bourdon
0fdb6f4267
Merge pull request #7249 from yourWaifu/discord-rpc-join
...
Add Discord Join Net Play functionally
2018-08-19 13:43:33 +02:00
spycrab
27bc9046e7
Qt/Debugger: Readd title bar to breakpoint widget
...
Removed it by accident in #7299
2018-08-19 13:37:59 +02:00
Admiral H. Curtiss
5df424a1ec
Use simplified libpng PNG reading API to avoid PNG reading bugs.
2018-08-19 13:14:11 +02:00
spycrab
12a5fd80bd
Merge pull request #7299 from spycrab/qt_compact
...
Qt/Debugger: Make spacing more compact
2018-08-17 15:28:03 +02:00
booto
168fdf814b
Fix analog modes that use 4 bits for c-stick data
...
Also get rid of a load of unnecessary casts
2018-08-16 02:17:17 -04:00
spycrab
8e5c3d5b4e
Merge pull request #7326 from spycrab/qt_tas_fancy
...
Qt/TAS: Enable antialiasing for Stick/IR widgets
2018-08-15 19:46:56 +02:00
spycrab
8d184ab9bd
Qt/Debugger: Make spacing more compact
2018-08-15 19:26:04 +02:00
BreadFish64
b246678c8c
Fix spelling in assert macro
2018-08-15 12:12:19 -05:00
weihuoya
eefef73141
nomedia, add comment text
2018-08-15 19:41:55 +08:00
spycrab
6d56b03304
Merge pull request #7325 from spycrab/qt_tas_reset
...
Qt/TAS: Implement recentering feature
2018-08-15 13:07:58 +02:00
weihuoya
2fac523e10
hide game cover in android gallery
2018-08-15 16:37:00 +08:00
Lioncash
67b015d76b
Arm64Emitter: Get rid of a pointer cast within SetJumpTarget()
...
Type punning like this is undefined behavior. Instead, we use std::memcpy to
copy the necessary data over, which is well defined (as it treats both
the source and destination as unsigned char).
2018-08-14 23:47:53 -04:00
spycrab
fb382e90eb
Merge pull request #7324 from spycrab/qt_independent_tas
...
Qt/TAS: Make TAS input windows independent
2018-08-15 01:51:26 +02:00
master0fdisaster
0d79e8a2ca
Qt: Config/Advanced: Fix CPU Clock Speed Slider
...
Changes rounding from ceiling to nearest, when updating the slider value. Using ceiling as rounding made some values inaccessible.
2018-08-14 17:22:30 +02:00
master0fdisaster
1544d7d681
Qt: Config/Interface: Fix "Show Active title in Window Title" Checkbox
...
Makes the checkbox save when it's toggled.
2018-08-14 17:22:30 +02:00
master0fdisaster
bc3cc01cc9
Qt: Config/Interface: Fix User Style Drop Down
...
makes the user style drop down load the right custom style after a restart
2018-08-14 17:21:50 +02:00
Sleepy Flower Girl
158c0d54b1
Force IPv4 on external IP addresses
2018-08-13 21:17:38 -04:00
Pierre Bourdon
6c1f39458b
Jit64: Update PC before checking for exceptions
2018-08-14 02:27:48 +02:00
spycrab
1c793503b1
Qt/TAS: Implement recentering feature
2018-08-13 23:34:25 +02:00
Billy Robert O'Neal III
6640d1ec81
Attempt to fix linter issues.
2018-08-13 12:17:56 -07:00
Billy Robert O'Neal III
a0af0bf588
Workaround use of private constant _Snan no longer being present in <limits>.
2018-08-13 12:05:50 -07:00
spycrab
55c608b482
Qt/TAS: Enable antialiasing for Stick/IR widgets
2018-08-13 15:05:30 +02:00
spycrab
9739ad9f48
Qt/TAS: Make TAS input windows independent
2018-08-13 14:15:09 +02:00
Markus Wick
15ef7d6fb8
Merge pull request #7323 from lioncash/dedup
...
PowerPC: Deduplicate Helper_Mask() code
2018-08-13 13:41:10 +02:00
spycrab
1c324c8927
Merge pull request #7317 from spycrab/qt_fix_mpbtn_crash
...
Qt/MappingButton: Fix crash when exiting during input detection
2018-08-13 00:14:25 +02:00
Lioncash
a4110ad958
PowerPC: Deduplicate Helper_Mask() code
...
We can share this across all implementations instead of duplicating it
in different ways.
2018-08-12 17:24:16 -04:00
VperuS
e5980f280d
Core/UICommon: Fix assignment to pointer
2018-08-12 17:15:14 +03:00
Vincent Duvert
e2a557e739
LogManager: Change Master Log short name
...
Change the Master Log short name from “*” to “MASTER”. This fixes
saving the master log enable state, as INI files may not start with *.
2018-08-11 18:37:33 +02:00
spycrab
159d5a6925
Qt/MappingButton: Fix crash when exiting during input detection
2018-08-11 17:37:12 +02:00
JMC47
3a4574957b
Disables a panic alert in lswx that makes using not64 impossible
2018-08-10 21:22:45 -04:00
Pierre Bourdon
55fa4842fb
Merge pull request #7307 from booto/qsortfilter-strict-weak
...
GameList: QSortFilterProxyModel should provide strict weak ordering
2018-08-11 02:57:36 +02:00
Pierre Bourdon
91edc95243
Merge pull request #7315 from delroth/crset-fix
...
Jit64: fix crset implementation
2018-08-11 02:24:15 +02:00
Pierre Bourdon
b382310367
Merge pull request #7313 from PoroCYon/master
...
Rename SIGTRAP, SIGTERM etc. to GDB_SIGTRAP etc.
2018-08-11 01:40:14 +02:00
Pierre Bourdon
c8d4fa5308
Jit64: fix crset implementation
...
At some point SetCRFieldBit was modified to operate on RSCRATCH, but the
function was only partially changed. As such, setting SO, GT or LT would
write the right bit to cr_field, but then cr_field would just get
overwritten with RSCRATCH, undoing the work.
2018-08-11 01:12:49 +02:00
Markus Wick
185f971e2a
Merge pull request #7308 from booto/dualcore-fifo-player-shutdown
...
FifoPlayer: Actually exit on 'Stop' in dualcore
2018-08-10 18:00:18 +02:00
PoroCYon
26a9ab5b19
Use GDB_SIG* enum instead of the system's macros, as the latter mightn't be included or might have a different value.
2018-08-10 16:09:27 +02:00
JosJuice
2a2a2cfc5e
DolphinQt: Don't call "frame advance" "frame skip"
...
Just to avoid confusion.
2018-08-09 10:32:32 +02:00
JosJuice
2ee8a61148
ConfigManager: Remove m_FrameSkip
...
This setting was removed some time ago but was apparently
still being read and written by ConfigManager.
2018-08-09 10:31:02 +02:00
booto
da0927fe8f
FifoPlayer: Actually exit on 'Stop' in dualcore
...
Quit the fifoplayer cpu idle loop if a shutdown has been requested
2018-08-09 01:08:21 -04:00
booto
aef446697d
GameList: QSortFilterProxyModel should provide strict weak ordering
2018-08-08 23:59:58 -04:00
spycrab
7cb310791b
Cleanup: Remove some left over references to wxWidgets
2018-08-07 15:48:17 +02:00
spycrab
ddf09a0841
Merge pull request #7298 from spycrab/usb_keyboard_hotkey
...
Hotkeys: Add "Toggle USB Keyboard" hotkey
2018-08-07 07:47:20 +02:00
Sleepy Flower Girl
c2aedb7649
Adds a UI for accepting Discord join requests in Dolphin
...
also did these things
fixed crash from joining user that isn't hosting via a direct connection
current game stat can now pass to override the current game in config
uses ip endpoint from dolphin.org
2018-08-06 16:12:03 -04:00
Lioncash
ac1b48497e
NetPlayServer: Make g_initial_netplay_rtc a member variable of NetPlayClient
...
Behaviorally, this belongs within the netplay client. The server will
always transmit a known RTC value, so it doesn't even need a global for
this. Given the client receives the packet containing said RTC value, we can
store it as a member variable and provide an accessor for reading that
value.
This removes another global variable within the netplay code.
2018-08-03 23:20:16 -04:00
Anthony
72d5ff54f3
Merge pull request #7257 from lioncash/const
...
WiimoteEmu: Minor changes
2018-08-03 20:09:31 -07:00
Anthony
15090dc4b8
Merge pull request #7300 from stenzek/qt-open-dff
...
DolphinQt: Add .dff to open file filter
2018-08-03 20:08:18 -07:00
JosJuice
d425732837
Merge pull request #7297 from booto/no-dol
...
ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract.
2018-08-03 16:19:18 +02:00
Stenzek
dca1096664
DolphinQt: Add .dff to open file filter
2018-08-03 17:39:17 +10:00
spycrab
cf116d488a
Merge pull request #7268 from lioncash/config
...
Core/BootManager: Remove unnecessary includes
2018-08-02 23:17:03 +02:00
spycrab
e3f36b74c5
Hotkeys: Add "Toggle USB Keyboard" hotkey
2018-08-02 12:55:30 +02:00
booto
800c1570ea
ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract.
2018-08-02 05:32:05 -04:00
booto
f800f6343d
BS2Emu: Don't do a DVDCopy when AppLdrMain returns 0
2018-08-02 01:30:25 -04:00
Sleepy Flower Girl
b7c241ea4c
Add Discord Join Net Play functionally
2018-07-31 22:24:10 -04:00
JosJuice
db76994a9a
Android: Don't crash when loading games into game list
...
Regression from PR #7285 / PR #7293 .
2018-07-30 18:08:53 +02:00
spycrab
6af7c1fe27
Merge pull request #7273 from Techjar/qt-iowindow-detect-spaces
...
Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
2018-07-30 11:58:47 +02:00
spycrab
81c3400681
Merge pull request #7269 from lioncash/qt
...
DolphinQt/MainWindow: Replace includes with forward declarations
2018-07-30 11:56:31 +02:00
spycrab
2a776bf2b6
Merge pull request #7258 from Techjar/netplay-fix-segfaults
...
Fix more segfaults on NetPlay quit
2018-07-30 11:52:38 +02:00
spycrab
7c2569ada7
Merge pull request #7283 from Techjar/netplay-improve-settings-sync
...
NetPlay: Improve settings synchronization and UI
2018-07-30 11:47:48 +02:00
spycrab
8fb3085b07
Revert "Revert "Qt/GameList: Add option to show covers in grid mode""
2018-07-30 03:16:37 +02:00
degasus
5333c17cca
Jit: Fix branch following.
...
The idea of this code was to not unroll loops, but it was completely broken.
So we've unrolled all loops, but only up to the second iteration.
Honestly, a better check would test if we branch to code which is already in the compiling block. But this is out of scope for now.
But testing shows that this unrolling actually improve the performance. So instead of fixing this bug, this check can be dropped.
2018-07-28 16:35:42 +02:00
Techjar
7036299a92
NetPlay: Improve settings synchronization and UI
...
Most settings which affect determinism will now be synced on NetPlay.
Additionally, there's a strict sync mode which will sync various
enhancements to prevent desync in games that use EFB reads.
This also adds a check for all players having the IPL.bin file, and
doesn't load it for anyone if someone is missing it. This prevents
desyncs caused by mismatched system fonts.
Additionally, the NetPlay window was getting too wide with checkboxes,
so FlowLayout has been introduced to make the checkboxes take up
multiple rows dynamically. However, there's some minor vertical
centering issues I haven't been able to solve, but it's better than a
ridiculously wide window.
2018-07-26 17:23:04 -04:00
Techjar
dee64a89e0
Fix segfault on NetPlay start with unknown region
...
This is accomplished by having SConfig::GetDirectoryForRegion no longer
return nullptr, as doing that was kind silly, considering we never
check for nullptr.
2018-07-21 13:13:08 -04:00
Techjar
cfeffdcf42
Fix more segfaults on NetPlay quit
...
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.
MD5 check would also cause a segfault if you quit without cancelling it first, which was pretty silly.
2018-07-21 00:04:14 -04:00
Mat M
a21d536f99
Merge pull request #7282 from booto/no-more-global-dcbz-disable
...
Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
2018-07-20 23:05:38 -04:00
spycrab
d6833cb217
Merge pull request #7279 from Techjar/qt-macos-iowindow
...
Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS
2018-07-21 02:16:46 +02:00
spycrab
c141511c87
Merge pull request #7222 from Techjar/netplay-sync-saves
...
NetPlay save data synchronization
2018-07-21 02:09:02 +02:00
booto
f88c46b4da
Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
...
This option completely disabled the DCBZ instruction. Users are toggling
this option in dolphin forks and using that same problematic config when
launching dolphin. Removing the option from dolphin will let the config be
ignored.
2018-07-20 03:25:12 -04:00
Techjar
4407854e9c
NetPlay save data synchronization
...
This adds the functionality of sending the host's save data (raw memory
cards, as well as GCI files and Wii saves with a matching GameID) to
all other clients. The data is compressed using LZO1X to greatly reduce
its size while keeping compression/decompression fast. Save
synchronization is enabled by default, and toggleable with a checkbox
in the NetPlay dialog.
On clicking start, if the option is enabled, game boot will be delayed
until all players have received the save data sent by the host. If any
player fails to receive it properly, boot will be cancelled to prevent
desyncs.
2018-07-19 18:09:20 -04:00
Stenzek
dae161e138
FramebufferManager: Use D24S8 on Adreno when using Vulkan
...
D32F clears are broken on Adreno, which resulted in smeared geometry
across the screen.
2018-07-19 23:30:25 +10:00
Stenzek
3323265d91
FramebufferManager: Dynamic selection of EFB depth format
2018-07-19 21:47:42 +10:00
Stenzek
b30342d38f
VideoBackends: Support D24S8 abstract texture format
2018-07-19 21:47:42 +10:00
Markus Wick
f5e8af7b6c
Merge pull request #7276 from stenzek/disable-shared-context-nouveau
...
DriverDetails: Disable shared context shader compilation on nouveau
2018-07-19 09:15:27 +02:00
Mat M
bcdffdfe63
Merge pull request #7280 from Techjar/qt-cheats-manager-crash
...
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 18:05:45 -04:00
Techjar
3cee7d599b
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 17:56:31 -04:00
Techjar
44aa3cdc0f
Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS
2018-07-17 14:35:56 -04:00
cremno
4ad2153378
fix compilation w/o Discord Rich Presence
2018-07-17 12:03:41 +02:00
Anthony
98c7b232c4
Merge pull request #7266 from spycrab/qt_discord_fix
...
Qt/GeneralPane: Disable Rich Presence checkbox while emulation is run…
2018-07-16 22:10:32 -07:00
Mat M
944b5fade6
Merge pull request #7264 from ligfx/ffmpeg_deprecations
...
Fix deprecation warnings with recent FFmpeg versions
2018-07-16 23:44:18 -04:00
Stenzek
602fe0f457
DriverDetails: Disable shared context shader compilation on nouveau
...
Our usage of glFinish() can cause driver crashes and/or lockups.
Please note that this disables the background shader compilation (i.e.
all shaders will be compiled on boot). There is no way around this.
2018-07-17 13:34:18 +10:00
Techjar
f37813d8b6
Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
...
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
JosJuice
c663dc9e00
Remove settings that only were used by DolphinWX
2018-07-16 21:21:42 +02:00
JosJuice
325f3c6ee5
Merge pull request #7254 from Techjar/dont-set-jitfollowbranch
...
Core/ConfigManager: Don't set JITFollowBranch
2018-07-16 21:06:31 +02:00
Lioncash
a9003aadc6
DolphinQt/MainWindow: Replace includes with forward declarations
...
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Techjar
d49b415e75
Core/ConfigManager: Don't set JITFollowBranch
...
We don't want to write this setting to disk, as SConfig has problems
with leaking settings changed by GameINI into the base configs. The
result of this is that if someone plays an N64 VC game (or other game
where we disable this setting) the branch following option can get
unintentionally disabled globally, which will reduce performance in
many games and cause NetPlay to desync with users who still have it
enabled.
2018-07-15 17:38:10 -04:00
Lioncash
71de1abd88
Core/BootManager: Remove unnecessary includes
...
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab
6044165f9d
Merge pull request #7237 from lioncash/netsettings
...
NetPlayClient: Make global NetSettings instance part of the NetPlayClient class
2018-07-15 00:02:58 +02:00
spycrab
d438e80bfd
Qt/GeneralPane: Disable Rich Presence checkbox while emulation is running
...
Works around core hanging when Discord Rich Presence is toggled
while emulation is running.
2018-07-14 23:39:06 +02:00
spycrab
e9158bae6f
Qt/LogWidget: Fix messages not being escaped properly
2018-07-14 23:06:18 +02:00
Michael M
857138a0ba
AVIDump: use dump_path rather than deprecated AVFormatContext::filename
...
AVFormatContext::filename was deprecated in lavf 58.7.100 in favor
of AVFormatContext::url. Instead of adding version-checking logic,
just use the passed-in dump path instead.
2018-07-14 12:46:04 -07:00
Michael M
e45698aaa0
AVIDump: av_register_all is deprecated/unneeded since 58.9.100
2018-07-14 12:46:00 -07:00
Lioncash
9983d92981
WiimoteEmu: Resolve unrelated lint code style warnings
...
This discrepancy was introduced in b3b1845785
2018-07-13 13:34:00 -04:00
Lioncash
cfe7549091
ControlGroup/Triggers: Return state data by value
...
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
97ba02df27
ControlGroup/Tilt: Return state data by value
...
Makes it less error-prone to get state data from tilt controls (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
918d448b5b
ControlGroup/Slider: Return state data by value
...
Makes it less error-prone to get state data from sliders (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
4c30b9e14d
ControlGroup/Force: Return state data by value
...
Ensures that an array of sufficient size is always used and doesn't put
the responsibility on the caller. It also allows for direct assignment.
2018-07-13 13:20:35 -04:00
Lioncash
ef1240b0c7
ControlGroup/Cursor: Return state data by value
...
Makes it less error-prone to get state data from cursors (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
d05f490caa
ControlGroup/AnalogStick: Return state data by value
...
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:31 -04:00
Lioncash
d80f91478f
WiimoteReal: Make functions internally linked where applicable
...
These functions are only used within this translation unit, so they can
be made internally linked.
2018-07-13 09:24:27 -04:00
spycrab
4826acd931
Merge pull request #7260 from spycrab/qt_fix_lazy
...
Qt/GraphicsWindow: Fix lazy initialisation bugs
2018-07-13 13:07:30 +02:00
spycrab
c8af83202a
Qt/GraphicsWindow: Fix lazy initialisation bugs
2018-07-13 12:38:21 +02:00
booto
e2e43b4896
CP: some bits in some of the HI registers cannot be set
...
The mask is slightly different for Wii and GCN so we need to work it out at runtime.
2018-07-12 20:15:27 -04:00
Lioncash
7f8cdbb2a4
CMake: Only link in Bochs on x86 platforms
...
Bochs' disassembler is only for disassembling x86 code. On non-x86
platforms it doesn't really make sense to build and link this in.
2018-07-12 16:44:17 -04:00
Lioncash
113a357604
WiimoteEmu: Make constructor of Wiimote explicit
...
Prevents implicit conversions
2018-07-12 15:59:31 -04:00
Lioncash
5b58977561
WiimoteEmu: Amend parameter names for EmulateShake() and EmulateSwing()
...
Ensures they match their naming within the definition of the function.
In EmulateSwing's case, one parameter was erroneously named tilt_group,
when it's actually supposed to be swing_group.
2018-07-12 15:58:50 -04:00
Lioncash
2825b2daa2
WiimoteEmu: Remove unnecessary value-wise const from function prototypes
...
These aren't necessary in the prototype, however they do apply in the
definition of the function. This just cuts down on line noise within the
prototypes.
2018-07-12 15:54:01 -04:00
spycrab
cc6526f553
Merge pull request #6222 from iwubcode/emulated_input_improvements
...
Emulated wii input improvements
2018-07-12 20:36:53 +02:00
spycrab
303f5e0dc2
Merge pull request #7256 from spycrab/qt_forward
...
HW/WiimoteEmu: Add Forward Option
2018-07-12 20:21:11 +02:00
Lioncash
f209f5f2a4
NetPlayClient: Make the NetSettings instance part of the NetPlayClient class
...
This is only ever read from externally, so we can expose a getter that ensures that
immutability, while making the actual instance internal. Given the
filling out of these settings depends on packets received by the client
instance, it makes more sense to make it a part of the client itself.
This trims off one lingering global.
2018-07-12 13:55:41 -04:00
spycrab
55b5a24910
Merge pull request #7244 from lioncash/error
...
Qt/MenuBar: Make failures to load map and signature files more obvious
2018-07-12 19:41:36 +02:00
spycrab
b3b1845785
HW/WiimoteEmu: Add Forward Option
2018-07-12 19:35:30 +02:00
spycrab
92f397d0fa
Merge pull request #7255 from Techjar/qt-netplay-message-color
...
[RFC] Qt/NetPlayDialog: Change own chat message color to better suit dark themes
2018-07-12 17:42:55 +02:00
spycrab
9ab489aab8
Qt/NetPlayDialog: Show alerts when events happen
...
Displays an alert when you receive a message or a player joins / leaves
2018-07-12 17:33:12 +02:00
Techjar
d85dd287cf
Qt/NetPlayDialog: Change own chat message color to better suit dark themes
2018-07-12 06:34:14 -04:00
spycrab
fc967908ea
Merge pull request #7238 from Techjar/netplay-bundle-pad-states
...
NetPlay: Bundle multiple local pads into one packet
2018-07-11 11:27:10 +02:00
spycrab
df5d1cf13a
Merge pull request #7233 from Techjar/qt-jit-branch-menu
...
Qt/MenuBar: Add missing JIT branch option in debugger
2018-07-11 11:27:00 +02:00
spycrab
c04b07674e
Merge pull request #7243 from Ebola16/SU
...
Qt: Clarify Synchronous (Ubershaders) name
2018-07-11 10:59:25 +02:00
spycrab
c7ff141606
Merge pull request #7219 from ligfx/mappingwindow_hotplug
...
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-11 10:58:26 +02:00
spycrab
ea99cdd781
Merge pull request #7247 from lioncash/fwd
...
Qt/GameList: Replace includes with forward declarations where applicable
2018-07-11 10:57:02 +02:00
spycrab
d81b63f403
Merge pull request #7245 from lioncash/internal
...
Qt/CheatsManager: Move concealable types into the cpp file
2018-07-11 10:55:42 +02:00
spycrab
f170009aad
Merge pull request #7246 from lioncash/enum
...
Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
2018-07-11 10:52:04 +02:00
spycrab
bf4341f762
Merge pull request #7248 from Techjar/netplay-fix-spectator-deadlock
...
NetPlay: Don't update mappings on leave if player had no mappings
2018-07-11 01:18:22 +02:00
spycrab
42298f6d6d
Merge pull request #7239 from addestroyer24/manual-update-now
...
Updater: fix immediate manual updating
2018-07-11 00:58:21 +02:00
spycrab
c7c364f8d5
Merge pull request #7242 from spycrab/np_debug
...
Core/NetPlay: Add debugging messages
2018-07-11 00:57:22 +02:00
Techjar
39449da304
NetPlay: Don't update mappings on leave if player had no mappings
...
This stops clients randomly deadlocking when a spectator leaves, as the mappings construct is not thread-safe and should not be written while the game is running.
2018-07-10 18:35:37 -04:00
spycrab
b367cd0331
Core/NetPlay: Add debugging messages
2018-07-10 22:23:49 +02:00
Lioncash
9b2ffb6221
Qt/GameList: Replace includes with forward declarations where applicable
...
Avoids dragging in a bunch of includes from the header files, and also
reduces the amount of files that need to be recompiled if one of those
included headers' source content is ever changed.
2018-07-10 16:03:38 -04:00
Lioncash
a0642b3b00
Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
...
Makes the parameter strongly-typed and doesn't accept arbitrary int
values.
2018-07-10 15:23:12 -04:00
Lioncash
43bc3656eb
Qt/CheatsManager: Move concealable types into the cpp file
...
CompareType, DataType, and Result aren't directly used externally, so
these can have their definitions moved into the cpp file.
2018-07-10 14:34:24 -04:00
spycrab
71ff634c95
Merge pull request #7149 from spycrab/qt_5.9
...
Qt: Make Qt 5.9 a hard requirement
2018-07-10 20:20:27 +02:00
Lioncash
74899e417b
Qt/MenuBar: Make failures to load map and signature files more obvious
...
Previously we wouldn't indicate if saving or loading these files
happened to fail. In some cases we'd only print out to the logger, but
this is a pretty poor way to tell a user of the interface that something
went wrong in a direct way (the logging messages aren't able to be localized
either).
2018-07-10 14:16:00 -04:00
Ryan Meredith
affd5689ff
Qt: Clarify Synchronous (Ubershaders) name
2018-07-10 12:22:21 -04:00
spycrab
b9960777a7
Merge pull request #7236 from lioncash/fwd
...
DolphinQt/Settings: Replace includes with forward declarations
2018-07-10 16:24:33 +02:00
Techjar
006202a33c
NetPlay: Fix SRAM desyncing after first boot
2018-07-10 05:03:31 -04:00
Lioncash
dfdfe6c972
Common/DebugInterface: Namespace code under the Common namespace
...
Gets more identifiers out of the global namespace and makes it more in
line with the rest of the (mostly) namespaced Common code.
2018-07-09 22:23:57 -04:00
Techjar
f68dbed535
NetPlay: Bundle multiple local pads into one packet
...
This saves a significant amount of bandwidth with multiple controllers on one client, as most of the packet is just protocol overhead.
2018-07-09 21:37:44 -04:00
Zac Davidsen
69999fd309
fix manual updating by passing the main window to the updater instead of the menubar
2018-07-09 19:39:50 -04:00
spycrab
31d9ca34e3
Merge pull request #7231 from Techjar/netplay-less-timebase
...
NetPlay: Send timebase packet less frequently
2018-07-09 23:29:46 +02:00
spycrab
4f5ea1ad5e
Merge pull request #7232 from Techjar/netplay-reduce-poll-rate-twice
...
NetPlay: Change "Reduce Polling Rate" to poll twice per frame
2018-07-09 23:29:22 +02:00
spycrab
31bc017593
Merge pull request #7235 from spycrab/jit_disable_following
...
Core/PowerPC: Add option to disable branch following
2018-07-09 23:22:08 +02:00
spycrab
df61e527da
Core/PowerPC: Add option to disable branch following
2018-07-09 22:58:40 +02:00
spycrab
074b67706b
Qt/Main: Remove redundant version check
2018-07-09 10:03:13 +02:00
spycrab
a22ffb6387
Qt: Remove ActionHelper
2018-07-09 10:02:10 +02:00
spycrab
4266d1f237
CMake: Require Qt 5.9
2018-07-09 09:17:33 +02:00
Lioncash
b4d91cc612
DolphinQt/Settings: Replace includes with forward declarations
...
Avoids dragging in netplay-related headers where they aren't explicitly
necessary.
2018-07-09 00:53:13 -04:00
Mat M
9487892c18
Merge pull request #7226 from lioncash/netplay
...
Core: Namespace NetPlay utilities under the NetPlay namespace
2018-07-09 00:38:12 -04:00
Techjar
2ee7021cda
Qt/MenuBar: Add missing JIT branch option in debugger
2018-07-08 14:32:40 -04:00
Techjar
38e67c0530
NetPlay: Change "Reduce Polling Rate" to poll twice per frame
...
Some games don't play nice when we poll only once per frame, so we'll poll twice instead.
2018-07-08 06:14:13 -04:00
Techjar
98447eae64
NetPlay: Send timebase packet less frequently
...
This packet is only used by the host to detect desyncs, and we don't really need to know the exact frame we desynced on (unless you're debugging, but you can just recompile for that), so it's perfectly fine to just send it less often. This makes it so the timebase packet is sent only every 60 frames, rather than every frame, which further cuts back on unnecessary bandwidth consumption.
2018-07-08 02:18:17 -04:00
spycrab
8c97fb7cd4
Merge pull request #7203 from rukai/use_tas_checkbox
...
Add "Enable Controller Input" Checkbox on TAS dialogs
2018-07-08 04:35:50 +02:00
Michael M
2a30e64974
RenderBase: don't clamp draw size to window
...
It distorts the aspect ratio when cropping, rather than actually cropping.
2018-07-07 13:32:10 -07:00
Lioncash
db5b2d93c3
Interpreter: Remove an unnecessary cast in Trace()
...
PowerPCState's cr_val member is an array of u64s, so we can just use the
correct printf macro specifier within cinttypes. This also avoids
truncation on operating systems that use an LLP64 data model (like
Windows), where long is actually 32 bits in size, not 64-bit, which
could result in wonky values being printed, should Trace ever be used on
it.
2018-07-07 16:06:26 -04:00
iwubcode
bce8041cce
Input: Allow per-game configuration to specify directories for input-profiles. If specified, the directories are searched recursively for inis
2018-07-07 13:02:39 -05:00
iwubcode
3b11066e61
Fix lint bugs
2018-07-07 13:02:38 -05:00
iwubcode
230af569ed
Input - Make dynamic rules be definable per game. Configuration can now
...
define how many frames constitute a high or a low swing/shake when the
button is down. Also configurable is the number of frames to execute
the swing/shake after the button is released.
2018-07-07 12:55:52 -05:00
iwubcode
83c94feb3d
Input: Trim profile names to allow spaces between ','s
2018-07-07 12:55:52 -05:00
iwubcode
e10abaed3e
InputConfig: Show display message when game specific input profile is loaded; matching how cycling works
2018-07-07 12:55:52 -05:00
iwubcode
14482a72af
Input: Allow cycling to occur for each individual controller
2018-07-07 12:55:49 -05:00
iwubcode
485285eadc
Input: Add cycling between game specific profiles
2018-07-07 12:39:08 -05:00
iwubcode
3969bf6d1c
Input: Add hotkey to cycle the wiimote profile forward or backward
...
Co-authored-by: Barath Kannan <barathsotd@gmail.com>
2018-07-07 12:39:08 -05:00
spycrab
7b986c1b54
Merge pull request #7224 from lioncash/warning
...
VideoCommon/DolphinQt2: Resolve compiler warnings
2018-07-07 16:20:56 +02:00
Rukai
b94262ec33
Add 'Enable Controller Input' checkbox to TAS dialogs
...
When disabled only inputs from TAS dialog are used.
When enabled inputs from TAS dialog are used, except when a change in
input is detected from a real controller, in this case the TAS value is
replaced with the real controller value.
2018-07-07 22:55:42 +10:00
iwubcode
29b71fb9ce
Wiimote Emulation: increase left/right bounds for IR calculation, to fix games that previously you couldn't reach the left/right edges (ex: system menu)
2018-07-07 00:49:47 -05:00
iwubcode
5cbc825bc9
Wiimote Emulation: add 'dynamic' swing/shake options that vary based on how long the key is pressed
2018-07-07 00:49:47 -05:00
iwubcode
9936a83a1b
Add game-configurable shake/swing commands for the nunchuk at three intensities
2018-07-07 00:49:47 -05:00
iwubcode
fb7a6a1bbe
Wiimote Emulation: Add game-configurable shake/swing commands for the wiimote at three intensities
2018-07-07 00:49:47 -05:00
iwubcode
9f9afeb63e
Wiimote Emulation: Be able to trigger swings consistently by holding down buttons. This makes certain actions easier (tested with Red Steel)
2018-07-07 00:49:47 -05:00
Michael M
e7cbee235c
Convert Dolphin.Core.DefaultISO to use new-style config
2018-07-06 19:28:19 -07:00
Michael M
ce98a9c71d
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-06 17:15:30 -07:00
Michael M
b689a195ff
Qt: add Settings::DevicesChanged signal
2018-07-06 17:15:29 -07:00
Lioncash
ef35f93cbd
DolphinQt/PatchesWidget: Remove unused private member variable m_game
...
This resolves a -Wunused-private-field warning
2018-07-06 19:58:51 -04:00
Lioncash
935a273cf1
DolphinQt/GameTracker: Remove unused lambda capture in constructor
...
This resolves a -Wunused-lambda-capture warning
2018-07-06 19:58:31 -04:00
Lioncash
34c3a65de6
VideoCommon/TextureCacheBase: Resolve a -Wmissing-braces warning in GetRAMCopyFilterCoefficients()
2018-07-06 19:56:35 -04:00
Lioncash
675260b0f7
Core: Namespace NetPlay utilities under the NetPlay namespace
...
Previously there was only one function under the NetPlay namespace,
which is kind of silly considering we have all of these other types
and functions existing outside of the namespace.
This moves the rest of them into the namespace.
This gets some general names, like Player, for example, out of the global namespace.
2018-07-06 19:53:23 -04:00
spycrab
13ba24c5a6
Move DolphinQt2 to DolphinQt
2018-07-07 00:48:38 +02:00
spycrab
059880bb16
Merge pull request #7221 from Techjar/netplay-config-junk
...
Fix NetPlay using some config values wrongly
2018-07-06 22:32:18 +02:00
spycrab
bb8b872863
Qt: Refresh Gamelist more thoroughly
2018-07-06 20:27:07 +02:00
spycrab
64c3d01551
Qt/GameTracker: Remove workaround
2018-07-06 20:18:45 +02:00
spycrab
28ca6fec9a
Merge pull request #7202 from Techjar/better-netplay-errors
...
Improve NetPlay connection error handling
2018-07-06 12:27:03 +02:00
spycrab
eb01a0a040
Merge pull request #7204 from spycrab/exclusive_mapping
...
Support for exclusive mapping booleans
2018-07-06 11:27:20 +02:00
Techjar
eeff5e07ff
Fix NetPlay using some config values wrongly
2018-07-05 17:52:53 -04:00
Techjar
a29cdb5713
Improve NetPlay connection error handling
2018-07-05 17:15:19 -04:00
spycrab
14317c8a0f
Merge pull request #7212 from Techjar/netplay-unparent-dialog
...
Qt: Unparent NetPlay dialog from main window
2018-07-05 22:49:58 +02:00
spycrab
fbf445154b
Merge pull request #7217 from Techjar/qt-clock-speed-slider
...
Qt/AdvancedPane: Fix CPU clock slider not updating on emulation state change
2018-07-05 22:48:21 +02:00
spycrab
233787e8a7
Merge pull request #7213 from Techjar/netplay-fix-md5
...
Qt/MD5Dialog: Fix checksum result comparison
2018-07-05 22:45:54 +02:00
spycrab
bb2eed2df3
Qt/GameTracker: Work around Qt crash
...
Works around a bug in QtCore that will cause crashes when
QFileSystemWatcher::addPath is called on a directory that is located on a
removable device (USB mass storage devices, etc.)
2018-07-05 22:07:41 +02:00
Techjar
cd8e3efb21
Qt/AdvancedPane: Fix CPU clock slider not updating on emulation state change
2018-07-05 15:20:29 -04:00
Techjar
f620128dac
Qt: Unparent NetPlay dialog from main window
...
This should make the NetPlay dialog appear as a separate window in the taskbar on most systems, which makes more sense than a parented dialog as the user will leave it open for an extended period.
2018-07-05 06:48:31 -04:00
Techjar
f3e2d98fdd
Qt/MD5Dialog: Fix checksum result comparison
2018-07-04 22:51:11 -04:00
Mat M
9ea3e833ba
Merge pull request #7141 from lioncash/fp
...
Interpreter_FPUtils: Handle the FPSCR.ZE and FPSCR.VE flags with arithmetic instructions
2018-07-04 22:26:24 -04:00
spycrab
3ab3ba0d99
Merge pull request #7187 from Techjar/netplay-reduce-poll-rate
...
Add "Reduce Polling Rate" option to NetPlay
2018-07-04 20:49:29 +02:00
spycrab
7cbb111703
Merge pull request #7209 from spycrab/netplay_stop
...
Qt/NetPlay: Fix not being able to stop NetPlay games properly
2018-07-04 18:59:46 +02:00
spycrab
f7887a442f
Qt/NetPlayDialog: Stop games properly
2018-07-04 16:27:16 +02:00
spycrab
713d55f284
Merge pull request #7208 from Techjar/mipmap-invalidate
...
Make arbitrary mipmap detection toggle invalidate the texture cache
2018-07-04 01:26:49 +02:00
spycrab
bbbd886184
Qt/MainWindow: Instantly stop when requested by NetPlay
2018-07-04 00:54:50 +02:00
spycrab
d8212fd927
Core/Core: Fix getting stuck when Stop is called without emulation running
2018-07-04 00:52:53 +02:00
Techjar
80b05b6f0d
Make arbitrary mipmap detection toggle invalidate the texture cache
...
We want this setting to invalidate the cache because it may affect the appearance of textures in the rendered scene, therefore one would expect changing it while the game is running to have the expected effect immediately.
2018-07-03 18:44:11 -04:00
spycrab
47c5a2f7ed
Merge pull request #7200 from Techjar/qt-dialog-fixes-2-electric-boogaloo
...
Qt: Various dialog fixes
2018-07-03 12:32:31 +02:00
Techjar
a6a188a66b
Qt: Various dialog fixes
2018-07-03 04:28:07 -04:00
Markus Wick
4b1b713e61
Merge pull request #7191 from GerbilSoft/feature/ar-thin-archives
...
CMake: Use thin archives on Linux.
2018-07-03 10:22:02 +02:00
spycrab
806c1ee8f0
Merge pull request #7207 from spycrab/qt_lazy_hotkey
...
Qt/MainWindow: Lazily initialize hotkey mapping window
2018-07-03 08:42:33 +02:00
spycrab
f8bb4355a5
Merge pull request #7199 from spycrab/qt_default_iso
...
Qt/PathPane: Update "Default ISO" when changed
2018-07-03 08:34:47 +02:00
spycrab
457d7cf58f
Qt/MainWindow: Lazily initialize hotkey mapping window
2018-07-03 08:24:45 +02:00
Pierre Bourdon
4a68490abc
Merge pull request #7170 from JonnyH/WIP/arbitrary-mipmap-detection-integer
...
Do all arbitrary mipmap detection in integer space
2018-07-03 04:04:16 +02:00
Pierre Bourdon
da0de12cce
dqt2: lazy-initialize GraphicsWindow
...
Initializing GraphicsWindow layout & children requires cooperation from
the graphics stack: on my system, for example, it causes a Vulkan
context to get created in order to get driver info. This is a slow
operation, and right now it is taking about 60-70% of the Dolphin
startup time on my system.
Move instead to a lazy-initialization model where the constructor
does nothing, instead offloading work to a separate Initialize() method
called before the window is shown.
I would expect this should be done for other larger parts of the UI,
especially the ones where creating widgets ends up triggering large IO
subsystems (I suspect controller configuration might be doing that).
(I'm not super happy with how this is implemented, but right now it's a
one-off, and it's a major complaint users have with the new UI. I
prioritized getting something working quickly...)
2018-07-03 03:48:32 +02:00
David Korth
0149d22385
Removed some more double-expansions of CMAKE_SYSTEM_NAME.
2018-07-02 13:01:16 -04:00
Jonathan Hamilton
b54803a074
Remove unused sRGB conversion functions
...
Now the arbitrary mipmap reference downsampling is just done in linear space,
these are no longer used.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton
431b9e76be
Set arbitrary mipmap detection threshold default to 14
...
Now the detection heuristic has changed, the old value is no longer
valid.
Some example thresholds for known mipmap effects that should trigger:
SMG's lava has a mimimum difference of ~17.8, SMG2's clouds have a
minimum difference of ~14.8, and Wind Waker's foam has a minimum
difference of ~15
Non-triggering examples were tested and all had a calculated difference
lower than 3.
So a value of 14 should lean towards false-negatives instead of
positives, but this is clearly incomplete testing and may require
further tweaks later.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton
ac05d1a593
Do all arbitrary mipmap detection in integer space
...
This no longer converts from sRGB to linear for the reference mip
downsample - even if the original mipmap creation tool used an sRGB
colorspace (which isn't really guaranteed, and may even change per
game), this is a "fast" heuristic that's only an estimate anyway.
The average diff is also now stored in a u64, avoiding floating point
calculations in the per-pixel hot loop.
This should speed up the detection significantly, hopefully fixing
jank when loading in new textures.
2018-07-02 09:52:15 -07:00
spycrab
4eeef6e5b3
Merge pull request #7201 from 8times9/multiselection_deletion_menu_name
...
Qt/GameList: Change multiselection deletion name for consistency
2018-07-02 17:55:20 +02:00
spycrab
0f48653935
Qt/Mapping: Add support for exclusive boolean settings
2018-07-02 15:27:04 +02:00
spycrab
3e2e813607
HW/WiimoteEmu: Make "Upright / Sideways Wii Remote" mutually exclusive
2018-07-02 15:27:03 +02:00
spycrab
c7c93a8e80
ControllerEmu/BooleanSetting: Add exclusive flag
2018-07-02 15:15:23 +02:00
8times9
fb98dbc41c
Qt/GameList: Change multiselection deletion name for consistency
2018-07-01 21:22:55 -05:00
spycrab
37e936fa9e
Qt/PathPane: Update "Default ISO" when changed
2018-07-01 18:20:59 +02:00
spycrab
b5141ca6ce
Qt/Hotkeys: Show OSD message when selecting slots
2018-07-01 16:30:12 +02:00
spycrab
32382438be
Qt/Hotkeys: Implement "Load from File" / "Save from File" hotkeys
2018-07-01 16:14:29 +02:00
Stenzek
9cfcbfacbe
Merge pull request #7177 from Techjar/mipmap-detection-gui
...
Expose arbitrary mipmap detection toggle in UI
2018-07-01 19:21:22 +10:00
Techjar
bc15eb2d57
Expose arbitrary mipmap detection toggle in UI
2018-07-01 04:42:47 -04:00
spycrab
8e1425b363
Merge pull request #7193 from spycrab/qt_mac_bgcolor
...
Qt/WrapInScrollArea: Ensure correct macOS background colors
2018-07-01 04:02:56 +02:00
Cuyler36
c4db7475d5
Fix Address Search Box Focus Lost
2018-06-30 17:47:16 -04:00
spycrab
a4ef6f40d0
Merge pull request #7194 from Techjar/qt-pp-state
...
Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should
2018-06-30 21:52:37 +02:00
Mike Ravenelle
8218de0762
QT: Removed iterative input in options groups.
2018-06-30 14:38:42 -05:00
Techjar
68b8cd1e7c
Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should
2018-06-30 14:59:19 -04:00
spycrab
e23a2e3063
Merge pull request #7189 from Techjar/qt-backend-translated
...
Qt: Fix inability to select translated video backend names
2018-06-30 20:32:12 +02:00
spycrab
4bf276e912
Qt/WrapInScrollArea: Ensure correct macOS background colors
2018-06-30 20:15:22 +02:00
Techjar
5adeca4087
Add "Reduce Polling Rate" option to NetPlay
...
Normally, SI is polled at a rate defined by the game, and we have to send the pad state to other clients on every poll or else we'll desync. This can result in fairly high bandwidth usage, especially with multiple controllers, mostly due to UDP/IP overhead.
This change introduces an option to reduce the SI poll rate to once per frame, which may introduce up to one frame of additional latency, but will reduce bandwidth usage substantially, which is useful for users on very slow internet connections.
Polling SI less frequently than the game asked for did not seem to cause any problems in my testing, so this should be perfectly safe to do.
2018-06-30 13:13:44 -04:00
spycrab
a9841e4fc4
Merge pull request #7190 from Techjar/video-backend-translation
...
Mark all video backend names for translation
2018-06-30 15:48:32 +02:00
Techjar
b59387a65d
Qt: Fix inability to select translated video backend names
2018-06-30 07:31:44 -04:00
Techjar
dc2f22516c
Mark all video backend names for translation
2018-06-30 06:30:19 -04:00
Techjar
7785255470
Qt: Add titles to various message boxes
2018-06-29 23:29:23 -04:00
spycrab
e22c5333ab
Merge pull request #6819 from spycrab/delete_wx
...
Remove DolphinWX
2018-06-30 00:12:24 +02:00
spycrab
227290055d
Merge pull request #7184 from spycrab/qt_tas_round
...
Qt/TAS: Fix slightly off-center default values
2018-06-29 11:47:32 +02:00
spycrab
eac5d3d089
Qt/TAS: Fix slightly off-center default values
2018-06-29 11:39:36 +02:00
Techjar
d94805bab3
Qt/GameList: Explicitly set minimum section size
2018-06-29 05:22:26 -04:00
spycrab
bd28bf6b1e
Merge pull request #7164 from Techjar/gamelist-multiselect
...
Qt/GameList: Reimplement multiselection functionality from WX
2018-06-29 11:14:28 +02:00
spycrab
a595ac6b27
Merge pull request #7169 from Techjar/qt-memcard-creation
...
Qt/GameCubePane: Fix inability to create new memory card file
2018-06-29 11:07:56 +02:00
spycrab
9b00045220
Merge pull request #7168 from Techjar/qt-image-columns
...
Qt/GameList: Adjust image column widths for equal padding
2018-06-29 11:05:39 +02:00
spycrab
a9f065a559
Qt/GameList: Fix some resizing bugs
2018-06-29 09:22:18 +02:00
spycrab
3eef8145d2
Merge pull request #7172 from spycrab/qt_np_map
...
Qt/PadMappingDialog: Retain previous settings
2018-06-29 01:01:42 +02:00
spycrab
6700cc4234
Merge pull request #7174 from spycrab/qt_fs_export
...
Qt/FilesystemWidget: Suggest default filename when exporting files
2018-06-28 22:32:22 +02:00
spycrab
317de3cf5b
Merge pull request #7173 from spycrab/qt_np_dclick
...
Qt/NetPlay: Make double clicking game entries confirm dialogs
2018-06-28 20:02:55 +02:00
spycrab
727b6ba81a
Qt/GameList: Fix empty columns showing up when they should get hidden
2018-06-27 14:10:53 +02:00
spycrab
c8e4b692a4
Qt/FilesystemWidget: Suggest default filename when exporting files
2018-06-27 14:04:41 +02:00
spycrab
4af021ea03
Qt/PadMappingDialog: Retain previous settings
2018-06-27 13:40:39 +02:00
spycrab
1bc8c34f8b
Qt/NetPlay: Make double clicking game entries confirm dialogs
2018-06-27 13:35:34 +02:00
spycrab
1ec0a39cf1
Qt/GameList: Fix search messing up columns
2018-06-27 12:57:32 +02:00
spycrab
44b22c90df
Remove DolphinWX
2018-06-26 20:50:39 +02:00
Techjar
a9222bf969
Qt/GameList: Adjust image column widths for equal padding
2018-06-26 14:31:54 -04:00
Techjar
2491c53b92
Qt/GameCubePane: Fix inability to create new memory card file
2018-06-26 00:37:08 -04:00
spycrab
beeb6754d2
Merge pull request #7166 from spycrab/qt_columns
...
Qt/GameList: Fix column (re)sizing issues
2018-06-25 22:41:46 +02:00
spycrab
d746a8dae3
Qt/GameList: Fix weird column resizing
2018-06-25 22:37:43 +02:00
Stenzek
2debe9e9d1
Merge pull request #7167 from Techjar/patch-437
...
VideoCommon: Fix auto IR being very overzealous
2018-06-25 15:43:37 +10:00
Techjar
25bfee2233
VideoCommon: Fix auto IR being very overzealous
2018-06-25 00:48:57 -04:00
Pierre Bourdon
86edf7f848
Merge pull request #7087 from spycrab/qt_disable_watcher
...
Qt: Add option to disable auto-refresh
2018-06-25 01:46:19 +02:00
Pierre Bourdon
212adc7b87
Merge pull request #7115 from Sintendo/double2singleopt
...
Jit64Common: Eliminate branch in ConvertDoubleToSingle
2018-06-25 01:45:11 +02:00
Pierre Bourdon
1453a314df
Merge pull request #7130 from 8times9/master
...
Qt: Add Vulkan to graphics backend description
2018-06-25 01:43:41 +02:00
Pierre Bourdon
307d705654
Merge pull request #7152 from lioncash/dsp-interp
...
DSPIntExtOps: Minor cleanups
2018-06-25 01:42:42 +02:00
Pierre Bourdon
8129a3db6c
Merge pull request #7156 from lioncash/psq
...
Interpreter_LoadStorePaired: Generate a program exception if non-indexed paired-single load/stores are used and HID2.LSQE is not set
2018-06-25 01:41:48 +02:00
Pierre Bourdon
4200d2e5e3
Merge pull request #7155 from degasus/arm_registers
...
JitArm64: Drop the plattform register.
2018-06-25 01:38:29 +02:00
Pierre Bourdon
2cfdf89898
Merge pull request #6983 from yourWaifu/add-discord-rpc-support
...
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
Techjar
9a26cc18c9
Qt/GameList: Reimplement multiselection functionality from WX
2018-06-24 15:57:45 -04:00
spycrab
7e881288a2
Qt/GameList: Fix some columns being too wide
2018-06-24 15:58:42 +02:00
Shawn Hoffman
553ac7e7cd
Add nag dialog to get users to explain why they still use DolphinWX
2018-06-23 19:15:09 -07:00
Lioncash
135398fcea
BTEmu: Get rid of a few pointer casts
...
Maintains the same behavior without invoking undefined behavior.
2018-06-22 21:24:49 -04:00
Lioncash
bc8f932f0c
BTEmu: Make WriteToEndpoint's reference parameter const
...
This function doesn't modify anything being referenced.
2018-06-22 20:59:00 -04:00
Léo Lam
971972069c
Merge pull request #7148 from lioncash/build
...
Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
2018-06-22 23:55:37 +02:00
Léo Lam
1da868ee82
Merge pull request #7150 from lioncash/naming
...
BTEmu: Amend variable naming
2018-06-22 22:50:48 +02:00
Léo Lam
d07e599a74
Merge pull request #7151 from lioncash/const
...
Movie: Make pointer parameters const where applicable
2018-06-22 22:50:25 +02:00
Léo Lam
e16cadf982
Merge pull request #7153 from lioncash/deduplicate
...
DSPTables: Deduplicate FindByOpcode() implementations in DSP opcode tables
2018-06-22 22:49:16 +02:00
Léo Lam
167c19ae19
Merge pull request #7154 from lioncash/emitter
...
DSPEmitter: Make member functions, aliases and constants private where applicable
2018-06-22 22:47:34 +02:00
spycrab
308d4bb670
Qt/Mapping: Fix "Options" entries disappearing
2018-06-22 00:16:28 +02:00
Lioncash
8d9f74b762
DSPEmitter: Make member functions, aliases and constants private where applicable
...
Given we now use a base class for the interface, we can make all member
functions, types and constants that aren't directly related to
instructions private.
2018-06-21 17:29:33 -04:00
Lioncash
47acf794c7
Interpreter_LoadStorePaired: Generate a program exception if non-indexed paired-single load/stores are used and HID2.LSQE is not set
...
HID2.LSQE is the Load/store quantize enable bit for non-indexed format
instructions (which are psq_l, psq_lu, psq_st, and psq_stu). If this bit
is not set and any of these instructions are attempted to be executed,
then a program exception is supposed to occur.
2018-06-21 17:16:54 -04:00
degasus
ecf86bbf7b
JitArm64: Drop the plattform register.
...
This register is defined as "optional reserved" within the aarch64 ABI.
Linux doesn't use it, but we must not modify it on ios or windows.
As we have plenty of registers on aarch64, let's just always skip this one.
2018-06-21 22:39:15 +02:00
Lioncash
fd1ad02c5c
DSPTables: Deduplicate FindByOpcode() implementations in DSP opcode tables
...
This function was duplicated across all the opcode tables: the main info
tables, the interpreter tables, and the x86-64 JIT tables. However, we
can just make the type of the std::array parameter a template type and
get rid of this duplication.
2018-06-21 13:35:06 -04:00
Lioncash
fdf057efce
DSPIntExtOps: Remove unnecessary const from function prototypes
...
const on a parameter being passed by value in a prototype doesn't actually signify
anything, these are only applicable in the definition, where they make
the opcode parameter immutable.
2018-06-21 13:00:08 -04:00
Lioncash
42846e6ef1
DSPIntExtOps: Correct casing of functions
...
Corrects several functions to conform to our coding style.
2018-06-21 12:53:22 -04:00
Lioncash
4367e3aeda
DSPIntExtOps: Make IsSameMemArea internally linked
...
inline has external linkage, which doesn't really make sense here, given
the function is only used within this translation unit. So we can
replace inline with static.
While we're at it, the code within the function can also be compressed
to a single return statement.
2018-06-21 12:46:01 -04:00
Lioncash
2354d933c8
Movie: Make pointer parameters const where applicable
...
A few functions don't actually modify the data being pointed to, so
these can be made pointer-to-const.
2018-06-21 12:27:30 -04:00
Lioncash
25e3ec23f8
BTEmu: Rename AccessWiiMote to AccessWiimote
...
Everywhere else throughout the codebase we use "Wiimote" when referring
to the Wii Remote as a shorthand. This makes the casing consistent.
2018-06-21 11:36:02 -04:00
Lioncash
56b8d1803e
BTEmu: Amend parameter and local variable naming
2018-06-21 11:35:31 -04:00
Lioncash
16c6e9fa57
BTEmu: Amend class member variable naming
2018-06-21 10:53:07 -04:00
spycrab
77f6e50493
Merge pull request #7134 from spycrab/qt_housekeep
...
Qt: Basic housekeeping
2018-06-21 14:24:53 +02:00
Lioncash
c4fb07f428
Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
...
Previously these were required to be built into the executable so that
the JIT portion of the DSP code would build properly, as the
x86-64-specifics were tightly coupled to the DSP common code. As this is
no longer the case, this is no longer necessary.
2018-06-21 06:53:31 -04:00
Markus Wick
630c3f0805
Merge pull request #7147 from lioncash/emitter
...
DSP: Replace x64 JIT pointer with a pointer to an architecture-agnostic base
2018-06-21 12:34:13 +02:00
Markus Wick
52990d215d
Merge pull request #7145 from lioncash/mtspr
...
Interpreter_SystemRegisters: Handle mtspr to HID1 and PVR properly
2018-06-21 11:36:12 +02:00
Lioncash
b7301bee29
DSP: Replace x64 JIT pointer with a pointer to an architecture-agnostic base
...
This adds a base class that is used to replace the concrete instance of
the x64 JIT pointer within DSPCore. This fully removes the direct use
(read: non-ifdefed) usage of x86-64-specifics within the main DSP code.
Said base can also be used for creating JITs for other architectures,
such as AArch64, etc.
2018-06-21 05:20:22 -04:00
Mat M
8b68a7d88a
Merge pull request #7109 from degasus/cached_interpreter
...
CachedInterpreter: Implement breakpoints.
2018-06-21 04:23:38 -04:00
Markus Wick
5f7dc31a9f
Merge pull request #7138 from lioncash/dsp-table
...
DSPTables: Separate interpreter and JIT functions from main info table
2018-06-21 10:23:03 +02:00
Lioncash
474c1bb4f7
DSPTables: Separate interpreter and JIT functions from main info table
...
This is one of the last things that needed to be done in order to
finally separate the x86-64-specific code from the rest of the common
DSP code. This splits the tables up similar to how it's currently done
for the PowerPC CPU tables.
Now, the tables are split up and within their own relevant source files,
so the main table within the common DSP code acts as the "info" table
that provides specifics about a particular instruction, while the other
tables contain the actual instruction.
With this out of the way, all that's left is to make a general base for
the emitters and we can then replace the x64 JIT pointer in DSPCore with
it, getting all x64 out of the common code once and for all.
While shuffling all the code around, the removal of the DSPEmitter
includes in some places uncovered indirect inclusions, so this also
fixes those as well.
2018-06-21 04:21:44 -04:00
Markus Wick
0459a1a9e6
Merge pull request #6875 from JonnyH/WIP/mipmap-heuristic-tweaks
...
Make arbitrary mipmap detection a config option
2018-06-21 10:19:47 +02:00
Markus Wick
bf50348d9f
Merge pull request #6539 from degasus/async
...
VideoCommon: Flush the GPU pipeline on async requests.
2018-06-21 10:16:54 +02:00
Markus Wick
d8ba3034c3
Merge pull request #7133 from lioncash/assembler
...
DSPAssembler: Minor changes
2018-06-21 10:02:36 +02:00
Markus Wick
b4b9b53239
Merge pull request #7143 from lioncash/bt-helper
...
BTEmu: Make m_WiiMotes private
2018-06-21 10:00:28 +02:00
Markus Wick
4ca05810be
Merge pull request #7144 from lioncash/cast
...
ActionReplay: Use Common::BitCast instead of reinterpret_cast in Subtype_AddCode()
2018-06-21 09:56:05 +02:00
Markus Wick
966cc5bc01
Merge pull request #7142 from lioncash/shadow
...
Common/MemoryPatches: Silence variable shadowing warnings
2018-06-21 09:52:47 +02:00
Markus Wick
9f03d8ca6a
Merge pull request #7139 from lioncash/tb
...
PowerPC: Add functions to read/write the full timebase value
2018-06-21 09:52:13 +02:00
Markus Wick
3816e825c9
Merge pull request #7135 from JosJuice/cant-load-state
...
Only show savestate version mismatch OSD message when relevant
2018-06-21 09:28:47 +02:00
Lioncash
540bb1a1b0
Software: Don't link against X11 libraries
...
The software backend doesn't actually use X11 in any capacity directly.
2018-06-21 01:47:37 -04:00
Lioncash
d0fbba9ac1
Interpreter_SystemRegisters: Handle mtspr to HID1 and PVR properly
...
Despite both being documented as read-only registers, only one of them
is truly read-only. An mtspr to HID1 will steamroll bits 0-4 with
bits 0-4 of whatever value is currently in the source register, the rest
of the bits are not modified as bits 5-31 are considered reserved, so
these ignore writes to them.
PVR on the other hand, is truly a read-only register. Attempts to write
to it don't modify the value within it, so we model this behavior.
2018-06-20 18:50:33 -04:00
Lioncash
7eb86cdb67
BTEmu: Add helper function for accessing WiimoteDevice instances by index
...
This makes it much more straightforward to access WiimoteDevice
instances and also keeps the implementation details of accessing those
instances in one spot.
Given as all external accesses to the WiimoteDevice instances go through
this function, we can make the other two private.
2018-06-20 17:05:54 -04:00
Lioncash
0e437c41e5
ActionReplay: Use Common::BitCast instead of reinterpret_cast in Subtype_AddCode()
...
Using reinterpret_cast (or a C-styled equivalent) to reinterpret
integers as floating-point values and vice-versa invokes undefined
behavior. Instead, use BitCast, which does this in a well-defined
manner.
2018-06-20 16:38:30 -04:00
Lioncash
e4b6d7626b
WiimoteDevice: Make Callback_WiimoteInterruptChannel() accept its data as a u8* rather than void*
...
All current usages of the function pass in either u8 arrays or pointers,
so we can make this part of the function a concrete type.
2018-06-20 16:04:10 -04:00
Lioncash
2b60fe684c
BTEmu: Make m_WiiMotes private
...
We can already utilize the public interface to access the necessary
instance without exposing a private data member.
2018-06-20 15:15:05 -04:00
spycrab
583ddfa8f0
Qt/GCMemcardManager: Update free blocks when a memcard is changed
2018-06-20 12:33:14 +02:00
spycrab
ce126f1cfe
Qt/Mapping: Remove "Iterative Input" everywhere
2018-06-20 12:33:14 +02:00
yourWaifu
63f03455f3
Discord Rich Presence CMake integration
...
I have no idea if this works or not. Hopefully the build bot will tell me.
2018-06-19 22:43:03 -04:00
Lioncash
dddac76b8c
Common/MemoryPatches: Silence variable shadowing warnings
2018-06-19 21:33:50 -04:00
Lioncash
72e21bc679
Interpreter_FPUtils: Handle the FPSCR.ZE and FPSCR.VE flags with arithmetic instructions
...
According to PEM 3.3.6.1, if a division by zero occurs and FPSCR.ZE is
set, then the result of the instruction operation is unchanged (see
table 3-13). Similarly, if an invalid operation occurs and FPSCR.VE is
set, then the destination should also remain unchanged (see table 3-12).
Hardware also matches this behavior.
We were handling this for other relevant instructions, but we weren't
doing so for the arithmetic instructions. This corrects that.
This also alters our NI_* functions to return an FPResult type, which
allows us to see which kind of exception in particular is set in
exceptional cases. This is necessary for cases like the fdiv
instructions, which requires handling both ZE and VE being potentially
set.
2018-06-19 18:09:03 -04:00
Léo Lam
bdfc6de9fd
Merge pull request #7137 from lioncash/copy
...
GameFile: Avoid copying map pairs in GetLanguages()
2018-06-19 22:57:29 +02:00
Léo Lam
de0b153867
Merge pull request #7136 from lioncash/unused
...
GameFile: Remove unused variable within GetUniqueIdentifier()
2018-06-19 22:57:00 +02:00
Léo Lam
e728c0c948
Merge pull request #7132 from lioncash/table
...
BTEmu: Make read-only arrays const
2018-06-19 22:56:10 +02:00
Lioncash
6066ca30b2
DolphinQt2/RegisterWidget: std::move std::function instances in AddRegister()
...
These can be moved into the RegisterColumn constructor, which avoids
potential allocations in the case a std::function would otherwise need
to allocate to hold all of it's captured data.
Also tidy up the inclusion order while we're at it.
2018-06-19 13:40:22 -04:00
Lioncash
562d2a700b
PowerPC: Add functions to read/write the full timebase value
...
Allows us to get rid of a silly pointer cast and deduplicate some code
from the front-end when it comes to reading the value.
2018-06-19 13:26:08 -04:00
Lioncash
d3ed750c9d
GameFile: Avoid copying map pairs in GetLanguages()
...
We can just reference the pairs instead of taking them by value,
avoiding copying std::string instances.
2018-06-19 12:25:16 -04:00
Lioncash
1e4f3607c3
GameFile: Remove unused variable within GetUniqueIdentifier()
2018-06-19 12:18:09 -04:00
JosJuice
860a89b943
Only show savestate version mismatch OSD message when relevant
...
We used to show it for all failed savestate loads, no matter what the
failure reason was. Fixes https://bugs.dolphin-emu.org/issues/9815
2018-06-19 16:15:18 +02:00
8times9
33691d2992
Qt: Add Vulkan to graphics backend description
2018-06-19 08:38:48 -05:00
spycrab
18c3e0302f
Merge pull request #7127 from Techjar/patch-4
...
Qt/GameCubePane: Fix issues with changing memcard slots while game is running
2018-06-19 13:50:25 +02:00
spycrab
113f9767dd
Qt/FilesystemWidget: Remove "Whats this?" button from extraction dialog
2018-06-19 10:30:32 +02:00
Lioncash
9c3c92329e
DSPAssembler: Remove commented out code
...
This is just dead line noise sitting around, so we can get rid of it.
2018-06-18 16:24:38 -04:00
Lioncash
549bedd30b
BTEmu: Make read-only arrays const
...
Several arrays within this source file are only ever read from, so the
data can be made immutable.
2018-06-18 16:03:05 -04:00
Lioncash
b36cdbdda5
DSPAssembler: Convert typedef into a using alias
2018-06-18 15:45:59 -04:00
Lioncash
af41a8efba
DSPAssembler: Make member variable naming consistent
...
Previously the class was intermixing m_ prefixed variables and
non-prefixed ones, which can be misleading. Instead, we make the
prefixing consistent across the board.
2018-06-18 15:44:13 -04:00
Lioncash
1389bf35bd
DSPAssembler: In-class initialize members where applicable
...
Avoids repeating ourself in the initializer list and makes the class
have a predictable initial state.
2018-06-18 15:35:58 -04:00
JosJuice
091efcc41d
Merge pull request #7125 from lioncash/enum
...
ConfigManager: Convert GPUDeterminismMode into an enum class
2018-06-18 18:22:31 +02:00
Lioncash
eb76dc9600
DSPCore: Make ExceptionType an enum class
...
Makes the values strongly typed and avoids polluting the DSP namespace.
2018-06-17 17:42:54 -04:00
Lioncash
8459d2bc5d
DSPCore: Make DSPCore_SetException() take an enum type instead of a u8
...
Makes it more immediately indicative which values are intended to be
passed to this function.
2018-06-17 16:02:56 -04:00
Techjar
7778859b55
Qt/GameCubePane: Fix issues with changing memcard slots while game is running
...
Selecting Dummy or Memory Card would pass wrong values to EXI::ChangeDevice and not work as expected
Changing path had no effect until device was changed as it didn't call EXI::ChangeDevice at all
2018-06-17 14:04:37 -04:00
spycrab
e3f7b0274c
Qt/HotkeyScheduler: Fix 3D Mode hotkeys not behaving properly
2018-06-16 21:38:14 +02:00
spycrab
b5e6cd9725
Merge pull request #7122 from spycrab/qt_table_perf
...
Qt/GameList: Greatly improve performance (List view)
2018-06-16 12:40:13 +02:00
Lioncash
de9c5fd375
ConfigManager: Convert GPUDeterminismMode into an enum class
...
Makes the values strongly-typed and gets more identifiers out of the
global namespace.
We are forced to use anything that is not "None" to mean none, because
X11 is garbage in that it has:
\#define None 0L
Because clearly no one else will ever want to use that identifier for
anything in their own code (and is why you should prefix literally
any and all preprocessor macros you expose to library users in public
headers).
2018-06-15 14:45:30 -04:00
Léo Lam
0ee9b884ca
Merge pull request #7123 from lioncash/enum
...
DSPCore: Convert core type enum into an enum class
2018-06-15 19:52:57 +02:00
Lioncash
6f473b96d0
PowerPC: Convert CPUCore enum into an enum class
...
Makes the enum values strongly-typed and prevents the identifiers from
polluting the PowerPC namespace. This also cleans up the parameters of
some functions where we were accepting an ambiguous int type and
expecting the correct values to be passed in.
Now those parameters accept a PowerPC::CPUCore type only, making it
immediately obvious which values should be passed in. It also turns out
we were storing these core types into other structures as plain ints,
which have also been corrected.
As this type is used directly with the configuration code, we need to
provide our own overloaded insertion (<<) and extraction (>>) operators
in order to make it compatible with it. These are fairly trivial to
implement, so there's no issue here.
A minor adjustment to TryParse() was required, as our generic function
was doing the following:
N tmp = 0;
which is problematic, as custom types may not be able to have that
assignment performed (e.g. strongly-typed enums), so we change this to:
N tmp;
which is sufficient, as the value is attempted to be initialized
immediately under that statement.
2018-06-15 10:27:59 -04:00
Lioncash
161dffe2f9
DSPCore: Rename JIT core type to JIT64
...
This changes the identifier to represent the x86-64 DSP emitter. If any
other JITs for the DSP are added in the future, they all can't use the
same generic identifier.
2018-06-15 07:59:05 -04:00
Lioncash
98af5e4c10
DSPCore: Convert core type enum into an enum class
...
Prevents pollution of the surrounding scope and makes the values
strongly-typed.
2018-06-15 07:55:31 -04:00
spycrab
daebbabb35
Qt/GameList: Greatly improve performance (List view)
2018-06-15 12:05:11 +02:00
Léo Lam
58606702f7
Merge pull request #7107 from lioncash/mac
...
Common/Network: Get rid of out parameters for MAC address utilities
2018-06-14 19:44:09 +02:00
Léo Lam
c7280707ec
Merge pull request #7113 from lioncash/mask
...
Gekko: Centralize bitmasking of the FPSCR within UReg_FPSCR
2018-06-14 18:28:11 +02:00
Léo Lam
59cd9a5af7
Merge pull request #7118 from lioncash/hotkey-str
...
HotkeyManager: Minor changes
2018-06-14 18:26:03 +02:00
Lioncash
189d277cfc
Common/Random: Add convenience template for simple arithmetic values
...
In cases where we just want a random value for a primitive arithmetic
type, we can wrap this in a template to allow convenient direct
assignment instead of keeping declaration and initialization separate
(making it more difficult to use values uninitialized). This also allows
the use of Common::Random with functions such as std::generate, making
it more flexible in how random values can be generated.
2018-06-14 10:31:13 -04:00
spycrab
e69c6cdaab
Merge pull request #7114 from Techjar/patch-3
...
Qt/GameCubePane: Fix memcard browsing starting in working directory instead of User/GC/ directory
2018-06-14 16:13:21 +02:00
Lioncash
410792d922
HotkeyManager: Add missing s_ prefixes to internally-linked file-scope variables
...
Previously there was an intermixing of no prefixing and prefixing. This
makes the notation consistent.
2018-06-14 10:07:22 -04:00
Lioncash
d22d32372e
HotkeyManager: Use std::array where applicable
2018-06-14 10:07:01 -04:00
Lioncash
aae06f1cf7
HotkeyManager: Move HotkeyGroupInfo struct into the cpp file
...
This is only ever used internally. Also change the std::string name over
to a const char*, so that we don't need to potentially allocate anything
on the heap at immediate runtime.
2018-06-14 09:12:19 -04:00
Techjar
027fc6efd5
Qt/GameCubePane: Fix memcard browsing starting in working directory instead of User/GC/ directory
2018-06-14 09:11:54 -04:00
Lioncash
d459470fee
HotkeyManager: Convert file-scope std::string array to constexpr const char* array
...
Previously, a total of 114 std::string instances would need to construct
(allocating on the heap for larger strings that can't be stored with
small string optimizations). We can just use an array of const char*
strings instead, which allows us to avoid this.
2018-06-14 09:04:57 -04:00
Markus Wick
1f49a9c87c
Merge pull request #7116 from lioncash/log
...
JitCommon/JitBase: Rename x86-specific logging define to be platform agnostic
2018-06-14 15:00:34 +02:00
Lioncash
065aba43e2
JitBase: Remove unused rewriteStart data member from JitState
2018-06-14 08:46:34 -04:00
Lioncash
ace24c2932
JitCommon/JitBase: Rename x86-specific logging define to be platform agnostic
...
Given JitBase shouldn't include platform specifics, we can generalize this
preprocessor define and allow any JIT to use it to indicate that generated code should be logged.
While we're at it, also move these defines beneath the includes with the
rest of the defines.
2018-06-14 08:35:35 -04:00
spycrab
e8c1e5af63
Merge pull request #7112 from spycrab/qt_macos_layout
...
Qt/macOS: Make configuration layout consistent with other platforms
2018-06-14 12:29:24 +02:00
Sintendo
78bc9690e2
Eliminate branch in ConvertDoubleToSingle
2018-06-13 23:02:50 +02:00
degasus
03c88c83ac
CachedInterpreter: Implement breakpoints.
...
There were missed on the initial implementation of the cached interpreter.
2018-06-13 08:33:57 +02:00
spycrab
09df03382d
Merge pull request #7094 from spycrab/qt_fs_fixes
...
Qt: Fix multiple fullscreen issues
2018-06-12 22:46:29 +02:00
Lioncash
0049ef3a2a
Gekko: Centralize bitmasking of the FPSCR within UReg_FPSCR
...
Rather than introduce this handling in every system instruction that modifies
the FPSCR directly, we can instead just handle it within the data structure
instead, which avoids duplicating mask handling across instructions.
This also allows handling proper masking from the debugger register
windows themselves without duplicating masking behavior there either.
2018-06-12 14:15:50 -04:00
spycrab
f2c6a97916
Qt/macOS: Make configuration layout consistent with other platforms
2018-06-12 15:45:33 +02:00
Léo Lam
f3a18db9e0
Merge pull request #7106 from lioncash/name
...
WiimoteDevice: Amend variable naming
2018-06-11 11:12:08 +02:00
Lioncash
59846378b3
BTReal: Handle case where a link key may be invalid within LoadLinkKeys()
...
This can only occur if a user purposely corrupts their config file, but
still, we may as well protect users from themselves.
2018-06-10 16:11:36 -04:00
Lioncash
ce69201f33
Common/Network: Get rid of out parameters for MAC address utilities
...
Given we have std::array and std::optional, we can use these in
conjunction with one another to avoid the need for out parameters.
2018-06-10 15:43:26 -04:00
Mat M
b6592723a7
Merge pull request #7103 from leoetlino/master
...
BTReal: Fix unsafe reinterpret_casts
2018-06-10 14:27:19 -04:00
Lioncash
925348cdd1
WiimoteDevice: Amend variable naming for class member variables
...
Gets rid of inconsistencies related to class variables concerning casing
and the lack of prefixes on some variables, while others contain them.
2018-06-10 14:23:36 -04:00
Lioncash
eaace415d3
WiimoteDevice: Amend variable naming for non-class member variables
...
This file is quite out of sync when it comes to our naming conventions,
this brings it back in line with it.
2018-06-10 14:23:31 -04:00
Markus Wick
70417c8d16
Merge pull request #7096 from lioncash/jit-buffer
...
JitBase: Centralize location of code buffer
2018-06-10 17:59:41 +02:00
Lioncash
0d0f58005b
WiimoteDevice: Make channel reference const qualified
...
This is only used for reading data, not modifying it, so make the type
system enforce that.
2018-06-10 09:08:33 -04:00
Lioncash
5548316d32
WiimoteDevice: Remove unnecessary cast in ExecuteL2capCmd()
...
pData is already a u8*, so a cast isn't necessary here.
2018-06-10 09:04:42 -04:00
Léo Lam
fca6d80740
Merge pull request #7101 from lioncash/ios
...
WiimoteDevice: Minor changes
2018-06-10 14:35:41 +02:00
Léo Lam
8bb08d1ca6
BTReal: Fix unsafe reinterpret_casts
...
Using reinterpret_cast like that is possibly UB.
Replace them with structs/memcpy calls where applicable.
2018-06-09 23:04:04 +02:00
Lioncash
c825eecbc9
ChunkFile: Remove unnecessary includes
...
ChunkFile doesn't use any of the file utilities, so we can drop these
headers to avoid pulling in unnecessary dependencies. This also
uncovered a few indirect inclusions.
2018-06-09 16:49:59 -04:00
Lioncash
647da59679
WiimoteDevice: Move channel state booleans into a struct
...
These were essentially duplicated for both channels, when they could be
implemented in terms of a struct, which allows for simplifying the reset
case.
2018-06-09 16:35:32 -04:00
Lioncash
94fd8505d6
WiimoteDevice: Make DoesChannelExist() a const member function
...
This only queries internal class state, it doesn't modify it.
2018-06-09 16:35:32 -04:00
Lioncash
f906785e88
WiimoteDevice: Make EventPagingChanged() a const member function
...
This only queries internal state, it doesn't modify it. With minor
adjustments to BTEmu, this also allows us to make its usage instance a
constant reference.
2018-06-09 16:35:32 -04:00
Lioncash
38d155f993
WiimoteDevice: Make ConnectionState enum an enum class
...
Avoids polluting class scope and makes it strongly typed.
2018-06-09 16:35:27 -04:00
Léo Lam
f564c28040
Merge pull request #7099 from lioncash/compiler
...
Common: Add Compiler.h header for compiler-specifics
2018-06-09 20:19:49 +02:00
Lioncash
b5d89294f7
WiimoteHIDAttr: Make file-scope packet data arrays immutable
...
Given these are only ever returned from a function as const u8*, we can
go ahead and make these fully immutable.
2018-06-09 13:46:28 -04:00
Lioncash
7b11ce3dd2
Compiler: Use [[maybe_unused]] in the Windows DOLPHIN_UNUSED macro
...
The required version of MSVC already supports [[maybe_unused]], so we
can utilize this here. When GCC 7 and clang 3.9 become hard
requirements, we can eliminate this macro entirely and replace it with
[[maybe_unused]].
2018-06-09 12:20:29 -04:00
Lioncash
d8f6d60189
Compiler: Rename UNUSED macro to DOLPHIN_UNUSED
...
UNUSED is quite a generic macro name and has potential to clash with
other libraries, so rename it to DOLPHIN_UNUSED to prevent that, as well
as make its naming consistent with the force inline macro
2018-06-09 12:20:29 -04:00
Lioncash
3f210836ad
Compiler: Rename __forceinline define to DOLPHIN_FORCE_INLINE
...
This is much better as prefixed double underscores are reserved for the
implementation when it comes to identifiers. Another reason its better,
is that, on Windows, where __forceinline is a compiler built-in, with
the previous define, header inclusion software that detects unnecessary
includes will erroneously flag usages of Compiler.h as unnecessary
(despite being necessary on other platforms). So we define a macro
that's used by Windows and other platforms to ensure this doesn't
happen.
2018-06-09 12:20:25 -04:00
Lioncash
03414e8e84
Common: Add header for compiler-specifics
...
Instead of globbing things under an ambiguous Common.h header, move
compiler-specifics over to Compiler.h. This gives us a dedicated home
for anything related to compilers that we want to make functional across
all compilers that we support.
This moves us a little closer to eliminating Common.h entirely.
2018-06-09 12:10:05 -04:00
Lioncash
e18824e3f3
PPCAnalyst: get rid of code buffer size variable
...
Rather than have a separate independent variable that we need to keep
track of in conjunction with the JIT code buffer size itself, amend the
analyst code to use the code buffer constant in JitBase.
Now if the size ever changes, then the analyst will automatically adjust
to handle it.
2018-06-09 08:17:17 -04:00
Lioncash
a3f2941173
JitBase: Centralize location of code buffer
...
Given the code buffer is something truly common to all JIT
implementations, we can centralize it in the base class and avoid
duplicating it all over the place, while still allowing for differently
sized buffers.
2018-06-09 08:16:53 -04:00
Léo Lam
1d87584d69
Merge pull request #7097 from lioncash/dsp-disas
...
DSPDisassembler: Remove unnecessary includes
2018-06-09 07:58:39 +02:00
Lioncash
61ff11c266
DSPDisassembler: Remove unnecessary includes
...
Gets rid of an inclusion dependency with the DSP interpreter, as well as
a header-based dependency on the DSP opcode tables. This also uncovered
an indirect inclusion on the logger within DSPSymbols.cpp
2018-06-08 18:55:57 -04:00
Lioncash
d1e278218e
Common/CMakeLists: Link in libraries privately for traversal_server
...
Without this, CMake script errors can occur, as explicit linkage
specifiers and non-explicit specifier commands aren't compatible with
one another.
2018-06-08 17:40:44 -04:00
spycrab
0273cae3a2
Qt: Restore fullscreen resolution when regaining focus
2018-06-08 20:47:15 +02:00
spycrab
6c19b5947b
Qt: Fix exclusive fullscreen not being entered on startup
2018-06-08 19:59:41 +02:00
Léo Lam
48b7cfa75c
Merge pull request #7062 from robopilot99/master
...
Add auto-hide option to Wii IR pointer
2018-06-08 14:04:03 +02:00
JosJuice
ca3d68cee5
Merge pull request #7076 from JosJuice/android-gamelist-uicommon
...
Use UICommon's game list code on Android
2018-06-08 13:59:45 +02:00
Léo Lam
d23c3e9524
Merge pull request #7093 from lioncash/log
...
Interpreter_SystemRegisters: Change PanicAlert to INFO_LOG in mtspr()
2018-06-07 19:01:39 +02:00
Lioncash
5db2137538
Interpreter_SystemRegisters: Change PanicAlert to INFO_LOG in mtspr()
...
As peculiar as this may be, decrementer exceptions by means of setting
the decrementer's zeroth bit from 0 to 1 is valid behavior by software
(and is defined in Programming Environments for 32-bit Microprocessors
in section 2.3.14.1 -- Decrementer operation). Given it's valid behavior,
it doesn't necessarily make sense to use a panic alert and halt, as this
isn't a condition where everything should be considered in a critical
state.
Instead, change it to an info log, so we still make note of it, but
without potentially tearing down state or halting emulation.
2018-06-07 12:14:46 -04:00
Pierre Bourdon
de0fe0e210
Merge pull request #6928 from leoetlino/random
...
Common: Add Random utilities
2018-06-08 00:41:08 +09:00
Léo Lam
b51fbaa5b0
Merge pull request #7084 from lioncash/mask
...
Interpreter_SystemRegisters: Ensure FPSCR modifying instructions don't set bit 20
2018-06-07 16:51:36 +02:00
Léo Lam
34d6a49842
Merge pull request #7088 from Ebola16/TFD
...
Give "Dump TEV Stages" and "Dump Texture Fetches" descriptions
2018-06-07 16:50:15 +02:00
Léo Lam
ca32b4127e
Merge pull request #7089 from spycrab/qt_refresh_hotkey
...
Qt: Implement "Refresh Game List" hotkey
2018-06-07 16:49:09 +02:00
Léo Lam
18d5ba30d6
Merge pull request #7085 from master0fdisaster/Add-Volume-Hotkeys-OSD-Message
...
Add OSD message for Volume Hotkeys
2018-06-07 16:46:19 +02:00
Léo Lam
dd7c558be3
Merge pull request #7092 from JosJuice/wii-devkit
...
Set 0x0000002C to NDEV 2.1 when running a debug-signed Wii disc
2018-06-07 15:52:07 +02:00
JosJuice
af5d9f693a
Set 0x0000002C to NDEV 2.1 when running a debug-signed Wii disc
...
This fixes the The Last Story prototype that GerbilSoft was testing,
because the apploader is a bit more lenient with the max size of DOL
sections when it detects that you're using a devkit console.
2018-06-07 10:14:32 +02:00
Sleepy Flower Girl
57bd13a0ce
Use new config system for Discord Rich Presence option
...
This doesn't feel like a mirror change to me.
2018-06-07 00:59:31 -04:00
spycrab
23394164de
Qt: Implement "Refresh Game List" hotkey
2018-06-06 18:30:46 +02:00
Ryan Meredith
5fcb509702
Give "Dump TEV Stages" and "Dump Texture Fetches" descriptions
2018-06-06 11:59:29 -04:00
JosJuice
1c027bc148
Use UICommon's game list code on Android
...
Deduplicates code, and gets rid of some problems the old code had
(such as: bad performance when calling native functions, only one
disc showing up for multi-disc games, Wii banners being low-res,
unnecessarily much effort being needed for adding more metadata).
2018-06-06 17:34:07 +02:00
master0fdisaster
7a90ea2752
Add OSD message for Volume Hotkeys
...
This pr adds an OnScreenDisplay message when you use the Volume hotkeys.
Just to have visual feedback.
2018-06-06 17:11:43 +02:00
Léo Lam
c93210155f
Merge pull request #7075 from Ebola16/DumpObjects
...
Software Renderer "Dump Objects" needs dedicated folder and tooltip
2018-06-06 15:20:14 +02:00
Ryan Meredith
7340935b38
QT: Use brackets for description arrays
2018-06-06 09:05:18 -04:00
Ryan Meredith
45b9b7d211
Give Dump Objects dedicated folder and tooltip
2018-06-06 08:42:41 -04:00
spycrab
ee479260d0
Qt: Add option to disable auto-refresh
2018-06-06 13:49:45 +02:00
Markus Wick
3860219899
VideoCommon: Flush the GPU pipeline on async requests.
2018-06-06 09:22:01 +02:00
8times9
70b7e852f8
Qt: Remove Dolphin prefix from NetPlay window titles
...
This makes the NetPlay window titles consistent with other window titles in Dolphin.
2018-06-05 22:27:07 -05:00
Mat M
0dfd0cfa24
Merge pull request #7083 from leoetlino/consistency
...
ES: Return ReturnCode in DiVerify for consistency
2018-06-05 17:24:17 -04:00
Lioncash
11a35d47ef
Interpreter_SystemRegisters: Ensure FPSCR modifying instructions don't set bit 20
...
Bit 20 is defined as being reserved and attempts to set it are ignored
by hardware, so we should be doing the same thing.
2018-06-05 16:27:10 -04:00
Léo Lam
85baca386a
ES: Return ReturnCode in DiVerify for consistency
...
No reason to return a s32 instead of an IOS return code (like every
other function in the ES API)
2018-06-05 22:07:59 +02:00
Anthony
36ff2a20d5
Merge pull request #6954 from degasus/coherent
...
OGL/Streambuffer: Use coherent mapping by default.
2018-06-05 12:06:17 -07:00
spycrab
e3e451b34e
Qt/InfoWidget: Don't prefix maker id with '0x'
2018-06-05 20:25:15 +02:00
Léo Lam
f422b88ed9
Merge pull request #7078 from spycrab/qt_gc_adapter_fix
...
Qt/GCPadWiiUConfigDialog: Fix settings not being loaded properly
2018-06-05 19:37:56 +02:00
spycrab
08561b4b43
Merge pull request #7079 from spycrab/qt_open_remember
...
Qt/MainWindow: Remember last directory in "Open" prompt
2018-06-05 19:02:17 +02:00
spycrab
8a24eac0de
Qt/GCPadWiiUConfigDialog: Fix settings not being loaded properly
2018-06-05 19:00:51 +02:00
spycrab
c6704b1323
Qt/MainWindow: Remember last directory in "Open" prompt
2018-06-05 18:56:21 +02:00
Léo Lam
21d0d6711f
Merge pull request #7073 from leoetlino/fix
...
WiiSave: Fix the way paths are handled
2018-06-05 18:32:13 +02:00
Léo Lam
bfbd890caa
Merge pull request #7080 from spycrab/qt_noprop_elfdol
...
Qt/GameList: Don't show certain options when a DOL/ELF is selected.
2018-06-05 15:57:11 +02:00
spycrab
07b26f8bca
Qt/GameList: Don't show certain options when a DOL/ELF is selected.
2018-06-05 13:28:16 +02:00
spycrab
63460834a5
Qt/CheatCodeEditor: Don't accept rich text
2018-06-05 12:45:08 +02:00
spycrab
8675fa09b8
Merge pull request #7071 from spycrab/qt_gamelist_refresh
...
Qt: Add Refresh button
2018-06-05 04:29:23 +02:00
robopilot99
ab02499ce7
Add auto-hide option to Wii IR pointer
2018-06-04 17:58:21 -05:00
Léo Lam
b7a8deda96
Merge pull request #7074 from lioncash/paired
...
Interpreter_LoadStorePaired: Simplify type aliases in QuantizeAndStore() and LoadAndDequantize()
2018-06-05 00:08:00 +02:00
Léo Lam
226f88bcb6
Merge pull request #7069 from leoetlino/player-id
...
PadMappingDialog: Show player ID in player dropdown
2018-06-05 00:02:04 +02:00
Lioncash
25d38c0a23
Interpreter_LoadStorePaired: Simplify type aliases in QuantizeAndStore() and LoadAndDequantize()
...
These can just use the _t variant of make_unsigned, which eliminates the
need to pull the type from the ::type member type.
2018-06-04 17:57:05 -04:00
Léo Lam
d1e2cc7b92
Merge pull request #7070 from spycrab/qt_prop_width
...
Qt/PropertiesDialog: Fix tabs being cut off due to small window size
2018-06-04 23:49:28 +02:00
spycrab
4415417deb
Qt: Add Refresh button
2018-06-04 23:44:53 +02:00
Léo Lam
14d37e0493
WiiSave: Fix the way paths are handled
...
All paths in SaveFile are relative to the title data directory, not
absolute. Fixes an accidental regression from 5.0-7988 (PR #7059 ).
2018-06-04 23:31:00 +02:00
Léo Lam
8fe7f8d80d
Merge pull request #7072 from lioncash/emitter
...
DSPEmitter: Make m_unresolved_jumps private
2018-06-04 22:26:24 +02:00
Léo Lam
d797bf2ee7
PadMappingDialog: Show player ID in player dropdown
...
Makes it easier to differentiate players that have the same name.
2018-06-04 22:24:35 +02:00
JosJuice
5e0da225ee
Merge pull request #7068 from lioncash/const
...
DSPAccelerator: const qualify pointer parameter for Read()
2018-06-04 22:05:26 +02:00
Lioncash
bbd2fd080e
DSPEmitter: Make m_unresolved_jumps private
...
By making the jitted function a private static function of DSPEmitter,
we can allow access to data members within the context of the function
without making them public overall.
This finally makes all data members for the x64 DSP emitter private.
2018-06-04 15:46:08 -04:00
spycrab
b3c3b58aec
Qt/PropertiesDialog: Fix tabs being cut off due to small window size
2018-06-04 21:11:55 +02:00
Léo Lam
5f29e891d3
Merge pull request #7063 from lioncash/fifr
...
Interpreter: Unset FPSCR.FI and FPSCR.FR for QNaN and infinity input operands
2018-06-04 20:53:58 +02:00
Léo Lam
6ce9c96d91
Merge pull request #7027 from leoetlino/cleanup
...
Use some C++17 features available since GCC 6
2018-06-04 20:50:50 +02:00
Lioncash
1e3e11d0f5
DSPAccelerator: const qualify pointer parameter for Read()
...
The data pointed to is only ever read, so make this explicit.
2018-06-04 14:50:42 -04:00
Léo Lam
2a89ad9c39
Merge pull request #7066 from spycrab/qt_fs_exit
...
Qt: Always return to windowed when confirming exit
2018-06-04 20:48:22 +02:00
spycrab
53ed455d76
Qt: Always return to windowed when confirming exit
...
If we don't do this the prompt *may* appear behind the fullscreened window
and thus cause confusion. This happens both with exclusive fullscreen and
borderless fullscreen (e.g. for OpenGL).
2018-06-04 20:32:36 +02:00
Léo Lam
9b43180731
Merge pull request #7040 from JMC47/enableadouble2single
...
[JIT] Enable Accurate Double to Single Conversion
2018-06-04 20:29:15 +02:00
spycrab
afc2c51e34
Merge pull request #7065 from spycrab/qt_pause_exit
...
Qt: Fix emulation still not being paused when confirming exit
2018-06-04 19:16:16 +02:00
spycrab
b13cf2e16e
Qt: Fix emulation still not being paused when confirming exit
2018-06-04 18:13:05 +02:00
Michael M
932ca644aa
Add hotplug support to SDL2 controller backend
2018-06-04 17:50:08 +02:00
Michael M
7062967b5b
SDLJoystick: store name on creation
...
Otherwise, Dolphin will crash when the joystick is removed.
2018-06-04 17:49:21 +02:00
Michael M
0eb47e1071
CMake: make SDL a private dep of InputCommon
2018-06-04 17:49:21 +02:00
JMC47
2795376b61
Enable Accurate Double to Single Conversion
2018-06-04 11:49:12 -04:00
Léo Lam
8e0ea92ec3
Merge pull request #7058 from JosJuice/move-titledatabase-usage
...
Don't store custom names from TitleDatabase in GameFileCache
2018-06-04 14:59:05 +02:00
Léo Lam
8074192a85
Merge pull request #7057 from leoetlino/string
...
Config/StringUtil/IniFile: Get rid of some duplicated code
2018-06-04 12:44:57 +02:00
JosJuice
85e94cc510
Don't store custom names from TitleDatabase in GameFileCache
...
This saves us from having to update the GameFileCache when the
TitleDatabase changes (for instance when the user changes language).
2018-06-04 07:45:22 +02:00
Lioncash
9068109b3e
Interpreter: Unset FPSCR.FI and FPSCR.FR for QNaN and infinity input operands
...
This hardware behavior makes sense, as the FI bit is used to signify an
inexact result. An inexact result is a form of value that results during
the rounding phase of denormalization. If any bits of the significand
are lost during said rounding, then the result is considered to be
inexact.
However NaN and infinity are not classed as subnormals and therefore
don't undergo the denormalization step, making loss of precision not
possible (in NaN's case, numerically rounding something that is
literally Not a Number doesn't even make sense).
FR is set to indicate whether or not the last arithmetic or rounding and
conversion instruction that rounded the intermediate result incremented
the fractional portion of the result. Given neither input types would be
affected by this, this should also be unset.
This corrects more of the exceptional case handling for these values to
match hardware.
2018-06-03 18:15:47 -04:00
Léo Lam
0ecec33567
WiiRoot: Use a namespace alias for FS to reduce noise
2018-06-03 21:37:28 +02:00
Sleepy Flower Girl
f25d833dbd
Fixed issue Discord RPC library not clearing presence during shutdown
2018-06-03 15:37:27 -04:00
Sleepy Flower Girl
e1a9cf3b44
Add option to disable Discord Presence in WX UI
2018-06-03 15:29:28 -04:00
Sleepy Flower Girl
ae2337aff6
Add option to disable Discord Presence in Qt UI
2018-06-03 15:29:25 -04:00
Sleepy Flower Girl
d9351a5b45
Added INI setting for Discord Rich Presence
2018-06-03 15:29:21 -04:00
Sleepy Flower Girl
678f8da95b
Moved Discord RPC library's source code to external
2018-06-03 15:29:01 -04:00
Sleepy Flower Girl
d5303ddf0b
Add Discord Rich Presence support
2018-06-03 15:27:20 -04:00
Léo Lam
c1428b6da0
WiiRoot: Use new filesystem interface
...
This gets rid of remaining direct accesses to the Wii filesystem
in WiiRoot by using WiiSave to copy saves and the FS interface
2018-06-03 21:21:32 +02:00
Léo Lam
8fce18e4ff
Merge pull request #7059 from leoetlino/fs-wiisave
...
WiiSave: Use new filesystem interface
2018-06-03 21:05:22 +02:00
Léo Lam
6b9aef7042
FS: Add a struct for modes
...
As suggested here: https://dolp.in/pr7059#pullrequestreview-125401778
More descriptive than having a std::tuple of FS::Mode, and lets us
give names to known triplets of modes (like in ES). Functions that
only forward mode arguments are slightly less verbose now too.
2018-06-03 20:45:35 +02:00
Lioncash
06056d4f45
Gekko: Make register constructors explicit where applicable
...
Prevents implicit conversions to types and requires explicitly
specifying them in order to construct instances of them. Given these are
used within emulation code directly, being explicit is always better
than implicit.
2018-06-03 12:37:17 -04:00
Léo Lam
d1a8661709
WiiSave: Save and restore files and banner with correct mode
2018-06-03 17:23:40 +02:00
Léo Lam
fd3472442d
WiiSave: Use new filesystem interface
...
Converts WiiSave to the new filesystem interface.
2018-06-03 17:01:14 +02:00
Léo Lam
c22205cd7e
Merge pull request #7053 from lioncash/frfi
...
Interpreter_FPUtils/FloatingPoint/Paired: Amend cases where FPSCR.FR and FPSCR.FI should be unset
2018-06-03 15:36:12 +02:00
Léo Lam
83324fe77d
StringUtil: Remove ValueToString(std::string)
...
Doesn't make a lot of sense to have a function that gives the string
representation for a string.
2018-06-03 15:11:59 +02:00
Léo Lam
7e79bf97ab
IniFile: Use templates for Get()
...
Gets rid of duplicated code.
2018-06-03 14:53:56 +02:00
Léo Lam
cba32b12e7
IniFile: Use templates for Set()
2018-06-03 14:53:56 +02:00
Lioncash
3e63d71046
Gekko: Add helper function for clearing both FPSCR.FI and FPSCR.FR
2018-06-03 08:27:18 -04:00
Léo Lam
fc0193c4b1
Move Config ValueToString to StringUtil
...
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
spycrab
0cc20e95fe
Qt/HotkeyWindow: Always show debugging tab
2018-06-03 13:40:57 +02:00
spycrab
9c26a1a458
Qt/Hotkeys: Implement missing "Other State Management" tab
2018-06-03 12:44:02 +02:00
Léo Lam
1e51e263e0
Merge pull request #6988 from leoetlino/wii-save-refactor
...
WiiSave: Refactor the import/export code
2018-06-03 12:05:43 +02:00
Léo Lam
86368fcd4d
Merge pull request #6499 from Ebola16/SettingsGroup
...
Android: Initial implementation of Interface submenu
2018-06-03 12:02:56 +02:00
Lioncash
d6bafbfaaf
Interpreter_Paired: Handle signaling NaNs within ps_res and ps_rsqrte
...
Like regular fres and frsqrte, these also signal whether or not either
of the inputs are signaling NaNs.
2018-06-02 20:47:18 -04:00
Lioncash
d05c2ef90d
Interpreter_Paired: Unset FPSCR.FI and FR in ps_res and ps_frsqrte in exceptional cases
...
If invalid operation exceptions or zero divide exceptions occur in
either of these instructions, FI and FR are supposed to be unset.
2018-06-02 20:42:47 -04:00
Lioncash
83774f72ad
Interpreter_FloatingPoint: Unset FPSCR.FI and FPSCR.FR if a division by zero exception occurs in fres and frsqrte
...
Within the programming environments manual, part of the behavior of a
zero divide exception condition is that FI and FR be cleared.
2018-06-02 20:26:20 -04:00
Lioncash
468efb7243
Interpreter_FPUtils: Unset FPSCR.FI and FPSCR.FR if an invalid operation occurs in NI_* functions
...
If an invalid operation occurs, FI and FR bits are defined to be cleared
to zero for arithmetic operations.
2018-06-02 20:18:51 -04:00
Anthony
0f7370a22c
Merge pull request #7051 from lioncash/frsqrte
...
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
2018-06-02 13:49:09 -07:00
spycrab
ba471c3214
Merge pull request #7048 from spycrab/qt_fs_size
...
Qt/FilesystemWidget: Add size column
2018-06-02 21:45:02 +02:00
Léo Lam
396810c450
Merge pull request #7050 from lioncash/ptr
...
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
2018-06-02 21:35:43 +02:00
Lioncash
21add26b71
Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR in invalid operation cases
...
As explained within 179d73ac0d
, the table
within the Programming Environments Manual for PowerPC lists the FI and
FR bits as cleared for invalid operation cases. So, we amend the
relevant cases here in order to be accurate to hardware.
2018-06-02 15:30:56 -04:00
Lioncash
b71a9e658f
Interpreter_FloatingPoint: Don't store to destination in frsqrte if VE or ZE is set and a relevant exception occurs
...
As explained within commit a08ad82ace
, if
an invalid exception occurs and VE is set, then the destination register
should remain unchanged. Ditto for when ZE is set and a zero divide
exception occurs.
2018-06-02 15:27:14 -04:00
Lioncash
f6c4c05d93
WiimoteDevice: Make CBigEndianBuffer's constructor explicit
...
Prevents implicit construction of buffers.
2018-06-02 15:10:51 -04:00
Lioncash
4601136b08
WiimoteDevice: Get rid of pointer casting in CBigEndianBuffer
...
Gets rid of more places where we can violate alignment requirements and
aliasing rules.
2018-06-02 15:02:03 -04:00
Lioncash
13e828fd4d
WiimoteDevice: Move CBigEndianBuffer to the cpp file
...
This is only used internally, so we don't need to expose it in the
header. This also allows getting rid of inclusion of the byte swapping
utilities in the header as well.
2018-06-02 14:55:05 -04:00
Anthony
8d1b2f9cae
Merge pull request #7045 from lioncash/fres
...
Interpreter_FloatingPoint: Don't store to destination in fres if VE or ZE is set and a relevant exception occurs
2018-06-02 11:42:34 -07:00
Lioncash
b1c7ce75e4
EXI_DeviceIPL: Replace superfluous virtual with override on destructor
2018-06-02 14:18:49 -04:00
Lioncash
0d89650950
EXI_DeviceIPL: Use std::array where applicable
2018-06-02 14:18:02 -04:00
Lioncash
bf4775f95f
EXI_DeviceIPL: Normalize variable names
...
Makes naming consistent with our coding style.
2018-06-02 14:14:08 -04:00
Lioncash
b6203c66c2
EXI_DeviceIPL: In-class initialize data members where applicable
2018-06-02 14:08:01 -04:00
spycrab
f6865117e4
Qt/FilesystemWidget: Add size column
2018-06-02 18:59:56 +02:00
Léo Lam
62fdef0e6c
Merge pull request #7046 from lioncash/priv
...
EXI_DeviceMic: Make data members of CEXIMic private
2018-06-02 11:53:07 +02:00
Stenzek
bc96557ec4
Externals: Update glslang to upstream commit 32d3ec3
2018-06-02 07:34:31 +00:00
spycrab
0e8db9fd1d
Analytics: Report update track
2018-06-02 05:59:03 +02:00
Lioncash
3906859984
EXI_DeviceMic: Remove unimplemented StreamLog function prototype
2018-06-01 20:43:28 -04:00
Lioncash
9e068ad2c4
EXI_DeviceMic: Make data members of CEXIMic private
...
Given they were only made public so that the callback could access class
state, we can simply make the callback a private static function of
CEXIMic, which allows access to members from the callback function
without making all of said members public.
2018-06-01 20:43:28 -04:00
Lioncash
179d73ac0d
Interpreter_FloatingPoint: Clear FPSCR.FI and FPSCR.FR if an SNaN is an input to fres
...
In the PEM manual, within Table 3-12, which lists what should occur for
invalid operation exceptions, the FPSCR.FI and FPSCR.FR bits are listed
as "Cleared" for when FPSCR.VE is unset and set. So we clear these bits
as well to match hardware behavior.
2018-06-01 20:21:13 -04:00
Lioncash
a08ad82ace
Interpreter_FloatingPoint: Don't store to destination in fres if VE or ZE is set and a relevant exception occurs
...
In the PowerPC Microprocessor Family: The Programming Environments
Manual for 32 and 64-bit Microprocessors, in section 3.3.6.1, Table
3-12 lists what should occur if an invalid operation exception occurs in
situations where VE is set and when VE is not set. In the case where VE
is set, it lists the frD as "Unchanged". It also lists the FPRF flags as
"Unchanged".
Further down in Table 3-13, the listings for what should occur when zero
divide exceptions occur is listed, both for when ZE is set, and when it
isn't. When ZE is set, it lists frD as "Unchanged". It also lists the
FPRF flags as "Unchanged" as well.
This also alters the code so that we don't even calculate the result if
we don't need to compute it, making it a little bit less wasteful.
2018-06-01 20:21:09 -04:00
Léo Lam
69abaf3ec4
WiiSave: Merge Header and DataBinHeader to reduce noise
...
DataBinHeader is not used anywhere in the code other than via Header,
so let's merge them to reduce noise when accessing header fields
(currently we have to do header.hdr which looks silly).
2018-06-01 23:45:58 +02:00
Léo Lam
210377816d
WiiSave: Get rid of some magic numbers
...
It would make sense for 0x80 and 0xf0c0 to be respectively
sizeof(BkHeader) and sizeof(Header) as Nintendo is signing anything
that comes after the header, including the BkHeader.
2018-06-01 23:44:24 +02:00
Léo Lam
8eafd1928e
WiiSave: Move user interaction to UI frontends
2018-06-01 20:46:35 +02:00
Léo Lam
4df266f943
WiiSave: Use the correct length for paths
...
Paths can never exceed 0x40 characters as this is the maximum length
that is allowed by IOS (and probably the common FS library too).
2018-06-01 20:46:35 +02:00
Léo Lam
8af16fdd28
WiiSave: Use an enum class for save file type
2018-06-01 18:58:34 +02:00
Anthony
a9684b5c67
Merge pull request #7041 from spycrab/qt_dbg_bselect
...
Qt/MemoryWidget: Allow operating on columns
2018-06-01 09:05:52 -07:00
Anthony
d935f78692
Merge pull request #7043 from JosJuice/gamefile-includes
...
GameFile: Include necessary DiscIO headers
2018-06-01 09:05:10 -07:00
spycrab
3b59ebb226
Qt: Exit exclusive fullscreen on confirmation prompt
2018-06-01 17:40:07 +02:00
JosJuice
533a49460a
GameFile: Include necessary DiscIO headers
2018-06-01 14:19:16 +02:00
Léo Lam
94953670f2
WiiSave: Move overwrite prompt to Import
...
WriteHeader should just write the header and not do anything else.
2018-06-01 00:14:48 +02:00
spycrab
5f5b05f3dc
Qt/MemoryWidget: Allow operating on columns
2018-05-31 22:07:05 +02:00
Léo Lam
a46a8dd378
WiiSave: Refactor import/export code
...
The current WiiSave code is extremely messy, as it exposes all kinds of
implementation details in the header (including internal struct
definitions and magic numbers that don't have to be).
The read/write code is intermingled, so it's hard to tell which members
are used, or when/where they are set at all.
It also implicitly relies on some functions being called in a specific
order since it doesn't seek manually every time, which makes the code
even more fragile.
The logic is also hardcoded to only support bin->nand or nand->bin,
even though it would be useful to support nand->nand (for the
Movie save copying code, for example).
This commit attempts to solve these problems by getting rid of the
WiiSave class:
* Read/write code is moved to new Storage classes (NandStorage and
DataBinStorage) with small, clear functions that do one and only
one thing.
* The import/export logic was refactored into a generic Copy function
that takes two storages as parameters.
* The existing import and export functions are now just small wrappers
that call Copy with the appropriate storages.
2018-05-31 20:52:01 +02:00
Léo Lam
60dd2553c6
Merge pull request #7033 from lioncash/jitarm
...
JitArm64_BackPatch: Correct usage of an invalidated iterator after a std::map erase() call in HandleFastmemFault()
2018-05-31 18:05:47 +02:00
Léo Lam
fff1db9730
Common: Add Random utilities
...
This makes it easier to generate random numbers or fill a buffer with
random data in a cryptographically secure way.
This also replaces existing usages of RNG functions in the codebase:
* <random> is pretty hard to use correctly, and std::random_device does
not give enough guarantees about its results (it's
implementation-defined, non cryptographically secure and could be
deterministic on some platforms).
Doing things correctly is error prone and verbose.
* rand() is terrible and should not be used especially in crypto code.
2018-05-31 17:54:43 +02:00
Anthony
a9a03d1565
Merge pull request #7034 from lioncash/override
...
JitArm64/Jit_Util: Add missing override specifiers
2018-05-31 08:48:35 -07:00
Mat M
dd77ace56a
Merge pull request #7005 from lioncash/div
...
Interpreter_FPUtils: Correct setting the FPSCR's zero divide exception flag in the 0/0 case in NI_div()
2018-05-31 11:22:45 -04:00
Mat M
f1b7259446
Merge pull request #6978 from lioncash/fcti
...
Interpreter_FloatingPoint: Handle NaN flag setting within fctiw and fctiwz
2018-05-31 11:22:04 -04:00
spycrab
8e5a96fcfc
Qt/GeneralWidget: Show tooltip when adapters are not supported by the backend
2018-05-31 03:52:18 +02:00
spycrab
d453dc2342
Qt/MemoryWidget: Fix sidebar items being stretched out
2018-05-30 23:23:02 +02:00
spycrab
390fb37a29
Merge pull request #7032 from spycrab/qt_macos_mpbtn_round
...
Qt/macOS: Fix mapping buttons not being round
2018-05-30 22:45:15 +02:00
spycrab
d1db841ada
Merge pull request #7035 from spycrab/qt_macos_info_width
...
Qt/macOS: Fix InfoWidget fields being too narrow
2018-05-30 19:13:08 +02:00
spycrab
5f9d4d625f
Qt/macOS: Fix InfoWidget fields being too narrow
2018-05-30 17:26:37 +02:00
Lioncash
bffcaf3218
JitArm64_BackPatch: Correct usage of an invalidated iterator after a std::map erase() call in HandleFastmemFault()
...
Given the iterator gets invalidated within the erase() call, just keep a
temporary around to store the pointer address.
2018-05-30 11:08:11 -04:00
Lioncash
ba6c371746
JitArm64/Jit_Util: Add missing override specifiers
2018-05-30 10:50:11 -04:00
Markus Wick
6c7e9f73da
Merge pull request #7030 from lioncash/emitter
...
x64Emitter: Amend parameter ordering for WriteModRM()'s prototype
2018-05-30 16:39:26 +02:00
spycrab
102d469f9e
Qt/macOS: Fix mapping buttons not being round
2018-05-30 16:39:07 +02:00
Markus Wick
f02b2f0cad
Merge pull request #7031 from lioncash/naming
...
AudioInterface: Minor changes
2018-05-30 16:38:18 +02:00
Lioncash
038bb9b3e1
AudioInterface: Use member initializers where applicable for unions
...
Migrates more code to the initialization capabilities available since C++11
2018-05-30 09:49:28 -04:00
Lioncash
b59cda1435
AudioInterface: Amend variable naming
...
Normalizes variable names to conform to our coding conventions.
Previously we were signifying some variables as externally linked
globals, which wasn't the case.
2018-05-30 09:47:08 -04:00
Lioncash
81e11b2406
x64Emitter: Amend parameter ordering for WriteModRM()'s prototype
...
The definition of the function uses the ordering {mod, reg, rm}, which
is correct. Match the prototype to this, so that the parameter list
isn't misleading.
2018-05-30 09:30:24 -04:00
Léo Lam
bdfd331355
Merge pull request #7028 from lioncash/obsolete
...
GeneralPane: Replace usages of obsolete QString member function sprintf
2018-05-30 15:02:41 +02:00
Lioncash
f845818cfe
VolumeWii: Shorten padding checking code within CheckIntegrity()
...
We can just use std::any_of here to collapse the checking code down to a
single assignment as opposed to a loop. This also slightly improves on
the existing code, as this won't continue to iterate through the cluster
metadata if an entry that's non-zero is encountered.
2018-05-30 08:42:32 -04:00
Lioncash
bd585f7389
GeneralPane: Replace usages of obsolete QString member function sprintf
...
sprintf is listed as obsolete within the documentation for Qt 5. Instead,
it recommends using the asprintf member function, arg(), or QTextStream.
2018-05-30 06:50:59 -04:00
Léo Lam
4fb2d580d8
Merge pull request #7026 from lioncash/name
...
JitAsmCommon: Normalize member variable names within CommonAsmRoutinesBase
2018-05-30 12:02:08 +02:00
Léo Lam
fb124c2eb0
Use nested namespaces for IOS HLE
...
Pretty much all of the source files contain the following:
namespace IOS
{
namespace HLE
{
namespace <name>
{
// actual code here
} // namespace <name>
} // namespace HLE
} // namespace IOS
which is really verbose boilerplate, because most of the files inside
of Core/IOS are for IOS HLE.
This commit replaces that with a more concise `namespace IOS::HLE`
or `namespace IOS::HLE::(name)`.
2018-05-30 11:40:05 +02:00
Léo Lam
5b90aba624
ChunkFile: Replace macro with a variable template
...
Note that std::is_trivially_copyable_v cannot be used yet (C++17 only).
2018-05-30 11:39:30 +02:00
Lioncash
986d644a01
JitAsmCommon: Make CommonAsmRoutinesBase a struct
...
This is just used as a means of carting around routines. It's not meant
to directly have functionality embedded within it--this is the job of
the inheriting data structure--so we can just make this a basic struct.
Particularly given all the data members were public to begin with.
2018-05-30 05:22:41 -04:00
Lioncash
f5f4c10fd1
JitAsmCommon: Amend member variable names for CommonAsmRoutinesBase
2018-05-30 05:22:36 -04:00
Léo Lam
8a00a9e149
Remove old GCC version checks
2018-05-30 10:59:15 +02:00
Lioncash
efabfc0b54
VolumeWii: Use ReadSwapped for retrieving the partition data size in CheckIntegrity()
...
Also make this a little more robust by handling the failure case for
the read as well.
2018-05-30 04:34:57 -04:00
Lioncash
7bef470136
VolumeGC/VolumeWii: Dehardcode sizes where applicable
...
We can just use the relevant array to derive these sizes instead of hardcoding
them directly.
2018-05-30 04:14:42 -04:00
Markus Wick
4bebd52850
Merge pull request #7017 from lioncash/arm
...
Arm64Emitter: Use Common::BitCast where applicable
2018-05-30 09:50:59 +02:00
Lioncash
66122f037e
Volume/VolumeGC/VolumeWii: Amend variable naming
...
Drops prefixed underscores and normalizes names to follow our coding
style.
2018-05-30 03:33:12 -04:00
JosJuice
ae4aa0b25c
Merge pull request #7010 from leoetlino/can-of-worms
...
Don't switch to blank NAND in the middle of emulation
2018-05-30 08:00:15 +02:00
JosJuice
243f353688
Merge pull request #7016 from lioncash/mem
...
MemoryPatches: Minor changes
2018-05-30 07:45:34 +02:00
JosJuice
6cb81ca851
Merge pull request #7015 from lioncash/pcap
...
PcapFile: Namespace code under the Common namespace
2018-05-30 07:45:09 +02:00
JosJuice
2f561dafd9
Merge pull request #7014 from lioncash/const
...
DSPEmulator: Make the IsLLE() member function const-qualified
2018-05-30 07:40:44 +02:00
Mat M
1825e231a3
Merge pull request #7013 from degasus/double2single
...
Jit64: Fix MORE_ACCURATE_DOUBLETOSINGLE.
2018-05-29 21:01:47 -04:00
spycrab
c07b89792d
Qt/GeneralWidget: Add icon and title to the backend switch confirm dialog
2018-05-30 01:19:31 +02:00
spycrab
a729c375f3
Merge pull request #7011 from spycrab/qt_jit_instant
...
Qt/MenuBar: Fix JIT Menu options not being applied instantly
2018-05-30 00:53:20 +02:00
Lioncash
6fd7a79b93
Arm64Emitter: Use Common::BitCast where applicable
...
Gets rid of the need to set up memcpy boilerplate to reinterpret between
floating-point and integers.
While we're at it, also do a minor bit of tidying.
2018-05-29 18:19:01 -04:00
Lioncash
397b27e665
MemoryPatches: In-class initialize is_enabled state for MemoryPatch instances
...
Given this is what occurs in both constructors (as one just passes
through to another), we can just initialize the member directly.
While we're at it, amend the struct to follow the general ordering
convention of:
<new types>
<functions>
<variables>
2018-05-29 18:04:06 -04:00
Lioncash
4c33bb8dda
MemoryPatches: std::move std::vector in the constructor
...
We can avoid copying the vector contents in this instance.
2018-05-29 18:01:16 -04:00
Lioncash
97c5a840db
PcapFile: Namespace code under the Common namespace
...
Brings more common code under the Common namespace.
2018-05-29 17:56:15 -04:00
Lioncash
a7de492696
DSPEmulator: Make the IsLLE() member function const-qualified
...
This function only queries state and doesn't modify it, so this can be
made a const member function
2018-05-29 17:45:07 -04:00
degasus
bde65d8b42
Jit64: Fix MORE_ACCURATE_DOUBLETOSINGLE.
...
This is broken since 3d12849967
.
2018-05-29 23:25:30 +02:00
spycrab
a1f15050a1
Qt/Mapping: Include "Always connected" option
2018-05-29 19:34:35 +02:00
spycrab
d98affbf47
Qt/MenuBar: Fix JIT Menu options not being applied instantly
2018-05-29 16:40:05 +02:00
Léo Lam
a4ec3ddef1
Don't switch to blank NAND in the middle of emulation
...
Switching to blank NAND when emulation is running is an extremely bad
idea. It's akin to opening up a Wii and replacing the NAND chip while
you're playing a game on it.
Except we're not even replacing it with a NAND that has the same
contents. The blank NAND has nothing in it except the save file for
the current game, which is likely to result in the emulated software
getting inconsistent results and possibly even crashing depending on
how it caches title information.
An example of games that check the saves for other games is
Mario Kart Wii -- it checks the filesystem for Super Mario Galaxy saves
to decide whether to unlock characters. With this 'switch NAND
while emulation is active' misfeature, this will likely break.
And that's the main problem: it encourages sloppy emulation and no one
really knows how many things it can break.
Just don't let the user do horrible things like that during emulation.
If they want to use a blank NAND, they can do so by starting input
recording before launching a game. It's likely they will want to do
this if they plan to share their DTM anyway.
2018-05-29 15:41:11 +02:00
Léo Lam
60c38d7781
Merge pull request #7007 from spycrab/qt_gecko_sort
...
Qt/GeckoCodeWidget: Autosort list and fix accessing the wrong element
2018-05-29 14:48:32 +02:00
Léo Lam
00d91db2ec
Merge pull request #7008 from spycrab/ddos_sux
...
Fix "Download Codes" hitting DDOS protection
2018-05-29 14:42:24 +02:00
Léo Lam
86bbf540cf
Merge pull request #7009 from lioncash/dsp
...
DSPEmulator: Default destructor in the cpp file
2018-05-29 14:16:50 +02:00
Lioncash
c33228e466
DSPEmulator: Default destructor in the cpp file
...
This gets rid of a -Wweak-vtables warning
2018-05-29 07:54:39 -04:00
spycrab
c086f894b1
Core/GeckoCodeConfig: Circumvent DDOS protection
2018-05-29 03:56:28 +02:00
spycrab
44784cf363
Common/HttpRequest: Add option to set cookies
2018-05-29 03:56:28 +02:00
spycrab
a00250bfe6
Qt/GeckoCodeWidget: Autosort list and fix accessing the wrong element
2018-05-29 03:36:35 +02:00
spycrab
e6273b177f
Qt/MappingWindow: Fix profile saving not working when the index is not null
2018-05-29 01:32:07 +02:00
spycrab
5829ad21b7
Qt/MappingWidget: Fix profiles not loading properly
2018-05-29 01:21:42 +02:00
spycrab
75e87a8a0d
Merge pull request #6945 from spycrab/qt_sighandler
...
Qt/Unix: Implement signal handler
2018-05-28 22:05:52 +02:00
Lioncash
7bfeffe32f
Interpreter_FPUtils: Unset FPSCR.FI and FPSCR.FR when FPSCR.ZX is set in NI_div()
...
Another bit of behavior that we weren't performing correctly is the
unsetting of FPSCR.FI and FPSCR.FR when FPSCR.ZX is supposed to be set.
This is supported in PEM's section 3.3.6.1 where the following is
stated:
"
When a zero divide condition occurs, the following actions are taken:
- Zero divide exception condition bit is set FPSCR[ZX] = 1.
- FPSCR[FR, FI] are cleared.
"
And so, this fixes that behavior.
2018-05-28 16:03:59 -04:00
Lioncash
3deadd1fff
Interpreter_FPUtils: Correct setting the FPSCR's zero divide exception flag in the 0/0 case
...
FPSCR[ZX] is the bit defined to represent the zero divide exception
condition bit, and is defined as (according to PowerPC Microprocessor
Family: The Programming Environments Manual for 32 and 64-bit
Microprocessors, which will be referred to as "PEM" for the rest of this
commit message) at section 3.3.6.1:
"
A zero divide exception condition occurs when a divide instructions is
executed with a zero divisor value and a finite, nonzero dividend value
or when a floating reciprocal estimate single (fres) or a floating
reciprocal square root estimate (frsqrte) instruction is executed with a
zero operand value.
"
Note that it states the divisor must be zero and the dividend must be
nonzero in order for ZX to be set. This means that the interpreter was
performing the wrong behavior for the case where 0/0 (with any sign on
the zeros) is performed. We would incorrectly set the ZX bit when only
the VXZDZ bit should be set.
It's also worth pointing out that N/0 (where N is any finite nonzero
value) and 0/0 are not within the same exception class. N/0 is a zero
divide exception case, while 0/0 is considered an invalid operation
exception case, which is also indicated in the PEM section 3.3.6.1 as
well where it lists the criteria for invalid operation exceptions.
Therefore we should only be setting the VXZDZ bit in the 0/0 case, not
VXZDZ and ZX. This was also verified via hardware tests to ensure that
this behavior indeed holds.
2018-05-28 16:00:23 -04:00
spycrab
112a174ae1
Qt/Unix: Implement signal handler
2018-05-28 21:47:46 +02:00
JosJuice
b2d8d2a398
Merge pull request #7004 from lioncash/bp
...
BPMemory: Silence a -Wmissing-braces warning
2018-05-28 21:16:28 +02:00
Léo Lam
f05eb10026
Merge pull request #7003 from lioncash/host
...
Common: Move host communication enum to Host.h
2018-05-28 20:57:34 +02:00
Lioncash
72feeb4d18
BPMemory: Silence a -Wmissing-braces warning
...
Fairly trivial to resolve, we just initialize the std::array with two
sets of braces (one set to create the array, the other to start and end the
aggregate data that we'll end up returning)
2018-05-28 14:52:59 -04:00
Lioncash
4288bfe0f9
Common: Move host communication enum to Host.h
...
Given this is actually a part of the Host interface, this should be
placed with it.
While we're at it, turn it into an enum class so that we don't dump its
contained values into the surrounding scope. We can also make
Host_Message take the enum type itself directly instead of taking a
general int value.
After this, it'll be trivial to divide out the rest of Common.h and
remove the header from the repository entirely
2018-05-28 14:34:59 -04:00
Lioncash
78a934bb12
Interpreter_FloatingPoint: Handle cases when FPSCR.VE is set and exceptions occur in fctiw and fctiwz
...
If invalid operation exceptions are enabled and an invalid operation
occurs, then the destination value remains untouched. This fixes issues
that may arise when using these two instructions where the destination
gets steamrolled by an infinity or NaN value.
2018-05-28 14:05:12 -04:00
Lioncash
8c4aa133ca
Interpreter_FloatingPoint: Handle NaN flag setting within fctiw and fctiwz
...
If a NaN of any type is passed as the operand to either of these
instructions, we shouldn't go down the regular code path, as we end up
potentially setting the wrong flags. For example, we wouldn't set the
FPSCR.VXCVI bit properly. We'd also set FPSCR.FI, when in actuality it
should be unset.
If an SNaN is passed as an operand, we also need to set the FPSCR.VXSNAN
bit as well.
The flag setting behavior for these can be found in Appendix C.4.2 in
PowerPC Microprocessor Family: The Programming Environments Manual for
32 and 64-bit Microprocessors.
2018-05-28 14:05:08 -04:00
Lioncash
0125d9b099
Interpreter_FloatingPoint: Factor out common code from fctiw and fctiwz
...
fctiwz functions in the same manner as fctiw, with the difference being
that fctiwz always assumes the rounding mode being towards zero. Because
of this, we can implement fctiwz in terms of fctiw's code, but modify it
to accept a rounding mode, allowing us to preserve proper behavior for
both instructions.
We also move Helper_UpdateCR1 to a temporary home in
Interpreter_FPUtils.h for the time being. It would be more desirable to
move it to a new common header for all the helpers, so that even JITs
can use them if they so wish, however, this and the following changes
are intended to only touch the interpreter to keep changes minimal for
fixing instruction behavior.
JitCommon already duplicates the Helper_Mask function within
JitBase.cpp/.h, and the ARM JIT includes the Interpreter header in order
to call Helper_Carry. So a follow up is best suited here, as this
touches two other CPU backends.
2018-05-28 13:28:44 -04:00
Léo Lam
a9f022a067
Merge pull request #6993 from lioncash/nan
...
Interpreter_FPUtils: Set VXSNAN if any input operands are a signaling NaN in remaining NI_* functions
2018-05-28 18:49:13 +02:00
spycrab
42bd1a91a6
Qt/AdvancedPane: Show seconds in custom RTC
2018-05-28 13:37:46 +02:00
Léo Lam
bda668925a
Merge pull request #6989 from lcsondes/fix-vector-assert
...
UICommon: fix m_cached_files pruning.
2018-05-28 12:41:22 +02:00
Léo Lam
0cba9bb218
Merge pull request #7000 from lioncash/wii-extension
...
WiimoteEmu: Get rid of pointer casting in extension GetState() functions
2018-05-28 12:39:01 +02:00
Markus Wick
cddc2d52c2
Merge pull request #6965 from stenzek/d3d-feature-level-10
...
D3D: Don't emit uint outputs when logic op is unsupported
2018-05-28 09:52:07 +02:00
Markus Wick
9e102e1584
Merge pull request #6943 from lioncash/overflow
...
Interpreter/Jit64/JitArm64: Correct negative overflow handling for divw
2018-05-28 09:49:19 +02:00
Markus Wick
a4d25537a1
Merge pull request #6990 from leoetlino/save
...
Config: Fix path settings not being saved
2018-05-28 09:46:27 +02:00
Markus Wick
40d3163b12
Merge pull request #6998 from lioncash/log
...
Common: Remove unnecessary ~9 year old LOGGING preprocessor define
2018-05-28 09:33:21 +02:00
JosJuice
212d415c4b
Merge pull request #6996 from lioncash/color
...
ColorUtil: Namespace code under the Common namespace
2018-05-28 07:26:29 +02:00
Lioncash
6ad6781bd3
WiimoteEmu: Get rid of pointer casting in extension GetState() functions
...
We can just memcpy the data instead of pointer-casting data, which is
alignment-safe and doesn't run afoul of aliasing rules.
Previously it also made it seem as if data itself pointed to valid
usable data, but it doesn't, it simply functions as an out parameter
where we push data built up from the GetState() functions into it.
2018-05-27 22:33:26 -04:00
spycrab
6268c7b3d5
Qt: Sort includes properly
2018-05-28 04:31:38 +02:00
Lioncash
ee434d4f01
Common: Remove unnecessary ~9 year old LOGGING preprocessor define
...
This was added in 4bdb4aa0d1
back in
2009-02-27. The only usage spot of this macro involves the same checks
that were used to define that preprocessor macro, so we can simply
remove the macro
2018-05-27 21:33:25 -04:00
spycrab
d0e2c353a0
Qt: Fix using GC Adapter requiring restart
2018-05-28 03:15:45 +02:00
Lioncash
a745666a60
ColorUtil: Amend function name casing
...
Makes the function names conform to our coding style.
2018-05-27 21:04:48 -04:00
Lioncash
ac474ff1da
ColorUtil: Namespace code under the Common namespace
...
Given this is within Common, it should be in the Common namespace
itself.
2018-05-27 21:00:54 -04:00
spycrab
18a31e12fd
Merge pull request #6987 from spycrab/qt_info_unknown
...
Qt/InfoWidget: Don't display unavailable information
2018-05-28 02:36:40 +02:00
Lioncash
c056708dc8
CDUtils: Remove unused parameter in IsCDROM()
...
It was only ever passed nullptr, and even then, nothing was actually
done with the parameter.
2018-05-27 18:48:23 -04:00
Lioncash
470b09fe9d
CDUtils: Amend function names
...
Amends the function names to follow our coding style.
2018-05-27 18:48:09 -04:00
Lioncash
1f75fa0aff
CDUtils: Namespace code under the Common namespace
2018-05-27 18:30:58 -04:00
Lioncash
f4ec419929
SymbolDB: Namespace code under the Common namespace
...
Moves more common code into the Common namespace where it belongs.
2018-05-27 18:01:40 -04:00
Lioncash
72e8058fb8
SymbolDB: Default constructor and destructor within the cpp file
...
Given this is a class with non-trivial data-members, it's preferable to
default the constructor and destructor in the cpp file.
2018-05-27 17:25:22 -04:00
Lioncash
a1a81c7bc9
SymbolDB: Convert typedefs into using aliases
2018-05-27 17:23:55 -04:00
Lioncash
e9b9797a86
SymbolDB: Normalize variable names
...
Normalizes variable naming so that it adheres to our coding style
While we're at it do minor cleanup relating to modified lines
2018-05-27 17:23:10 -04:00
lcsondes
7a13bdbdfb
UICommon: fix m_cached_files pruning (partial revert of 68152faf43
)
...
vector::pop_back invalidates all iterators
2018-05-27 22:15:16 +01:00
Lioncash
a4cc854351
Interpreter_FPUtils: Set FPSCR.VXSNAN if any operand to NI_msub is a signaling NaN
...
If any operand is a signaling NaN, we need to signify this by setting
the VXSNAN bit.
Fixes NaN flag setting for fmsub, fmsubs, fnmsub, fnmsubs, ps_msub, and
ps_nmsub instructions.
2018-05-27 16:41:57 -04:00
Lioncash
3ebd713c33
Interpreter_FPUtils: Set FPSCR.VXSNAN if any operand to NI_madd is a signaling NaN
...
If any operand is a signaling NaN, we need to signify this by setting
the VXSNAN bit.
Fixes NaN flag setting for fmadd, fmadds, fnmadd, fnmadds, ps_madd,
ps_nmadd, ps_madds0, and ps_madds1
2018-05-27 16:41:47 -04:00
Lioncash
b18dd442f7
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_sub is a signaling NaN
...
If either operand is a signaling NaN, we need to signify this by setting
the VXSNAN bit.
This fixes NaN flag setting for fsub, fsubs, and ps_sub instructions.
2018-05-27 16:29:42 -04:00
Lioncash
f4c5ceba1c
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_div is a signaling NaN
...
If either operand is a signaling NaN, we need to signify that by setting
the VXSNAN bit.
This fixes NaN flag setting for fdiv, fdivs and ps_div instructions.
2018-05-27 16:29:42 -04:00
Léo Lam
44879f163e
Config: Fix path settings not being saved
...
Forgot to add a few lines while cherry-picking the config changes
for https://dolp.in/pr6950
Fixes https://bugs.dolphin-emu.org/issues/11171
2018-05-27 21:03:01 +02:00
spycrab
4665a927ba
Qt/InfoWidget: Don't display unavailable information
2018-05-27 16:27:29 +02:00
JosJuice
512c6fee51
Merge pull request #6986 from leoetlino/warnings
...
Debug: Add missing override specifiers
2018-05-27 16:16:13 +02:00
spycrab
ed0cefec78
Merge pull request #6976 from JosJuice/qt-addgame
...
GameListModel: Don't do a linear scan for each newly added game
2018-05-27 15:42:17 +02:00
spycrab
48961aa677
Merge pull request #6984 from Techjar/patch-2
...
Qt/GameConfigWidget: Fix Deterministic dual core not saving if changed to "Not Set"
2018-05-27 15:35:03 +02:00
Léo Lam
145258ad27
Debug: Add missing override specifiers
2018-05-27 14:39:01 +02:00
spycrab
febc1f8139
Merge pull request #6980 from spycrab/qt_fix_gamelist
...
Qt/GameTracker: Register missing metatype
2018-05-27 14:28:21 +02:00
spycrab
0cf59adeb5
Qt/GameTracker: Register missing metatype
2018-05-27 14:21:07 +02:00
Léo Lam
bea1e38c67
Move ECCSignature to Common::ec and give it a less confusing name
2018-05-27 14:01:38 +02:00
Léo Lam
44827ba369
Use CertECC struct instead of hardcoded offsets
2018-05-27 14:01:38 +02:00
Markus Wick
5de2f960a1
Merge pull request #6985 from degasus/arm_vertex_loader_fix
...
VertexLoaderArm: Fix 565 color format.
2018-05-27 12:11:40 +02:00
degasus
3307946e2a
VertexLoaderArm: Fix 565 color format.
...
Copy & paste error for enforcing A=255.
It was copied from the 888X format, which stores the output data in another register.
2018-05-27 11:27:15 +02:00
JosJuice
a81a0d8c3e
GameListModel: Don't do a linear scan for each newly added game
2018-05-27 11:27:06 +02:00
Léo Lam
e9ce75ccc4
Merge pull request #6977 from lioncash/add
...
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_add() is a signaling NaN
2018-05-27 10:21:20 +02:00
Léo Lam
8f003f995b
Merge pull request #6981 from lioncash/const
...
CodeWidget/CodeViewWidget: Make symbol pointers const where applicable
2018-05-27 10:20:38 +02:00
Techjar
694f0842ce
Qt/GameConfigWidget: Fix Deterministic dual core not saving if changed to "Not Set"
2018-05-27 04:20:04 -04:00
JosJuice
c0553afff1
DolphinQt2: Fix a race condition in GameTracker
...
We need to make sure that LoadCache finishes before Start begins
accessing m_cache. The old solution with mutexes didn't do this.
2018-05-27 07:38:33 +02:00
Lioncash
880f7871d9
CodeWidget/CodeViewWidget: Make symbol pointers const where applicable
...
These aren't used to modify the data they point to, so make that
explicit. Also while we're at it, add const to any nearby variables that
can be made so.
2018-05-26 23:43:28 -04:00
spycrab
7b07424885
Merge pull request #6975 from JosJuice/qt-fast-gamelist
...
DolphinQt2: Show cached games before checking whether they exist on disk
2018-05-27 04:31:32 +02:00
spycrab
0c2538f17f
Merge pull request #6960 from spycrab/update_manually
...
Qt: Add option to invoke the updater manually
2018-05-27 04:29:02 +02:00
spycrab
ec322271ee
Qt: Add option to invoke the updater manually
2018-05-27 04:12:21 +02:00
spycrab
6b71217268
Qt/SettingsWindow: Fix SelectGeneralPane opening the Audio pane
2018-05-27 03:36:25 +02:00
Lioncash
054c1b32eb
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_add() is a signaling NaN
...
This corrects VXSNAN flag setting for fadd, fadds, ps_add, ps_sum0, and ps_sum1
2018-05-26 16:05:33 -04:00
JosJuice
fd651cf5e6
GameFileCache: Fix a comment mistake
2018-05-26 20:21:22 +02:00
JosJuice
f2103c1b51
DolphinQt2: Avoid an unnecessary string conversion
2018-05-26 20:21:21 +02:00
JosJuice
68152faf43
DolphinQt2: Show cached games before checking whether they exist on disk
...
DolphinWX already has this improvement in startup time, and it matters
a lot when you have a large game list.
2018-05-26 20:21:17 +02:00
Léo Lam
f568e41fac
Merge pull request #6972 from JosJuice/default-jit
...
When CPU core is invalid, fall back to JIT instead of interpreter
2018-05-26 20:18:31 +02:00
spycrab
71c6eb2a5d
Merge pull request #6372 from spycrab/wasapi
...
AudioCommon: Implement WASAPI (Exclusive Mode)
2018-05-26 20:04:55 +02:00
spycrab
d3eff93140
Qt/EnhancementsWidget: Fix missing / duplicate anaglyph options
2018-05-26 17:52:28 +02:00
spycrab
30aa291e83
Qt/EnhacementsWidget: Default anaglyph to "dubois"
2018-05-26 17:38:42 +02:00
spycrab
538aa3197f
Qt/EnhancementsWidget: Fix "feature not supported" not disappearing when switching backends
2018-05-26 17:38:14 +02:00
spycrab
f7507a84f0
Merge pull request #6973 from JosJuice/qt-cpu-core-generic
...
DolphinQt2: Provide proper CPU core options for non-x64 systems
2018-05-26 16:37:20 +02:00
JosJuice
17be4c69b9
DolphinQt2: Provide proper CPU core options for non-x64 systems
2018-05-26 15:16:08 +02:00
spycrab
59cd188391
Merge pull request #6970 from spycrab/qt_win32_weight
...
Qt/Win32: Remove font weight calculation
2018-05-26 15:09:22 +02:00
JosJuice
792446e1da
When CPU core is invalid, fall back to JIT instead of interpreter
...
This might happen if someone moves settings between e.g. a PC and
an Android device, or if someone was using JITIL and updates Dolphin.
I also made the panic alert a bit more explanatory.
2018-05-26 14:19:53 +02:00
JosJuice
76c9eed848
InfoWidget: Use configured language by default
...
Fixes the second half of https://bugs.dolphin-emu.org/issues/11085
2018-05-26 14:06:51 +02:00
spycrab
69e0d892aa
Qt/Win32: Remove font weight calculation
2018-05-26 13:24:50 +02:00
spycrab
a196dfe50d
AudioCommon: Implement WASAPI
2018-05-26 13:08:10 +02:00
Léo Lam
92ec97f899
Merge pull request #6947 from JosJuice/unencrypted-wii-disc
...
Make the support for unencrypted Wii disc images less broken
2018-05-26 11:56:51 +02:00
Léo Lam
3f81c30e8a
Merge pull request #6949 from leoetlino/stop
...
Remove useless BootManager::Stop
2018-05-26 11:45:14 +02:00
Léo Lam
98e288cb4b
Merge pull request #6966 from lioncash/fmul
...
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_mul() is a signaling NaN
2018-05-26 11:43:11 +02:00
Léo Lam
f802dc14c1
Remove useless BootManager::Stop
...
It's not used anywhere other than in DolphinQt2, where the usage is
incorrect and stupid since we shouldn't be trying to stop the core
and 'restore config' that was changed by the core at app exit time,
but immediately when the core is being shut down.
2018-05-26 11:33:13 +02:00
Léo Lam
f64cbc86b1
Merge pull request #6968 from lioncash/mmu
...
MMU: Normalize parameter naming
2018-05-26 11:18:32 +02:00
Léo Lam
41fe7970da
Merge pull request #6969 from lioncash/namespace
...
Common: Namespace GekkoDisassembler.cpp/.h
2018-05-26 11:18:10 +02:00
spycrab
f2e6545adf
Merge pull request #6967 from spycrab/qt_anagylph_fix
...
Qt/Graphics: Fix broken stereoscopy settings
2018-05-26 00:53:25 +02:00
Lioncash
b60ad2425d
Common: Namespace GekkoDisassembler.cpp/.h
...
Moves more common code into the Common namespace where it belongs
2018-05-25 16:55:09 -04:00
Lioncash
5d42f31539
MMU: Normalize parameter naming
...
Makes all of the naming consistent with our code style, and makes
parameters match their header equivalents.
Essentially just a clean-up of things that weren't migrated over
already.
2018-05-25 16:14:47 -04:00
spycrab
928a64dc6a
Qt/EnhancementsWidget: Add missing anaglyph options
2018-05-25 22:05:12 +02:00
spycrab
08b0725aee
Merge pull request #6961 from spycrab/info_improvements
...
Qt/InfoWidget: Improve information display
2018-05-25 21:48:10 +02:00
spycrab
157e263e05
Qt/Graphics: Fix broken stereoscopy settings
2018-05-25 21:37:22 +02:00
Lioncash
3da751f054
Interpreter_FPUtils: Set FPSCR.VXSNAN if either operand to NI_mul() is a signaling NaN
...
If either of the operands are signaling NaNs, then an invalid operation
exception needs to be indicated within the FPSCR.
This corrects SNaN flag setting for fmul, fmuls, ps_mul, ps_muls0, and
ps_muls1.
2018-05-25 12:15:02 -04:00
Stenzek
57976c947b
ShaderGen: Don't emit integer outputs when logic op is unsupported
...
This may have been causing issues for D3D10 hardware, where logic op was
not supported.
2018-05-26 00:09:29 +10:00
Stenzek
9a5c2119e5
ShaderCache: Remove unused UID bits before inserting into shader map
2018-05-26 00:09:10 +10:00
Stenzek
640bfb8135
VideoConfig: Add a field for indicating logic op support in the backend
2018-05-26 00:07:20 +10:00
Léo Lam
3d44dc3981
Merge pull request #6958 from lioncash/rsqrte
...
Interpreter_FloatingPoint: Handle SNaN flag setting in frsqrte
2018-05-25 15:11:28 +02:00
Léo Lam
56217fd42f
Merge pull request #6956 from lioncash/flag
...
Interpreter_FPUtils: Set the FPSCR.VX bit if any invalid operation exception bits are set
2018-05-25 15:10:05 +02:00
Léo Lam
9d1785718f
Merge pull request #6955 from lioncash/nan
...
Interpreter_FloatingPoint: Set FPSCR.VXSNAN if input to fres is a signaling NaN
2018-05-25 15:09:04 +02:00
Léo Lam
647309a650
Merge pull request #6959 from leoetlino/gcc
...
ES/Formats: Work around a GCC bug
2018-05-25 13:08:57 +02:00
spycrab
89ec040b1a
Merge pull request #6962 from spycrab/qt_renderwidget_fixes
...
Qt: Fix stop emulation confirmation prompt bugs
2018-05-25 10:09:44 +02:00
spycrab
39706748e7
Qt/InterfacePane: Toggle panic handlers instantly
2018-05-25 04:17:04 +02:00
spycrab
fc928ddfc8
Qt: Show exit confirmation prompt on main window
2018-05-25 03:53:40 +02:00
spycrab
7931d2d00d
Qt: Fix game not getting paused when exit prompt is open
2018-05-25 03:53:05 +02:00
spycrab
97383645e7
Qt/InfoWidget: Don't show apploader date if it's not present
2018-05-25 03:23:56 +02:00
spycrab
a19e5b3f7a
Qt/InfoWidget: Don't show banner details if no data is present
2018-05-25 03:23:56 +02:00
Léo Lam
7c6844e895
ES/Formats: Work around a GCC bug
...
In old GCC versions, capturing 'this' does not work for some lambdas.
The workaround is to not use auto for the parameter (even though the
type is obvious). This can be dropped once we require GCC 7.
2018-05-24 21:27:40 +02:00
Lioncash
155bcb1649
Interpreter_FloatingPoint: Set FPSCR.VXSNAN if the input to frsqrte is a signaling NaN
...
If the input is a signaling NaN, then we need to signal that via setting
the FPSCR.VXSNAN bit. We also shouldn't update the FPRF flags if
FPSCR.VE is set.
2018-05-24 14:37:09 -04:00
Lioncash
31504f85a7
Interpreter_FloatingPoint: Don't update FPRF in frsqrte in certain exceptional cases
...
If the FPSCR.VE bit is set and an invalid operand is passed in, then the FPRF
shouldn't be updated. Similarly this is also the case when the FPSCR.ZE bit
is set and negative or positive zero is passed in as the operand.
2018-05-24 14:32:40 -04:00
spycrab
a0b2cdbffc
Qt/GameList: Fix bold header when selecting a game
2018-05-24 13:48:14 +02:00
Lioncash
34adc529a7
Interpreter_FloatingPoint: Don't update the FPRF in fres in certain exceptional cases
...
If FPSCR.ZE is set and a divide by zero exception is signaled, then the
FPRF shouldn't be updated with a result. Similarly, if the input is an
SNaN and FPSCR.VE is set, then the FPRF shouldn't be updated.
2018-05-23 23:31:58 -04:00
Lioncash
dfea5cb00d
Interpreter_FPUtils: Set the FPSCR.VX bit if any invalid operation exception bits are set
...
The VX bit is intended to be a summary bit indicating the occurrence of
any kind of invalid operation. Therefore, whenever an invalid operation
exception is set, also set VX.
This corrects our CR flag setting for multiple instructions in certain
scenarios. This corrects flag setting cases in fadd, fadds, fctiw, fctiwz, fdiv,
frsp, frsqrte, fsub, and fsubs (and technically every floating-point
instruction that we make more accurate in the future with regards to
flag setting).
2018-05-23 21:53:37 -04:00
Lioncash
8a79f9099c
Interpreter_FloatingPoint: Set FPSCR.VXSNAN if input to fres is a signaling NaN
...
fres is defined as having the VXSNAN bit set if an input to the
instruction is a signaling NaN
2018-05-23 21:13:02 -04:00
spycrab
a60bba37cd
Merge pull request #6953 from spycrab/qt_map_unresponsive
...
Qt/MappingButton: Fix window becoming unresponsive after mapping
2018-05-24 01:21:53 +02:00
spycrab
574c609709
Qt/Mapping: Add option to map all devices at once
2018-05-24 01:13:47 +02:00
spycrab
c39f00194d
Qt/MappingButton: Fix window becoming unresponsive after mapping
2018-05-24 00:01:05 +02:00
degasus
fdfd8b19d6
OGL/Streambuffer: Use coherent mapping by default.
...
Coherent mappings have a lower overhead and less GL codes.
So enables coherent mapping by default for all drivers.
Both Qualcomm and ARM performs very bad with explicit flushing, so this change helps them as well.
AFAIK there was one GPU generation which was slower on coherent mapping: nvidia tesla
So Geforce 200 and 300 series should be tested with this PR before merging.
As this was last tested many years ago, this issue might have been fixed as well.
Those GPUs are close to 10 years old and not supported any more by nvidia.
2018-05-24 00:00:02 +02:00
spycrab
7620e1d5f8
Merge pull request #6950 from leoetlino/nand-path
...
Port FS, SD and dump path to onion config
2018-05-23 20:39:23 +02:00
Léo Lam
c99ac40700
Port FS, SD and dump path to onion config
...
This ports the Wii filesystem root, Wii SD card path and dump path
settings to the new config system (OnionConfig).
My initial plan was to wait until DolphinWX was removed before porting
most of the Main (Core, DSP, General) settings to onion config, but
I've decided to submit a small part of those changes to fix
[issue 10566](https://bugs.dolphin-emu.org/issues/10566 ).
Removes the need to manually set the FileUtil path in the UI frontends
and gets rid of some more members that don't really belong in SConfig.
Also fixes a bug which would cause the dump path not to get created
after change.
2018-05-23 16:07:18 +02:00
Léo Lam
93f49b1ca4
Config: Make Load() and Save() slightly faster
...
Only invoke config changed callbacks from Config::Save, not
Layer::Save. The latter results in callbacks being called
once per layer, up to 7 times per save.
2018-05-23 16:07:18 +02:00
Léo Lam
4fd1674c49
Core: Only init Wii FS contents in Wii mode
...
There's no filesystem when not in Wii mode, so... bad things
would happen.
2018-05-23 13:39:53 +02:00
Léo Lam
da03ff2e25
Merge pull request #6944 from leoetlino/init-fs-contents
...
Move Wii FS content init to happen after Boot
2018-05-23 11:37:10 +02:00
JosJuice
58743416bb
Make the support for unencrypted Wii disc images less broken
...
These disc images are only used on dev units and not retail units.
There are two important differences compared to normal Wii disc images:
- The data starts 0x8000 bytes into each partition instead of 0x20000
- The data of a partition is stored unencrypted and contains no hashes
Our old implementation was just guesswork and doesn't work at all.
According to testing by GerbilSoft, this commit's implementation
is able to read and extract files in the filesystem correctly,
but the tested game still isn't able to boot. (It's thanks to their
info about unencrypted disc images that I was able to make this commit.)
2018-05-23 08:40:37 +02:00
spycrab
51410b7672
Merge pull request #6946 from spycrab/qt_rob
...
Qt/RunOnObject: Fix no result being returned
2018-05-23 01:15:59 +02:00
spycrab
1f3df1811b
Qt/RunOnObject: Fix no result being returned
2018-05-23 01:07:08 +02:00
spycrab
94e97d47a0
Qt/FIFOPlayer: Implement Analyzer
2018-05-22 23:51:01 +02:00
Lioncash
6a4f12d785
JitArm64: Correct negative overflow handling for divw
2018-05-22 13:52:56 -04:00
Lioncash
5abe6c264a
Jit64: Correct negative overflow handling for divw
2018-05-22 13:52:51 -04:00
Léo Lam
0e9255c469
Merge pull request #6932 from sepalani/debug-patches
...
DebugInterface: MemoryPatches methods added
2018-05-22 19:15:51 +02:00
Léo Lam
593f58be6c
Move Wii FS content init to happen after Boot
...
Initialising Wii filesystem contents should be done after Boot and
not in HW to ensure that we operate with the correct title context
and to make sure required title directories exist (so that Movie and
Netplay code can copy data from and to the temporary NAND).
2018-05-22 19:05:45 +02:00
Lioncash
2ca1ac3370
Interpreter_Integer: Correct negative overflow handling for divw
...
Previously, given cases such as 0x80000000 / 0xFFFFFFFF we'd incorrectly
set the destination register value to zero. If the dividend is negative,
then the destination should be set to -1 (0xFFFFFFFF), however if the
dividend is positive, then the destination should be set to 0.
Note that the 750CL documents state that:
"If an attempt is made to perform either of the divisions --
0x80000000 / -1 or <anything> / 0, then the contents of rD are
undefined, as are the contents of the LT, GT, and EQ bits of the CR0
field (if Rc = 1). In this case, if OE = 1 then OV is set."
So this is a particular behavior of the hardware itself.
2018-05-22 10:39:08 -04:00