Commit Graph

23611 Commits

Author SHA1 Message Date
Connor McLaughlin f7199397a0
Merge pull request #8047 from stenzek/d3d-feature-level-10
D3D11: Fix Dolphin crashing on feature level 10.0 devices
2019-04-28 17:07:37 +10:00
Pokechu22 0cb27cc42c Fix the screen going black on pause after changing windows
More info: https://zeduckmaster.frama.io/2016/how-to-create-a-custom-rendering-in-a-qt5-widget/
2019-04-27 23:26:44 -07:00
Stenzek 53af27b133 FramebufferManager: Fix invalid transitions for 1xIR in EFB cache 2019-04-28 16:13:49 +10:00
Stenzek 5399995c61 Vulkan: Don't set a negative offset in scissor rect
The spec/validation layers say this is invalid.
2019-04-28 16:01:09 +10:00
Stenzek 025767c929 D3D: Set optional features after creating the device
Fixes feature level 10.0 devices crashing during runtime.
2019-04-28 15:26:49 +10:00
Stenzek 51154d6907 FramebufferShaderGen: Don't emit SV_SampleIndex when not using SSAA 2019-04-28 15:26:21 +10:00
Stenzek d5b3595314 TextureCache: Fix incorrect format string in GetXFBTexture() 2019-04-28 14:32:37 +10:00
spycrab 906ccdb1b4
Merge pull request #8030 from spycrab/qt_patch_preview
Qt/Debugger: Implement patch instruction preview
2019-04-28 00:32:36 +02:00
spycrab f6e73a0aec Qt/Debugger: Implement patch instruction preview 2019-04-27 23:31:19 +02:00
Jordan Woyak af8b14f452 DolphinQt: Move mapping indicators to top of UI. 2019-04-27 14:23:29 -05:00
Jordan Woyak 74a997da65 DolphinQt: Fix "Default" and "Clear" buttons not updating the displayed extension. 2019-04-27 10:51:57 -05:00
Mat M 687907e44d
Merge pull request #8035 from jordan-woyak/si-enum-constexpr
SI: Replace some unnamed enums with constexpr.
2019-04-27 08:40:41 -04:00
Mat M 621ede1268
Merge pull request #8040 from phire/fix_unintilized_xer
Fix uninitialized powerpc.xer_* variables
2019-04-27 08:36:09 -04:00
Jordan Woyak 9f0dc402f4 InputCommon: Make sure setting values are initialized in case they are used before config load. 2019-04-27 07:01:24 -05:00
JosJuice 3bef561e5d Make GameFile::GetUniqueIdentifier independent of language setting
My bad.

We need this in the situation where two users are using different
languages and the game has a different name in each language.
2019-04-27 14:00:58 +02:00
MerryMage e06111e86f EmuCodeBlock: Prefer MOVAPS to MOVSD in ConvertDoubleToSingle
* The high half of the register is immediately masked so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:57:03 +01:00
MerryMage 1baa8ee970 x64Emitter: Prefer MOVAPS to MOVSD
* The high half of regOp is immediately overwritten so the value in it is irrelevant.
* MOVSD produces an unnecessary dependency on the high half of regOp.
* MOVAPS is implemented as a register rename on modern microarchitectures.
2019-04-27 12:56:05 +01:00
MerryMage 2d4dd8cdc1 x64Emitter: Prefer MOVAPS to MOVAPD
There is no reason to use MOVAPD over MOVAPS, for two reasons:
* There has never been a microarchitecture with separate single and double domains.
* MOVAPD is one byte longer than MOVAPS
2019-04-27 12:54:43 +01:00
Scott Mansell 033f1d725f Fix un-initialized powerpc.xer_* variables 2019-04-27 15:38:02 +12:00
Techjar 20530c2a96 Core/WiiRoot: Fix NetPlay full Wii save sync not copying all the saves back to main NAND 2019-04-26 23:33:35 -04:00
Connor McLaughlin 664cfb2ca5
Merge pull request #7970 from Techjar/netplay-mii-sync
NetPlay: Synchronize Mii data
2019-04-27 13:26:55 +10:00
Connor McLaughlin b5c3542cb5
Merge pull request #8039 from iwubcode/monster_lab_fix
CommandProcessor: Don't reset gather pipe on write the high distance bit (fixes monster lab)
2019-04-27 13:26:29 +10:00
iwubcode c2abf092e9 VideoCommon: Do not reset the gather pipe (WPAR buffer) as this does not reflect what actually happens on real hardware. On hardware, there's no way for the GPU to signal to reset the WPAR buffer. Instead, the WPAR buffer will be reset automatically upon receiving 32 bytes or when spr[WPAR] is written 2019-04-26 22:20:53 -05:00
JMC47 664376dae1
Merge pull request #7861 from jordan-woyak/mplus-emu
WiimoteEmu: Emulated MotionPlus and improved emulated swing.
2019-04-26 05:50:18 -04:00
spycrab 057fa6c092
Merge pull request #8032 from spycrab/netplay_md5
Qt/NetPlayDialog: Move MD5 button into menubar
2019-04-26 03:19:41 +02:00
spycrab ea0846463f
Merge pull request #8031 from spycrab/qt_remove_iterative_input
Qt/Mapping: Remove iterative input
2019-04-24 14:03:17 +02:00
spycrab 8feacce783
Merge pull request #8028 from spycrab/issue_11690
Qt/NewPatchDialog: Fix crashes on entry removal
2019-04-24 02:49:09 +02:00
Jordan Woyak ba1b335118 WiimoteEmu: Improve emulated swing. 2019-04-23 19:02:41 -05:00
Jordan Woyak 4374600367 WiimoteEmu: Implement MotionPlus parameter y0 and other cleanups. 2019-04-23 18:38:00 -05:00
Jordan Woyak 59e1c83445 WiimoteEmu/MotionPlus: Build non-hardcoded calibration data and other cleanups. 2019-04-23 18:38:00 -05:00
Jordan Woyak 9554ece874 WiimoteEmu: MotionPlus is now working. 2019-04-23 18:38:00 -05:00
Jordan Woyak d97349af0d SI: Replace some unnamed enums with constexpr. 2019-04-23 16:25:09 -05:00
spycrab e97c61c196 Qt/NetPlayBrowser: Connect to session on double-click 2019-04-23 23:22:12 +02:00
spycrab 127b4e77ec
Merge pull request #8029 from spycrab/issue_11680
Qt/NetPlayBrowser: Prevent word wrap
2019-04-23 23:08:41 +02:00
spycrab 7f861f095a Qt/Mapping: Remove iterative input 2019-04-23 22:59:34 +02:00
spycrab 8e3d1200da
Merge pull request #7833 from chargeflux/CodeWidgetHiding-macOS
Debugger: Apply hiding logic earlier (macOS)
2019-04-23 22:40:17 +02:00
spycrab f7dcd191e3 Qt/NetPlayDialog: Move MD5 button into menubar 2019-04-23 22:37:22 +02:00
chargeflux 290275e8ea Debugger: Move hiding logic via setHidden() to before setFloating() 2019-04-23 16:20:42 -04:00
spycrab 0ef3eced78 Qt/NetPlayBrowser: Prevent word wrap 2019-04-23 18:55:40 +02:00
spycrab a6e7a90a4a Qt/NewPatchDialog: Fix crashes on entry removal 2019-04-23 18:46:38 +02:00
chargeflux cd5f42cee0 Qt: Fix add button not releasing 2019-04-22 20:32:01 -04:00
Markus Wick 2abe333ce9
Merge pull request #7287 from degasus/idle_skipping
Jit64 / JitArm64: Optimized idle skipping detection.
2019-04-22 23:08:03 +02:00
spycrab e575fa92d7
Merge pull request #8005 from JosJuice/issue-11679
DolphinQt: Fix verify tab hash box sizes on macOS
2019-04-22 14:39:56 +02:00
spycrab b4dfda0774
Merge pull request #8021 from spycrab/cm_overhaul
Qt/CheatManager: Fix a bunch of issues
2019-04-22 14:16:53 +02:00
spycrab a154c56815 Qt/CheatsManager: Use ActionReplay constants 2019-04-22 14:09:47 +02:00
Connor McLaughlin 59c0e51f5b
Merge pull request #8000 from stenzek/more-videocommon-cleanup
Additional cleanup/fixes from VideoCommon merge
2019-04-22 12:50:22 +10:00
Connor McLaughlin 93be178f28
Merge pull request #7857 from stenzek/opengl-stereo
OGL: Fix stereoscopy
2019-04-22 12:41:12 +10:00
spycrab fb841c75cb
Merge pull request #8022 from spycrab/issue_11676
Qt/GameConfigWidget: Show revision specific INIs
2019-04-21 21:38:56 +02:00
spycrab e2abda0c9b Qt/GameConfigWidget: Show revision specific INIs 2019-04-21 20:56:44 +02:00
spycrab 6c938cc070 Qt/VerifyWidget: Fix layout warnings 2019-04-21 20:28:55 +02:00
spycrab 4f7ff76801 Qt/CheatsManager: Fix locking defaulting to the value zero 2019-04-21 19:45:58 +02:00
spycrab 05eb91691c Qt/CheatsManager: Fix value setting 2019-04-21 17:34:31 +02:00
Connor McLaughlin 44d5a71e27
Merge pull request #7965 from jordan-woyak/condvar-fixes
Minor changes to usages of std::condition_variable.
2019-04-21 23:50:53 +10:00
spycrab 0b56d49d97 Qt/CheatsManager: Deduplicate code 2019-04-21 15:38:59 +02:00
Jordan Woyak a9ef110349 DolphinQt: Query mapping indicator colors using QPalette for better behavior with alternative themes. 2019-04-21 08:20:45 -05:00
spycrab a6ed1b644b Qt/CheatSearch: Fix locking being permanently disabled 2019-04-21 13:51:25 +02:00
Stenzek 356ebdf509 OGL: Set shared context state up to match main context
Has a better chance of avoiding recompiling if so.
2019-04-21 14:28:14 +10:00
Stenzek 6553cf8bb1 OGL: Only set GL_PROGRAM_POINT_SIZE on desktop GL
It is always enabled in GLES.
2019-04-21 14:28:14 +10:00
Stenzek f2a594fad5 OGL: Fix binding error on shutdown
This was occurring if the imgui vertex format was bound on shutdown,
which is destroyed before the vertex buffers
2019-04-21 14:28:14 +10:00
Stenzek 9577d0641b ShaderCache: Fix crash at shutdown on shared shader compilation fail 2019-04-21 14:28:14 +10:00
Stenzek 5c95dc61fc OGL: Store shader source in OGLShader
So it can be dumped with info log when linking fails.
2019-04-21 14:28:14 +10:00
Stenzek bbd1ae16db OGL: Remove unused ProgramShaderCache::CompileShader() 2019-04-21 14:28:14 +10:00
Stenzek f8c1ba409c Replace EFBRectangle/TargetRectangle with MathUtil::Rectangle 2019-04-21 14:28:14 +10:00
JMC47 6ea43235d5
Merge pull request #7841 from iwubcode/config-mgr-onion
Config: Move the 'Display' settings from ConfigManager to the layered config system
2019-04-21 00:01:47 -04:00
Connor McLaughlin ca55375d01
Merge pull request #8015 from jordan-woyak/dinput-cursor-optimize
ControllerInterface/DInput: Optimize cursor position updating.
2019-04-21 13:56:50 +10:00
Connor McLaughlin 5b4ebccf6b
Merge pull request #8012 from stenzek/bounding-box-shaders
PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
2019-04-21 13:27:05 +10:00
Stenzek b09a0e1a60 TextureCache: Check for out-of-range partial copy rect after scaling 2019-04-21 12:54:32 +10:00
Stenzek 3791262d96 TextureCache: Use linear filtering on y-scaled and >1xIR VRAM copies 2019-04-21 12:41:15 +10:00
Stenzek 708bd3d9f7 TextureCache: Simplify XFB reconstruction
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
2019-04-21 12:41:15 +10:00
Stenzek dbaba0062a TextureDecoder: Move XFB decoding to Common
This was previously missing for generic (which is used on ARM).
2019-04-21 12:41:15 +10:00
degasus 6ec4ade3b6 Interpreter: Drop idle skipping in interpreter.
And reimplement it in the cached interpreter based on the idle loop detection.
2019-04-20 20:52:39 +02:00
degasus 55abe1a085 Jit64: Refactor WriteIdleExit helper. 2019-04-20 20:52:39 +02:00
degasus b8b4b4a383 PowerPC: More idle loop detections. 2019-04-20 20:52:39 +02:00
degasus 55db7c7a05 Jit64: Optimized idle skipping detection. 2019-04-20 20:52:39 +02:00
Jordan Woyak 8c1310d1d1 ControllerInterface/DInput: Optimize cursor position updating. 2019-04-20 09:25:11 -05:00
Stenzek eddde3e6c8 ShaderGen: Use interface blocks when geometry shaders are supported
We don't use explicit locations in OpenGL currently, so this breaks
when we use alternative names in the geometry shaders.
2019-04-20 23:44:33 +10:00
Stenzek c6b45c5ca9 ShaderCache: Fix crash if pipeline from uid cache fails creation 2019-04-20 23:16:29 +10:00
Stenzek 96aa762d1e PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
If bounding box is enabled when a UID cache is created, then later disabled,
we shouldn't emit the bounding box portion of the shader.

Fixes pipeline creation errors on D3D12 backend for this case.
2019-04-20 23:16:14 +10:00
JosJuice fbe7892bd2 ConfigManager: Remove TitleDatabase.h include
Made unnecessary by 8842a0f.
2019-04-20 12:30:46 +02:00
JosJuice e98f5fe665 Show Japanese GC games in Japanese when using TitleDatabase
Because the GC language setting cannot be set to Japanese, we
need a special condition for Japanese GC games. I accidentally
removed it in PR 7816, but here it is again in a new form.

We could do the same thing with Korean GC games if we want to
(which we couldn't do before PR 7816), but due to how spotty
GameTDB is with having Korean names for Korean GC releases,
things will be more consistent if we just use English for them.
2019-04-20 12:12:35 +02:00
Connor McLaughlin c26f53bf84
Merge pull request #7999 from stenzek/pipeline-cache-data
Implement pipeline data cache for OpenGL and D3D12
2019-04-20 12:56:02 +10:00
JosJuice f0323a59c3 DolphinQt: Fix verify tab hash box sizes on macOS
https://bugs.dolphin-emu.org/issues/11679
2019-04-19 19:15:04 +02:00
Jordan Woyak 779e618046 VideoCommon: Change free-look's middle-mouse action to roll the camera. 2019-04-17 05:10:11 -05:00
Jordan Woyak 1d024c8add Fix u8 string literal C++20 compile error. 2019-04-16 16:31:12 -05:00
Markus Wick f1620f25f4
Merge pull request #7981 from degasus/interpreter_psq_l
Interpreter: Fix psq_l with QUANTIZE_FLOAT.
2019-04-16 22:27:07 +02:00
Markus Wick dbfdb16fbb
Merge pull request #7990 from MerryMage/fprf
EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1
2019-04-16 22:13:05 +02:00
JMC47 80d21b8ffb
Merge pull request #8002 from JMC47/CursorSlowdown
Slow down relative input cursor
2019-04-15 20:43:31 -04:00
JMC47 f3aaf5deaa Reduce Relative Input Cursor Speed Dramatically
This makes it about 1/4th the speed which may be a bit slow, but should
work for most controllers.
2019-04-15 17:23:17 -04:00
Stenzek 00b83b4196 ShaderCache: Utilize pipeline cache data where possible 2019-04-16 00:39:43 +10:00
Stenzek 616ad378b7 OGL: Support returning pipeline cache data 2019-04-16 00:39:43 +10:00
Stenzek 5cef09e383 D3D12: Support returning pipeline cache data 2019-04-16 00:34:34 +10:00
Stenzek 61a656570e AbstractPipeline: Support returning "cache data"
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
2019-04-16 00:09:47 +10:00
JosJuice d7b5270348
Merge pull request #7988 from JosJuice/fix-wii-save-import
Fix importing Wii save files with sizes not divisible by 64
2019-04-14 17:17:00 +02:00
spycrab 0f8e5ab207
Merge pull request #7968 from Techjar/fix-netplay-browser-search-hang
Qt/NetPlayBrowser: Refresh session list asynchronously
2019-04-14 03:11:31 +02:00
JMC47 1cedbd5b82
Merge pull request #7923 from jordan-woyak/full-surface-rename
ControllerInterface: Rename full surface analog inputs.
2019-04-13 17:43:29 -04:00
JMC47 a891115ea3
Merge pull request #7952 from jordan-woyak/emu-shake-params
WiimoteEmu: Allow shake frequency and intensity to be configured.
2019-04-13 12:13:13 -04:00
Jordan Woyak be897b41a7 ControllerInterface: Rename full surface analog inputs to be more visually dissimilar from their underlying inputs. e.g. "Full Axis X+". 2019-04-13 08:45:19 -05:00
spycrab 241166a1a5
Merge pull request #7991 from spycrab/npi_retcode
UICommon/NetPlayIndex: Handle non 200 HTTP return codes
2019-04-13 15:24:10 +02:00
spycrab 336edbef1e UICommon/NetPlayIndex: Handle non 200 HTTP return codes 2019-04-13 12:58:23 +02:00
spycrab eddcb70b84 Common/HttpRequest: Add option to allow non 200 response codes 2019-04-13 12:58:23 +02:00
Techjar 6d01f34d78 Core/NetPlayClient: Reset GCAdapter device type in UpdateDevices
This will ensure an origin reset is triggered on next boot.
2019-04-13 06:32:45 -04:00
Jordan Woyak c89ddf8cba WiimoteEmu: Allow shake frequency and intensity to be configured. Other minor cleanups. 2019-04-12 16:50:59 -05:00
JosJuice 635fd8c22c
Merge pull request #7984 from JosJuice/root-path-savestate
IOS/FS: Don't savestate m_root_path
2019-04-12 22:37:21 +02:00
MerryMage e4d83a56a5 EmuCodeBlock: Correct zero handling in SetFPRF for SSE4.1 2019-04-12 20:03:42 +01:00
spycrab 2a1dee4dce
Merge pull request #7976 from spycrab/netplay_index_feedback
Qt/NetPlay: Show feedback for index adding
2019-04-12 14:21:42 +02:00
JosJuice 4f915760e8 Fix importing Wii save files with sizes not divisible by 64 2019-04-12 11:34:32 +02:00
Techjar c7c4196c38 Qt/NetPlayBrowser: Refresh session list asynchronously 2019-04-11 22:02:13 -04:00
spycrab f2e3f69d34
Merge pull request #7979 from Techjar/netplay-browser-possible-crash
UICommon/NetPlayIndex: Fix possible crash when Add is called again
2019-04-11 21:49:58 +02:00
spycrab 8b6bb39e82 Qt/NetPlay: Show feedback for index adding 2019-04-11 21:26:00 +02:00
spycrab b9d110ed66 WinUpdater: Restore original executable name 2019-04-11 20:21:50 +02:00
JosJuice 822acf9ab9 IOS/FS: Don't savestate m_root_path
The NAND root path can be different on different systems,
so we must not savestate it.
2019-04-11 18:50:15 +02:00
JosJuice d5ed3cbd88
Merge pull request #7922 from JosJuice/verify-disc
Add a Verify tab to game properties
2019-04-11 16:39:49 +02:00
spycrab 372b8552ce
Merge pull request #7974 from spycrab/winupdater
Move Updater to WinUpdater
2019-04-11 12:04:31 +02:00
degasus 399768c91b Interpreter: Fix psq_l with QUANTIZE_FLOAT.
psq_l with QUANTIZE_FLOAT does not use the FPU, so it does not trim the precision of the u32 input data.
We already have the helper ConvertToDouble for floating point u32->u64 convertion used in lfs, so let's use it here as well.
2019-04-11 10:12:59 +02:00
Markus Wick 849ede9d0a
Merge pull request #7639 from CrystalGamma/pr-quantize
PowerPC: Thread state through PS (de)quantize helpers
2019-04-11 10:11:08 +02:00
CrystalGamma e5c8b889ef PowerPC: Thread state through PS quantize helper 2019-04-11 10:03:36 +02:00
CrystalGamma e12cdbefa5 PowerPC: Thread state through PS dequantize helper 2019-04-11 10:03:36 +02:00
Techjar f1e06b89da UICommon/NetPlayIndex: Fix possible crash when Add is called again 2019-04-10 22:39:16 -04:00
Jordan Woyak a9a4b53072 WiimoteEmu: Fix Data Report 0x32. 2019-04-10 20:17:34 -05:00
Markus Wick d90d641ec7
Merge pull request #7889 from CrystalGamma/pr-floathelpers
PowerPC: Thread state through float helpers
2019-04-10 23:14:39 +02:00
Markus Wick 5a4700f589
Merge pull request #7638 from CrystalGamma/pr-addresshelpers
PowerPC: Thread state through the address helpers
2019-04-10 23:05:43 +02:00
spycrab d73987e466 Move Updater to WinUpdater 2019-04-10 10:46:49 +02:00
spycrab 1f6c67a6fb
Merge pull request #7969 from Techjar/fix-browser-radio-spacing
Qt/NetPlayBrowser: Fix radio button spacing
2019-04-10 08:11:42 +02:00
Techjar b8abfba20b Qt/NetPlayBrowser: Fix radio button spacing
The spacing was weird due to widgets in adjacent rows messing with the
column size, so we'll make those widgets span all the columns.
2019-04-09 19:41:58 -04:00
JMC47 e10a472134
Merge pull request #7936 from jordan-woyak/numeric-setting-cleanup
InputCommon: Clean up how numeric settings are handled.
2019-04-09 19:30:26 -04:00
JosJuice 8709b21ac3 VolumeVerifier: Verify WAD contents 2019-04-09 14:18:46 +02:00
JosJuice a469fb3150 VolumeVerifier: Check whether invalid blocks are unused 2019-04-09 14:18:46 +02:00
JosJuice eced9d7c7e VolumeVerifier: Calculate CRC32/MD5/SHA-1 2019-04-09 14:18:46 +02:00
JosJuice 4fd2d8e8c4 VolumeVerifier: Check hashes in Wii partitions 2019-04-09 14:18:45 +02:00
JosJuice 84cbd5150f Add a Verify tab to game properties 2019-04-09 14:18:41 +02:00
spycrab 0b8ac0a22f
Merge pull request #7971 from Techjar/go-away-golf-ui
Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled
2019-04-09 13:14:54 +02:00
spycrab a06c7df927
Merge pull request #7954 from Techjar/netplay-disable-bba
Disable BBA in NetPlay
2019-04-09 13:13:05 +02:00
spycrab 627a1a90c1
Merge pull request #7938 from Techjar/netplay-pending-start-stall
NetPlay: Fix hosting being stuck if player leaves during pending start
2019-04-09 13:07:17 +02:00
spycrab 746849f891
Merge pull request #7964 from Techjar/fix-netplayindex-segfault
UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
2019-04-09 12:45:58 +02:00
Techjar cd6c918973 Qt/NetPlayDialog: Don't create golf UI when host input authority is disabled 2019-04-08 07:09:20 -04:00
Techjar 1b8eda827b NetPlay: Synchronize Mii data
It's bundled with the Wii saves for simplicity, since it's quite small.
2019-04-08 07:06:21 -04:00
spycrab 75f1a5d0cc Qt/NetPlayBrowser: Various small fixes 2019-04-08 00:01:23 +02:00
Jordan Woyak 5efb717873 InputCommon: Clean up how numeric settings are handled. Add units of measure to UI. Eliminate hidden magic values of the IR cursor. 2019-04-07 09:32:49 -05:00
Techjar c90df946ba NetPlay: Add cancel button for chunked data transfers 2019-04-07 06:22:33 -04:00
Techjar 7870704087 NetPlay: Fix hosting being stuck if player leaves during pending start
The logic didn't account for the case where a player leaves, so the
host would be left in a dangling state where the UI is disabled but the
game won't start, requiring a full restart of Dolphin to fix.
2019-04-07 06:22:31 -04:00
Jordan Woyak d34a9afe04 Minor changes to usages of std::condition_variable. 2019-04-06 17:39:25 -05:00
Techjar dc552f2cbb UICommon/NetPlayIndex: Fix random segfaults after quitting NetPlay
We can't join a detached thread, so NetPlayIndex gets deleted before
the notification thread exits, creating a race condition. We switch to
using Common::Event because just sleeping leaves the UI hung on the
thread join for a few seconds.
2019-04-06 17:23:37 -04:00
JMC47 75e74315e6
Merge pull request #7689 from jordan-woyak/sdl-improve
ControllerInterface: SDL cleanups/fixes
2019-04-06 14:53:51 -04:00
spycrab ca5eac0c63 Common/HttpRequest: Fix EscapeComponent leaking memory 2019-04-06 13:27:49 +02:00
spycrab 23986d48f7
Merge pull request #7945 from spycrab/np_browser
Qt/NetPlay: Implement session/server browser
2019-04-06 12:36:29 +02:00
spycrab 094bf0d2ff Qt/NetPlay: Integrate NetPlayIndex 2019-04-06 12:27:30 +02:00
JMC47 a7ee00ae25
Merge pull request #7960 from Techjar/netplay-fix-segfault-on-exit
Qt/MainWindow: Fix segfault on exit while NetPlay is open
2019-04-05 11:48:07 -04:00
spycrab e44433c2f6
Merge pull request #7955 from Techjar/netplay-golf-mode
NetPlay golf mode
2019-04-05 17:25:23 +02:00
Techjar 6c393f9ff4 Add imgui golf mode overlay 2019-04-05 07:01:03 -04:00
Techjar 1a12876330 NetPlay: Implement golf mode
This is an extension of host input authority that allows switching the
host (who has zero latency) on the fly, at the further expense of
everyone else's latency. This is useful for turn-based games where the
latency of players not on their turn doesn't matter.

To become the so-called golfer, the player simply presses a hotkey.
When the host is the golfer, latency is identical to normal host input
authority.
2019-04-05 07:01:03 -04:00
Techjar ab6583b430 Qt/MainWindow: Fix segfault on exit while NetPlay is open 2019-04-05 03:12:25 -04:00
Craftyawesome 20cc4508f0 Re-order cpu emulation options from fastest to slowest
Based on https://bugs.dolphin-emu.org/issues/11658

Update arrays.xml
2019-04-04 10:51:12 -04:00
JosJuice bfde5b931e
Merge pull request #7956 from spycrab/fix_np_chat_escape
Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat
2019-04-03 18:50:33 +02:00
spycrab 923151e3e3
Merge pull request #7949 from spycrab/turbo_btn
Qt/TAS: Implement turbo mode
2019-04-03 18:43:11 +02:00
Techjar a318c55cec PixelShaderGen: Fix bounding box coordinates being offset by 1 pixel 2019-04-03 10:09:05 -04:00
JMC47 a2df9beb9f
Merge pull request #7924 from jordan-woyak/info-widget-fix
DolphinQt: Fix unused widgets in InfoWidget from being visible.
2019-04-02 19:59:44 -04:00
spycrab 628d72c67d Qt/NetPlayDialog: Fix messages being html-escaped for NetPlay Chat 2019-04-02 23:23:38 +02:00
CrystalGamma b00a7045aa PowerPC: Thread state through float helpers 2019-04-02 19:59:29 +02:00
CrystalGamma 95b06d183e PowerPC: Thread state through the address helpers 2019-04-02 19:52:59 +02:00
Techjar e2f1da5210 NetPlay: Move host input authority logic to client
This is a prerequisite for golf mode, as the client needs to be in
control of sending pad states.
2019-04-02 08:17:13 -04:00
Techjar 980c076c67 Disable BBA in NetPlay 2019-04-01 09:14:28 -04:00
Stenzek 474500f07e Vulkan: Prevent submission of command buffer with open queries 2019-04-01 20:49:42 +10:00
Stenzek f2d8c8d2a8 D3D12: Fix rare case where command list was executed with open queries 2019-04-01 20:49:24 +10:00
Stenzek 92f1f553d1 D3D12: Fix case where perf queries weren't flushed 2019-04-01 20:13:39 +10:00
Connor McLaughlin 32e330eb35
Merge pull request #7950 from stenzek/out-of-range-efb-copies
BPStructs: Gracefully handle out-of-range EFB copies
2019-04-01 13:08:11 +10:00
Stenzek 113bd60fe7 Implement D3D12 backend 2019-04-01 11:24:55 +10:00
Jordan Woyak 2b6d718636 InputCommon: Fix Win32 init race. 2019-03-31 07:46:58 -05:00
Stenzek 378b605669 BPStructs: Gracefully handle out-of-range EFB copies
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length  of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.

This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.

As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
spycrab 039b1baa3a Qt/TAS: Implement turbo mode 2019-03-31 05:27:34 +02:00
Connor McLaughlin 39139a52e7
Merge pull request #7939 from Techjar/no-more-disabled-gfx-features
Qt/HacksWidget: Fix backend feature support checks
2019-03-31 11:59:34 +10:00
spycrab 0866ec3fb0
Merge pull request #7948 from spycrab/open_failed_warn
Qt/GameConfigEdit: Show warning if opening in an external editor fails
2019-03-31 03:37:54 +02:00
spycrab 74c1e92640 Qt/GameConfigEdit: Show warning if opening in an external editor fails 2019-03-31 03:30:41 +02:00
iwubcode 840afc2ad4 Config: Move the 'Display' settings from ConfigManager to the layered config system 2019-03-30 18:43:02 -05:00
JMC47 735a705e4d
Merge pull request #7776 from jordan-woyak/wm_devicechange
Add hotplug support to DInput and XInput controller backends
2019-03-30 18:41:46 -04:00
spycrab 3d84dbe649 Qt/GCMemcardManager: Don't bold the header 2019-03-30 20:22:04 +01:00
spycrab 0279d12055 Core/NetPlayServer: Integrate NetPlayIndex 2019-03-30 17:13:57 +01:00
spycrab 622ba68595 Core/Config: Add index entries to NetPlaySettings 2019-03-30 17:13:57 +01:00
spycrab 827e40d78a UICommon: Add NetPlayIndex helper 2019-03-30 17:13:57 +01:00
spycrab 3dbf44417a Common/HttpRequest: Implement EscapeComponent 2019-03-30 17:13:57 +01:00
JosJuice c885fed9da DiscIO: Make Korean GC checks in Enums.cpp less fragile 2019-03-30 12:45:28 +01:00
JosJuice c028a84531 Volume: Add a GetCertificateChain function 2019-03-30 12:45:28 +01:00
JosJuice abb3c5bccd VolumeWad: Implement GetTicket 2019-03-30 12:45:17 +01:00
JosJuice cf9ab6ddcc DiscExtractor: Make P prefix for partition names optional
Also added constants for common partition types.
2019-03-30 12:45:17 +01:00
JosJuice 3014dadfa8 DiscIO: Add way of checking whether blob data size is accurate 2019-03-30 12:45:17 +01:00
JMC47 0bce1c509d
Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix
HW/SI: GCAdapter calibration fix.
2019-03-30 06:37:23 -04:00
Stenzek 3c455de799 FramebufferManager: Fix broken EFB peeks in GL with MSAA on 2019-03-30 03:14:29 +10:00
spycrab 963370d7e6
Merge pull request #7941 from 8times9/contextmenu
Qt/GameList: Set consistent capitalization for context menu
2019-03-29 21:09:49 +01:00
Jordan Woyak 4ee999723e DolphinQt: Make MD5 result text box read only. 2019-03-29 12:31:09 -05:00
Stenzek b685a66753 Vulkan: Fix crash when checking subgroup support on Mesa 2019-03-30 00:18:26 +10:00
Jordan Woyak eadbdd6bc3 ControllerInterface/Win32: Prevent devcies from losing their "id" on a hotplug event. 2019-03-29 09:04:16 -05:00
Stenzek a6bb06174f Vulkan: Fix library load failure on Android 2019-03-29 23:36:53 +10:00
Michael M d26c1ce24d Add hotplug support to DInput and XInput controller backends 2019-03-29 08:01:40 -05:00
Michael M 92ca6e124e Add ControllerInterface::Win32 to wrap XInput and DInput 2019-03-29 08:01:39 -05:00
Techjar 5d37b2b951 Qt/HacksWidget: Fix backend feature support checks 2019-03-29 08:45:21 -04:00
Jordan Woyak a015851b02 HW/SI: GCAdapter calibration fix. 2019-03-29 06:15:58 -05:00
Stenzek 604ab67c7f Vulkan: Simplify perf queries using vkGetQueryPoolResults 2019-03-29 20:54:44 +10:00
Stenzek 6d40ea8553 Vulkan: Fix barrier validation layer errors for bounding box 2019-03-29 20:54:44 +10:00
Stenzek 23a655217c Vulkan: Fix validation layer error for unbound texture layouts 2019-03-29 20:54:44 +10:00
Stenzek 087b11e780 TextureCacheBase: Fix possible crash on shutdown with deferred EFB copies 2019-03-29 20:54:44 +10:00
Stenzek 427dd45151 Vulkan: Simplify command buffer fence tracking 2019-03-29 20:54:44 +10:00
Connor McLaughlin f3fadd7302
Merge pull request #7869 from stenzek/d3dcommon
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29 20:40:06 +10:00
Connor McLaughlin 78cf615a9b
Merge pull request #7937 from Techjar/netplay-defer-efb-invalidation
NetPlay: Synchronize EFB access cache options
2019-03-29 20:31:15 +10:00
Stenzek d66d778bae PixelShaderGen: Use subgroup reduction operations for bounding box 2019-03-29 20:06:56 +10:00
Stenzek 6561850f2b Vulkan: Support subgroup reduction operations via GL_KHR_shader_subgroup 2019-03-29 20:06:56 +10:00
Stenzek 86da282570 OGL: Support subgroup reduction operations via GL_NV_shader_thread_shuffle 2019-03-29 20:06:56 +10:00
Connor McLaughlin 1304e963ad
Merge pull request #7895 from stenzek/framebuffer-corruption
FramebufferManager: Don't discard in ReinterpretPixelData
2019-03-29 20:03:13 +10:00
Connor McLaughlin 154eeae8ae
Merge pull request #7915 from stenzek/bbox-scaled-update
VideoBackends: Scale bounding box rectangle in the pixel shader
2019-03-29 19:59:25 +10:00
Stenzek d0d010f854 D3D11: Make stateman a unique_ptr 2019-03-29 19:55:00 +10:00
Stenzek 3b86c93285 VertexManagerBase: Increase vertex/uniform buffer sizes
ZTP was uploading 10MB+ of uniforms per frame, reducing paralellism by
forcing GPU waits.
2019-03-29 19:52:38 +10:00
Stenzek 2a4bca8b4a VideoBackends: Verify validity before doing full renderer init
Prevents attempting to create invalid MSAA configurations, for example.
2019-03-29 19:52:38 +10:00
Stenzek 1151a1238f D3D11: Use ComPtr smart pointer where possible 2019-03-29 19:52:38 +10:00
Stenzek 3d8014beb5 D3D11: Use D3DCommon where appropriate 2019-03-29 19:52:38 +10:00
Stenzek ea15080d8f Add D3DCommon (shared code between D3D11 and D3D12) 2019-03-29 19:52:38 +10:00
Stenzek f6641b7e4f Vulkan: Use Common::DynamicLibrary 2019-03-29 19:52:38 +10:00
Stenzek a4f7c04470 Common: Add DynamicLibrary helper class 2019-03-29 19:52:33 +10:00
8times9 8c37214bee Qt/GameList: Set consistent capitalization for context menu 2019-03-28 21:22:46 -05:00
Stenzek e9cfcf4632 ShaderCache: Don't create invalid logic op pipelines
uint_output will never be set unless logic ops are enabled. Also clears
the bits so we're not compiling unused pixel shaders on the other
backends.
2019-03-28 20:35:02 +10:00
Stenzek 5732769a3c ShaderCache: Set correct primitive in dummy ubershader pipelines 2019-03-28 20:35:02 +10:00
Stenzek 7dd9d74eec RenderBase: Add EFBHasAlphaChannel() helper 2019-03-28 20:35:02 +10:00
Techjar 6e5d92e3c3 NetPlay: Synchronize EFB access cache options 2019-03-28 00:53:07 -04:00
spycrab 9b6c9252e4
Merge pull request #7932 from spycrab/qt_tas_fixes
Qt/TAS: Some fixes
2019-03-27 18:37:35 +01:00
JosJuice 6a18bf4d2e
Merge pull request #7935 from JosJuice/cli-arg-movie
DolphinQt: Add support for the --movie parameter
2019-03-27 18:34:24 +01:00
JMC47 b4b0ebae27
Merge pull request #7934 from stenzek/stretched-efb-peeks
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27 10:53:47 -04:00
Stenzek 92fa6c34cd FramebufferManager: Fix EFB pokes being offset by 1 in D3D 2019-03-27 23:28:34 +10:00
JosJuice 6451496776 DolphinQt: Add support for the --movie parameter
Regression from DolphinWX.
2019-03-27 14:26:17 +01:00
Stenzek c28393d6f9 FramebufferManager: Fix EFB peek cache stretching last tile 2019-03-27 22:12:40 +10:00
JMC47 a1f53716dc
Merge pull request #7893 from jordan-woyak/mapping-ui-cleanup
DolphinQ: Mapping UI cleanups.
2019-03-26 20:30:30 -04:00
spycrab e222b91953
Merge pull request #7929 from spycrab/np_chat_toggle
NetPlayChatUI: Add activate chat hotkey
2019-03-26 22:35:26 +01:00
spycrab f7897778ff NetPlayChatUI: Add activate chat hotkey 2019-03-26 18:13:32 +01:00
spycrab 4ad67f471c Qt/TAS: Improve layout 2019-03-26 01:18:11 +01:00
spycrab 04583b17da Qt/TAS: Fix issue #11620 2019-03-26 00:38:25 +01:00
JMC47 e636b3e712
Merge pull request #7871 from jordan-woyak/wm-real-cleanup
WiimoteReal: Improve state changes and code cleanups.
2019-03-25 19:28:22 -04:00
spycrab fdb8b4af13 Qt/NetPlayDialog: Change buffer size message color 2019-03-25 10:09:21 +01:00
Stenzek 16294acd2a VideoBackends: Scale bounding box rectangle in the pixel shader 2019-03-25 18:47:58 +10:00
Mat M 20999db93c
Merge pull request #7928 from JosJuice/ipl-hashes
Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
2019-03-24 14:12:17 -04:00
JosJuice d42fa8f80e Remove invalid IPL hashes (NTSC-U and NTSC-J use same IPL)
See https://bugs.dolphin-emu.org/issues/11467. We now only have
the hashes that have been confirmed on Redump.

For the reference, MAME's list of bad GameCube IPL dumps:
80b2ca6088/src/mame/drivers/gamecube.cpp (L152-L158)
2019-03-24 14:19:23 +01:00
Stenzek cff60f5ba0 FramebufferManager: Only clear tile array when valid
When looking into the Faron Woods fifolog, I noticed this code was quite
high in the profile (~10%). Clearing 4096 entries from the vector isn't
needed every draw, we only need to do this when the cache was actually
valid in the first place.

Should provide a slight general performance boost.
2019-03-24 15:03:04 +10:00
Jordan Woyak d106169a83 DolphinQt: Fix unused widgets in InfoWidget from being visible. 2019-03-23 20:20:09 -05:00
spycrab c89139d75d
Merge pull request #7903 from spycrab/imgui_np_chat
Add imgui-based Netplay Chat
2019-03-23 21:11:33 +01:00
spycrab 7cfb626a83 Add imgui-based Netplay Chat 2019-03-23 20:13:24 +01:00
spycrab 672b582bec
Merge pull request #7918 from spycrab/iokit_refactor
InputCommon/OSX: Refactor IOKit controller interface
2019-03-22 21:18:27 +01:00
JosJuice 0b3385ac1f
Merge pull request #7919 from JosJuice/disc-extractor-cert-h3
DiscExtractor: Fix extracting certificate chain and H3 hashes
2019-03-22 17:44:47 +01:00
spycrab 80fd01c3c3 InputCommon/OSX: Refactor IOKit controller interface 2019-03-22 14:04:30 +01:00
Tilka 0a1aacb5d0
Merge pull request #7906 from jordan-woyak/leak-fix
DolphinQt/InputCommon: Fix a few memory leaks.
2019-03-21 23:26:54 +00:00
Tilka 87cf94ec86
Merge pull request #7914 from stenzek/partial-update-infinite-loop
TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates
2019-03-21 23:22:17 +00:00
Tilka b016417106
Merge pull request #7907 from jordan-woyak/search-close-with-esc
DolphinQt: Make Ctrl+F show the game list search and escape close it.
2019-03-21 23:20:48 +00:00
spycrab 094c852158
Merge pull request #7916 from spycrab/issue_11623
MacUpdater: Fix updater not closing after update is completed
2019-03-21 23:42:06 +01:00
JosJuice c558803cbd DiscExtractor: Fix extracting certificate chain and H3 hashes
Dolphin is currently not using this data, but still,
the way it was being extracted was not at all correct.
2019-03-21 23:07:24 +01:00
Jordan Woyak 94c4975b5d DolphinQt: Make Ctrl+F show the game list search and select the search text if already open. Escape closes. 2019-03-21 17:06:16 -05:00
spycrab d1f7f0fcc0 Qt/AudioPane: Fix volume box not keeping consistent width 2019-03-21 14:38:12 +01:00
spycrab 544f6d547d MacUpdater: Fix updater not closing after update is completed 2019-03-21 13:47:23 +01:00
spycrab 8cfbbbe9dc VideoCommon/RenderBase: Disable backculling for ImGui 2019-03-21 13:16:21 +01:00
spycrab 61350b3d98 Core/Host: Allow frontends to block inputs 2019-03-21 13:16:21 +01:00
spycrab 0a3279ae6b Fix ImGui key mapping Enter to the numpad 2019-03-21 13:16:21 +01:00
spycrab fcd0dbef2c
Merge pull request #7901 from spycrab/issue_11585
Qt/Mapping: Use QGridLayout in a few more places
2019-03-20 23:53:01 +01:00
spycrab e8b3c6cb3e Qt/Mapping: Use QGridLayout in a few more places 2019-03-20 23:46:45 +01:00
Stenzek bf0b52efc6 TextureCacheBase: Fix infinite loop in DoPartialTextureUpdates 2019-03-20 20:05:51 +10:00
Jordan Woyak b53636827b ControllerInterface: Unbreak DirectInput POV Hats having bad values on init. 2019-03-19 16:05:49 -05:00
LAGonauta 99a35568ca Allow XAudio2 to be selected as a surround backend. 2019-03-18 09:21:40 -03:00
LAGonauta f37ff190e4 Added DPL2 decoder to XAudio2 and XAudio2_7 backends. 2019-03-18 09:06:41 -03:00
Jordan Woyak 725d34b2f0 DolphinQt/InputCommon: Fix a few memory leaks. 2019-03-17 18:31:41 -05:00
Jordan Woyak 0bdfa19650 ControllerInterface: SDL: Replace unclear bool parameter with enum class. 2019-03-17 08:53:53 -05:00
Jordan Woyak 4fb68c530b ControllerInterface: SDL cleanup and FF effect fixes. 2019-03-17 08:53:13 -05:00
spycrab c4036d2d6a Qt/MD5Dialog: Make dialog modal 2019-03-16 18:54:15 +01:00
JMC47 7acefe8a28
Merge pull request #7898 from spycrab/qt_netplay_empty_chat
Qt/NetPlayDialog: Prevent players from sending empty chat messages
2019-03-16 13:09:28 -04:00
spycrab a40b5f9133
Merge pull request #7900 from spycrab/qt_general_align
Qt/GeneralPane: Align "Auto Update" on macOS
2019-03-16 17:57:23 +01:00
JMC47 ae533185c4
Merge pull request #7899 from spycrab/qt_netplay_bold
Qt/NetPlayDialog: Don't bold the player table headers
2019-03-16 12:12:30 -04:00
JMC47 2a9f01c1ba
Merge pull request #7897 from spycrab/qt_mapping_dialog
Qt/PadMappingDialog: Improve layout
2019-03-16 12:07:43 -04:00
spycrab 502cba255f Qt/GeneralPane: Align "Auto Update" on macOS 2019-03-16 16:20:21 +01:00
spycrab 2046f93de8 Qt/NetPlayDialog: Don't bold the player table headers 2019-03-16 15:44:03 +01:00
spycrab e64b6d27c8 Qt/NetPlayDialog: Prevent players from sending empty chat messages 2019-03-16 15:33:38 +01:00
spycrab 19dfd4d7ab Qt/PadMappingDialog: Improve layout 2019-03-16 15:12:20 +01:00
JosJuice 08ca9ec21f
Merge pull request #7884 from JosJuice/save-movie-on-exit
DolphinQt: Save movie when closing emulation
2019-03-16 14:58:16 +01:00
Stenzek 8aa0ea10d9 FramebufferManager: Don't discard in ReinterpretPixelData
This was causing the depth buffer to be discarded as well, which
has an effect on mobiles (doesn't get loaded into tile memory).

If we find this is hindering performance (remember, the EFB is
only a 640x528 texture), it may be worth changing the interface to
support discarding only the colour buffer.
2019-03-16 23:45:08 +10:00
Jordan Woyak 9cb17b062c DolphinQ: Mapping UI cleanups. 2019-03-15 18:32:25 -05:00
Connor McLaughlin 861fc42fc9
Merge pull request #7891 from kvark/vk-frame-view
[vk] Use proper view type of framebuffer images
2019-03-16 09:26:01 +10:00
JosJuice c71216419b
Merge pull request #7874 from vadosnaprimer/ffv1_fix
FFV1 fix
2019-03-15 23:17:02 +01:00
Tilka c57e5701cd
Merge pull request #7879 from spycrab/open_gc_save_folder
Qt/GameList: Implement 'Open gamecube save folder'
2019-03-15 18:25:19 +00:00
Dzmitry Malyshau 4173a8f545 Use proper view type of framebuffer images 2019-03-15 12:24:39 -04:00
spycrab 90522a7666 Qt/GameList: Implement 'Open gamecube save folder' 2019-03-15 14:22:54 +01:00
JMC47 011ecd92e8
Merge pull request #7829 from jordan-woyak/detect-input-improve
ControllerInterface/DolphinQt: Improve input detection.
2019-03-13 19:00:24 -04:00
JosJuice bc9e9caf19
Merge pull request #7888 from lioncash/const
UICommon/ResourcePack: Mark ResourcePack's operator== as const
2019-03-13 21:41:07 +01:00
spycrab 635afc1db4
Merge pull request #7883 from spycrab/qt_no_dark_mode
Qt: Don't use 'Dark Mode'
2019-03-13 21:19:20 +01:00
Lioncash 6045b44203 UICommon/ResourcePack: Provide inequality operator to complement equality operator
Provides symmetrical behavior with the equality operator.
2019-03-13 15:55:20 -04:00
Lioncash 9d096a5e16 UICommon/ResourcePack: Mark ResourcePack's operator== as const 2019-03-13 15:53:30 -04:00
Lioncash 02da306d9a DolphinQt/Debugger/RegisterColumn: Add HID registers to the register pane
Adds the Hardware Implementation-Dependent registers to the register
pane, which makes it much nicer to see which hardware-specific features
are enabled or disabled.
2019-03-13 15:45:28 -04:00
Tilka 7b354fa7ac
Merge pull request #7637 from CrystalGamma/pr-crhelpers
PowerPC: Factor out CR helpers into POD class
2019-03-13 18:12:52 +00:00
JosJuice 185b1cf90c DolphinQt: Fix OnStopRecording/OnExportRecording logic 2019-03-13 17:35:20 +01:00
JosJuice 6c89957cf1 DolphinQt: Save movie when closing emulation
Missing feature from DolphinWX.
2019-03-13 15:40:36 +01:00
spycrab 339914f56d Qt: Don't use 'Dark Mode' 2019-03-13 14:30:43 +01:00
Mat M 7944a055a6
Merge pull request #7876 from JosJuice/4-char-window-title
Fix title database not working when running games with 4-char game IDs
2019-03-12 05:17:33 -04:00
Stenzek cce7ac43d4 FramebufferManager: Fix panic in VertexManager with large EFB depth poke batches 2019-03-12 18:26:07 +10:00
JosJuice d879283e2d Fix title database not working when running games with 4-char game IDs
Regression from 8842a0f.
2019-03-12 08:42:05 +01:00
JMC47 22e7419747
Merge pull request #7838 from stenzek/efb-tile-cache
FramebufferManager: Implement EFB tile cache
2019-03-12 03:10:20 -04:00
Jordan Woyak 49218c32ed WiimoteReal: Improve state changes and minor code cleanups. 2019-03-11 15:46:04 -05:00
feos 7fd940411b decrease gop size (keyint)
this makes seeking a lot smoother (especially at high resolutions), while only adding less than 1% of filesize with this codec.
2019-03-11 22:17:13 +03:00
feos 005e60fa22 change pixel format from BGRA to BGR0
for this kind of footage carrying alpha information makes no sense, and it additionally complicates things by hugely damaging compatibility of the resulting video. after this change alone the video becomes compatible with VfW/WinAPI and tools that rely on it (avisynth, virtualdub).

fixes https://bugs.dolphin-emu.org/issues/11141 and https://bugs.dolphin-emu.org/issues/10193
2019-03-11 22:17:12 +03:00
spycrab 909e9322e7
Merge pull request #7875 from spycrab/qt_msgbox_fixes
ModalMessageBox: Remove superfluous buttons and ensure correct parent
2019-03-11 19:36:19 +01:00
spycrab 63fd931245 ModalMessageBox: Remove superfluous buttons and ensure correct parent 2019-03-11 18:24:59 +01:00
JMC47 9e4ab87a34
Merge pull request #7765 from AdmiralCurtiss/fzero-save-file-out-of-bounds
GCMemcard: Fix out of bounds access in F-Zero GX checksum calculation.
2019-03-11 12:40:03 -04:00
spycrab 8293724f4e
Merge pull request #7834 from Techjar/netplay-dialog-declutter
Qt/NetPlayDialog: Move most options into a menu bar
2019-03-11 17:27:55 +01:00
Jordan Woyak 224e678cf8 WiimoteEmu: Fix a config change callback causing a crash on exit. 2019-03-09 06:51:37 -06:00
Stenzek 9293c82b24 DolphinQt: Add option for deferred EFB cache invalidation 2019-03-09 12:36:32 +10:00
Stenzek a218a794cb FramebufferManager: Implement deferred EFB cache invalidation 2019-03-09 12:24:04 +10:00
Stenzek 6bc4bfd26a FramebufferManager: Implement EFB tile cache
The new tile cache is dynamic in size and can be turned on/off.
2019-03-09 12:23:33 +10:00
Stenzek 65216c9e87 VideoConfig: Add SupportsPartialDepthCopies to backend info
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
2019-03-09 12:19:53 +10:00
CrystalGamma e3075f3834 PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01:00
Tillmann Karras 1790497789 Work around GCC 8.2 ICE 2019-03-08 09:47:06 +00:00
spycrab db2542886a
Merge pull request #7844 from spycrab/updatecommon_electric_boogaloo
UpdaterCommon: Move most of the programs here
2019-03-07 19:09:35 +01:00
Connor McLaughlin 7d17163ce8
Merge pull request #7862 from spycrab/macos_vulkan_crash
VideoCommon/RenderBase: Don't destroy pipelines that are in use
2019-03-07 23:15:48 +10:00
spycrab ae8412b901
Merge pull request #7858 from spycrab/more_padding
Qt: Increase padding a bit
2019-03-07 14:03:17 +01:00
spycrab f72652f690
Revert "Vulkan: Show backend as Vulkan (MoltenVK) on macOS" 2019-03-07 02:05:59 +01:00
spycrab 9ca394bbea VideoCommon/RenderBase: Don't destroy pipelines that are in use 2019-03-07 01:59:46 +01:00
spycrab a5534ec950 Vulkan: Show backend as Vulkan (MoltenVK) on macOS 2019-03-06 15:25:54 +01:00
spycrab f7e93a6556 Qt/ModalMessageBox: Use Warning instead of Critical icon for questions 2019-03-06 13:54:43 +01:00
spycrab 470b9e68e7 Qt: Increase padding a bit 2019-03-06 13:46:00 +01:00
Tilka a865cc0bf6
Merge pull request #7806 from jordan-woyak/wiimote-emu-swing-improve
WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math.
2019-03-05 23:37:00 +00:00
Techjar b65faa0549 Qt/NetPlayDialog: Move most options into a menu bar
This eliminates the clutter of checkboxes at the bottom of the window.
A QAction within a QMenu cannot have a tooltip however, so they have
been removed and the options will be documented on the wiki.
2019-03-05 05:56:22 -05:00
Mat M 5d7701dec2
Merge pull request #7856 from lioncash/unused
DolphinQt/MenuBar: Remove unused ModalMessageBox instance
2019-03-04 23:04:36 -05:00
Mat M 86fd8e25f7
Merge pull request #7854 from Techjar/ini-editor-menus
Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
2019-03-04 22:29:16 -05:00
Lioncash 3e0854c4aa DolphinQt/MenuBar: Remove unused ModalMessageBox instance 2019-03-04 20:16:45 -05:00
Techjar 86d036ec4b Qt: Remove "What's this?" button from modal message boxes 2019-03-04 18:55:22 -05:00
Techjar d44b1b563a Qt/GameConfigEdit: Use QPushButton instead of QToolButton for presets menu
QToolButton looks ugly on macOS, and doesn't seem appropriate for this
use case anyways.
2019-03-04 18:39:25 -05:00
spycrab 70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
spycrab d1cb79f644 QtUtils: Add ModalMessageBox 2019-03-04 21:48:23 +01:00
Connor McLaughlin a59010fa29
Merge pull request #7851 from Tilka/efb_stats
VideoCommon: add EFB peek/poke stats
2019-03-04 15:28:22 +10:00
Tillmann Karras 05fa667d03 VideoCommon: add EFB peek/poke stats 2019-03-04 02:49:59 +00:00
Mat M 191ef76da2
Merge pull request #7775 from chargeflux/QComboBoxBGColorFix-macOS
Fix QComboBox background and transparency workaround on macOS
2019-03-03 20:52:32 -05:00
Jordan Woyak c389d68186 ControllerInterface/DolphinQt: Make mapping "all devices" way less hacky. 2019-03-03 18:39:02 -06:00
Jordan Woyak 48b69ca018 ControllerInterface: Input detection improvements. 2019-03-03 18:36:16 -06:00
spycrab 13b2b93d3d
Merge pull request #7846 from spycrab/qt_no_ticks
Qt/MappingButton: Don't show ticks
2019-03-04 01:29:48 +01:00
Mat M 66a8220011
Merge pull request #7845 from jordan-woyak/elided-button-fix
DolphinQt: Fix ElidedButton (MappingButton) from growing with long text.
2019-03-03 18:53:01 -05:00
Mat M 503b96c617
Merge pull request #7848 from jordan-woyak/config-change-callbacks
Common/Config: Add a utility class to defer config change callbacks.
2019-03-03 18:44:34 -05:00
Jordan Woyak 1cae9b9b39 DolphinQt: Fix ElidedButton (MappingButton) from growing with long text. 2019-03-03 17:41:48 -06:00
Jordan Woyak bbc6bf5294 Common/Config: Add a utility class to suppress config change callbacks. 2019-03-03 17:35:22 -06:00
Mat M 2eb9140e07
Merge pull request #7850 from jordan-woyak/device-and-profile-dropdown-fix
DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout.
2019-03-03 18:33:16 -05:00
Jordan Woyak 031149cc1d DolphinQt: Prevent contents of device and profile dropdowns from throwing off layout. 2019-03-03 16:09:24 -06:00
spycrab 2dcb703a1e
Merge pull request #7842 from spycrab/win_updater_hidpi
Updater: Support HiDPI
2019-03-03 22:46:19 +01:00
Jordan Woyak 4db4840d7c WiimoteEmu: Reimplement tilt/swing/camera/orientation data using matrix math. 2019-03-03 12:43:25 -06:00
spycrab 0d203cf0bb Qt/GCMemcardManager: Make message boxes modal 2019-03-03 16:36:58 +01:00
spycrab 326e2fb300 Qt/FIFOPlayerWindow: Make message box modal 2019-03-03 16:26:23 +01:00
spycrab 1ba810901d Qt/MappingWindow: Make message boxes modal 2019-03-03 16:19:50 +01:00
spycrab 103cb430f4 Qt/ControllerWindow: Make message boxes modal 2019-03-03 16:16:25 +01:00
spycrab 7f9084f87f Qt/USBDeviceATWhitelistD: Make message boxes modal 2019-03-03 16:12:12 +01:00
spycrab 606c61e7c9 Settings/InterfacePane: Make message box modal 2019-03-03 16:05:07 +01:00
spycrab 0c886b5e3c Settings/GeneralPane: Make message boxes modal 2019-03-03 15:56:23 +01:00
spycrab 386accd2c8 Qt/MappingButton: Don't show ticks 2019-03-03 15:49:24 +01:00
spycrab 19bf2c166d UpdaterCommon: Move most of the programs here 2019-03-03 15:02:44 +01:00
spycrab 2a3c075330
Merge pull request #7843 from spycrab/mac_update_label
MacUpdater: Properly display and truncate update messages
2019-03-03 13:30:43 +01:00
spycrab 833cb88c38 MacUpdater: Properly display and truncate update messages 2019-03-03 13:27:18 +01:00
spycrab 1e13ebd091 Updater: Support HiDPI 2019-03-03 12:56:26 +01:00
Mat M 8156df2758
Merge pull request #7837 from jordan-woyak/deadzone-math-fix
ControllerEmu: Deadzone math fix.
2019-03-03 02:32:04 -05:00
Mat M 7a8ddbaccb
Merge pull request #7840 from jordan-woyak/game-config-save-fix
DolphinQt: Fix invalid error message when trying to save a zero-sized game config.
2019-03-03 02:27:12 -05:00
Jordan Woyak 2cec5d0a08 DolphinQt: Fix invalid error message when trying to save a zero-sized game config. 2019-03-02 21:23:39 -06:00
Jordan Woyak ecb67cf815 ControllerEmu: Deadzone math fix. 2019-03-01 17:40:10 -06:00
Tillmann Karras 24ba3bf2f2 TextureConversionShader: fix XFB decoding shader 2019-03-01 21:54:33 +00:00
spycrab 3c2ebec84e
Merge pull request #7828 from spycrab/updatecommon2
UpdaterCommon: Prevent duplicate downloads and respect symlinks
2019-02-28 13:04:15 +01:00
spycrab 7b66b3de8d UpdaterCommon: Prevent duplicate downloads and respect symlinks 2019-02-28 12:59:38 +01:00
Tilka 6be35422e9
Merge pull request #7832 from stenzek/xfb-decoding-regression
TextureCache: Fix GPU decoding of XFB copies
2019-02-28 11:03:25 +00:00
Stenzek 8192c0dd48 TextureConversionShader: Fix XFB decoding shader for D3D
D3D has no mix() equivalent with a bool parameter. Compilers should be
able to optimize the ternary into a select anyway.
2019-02-28 20:43:50 +10:00
Stenzek 21d81f99ff VideoBackends: Fix GPU decoding of XFB buffers
Was using UNORM instead of UINT, resulting in invalid values.
2019-02-28 20:35:22 +10:00
Stenzek db6763019d TextureCache: Fix GPU decoding of XFB copies not falling back to CPU 2019-02-28 20:19:37 +10:00
Stenzek 7f0111b022 TextureCache: Fix EFB2RAM copies at >1xIR sampling out-of-range 2019-02-28 20:11:46 +10:00
chargeflux 77777cd1d7 Fix QComboBox background and transparency workaround on macOS 2019-02-26 17:03:38 -05:00
spycrab 902e407ae5
Merge pull request #7823 from spycrab/updatercommon
Move shared Updater logic into UpdaterCommon
2019-02-26 22:15:42 +01:00
spycrab f10fdce158
Merge pull request #7825 from spycrab/fileutil_osx_path
Common/FileUtil: Fix GetExePath() cutting off the bundle name
2019-02-26 21:56:27 +01:00
spycrab 873d22b8b2
Merge pull request #7826 from spycrab/issue_11586
MacUpdater: Set LSUIElement to true
2019-02-26 21:52:45 +01:00
spycrab f0b749d8e2 MenuBar: Implement proper update-capabilities check 2019-02-26 20:42:55 +01:00
spycrab d0d85c15b4 MacUpdater: Set LSUIElement to true 2019-02-26 20:26:52 +01:00
spycrab 3e3f6922c0 Common/FileUtil: Fix GetExePath() cutting off the bundle name 2019-02-26 20:00:23 +01:00
spycrab 9c84524684 Move shared Updater logic into UpdaterCommon 2019-02-26 19:27:36 +01:00
spycrab 0ebf3b90e3 MacUpdater: Fix permissions some more 2019-02-26 17:16:04 +01:00
Tilka 19f4772e47
Merge pull request #7816 from JosJuice/titledatabase-edge-cases
Fix edge cases in TitleDatabase, cover downloading, Gecko code downloading
2019-02-26 04:25:45 +00:00
Tilka 02f5a7505f
Merge pull request #7821 from jordan-woyak/emu-turntable-effect-dial-fix
WiimoteEmu: Fix turntable effect dial mapping.
2019-02-26 04:22:45 +00:00
Tilka 6ce7f44b8a
Merge pull request #7753 from stenzek/videocommon-all-the-things
Move a significant amount of video backend logic to VideoCommon
2019-02-26 04:21:05 +00:00
Jordan Woyak 4b830ddc26 WiimoteEmu: Fix turntable effect dial mapping. 2019-02-25 15:54:36 -06:00
Tillmann Karras 8396ad541b DolphinQt: clean up includes 2019-02-25 20:15:12 +00:00
Tillmann Karras 8b330e1ca3 Discord: fix typo 2019-02-25 19:31:49 +00:00
JosJuice 71e6243c54 TitleDatabase: Don't hardcode HBC IDs that actually are in GameTDB 2019-02-25 19:55:49 +01:00
JosJuice 9df763b4ac TitleDatabase: Don't merge multiple languages into same map
Instead of selecting languages based on the user config at the time
of TitleDatabase creation and merging the different languages into one
map for GC and one map for Wii, have one map for each language, and
have the caller supply the language they want. This makes us not need
the IsGCTitle function, which is inaccurate for IDs that start with D.
2019-02-25 19:55:46 +01:00
JosJuice 8842a0f402 Keep track of GameTDB ID separately from game ID
The difference between Dolphin's game IDs and GameTDB's game IDs
is that GameTDB uses four characters for non-disc titles, whereas
Dolphin uses six characters for all titles.

This fixes:

- TitleDatabase considering Datel discs to be NHL Hitz 2002
- Gecko code downloading not working for discs with IDs starting with P
- Cover downloading mixing up discs with channels (e.g. Mario Kart Wii
  and Mario Kart Channel) and making extra HTTP requests. (Android was
  actually doing a better job at this than DolphinQt!)
2019-02-25 19:54:25 +01:00
Mat M d27036eb77
Merge pull request #7814 from JosJuice/overwrite-aspect-mode
VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
2019-02-25 13:29:03 -05:00
Mat M fad9c0cc93
Merge pull request #7813 from jordan-woyak/wiimote-emu-ir-enable-fix
WiimoteEmu: Minor IR Camera behavior fix.
2019-02-25 13:28:14 -05:00
spycrab 96786d0501 MacUpdater: Retain file permissions 2019-02-25 10:14:26 +01:00
Jordan Woyak d64f29d234 WiimoteEmu: Minor IR Camera behavior accuracy fix. 2019-02-23 16:40:47 -06:00
Tilka 83ff3aa691
Merge pull request #7815 from JosJuice/elf-dol-size
Don't show asterisk next to DOL/ELF size in game list
2019-02-23 15:46:03 +00:00
JosJuice 5ace78bf20 Don't show asterisk next to DOL/ELF size in game list 2019-02-23 16:17:39 +01:00
JosJuice ea7b96342b VideoConfig: Don't overwrite aspect_mode with suggested_aspect_mode
Unnecessary since b93b7ec. It was needed before that commit becase
RenderBase.cpp only was checking the value of aspect_mode, not
suggested_aspect_mode.
2019-02-23 16:00:18 +01:00
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