Commit Graph

25146 Commits

Author SHA1 Message Date
Pierre Bourdon
22108bbae7
Merge pull request #7288 from zackhow/wiisettings
Android: Fix emulated wiimotes via controller
2018-07-30 11:42:05 +02:00
zackhow
38c8d970f2 Android: Fix emulated wiimotes via controller
A little background: Android has 8 controller setup, 4 gamecube pads and 4 wiimote pads. When the static GCPadNew.ini and wiimotenew.ini is created, pads 0-3 are gc 1-4, and 4-7 are wii 1-4. Problem was the settings set wii controllers as pads 1-4, instead of 4-7. So any setting for wiimote1, was set for gc2(padID 1). Which is why the only wiimote to work was 4, since it mapped to padID 4, which is actually wiimote1.
2018-07-29 21:24:28 -04:00
spycrab
8fb3085b07 Revert "Revert "Qt/GameList: Add option to show covers in grid mode"" 2018-07-30 03:16:37 +02:00
degasus
5333c17cca Jit: Fix branch following.
The idea of this code was to not unroll loops, but it was completely broken.
So we've unrolled all loops, but only up to the second iteration.
Honestly, a better check would test if we branch to code which is already in the compiling block. But this is out of scope for now.

But testing shows that this unrolling actually improve the performance. So instead of fixing this bug, this check can be dropped.
2018-07-28 16:35:42 +02:00
Techjar
7036299a92 NetPlay: Improve settings synchronization and UI
Most settings which affect determinism will now be synced on NetPlay.
Additionally, there's a strict sync mode which will sync various
enhancements to prevent desync in games that use EFB reads.

This also adds a check for all players having the IPL.bin file, and
doesn't load it for anyone if someone is missing it. This prevents
desyncs caused by mismatched system fonts.

Additionally, the NetPlay window was getting too wide with checkboxes,
so FlowLayout has been introduced to make the checkboxes take up
multiple rows dynamically. However, there's some minor vertical
centering issues I haven't been able to solve, but it's better than a
ridiculously wide window.
2018-07-26 17:23:04 -04:00
JosJuice
7c2d2548a8
Merge pull request #7284 from Techjar/netplay-fix-unknown-region-crash
Fix segfault on NetPlay start with unknown region
2018-07-22 22:27:34 +02:00
Markus Wick
be9437450e
Merge pull request #7234 from zackhow/master
Android: Support for AndroidTV Oreo Homescreen channels
2018-07-22 15:02:49 +02:00
Techjar
dee64a89e0 Fix segfault on NetPlay start with unknown region
This is accomplished by having SConfig::GetDirectoryForRegion no longer
return nullptr, as doing that was kind silly, considering we never
check for nullptr.
2018-07-21 13:13:08 -04:00
JosJuice
448547c38f
Merge pull request #7250 from JosJuice/android-nonzero-axis
Android controller mapping: Ignore axes with constant values
2018-07-21 14:23:49 +02:00
Techjar
cfeffdcf42 Fix more segfaults on NetPlay quit
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.

MD5 check would also cause a segfault if you quit without cancelling it first, which was pretty silly.
2018-07-21 00:04:14 -04:00
Mat M
a21d536f99
Merge pull request #7282 from booto/no-more-global-dcbz-disable
Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
2018-07-20 23:05:38 -04:00
spycrab
d6833cb217
Merge pull request #7279 from Techjar/qt-macos-iowindow
Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS
2018-07-21 02:16:46 +02:00
spycrab
c141511c87
Merge pull request #7222 from Techjar/netplay-sync-saves
NetPlay save data synchronization
2018-07-21 02:09:02 +02:00
zackhow
0488fe1d30 Android: Support for AndroidTV Oreo Homescreen channels 2018-07-20 17:56:45 -04:00
booto
f88c46b4da Config: Remove Core::DCBZ [bDCBZOFF] - obsolete
This option completely disabled the DCBZ instruction. Users are toggling
this option in dolphin forks and using that same problematic config when
launching dolphin. Removing the option from dolphin will let the config be
ignored.
2018-07-20 03:25:12 -04:00
Techjar
4407854e9c NetPlay save data synchronization
This adds the functionality of sending the host's save data (raw memory
cards, as well as GCI files and Wii saves with a matching GameID) to
all other clients. The data is compressed using LZO1X to greatly reduce
its size while keeping compression/decompression fast. Save
synchronization is enabled by default, and toggleable with a checkbox
in the NetPlay dialog.

On clicking start, if the option is enabled, game boot will be delayed
until all players have received the save data sent by the host. If any
player fails to receive it properly, boot will be cancelled to prevent
desyncs.
2018-07-19 18:09:20 -04:00
Stenzek
dae161e138 FramebufferManager: Use D24S8 on Adreno when using Vulkan
D32F clears are broken on Adreno, which resulted in smeared geometry
across the screen.
2018-07-19 23:30:25 +10:00
Stenzek
3323265d91 FramebufferManager: Dynamic selection of EFB depth format 2018-07-19 21:47:42 +10:00
Stenzek
b30342d38f VideoBackends: Support D24S8 abstract texture format 2018-07-19 21:47:42 +10:00
Markus Wick
f5e8af7b6c
Merge pull request #7276 from stenzek/disable-shared-context-nouveau
DriverDetails: Disable shared context shader compilation on nouveau
2018-07-19 09:15:27 +02:00
Mat M
bcdffdfe63
Merge pull request #7280 from Techjar/qt-cheats-manager-crash
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 18:05:45 -04:00
Techjar
3cee7d599b Qt/CheatsManager: Fix segfault in GenerateARCode 2018-07-18 17:56:31 -04:00
Techjar
44aa3cdc0f Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS 2018-07-17 14:35:56 -04:00
cremno
4ad2153378 fix compilation w/o Discord Rich Presence 2018-07-17 12:03:41 +02:00
Anthony
98c7b232c4
Merge pull request #7266 from spycrab/qt_discord_fix
Qt/GeneralPane: Disable Rich Presence checkbox while emulation is run…
2018-07-16 22:10:32 -07:00
Mat M
944b5fade6
Merge pull request #7264 from ligfx/ffmpeg_deprecations
Fix deprecation warnings with recent FFmpeg versions
2018-07-16 23:44:18 -04:00
Stenzek
602fe0f457 DriverDetails: Disable shared context shader compilation on nouveau
Our usage of glFinish() can cause driver crashes and/or lockups.

Please note that this disables the background shader compilation (i.e.
all shaders will be compiled on boot). There is no way around this.
2018-07-17 13:34:18 +10:00
Techjar
f37813d8b6 Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
JosJuice
c663dc9e00 Remove settings that only were used by DolphinWX 2018-07-16 21:21:42 +02:00
JosJuice
325f3c6ee5
Merge pull request #7254 from Techjar/dont-set-jitfollowbranch
Core/ConfigManager: Don't set JITFollowBranch
2018-07-16 21:06:31 +02:00
Lioncash
a9003aadc6
DolphinQt/MainWindow: Replace includes with forward declarations
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Techjar
d49b415e75 Core/ConfigManager: Don't set JITFollowBranch
We don't want to write this setting to disk, as SConfig has problems
with leaking settings changed by GameINI into the base configs. The
result of this is that if someone plays an N64 VC game (or other game
where we disable this setting) the branch following option can get
unintentionally disabled globally, which will reduce performance in
many games and cause NetPlay to desync with users who still have it
enabled.
2018-07-15 17:38:10 -04:00
Lioncash
71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab
6044165f9d
Merge pull request #7237 from lioncash/netsettings
NetPlayClient: Make global NetSettings instance part of the NetPlayClient class
2018-07-15 00:02:58 +02:00
spycrab
d438e80bfd Qt/GeneralPane: Disable Rich Presence checkbox while emulation is running
Works around core hanging when Discord Rich Presence is toggled
while emulation is running.
2018-07-14 23:39:06 +02:00
spycrab
e9158bae6f Qt/LogWidget: Fix messages not being escaped properly 2018-07-14 23:06:18 +02:00
Michael M
857138a0ba AVIDump: use dump_path rather than deprecated AVFormatContext::filename
AVFormatContext::filename was deprecated in lavf 58.7.100 in favor
of AVFormatContext::url. Instead of adding version-checking logic,
just use the passed-in dump path instead.
2018-07-14 12:46:04 -07:00
Michael M
e45698aaa0 AVIDump: av_register_all is deprecated/unneeded since 58.9.100 2018-07-14 12:46:00 -07:00
Lioncash
9983d92981 WiimoteEmu: Resolve unrelated lint code style warnings
This discrepancy was introduced in b3b1845785
2018-07-13 13:34:00 -04:00
Lioncash
cfe7549091 ControlGroup/Triggers: Return state data by value
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
97ba02df27 ControlGroup/Tilt: Return state data by value
Makes it less error-prone to get state data from tilt controls (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
918d448b5b ControlGroup/Slider: Return state data by value
Makes it less error-prone to get state data from sliders (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
4c30b9e14d ControlGroup/Force: Return state data by value
Ensures that an array of sufficient size is always used and doesn't put
the responsibility on the caller. It also allows for direct assignment.
2018-07-13 13:20:35 -04:00
Lioncash
ef1240b0c7 ControlGroup/Cursor: Return state data by value
Makes it less error-prone to get state data from cursors (no need
to pass any pointers to locals), and also allows direct assignment,
letting the retrieved data be const.
2018-07-13 13:20:35 -04:00
Lioncash
d05f490caa ControlGroup/AnalogStick: Return state data by value
Makes it less error-prone to get state data from analog sticks (no need
to pass any locals), and also allows direct assignment, letting the
retrieved data be const.
2018-07-13 13:20:31 -04:00
Lioncash
d80f91478f WiimoteReal: Make functions internally linked where applicable
These functions are only used within this translation unit, so they can
be made internally linked.
2018-07-13 09:24:27 -04:00
spycrab
4826acd931
Merge pull request #7260 from spycrab/qt_fix_lazy
Qt/GraphicsWindow: Fix lazy initialisation bugs
2018-07-13 13:07:30 +02:00
spycrab
c8af83202a Qt/GraphicsWindow: Fix lazy initialisation bugs 2018-07-13 12:38:21 +02:00
booto
e2e43b4896 CP: some bits in some of the HI registers cannot be set
The mask is slightly different for Wii and GCN so we need to work it out at runtime.
2018-07-12 20:15:27 -04:00
Lioncash
7f8cdbb2a4
CMake: Only link in Bochs on x86 platforms
Bochs' disassembler is only for disassembling x86 code. On non-x86
platforms it doesn't really make sense to build and link this in.
2018-07-12 16:44:17 -04:00
Lioncash
113a357604 WiimoteEmu: Make constructor of Wiimote explicit
Prevents implicit conversions
2018-07-12 15:59:31 -04:00
Lioncash
5b58977561 WiimoteEmu: Amend parameter names for EmulateShake() and EmulateSwing()
Ensures they match their naming within the definition of the function.

In EmulateSwing's case, one parameter was erroneously named tilt_group,
when it's actually supposed to be swing_group.
2018-07-12 15:58:50 -04:00
Lioncash
2825b2daa2 WiimoteEmu: Remove unnecessary value-wise const from function prototypes
These aren't necessary in the prototype, however they do apply in the
definition of the function. This just cuts down on line noise within the
prototypes.
2018-07-12 15:54:01 -04:00
spycrab
cc6526f553
Merge pull request #6222 from iwubcode/emulated_input_improvements
Emulated wii input improvements
2018-07-12 20:36:53 +02:00
spycrab
303f5e0dc2
Merge pull request #7256 from spycrab/qt_forward
HW/WiimoteEmu: Add Forward Option
2018-07-12 20:21:11 +02:00
Lioncash
f209f5f2a4
NetPlayClient: Make the NetSettings instance part of the NetPlayClient class
This is only ever read from externally, so we can expose a getter that ensures that
immutability, while making the actual instance internal. Given the
filling out of these settings depends on packets received by the client
instance, it makes more sense to make it a part of the client itself.

This trims off one lingering global.
2018-07-12 13:55:41 -04:00
spycrab
55b5a24910
Merge pull request #7244 from lioncash/error
Qt/MenuBar: Make failures to load map and signature files more obvious
2018-07-12 19:41:36 +02:00
spycrab
b3b1845785 HW/WiimoteEmu: Add Forward Option 2018-07-12 19:35:30 +02:00
spycrab
92f397d0fa
Merge pull request #7255 from Techjar/qt-netplay-message-color
[RFC] Qt/NetPlayDialog: Change own chat message color to better suit dark themes
2018-07-12 17:42:55 +02:00
spycrab
9ab489aab8 Qt/NetPlayDialog: Show alerts when events happen
Displays an alert when you receive a message or a player joins / leaves
2018-07-12 17:33:12 +02:00
Techjar
d85dd287cf Qt/NetPlayDialog: Change own chat message color to better suit dark themes 2018-07-12 06:34:14 -04:00
Shawn Hoffman
19ddd29afb bump msvc version check 2018-07-11 14:53:38 -07:00
JosJuice
7f6be99ad9 Android: Make ControllerMappingHelper methods static
This class has no state.
2018-07-11 14:00:57 +02:00
JosJuice
78cb1c2914 Android: Remove controller-specific code that isn't needed anymore 2018-07-11 14:00:37 +02:00
JosJuice
d32c297c0d Android controller mapping: Ignore axes with constant values
Some controllers have axes that are stuck to values like 0.5 or 1.
Starting with PR #6123, when you press a control to map, Dolphin will
immediately think that such an axis is the axis that you want to map.
This commit fixes that issue (https://bugs.dolphin-emu.org/issues/10909)
2018-07-11 13:59:22 +02:00
spycrab
fc967908ea
Merge pull request #7238 from Techjar/netplay-bundle-pad-states
NetPlay: Bundle multiple local pads into one packet
2018-07-11 11:27:10 +02:00
spycrab
df5d1cf13a
Merge pull request #7233 from Techjar/qt-jit-branch-menu
Qt/MenuBar: Add missing JIT branch option in debugger
2018-07-11 11:27:00 +02:00
spycrab
c04b07674e
Merge pull request #7243 from Ebola16/SU
Qt: Clarify Synchronous (Ubershaders) name
2018-07-11 10:59:25 +02:00
spycrab
c7ff141606
Merge pull request #7219 from ligfx/mappingwindow_hotplug
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-11 10:58:26 +02:00
spycrab
ea99cdd781
Merge pull request #7247 from lioncash/fwd
Qt/GameList: Replace includes with forward declarations where applicable
2018-07-11 10:57:02 +02:00
spycrab
d81b63f403
Merge pull request #7245 from lioncash/internal
Qt/CheatsManager: Move concealable types into the cpp file
2018-07-11 10:55:42 +02:00
spycrab
f170009aad
Merge pull request #7246 from lioncash/enum
Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
2018-07-11 10:52:04 +02:00
Markus Wick
d819df1d08
Merge pull request #7186 from gwicks/androidTouchJoystickRelCenter
Android: Make touch joystick re-centering configurable
2018-07-11 08:41:06 +02:00
spycrab
bf4341f762
Merge pull request #7248 from Techjar/netplay-fix-spectator-deadlock
NetPlay: Don't update mappings on leave if player had no mappings
2018-07-11 01:18:22 +02:00
spycrab
42298f6d6d
Merge pull request #7239 from addestroyer24/manual-update-now
Updater: fix immediate manual updating
2018-07-11 00:58:21 +02:00
spycrab
c7c364f8d5
Merge pull request #7242 from spycrab/np_debug
Core/NetPlay: Add debugging messages
2018-07-11 00:57:22 +02:00
Techjar
39449da304 NetPlay: Don't update mappings on leave if player had no mappings
This stops clients randomly deadlocking when a spectator leaves, as the mappings construct is not thread-safe and should not be written while the game is running.
2018-07-10 18:35:37 -04:00
spycrab
b367cd0331 Core/NetPlay: Add debugging messages 2018-07-10 22:23:49 +02:00
Lioncash
9b2ffb6221 Qt/GameList: Replace includes with forward declarations where applicable
Avoids dragging in a bunch of includes from the header files, and also
reduces the amount of files that need to be recompiled if one of those
included headers' source content is ever changed.
2018-07-10 16:03:38 -04:00
Lioncash
a0642b3b00 Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
Makes the parameter strongly-typed and doesn't accept arbitrary int
values.
2018-07-10 15:23:12 -04:00
Lioncash
43bc3656eb
Qt/CheatsManager: Move concealable types into the cpp file
CompareType, DataType, and Result aren't directly used externally, so
these can have their definitions moved into the cpp file.
2018-07-10 14:34:24 -04:00
spycrab
71ff634c95
Merge pull request #7149 from spycrab/qt_5.9
Qt: Make Qt 5.9 a hard requirement
2018-07-10 20:20:27 +02:00
Lioncash
74899e417b Qt/MenuBar: Make failures to load map and signature files more obvious
Previously we wouldn't indicate if saving or loading these files
happened to fail. In some cases we'd only print out to the logger, but
this is a pretty poor way to tell a user of the interface that something
went wrong in a direct way (the logging messages aren't able to be localized
either).
2018-07-10 14:16:00 -04:00
Ryan Meredith
affd5689ff Qt: Clarify Synchronous (Ubershaders) name 2018-07-10 12:22:21 -04:00
spycrab
b9960777a7
Merge pull request #7236 from lioncash/fwd
DolphinQt/Settings: Replace includes with forward declarations
2018-07-10 16:24:33 +02:00
Techjar
006202a33c NetPlay: Fix SRAM desyncing after first boot 2018-07-10 05:03:31 -04:00
Lioncash
dfdfe6c972
Common/DebugInterface: Namespace code under the Common namespace
Gets more identifiers out of the global namespace and makes it more in
line with the rest of the (mostly) namespaced Common code.
2018-07-09 22:23:57 -04:00
Techjar
f68dbed535 NetPlay: Bundle multiple local pads into one packet
This saves a significant amount of bandwidth with multiple controllers on one client, as most of the packet is just protocol overhead.
2018-07-09 21:37:44 -04:00
Zac Davidsen
69999fd309 fix manual updating by passing the main window to the updater instead of the menubar 2018-07-09 19:39:50 -04:00
spycrab
31d9ca34e3
Merge pull request #7231 from Techjar/netplay-less-timebase
NetPlay: Send timebase packet less frequently
2018-07-09 23:29:46 +02:00
spycrab
4f5ea1ad5e
Merge pull request #7232 from Techjar/netplay-reduce-poll-rate-twice
NetPlay: Change "Reduce Polling Rate" to poll twice per frame
2018-07-09 23:29:22 +02:00
spycrab
31bc017593
Merge pull request #7235 from spycrab/jit_disable_following
Core/PowerPC: Add option to disable branch following
2018-07-09 23:22:08 +02:00
spycrab
df61e527da Core/PowerPC: Add option to disable branch following 2018-07-09 22:58:40 +02:00
spycrab
074b67706b Qt/Main: Remove redundant version check 2018-07-09 10:03:13 +02:00
spycrab
a22ffb6387 Qt: Remove ActionHelper 2018-07-09 10:02:10 +02:00
spycrab
4266d1f237 CMake: Require Qt 5.9 2018-07-09 09:17:33 +02:00
Lioncash
b4d91cc612 DolphinQt/Settings: Replace includes with forward declarations
Avoids dragging in netplay-related headers where they aren't explicitly
necessary.
2018-07-09 00:53:13 -04:00
Mat M
9487892c18
Merge pull request #7226 from lioncash/netplay
Core: Namespace NetPlay utilities under the NetPlay namespace
2018-07-09 00:38:12 -04:00
Techjar
2ee7021cda Qt/MenuBar: Add missing JIT branch option in debugger 2018-07-08 14:32:40 -04:00
Techjar
38e67c0530 NetPlay: Change "Reduce Polling Rate" to poll twice per frame
Some games don't play nice when we poll only once per frame, so we'll poll twice instead.
2018-07-08 06:14:13 -04:00
Techjar
98447eae64 NetPlay: Send timebase packet less frequently
This packet is only used by the host to detect desyncs, and we don't really need to know the exact frame we desynced on (unless you're debugging, but you can just recompile for that), so it's perfectly fine to just send it less often. This makes it so the timebase packet is sent only every 60 frames, rather than every frame, which further cuts back on unnecessary bandwidth consumption.
2018-07-08 02:18:17 -04:00
spycrab
8c97fb7cd4
Merge pull request #7203 from rukai/use_tas_checkbox
Add "Enable Controller Input" Checkbox on TAS dialogs
2018-07-08 04:35:50 +02:00
Lioncash
db5b2d93c3 Interpreter: Remove an unnecessary cast in Trace()
PowerPCState's cr_val member is an array of u64s, so we can just use the
correct printf macro specifier within cinttypes. This also avoids
truncation on operating systems that use an LLP64 data model (like
Windows), where long is actually 32 bits in size, not 64-bit, which
could result in wonky values being printed, should Trace ever be used on
it.
2018-07-07 16:06:26 -04:00
iwubcode
bce8041cce Input: Allow per-game configuration to specify directories for input-profiles. If specified, the directories are searched recursively for inis 2018-07-07 13:02:39 -05:00
iwubcode
3b11066e61 Fix lint bugs 2018-07-07 13:02:38 -05:00
iwubcode
230af569ed Input - Make dynamic rules be definable per game. Configuration can now
define how many frames constitute a high or a low swing/shake when the
button is down.  Also configurable is the number of frames to execute
the swing/shake after the button is released.
2018-07-07 12:55:52 -05:00
iwubcode
83c94feb3d Input: Trim profile names to allow spaces between ','s 2018-07-07 12:55:52 -05:00
iwubcode
e10abaed3e InputConfig: Show display message when game specific input profile is loaded; matching how cycling works 2018-07-07 12:55:52 -05:00
iwubcode
14482a72af Input: Allow cycling to occur for each individual controller 2018-07-07 12:55:49 -05:00
iwubcode
485285eadc Input: Add cycling between game specific profiles 2018-07-07 12:39:08 -05:00
iwubcode
3969bf6d1c Input: Add hotkey to cycle the wiimote profile forward or backward
Co-authored-by:  Barath Kannan <barathsotd@gmail.com>
2018-07-07 12:39:08 -05:00
spycrab
7b986c1b54
Merge pull request #7224 from lioncash/warning
VideoCommon/DolphinQt2: Resolve compiler warnings
2018-07-07 16:20:56 +02:00
Rukai
b94262ec33 Add 'Enable Controller Input' checkbox to TAS dialogs
When disabled only inputs from TAS dialog are used.
When enabled inputs from TAS dialog are used, except when a change in
input is detected from a real controller, in this case the TAS value is
replaced with the real controller value.
2018-07-07 22:55:42 +10:00
iwubcode
29b71fb9ce Wiimote Emulation: increase left/right bounds for IR calculation, to fix games that previously you couldn't reach the left/right edges (ex: system menu) 2018-07-07 00:49:47 -05:00
iwubcode
5cbc825bc9 Wiimote Emulation: add 'dynamic' swing/shake options that vary based on how long the key is pressed 2018-07-07 00:49:47 -05:00
iwubcode
9936a83a1b Add game-configurable shake/swing commands for the nunchuk at three intensities 2018-07-07 00:49:47 -05:00
iwubcode
fb7a6a1bbe Wiimote Emulation: Add game-configurable shake/swing commands for the wiimote at three intensities 2018-07-07 00:49:47 -05:00
iwubcode
9f9afeb63e Wiimote Emulation: Be able to trigger swings consistently by holding down buttons. This makes certain actions easier (tested with Red Steel) 2018-07-07 00:49:47 -05:00
Michael M
e7cbee235c Convert Dolphin.Core.DefaultISO to use new-style config 2018-07-06 19:28:19 -07:00
Michael M
ce98a9c71d Qt/MappingWindow: update devices combo box when hotplugging devices 2018-07-06 17:15:30 -07:00
Michael M
b689a195ff Qt: add Settings::DevicesChanged signal 2018-07-06 17:15:29 -07:00
Lioncash
ef35f93cbd
DolphinQt/PatchesWidget: Remove unused private member variable m_game
This resolves a -Wunused-private-field warning
2018-07-06 19:58:51 -04:00
Lioncash
935a273cf1
DolphinQt/GameTracker: Remove unused lambda capture in constructor
This resolves a -Wunused-lambda-capture warning
2018-07-06 19:58:31 -04:00
Lioncash
34c3a65de6
VideoCommon/TextureCacheBase: Resolve a -Wmissing-braces warning in GetRAMCopyFilterCoefficients() 2018-07-06 19:56:35 -04:00
Lioncash
675260b0f7
Core: Namespace NetPlay utilities under the NetPlay namespace
Previously there was only one function under the NetPlay namespace,
which is kind of silly considering we have all of these other types
and functions existing outside of the namespace.

This moves the rest of them into the namespace.

This gets some general names, like Player, for example, out of the global namespace.
2018-07-06 19:53:23 -04:00
spycrab
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
spycrab
059880bb16
Merge pull request #7221 from Techjar/netplay-config-junk
Fix NetPlay using some config values wrongly
2018-07-06 22:32:18 +02:00
spycrab
bb8b872863 Qt: Refresh Gamelist more thoroughly 2018-07-06 20:27:07 +02:00
spycrab
64c3d01551 Qt/GameTracker: Remove workaround 2018-07-06 20:18:45 +02:00
spycrab
28ca6fec9a
Merge pull request #7202 from Techjar/better-netplay-errors
Improve NetPlay connection error handling
2018-07-06 12:27:03 +02:00
spycrab
eb01a0a040
Merge pull request #7204 from spycrab/exclusive_mapping
Support for exclusive mapping booleans
2018-07-06 11:27:20 +02:00
Techjar
eeff5e07ff Fix NetPlay using some config values wrongly 2018-07-05 17:52:53 -04:00
Techjar
a29cdb5713 Improve NetPlay connection error handling 2018-07-05 17:15:19 -04:00
spycrab
14317c8a0f
Merge pull request #7212 from Techjar/netplay-unparent-dialog
Qt: Unparent NetPlay dialog from main window
2018-07-05 22:49:58 +02:00
spycrab
fbf445154b
Merge pull request #7217 from Techjar/qt-clock-speed-slider
Qt/AdvancedPane: Fix CPU clock slider not updating on emulation state change
2018-07-05 22:48:21 +02:00
spycrab
233787e8a7
Merge pull request #7213 from Techjar/netplay-fix-md5
Qt/MD5Dialog: Fix checksum result comparison
2018-07-05 22:45:54 +02:00
spycrab
bb2eed2df3 Qt/GameTracker: Work around Qt crash
Works around a bug in QtCore that will cause crashes when
QFileSystemWatcher::addPath is called on a directory that is located on a
removable device (USB mass storage devices, etc.)
2018-07-05 22:07:41 +02:00
Techjar
cd8e3efb21 Qt/AdvancedPane: Fix CPU clock slider not updating on emulation state change 2018-07-05 15:20:29 -04:00
Techjar
f620128dac Qt: Unparent NetPlay dialog from main window
This should make the NetPlay dialog appear as a separate window in the taskbar on most systems, which makes more sense than a parented dialog as the user will leave it open for an extended period.
2018-07-05 06:48:31 -04:00
Léo Lam
eb9009e5c0 DSPTool: Use std::string == instead of strcmp
Less C-like and conveniently fixes a build issue caused by strcmp
not being declared for some reason.

Converting to std::string is safe because the argument count is
checked every time so the char* cannot be a nullptr.
2018-07-05 09:40:43 +02:00
Techjar
f3e2d98fdd Qt/MD5Dialog: Fix checksum result comparison 2018-07-04 22:51:11 -04:00
Mat M
9ea3e833ba
Merge pull request #7141 from lioncash/fp
Interpreter_FPUtils: Handle the FPSCR.ZE and FPSCR.VE flags with arithmetic instructions
2018-07-04 22:26:24 -04:00
Markus Wick
fd83937987
Merge pull request #6338 from mahdihijazi/settings_enhancements
Update Android UI Settings to have the most common used settings
2018-07-04 21:50:09 +02:00
Markus Wick
0cf205f947
Merge pull request #7211 from mahdihijazi/upgrade_targetsdk
Android: Upgrade targetSDK to 27 and androidSupportVersion to 7.1.1
2018-07-04 21:45:13 +02:00
Markus Wick
28e5ccb2a9
Merge pull request #7210 from mahdihijazi/disable_auto_backup
Android: Disable automatic backup
2018-07-04 21:44:53 +02:00
spycrab
3ab3ba0d99
Merge pull request #7187 from Techjar/netplay-reduce-poll-rate
Add "Reduce Polling Rate" option to NetPlay
2018-07-04 20:49:29 +02:00
spycrab
7cbb111703
Merge pull request #7209 from spycrab/netplay_stop
Qt/NetPlay: Fix not being able to stop NetPlay games properly
2018-07-04 18:59:46 +02:00
spycrab
f7887a442f Qt/NetPlayDialog: Stop games properly 2018-07-04 16:27:16 +02:00
spycrab
713d55f284
Merge pull request #7208 from Techjar/mipmap-invalidate
Make arbitrary mipmap detection toggle invalidate the texture cache
2018-07-04 01:26:49 +02:00
spycrab
bbbd886184 Qt/MainWindow: Instantly stop when requested by NetPlay 2018-07-04 00:54:50 +02:00
spycrab
d8212fd927 Core/Core: Fix getting stuck when Stop is called without emulation running 2018-07-04 00:52:53 +02:00
Techjar
80b05b6f0d Make arbitrary mipmap detection toggle invalidate the texture cache
We want this setting to invalidate the cache because it may affect the appearance of textures in the rendered scene, therefore one would expect changing it while the game is running to have the expected effect immediately.
2018-07-03 18:44:11 -04:00
spycrab
47c5a2f7ed
Merge pull request #7200 from Techjar/qt-dialog-fixes-2-electric-boogaloo
Qt: Various dialog fixes
2018-07-03 12:32:31 +02:00
Techjar
a6a188a66b Qt: Various dialog fixes 2018-07-03 04:28:07 -04:00
Markus Wick
4b1b713e61
Merge pull request #7191 from GerbilSoft/feature/ar-thin-archives
CMake: Use thin archives on Linux.
2018-07-03 10:22:02 +02:00
spycrab
806c1ee8f0
Merge pull request #7207 from spycrab/qt_lazy_hotkey
Qt/MainWindow: Lazily initialize hotkey mapping window
2018-07-03 08:42:33 +02:00
spycrab
f8bb4355a5
Merge pull request #7199 from spycrab/qt_default_iso
Qt/PathPane: Update "Default ISO" when changed
2018-07-03 08:34:47 +02:00
spycrab
457d7cf58f Qt/MainWindow: Lazily initialize hotkey mapping window 2018-07-03 08:24:45 +02:00
Pierre Bourdon
4a68490abc
Merge pull request #7170 from JonnyH/WIP/arbitrary-mipmap-detection-integer
Do all arbitrary mipmap detection in integer space
2018-07-03 04:04:16 +02:00
Pierre Bourdon
da0de12cce dqt2: lazy-initialize GraphicsWindow
Initializing GraphicsWindow layout & children requires cooperation from
the graphics stack: on my system, for example, it causes a Vulkan
context to get created in order to get driver info. This is a slow
operation, and right now it is taking about 60-70% of the Dolphin
startup time on my system.

Move instead to a lazy-initialization model where the constructor
does nothing, instead offloading work to a separate Initialize() method
called before the window is shown.

I would expect this should be done for other larger parts of the UI,
especially the ones where creating widgets ends up triggering large IO
subsystems (I suspect controller configuration might be doing that).

(I'm not super happy with how this is implemented, but right now it's a
one-off, and it's a major complaint users have with the new UI. I
prioritized getting something working quickly...)
2018-07-03 03:48:32 +02:00
David Korth
0149d22385 Removed some more double-expansions of CMAKE_SYSTEM_NAME. 2018-07-02 13:01:16 -04:00
Jonathan Hamilton
b54803a074 Remove unused sRGB conversion functions
Now the arbitrary mipmap reference downsampling is just done in linear space,
these are no longer used.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton
431b9e76be Set arbitrary mipmap detection threshold default to 14
Now the detection heuristic has changed, the old value is no longer
valid.

Some example thresholds for known mipmap effects that should trigger:

SMG's lava has a mimimum difference of ~17.8, SMG2's clouds have a
minimum difference of ~14.8, and Wind Waker's foam has a minimum
difference of ~15

Non-triggering examples were tested and all had a calculated difference
lower than 3.

So a value of 14 should lean towards false-negatives instead of
positives, but this is clearly incomplete testing and may require
further tweaks later.
2018-07-02 09:53:54 -07:00
Jonathan Hamilton
ac05d1a593 Do all arbitrary mipmap detection in integer space
This no longer converts from sRGB to linear for the reference mip
downsample - even if the original mipmap creation tool used an sRGB
colorspace (which isn't really guaranteed, and may even change per
game), this is a "fast" heuristic that's only an estimate anyway.

The average diff is also now stored in a u64, avoiding floating point
calculations in the per-pixel hot loop.

This should speed up the detection significantly, hopefully fixing
jank when loading in new textures.
2018-07-02 09:52:15 -07:00
spycrab
4eeef6e5b3
Merge pull request #7201 from 8times9/multiselection_deletion_menu_name
Qt/GameList: Change multiselection deletion name for consistency
2018-07-02 17:55:20 +02:00
mahdihijazi
e8ad6e4d49 Upgrade targetSDK to 27 and androidSupportVersion to 7.1.1 2018-07-02 16:40:16 +02:00
mahdihijazi
03fd8ddce6 Disable automatic backup
Since we don't have proper confuguration file of what to include/exclude
in the backup, this better be disabled because it will lead to unexpected
state. This will solve any issue that was keep hapenning even after fresh
install of the emulator until you manually clear the app data.
2018-07-02 16:24:57 +02:00
spycrab
0f48653935 Qt/Mapping: Add support for exclusive boolean settings 2018-07-02 15:27:04 +02:00
spycrab
3e2e813607 HW/WiimoteEmu: Make "Upright / Sideways Wii Remote" mutually exclusive 2018-07-02 15:27:03 +02:00
spycrab
c7c93a8e80 ControllerEmu/BooleanSetting: Add exclusive flag 2018-07-02 15:15:23 +02:00
8times9
fb98dbc41c Qt/GameList: Change multiselection deletion name for consistency 2018-07-01 21:22:55 -05:00
mahdihijazi
77e51ab527 Android: Make the header focusable
otherwise the settings list scrolling is not working properly
on Android Oreo(Tv)
2018-07-01 22:25:14 +02:00
mahdihijazi
a639fa9a81 Android: Expose arbitrary mipmap detection toggle in UI 2018-07-01 22:25:14 +02:00
mahdihijazi
e7d295894a Android: Support GameCube System Language 2018-07-01 22:25:14 +02:00
mahdihijazi
d5a048a2ba Android: Create didcated sections for GameCube & Wii
This align the Android UI with the desktop UI
2018-07-01 22:25:14 +02:00
mahdihijazi
5010dfde7e Android: Support WideScreen Hack 2018-07-01 22:25:13 +02:00
mahdihijazi
84229c0c05 Android: Support SpeedLimit config option 2018-07-01 22:25:13 +02:00
mahdihijazi
b924445e48 Android: Support Post Processing Shaders 2018-07-01 22:25:13 +02:00
mahdihijazi
b4bb213ffd Android: Add Force 24-Bit Color enhancement option 2018-07-01 22:25:12 +02:00
mahdihijazi
ef23d97063 Android: Refine the Graphics Settings Screen
1. Add General Section
2. Move the Aspect Ration Settings from the Enhancmenets Section to
the General section to match the desktop GUI.
2018-07-01 22:25:12 +02:00
mahdihijazi
e0e9b43559 Android: Rename main settings buttons to match the desktop version
- Video Settings to Graphics Settings
- CPU Settings to Config
2018-07-01 22:25:12 +02:00
mahdihijazi
9316537964 Android: Change the incremental value of the slider to be 5% instead of 20% 2018-07-01 22:25:12 +02:00
mahdihijazi
87534f1b2f RfC: Refactor the settings for Android to use dedicated tags
Before we used different way of identifying which settings menu to
show, someotimes we used the section name, other times we used the
settings file name. This one replaces all those different ways by just
one way based on a menu tag which is more clear and easy to follow.
2018-07-01 22:25:05 +02:00
spycrab
37e936fa9e Qt/PathPane: Update "Default ISO" when changed 2018-07-01 18:20:59 +02:00
spycrab
b5141ca6ce Qt/Hotkeys: Show OSD message when selecting slots 2018-07-01 16:30:12 +02:00
spycrab
32382438be Qt/Hotkeys: Implement "Load from File" / "Save from File" hotkeys 2018-07-01 16:14:29 +02:00
Stenzek
9cfcbfacbe
Merge pull request #7177 from Techjar/mipmap-detection-gui
Expose arbitrary mipmap detection toggle in UI
2018-07-01 19:21:22 +10:00
Techjar
bc15eb2d57 Expose arbitrary mipmap detection toggle in UI 2018-07-01 04:42:47 -04:00
spycrab
8e1425b363
Merge pull request #7193 from spycrab/qt_mac_bgcolor
Qt/WrapInScrollArea: Ensure correct macOS background colors
2018-07-01 04:02:56 +02:00
Cuyler36
c4db7475d5 Fix Address Search Box Focus Lost 2018-06-30 17:47:16 -04:00
spycrab
a4ef6f40d0
Merge pull request #7194 from Techjar/qt-pp-state
Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should
2018-06-30 21:52:37 +02:00
Mike Ravenelle
8218de0762 QT: Removed iterative input in options groups. 2018-06-30 14:38:42 -05:00
Techjar
68b8cd1e7c Qt/EnhancementsWidget: Fix post-processing options not being disabled when they should 2018-06-30 14:59:19 -04:00
spycrab
e23a2e3063
Merge pull request #7189 from Techjar/qt-backend-translated
Qt: Fix inability to select translated video backend names
2018-06-30 20:32:12 +02:00
spycrab
4bf276e912 Qt/WrapInScrollArea: Ensure correct macOS background colors 2018-06-30 20:15:22 +02:00
Techjar
5adeca4087 Add "Reduce Polling Rate" option to NetPlay
Normally, SI is polled at a rate defined by the game, and we have to send the pad state to other clients on every poll or else we'll desync. This can result in fairly high bandwidth usage, especially with multiple controllers, mostly due to UDP/IP overhead.

This change introduces an option to reduce the SI poll rate to once per frame, which may introduce up to one frame of additional latency, but will reduce bandwidth usage substantially, which is useful for users on very slow internet connections.

Polling SI less frequently than the game asked for did not seem to cause any problems in my testing, so this should be perfectly safe to do.
2018-06-30 13:13:44 -04:00
spycrab
a9841e4fc4
Merge pull request #7190 from Techjar/video-backend-translation
Mark all video backend names for translation
2018-06-30 15:48:32 +02:00
Techjar
b59387a65d Qt: Fix inability to select translated video backend names 2018-06-30 07:31:44 -04:00
Techjar
dc2f22516c Mark all video backend names for translation 2018-06-30 06:30:19 -04:00
Techjar
7785255470 Qt: Add titles to various message boxes 2018-06-29 23:29:23 -04:00
spycrab
e22c5333ab
Merge pull request #6819 from spycrab/delete_wx
Remove DolphinWX
2018-06-30 00:12:24 +02:00
Greg Wicks
82ec3c929c Android: Make touch joystick re centering configurable 2018-06-29 16:09:59 -04:00
spycrab
227290055d
Merge pull request #7184 from spycrab/qt_tas_round
Qt/TAS: Fix slightly off-center default values
2018-06-29 11:47:32 +02:00
spycrab
eac5d3d089 Qt/TAS: Fix slightly off-center default values 2018-06-29 11:39:36 +02:00
Techjar
d94805bab3 Qt/GameList: Explicitly set minimum section size 2018-06-29 05:22:26 -04:00
spycrab
bd28bf6b1e
Merge pull request #7164 from Techjar/gamelist-multiselect
Qt/GameList: Reimplement multiselection functionality from WX
2018-06-29 11:14:28 +02:00
spycrab
a595ac6b27
Merge pull request #7169 from Techjar/qt-memcard-creation
Qt/GameCubePane: Fix inability to create new memory card file
2018-06-29 11:07:56 +02:00
spycrab
9b00045220
Merge pull request #7168 from Techjar/qt-image-columns
Qt/GameList: Adjust image column widths for equal padding
2018-06-29 11:05:39 +02:00
spycrab
2e6d2a0342
Merge pull request #7183 from spycrab/qt_gamelist_fixes
Qt/GameList: Fix some resizing bugs
2018-06-29 10:52:45 +02:00
JosJuice
1073aa4602
Merge pull request #7181 from Ebola16/R
Android: Properly set default Internal Resolution
2018-06-29 09:40:09 +02:00
spycrab
a9f065a559 Qt/GameList: Fix some resizing bugs 2018-06-29 09:22:18 +02:00
Ryan Meredith
cdbc61dd0e Android: Properly set default Internal Resolution 2018-06-28 22:14:53 -04:00
spycrab
3eef8145d2
Merge pull request #7172 from spycrab/qt_np_map
Qt/PadMappingDialog: Retain previous settings
2018-06-29 01:01:42 +02:00
spycrab
6700cc4234
Merge pull request #7174 from spycrab/qt_fs_export
Qt/FilesystemWidget: Suggest default filename when exporting files
2018-06-28 22:32:22 +02:00
spycrab
317de3cf5b
Merge pull request #7173 from spycrab/qt_np_dclick
Qt/NetPlay: Make double clicking game entries confirm dialogs
2018-06-28 20:02:55 +02:00
spycrab
c3108468fb
Merge pull request #7175 from spycrab/qt_col_empty
Qt/GameList: Fix empty columns showing up when they should get hidden
2018-06-28 19:12:10 +02:00
spycrab
d2527db8ec Externals/Qt: Update to 5.11.1 2018-06-28 14:38:17 +02:00
spycrab
727b6ba81a Qt/GameList: Fix empty columns showing up when they should get hidden 2018-06-27 14:10:53 +02:00
spycrab
c8e4b692a4 Qt/FilesystemWidget: Suggest default filename when exporting files 2018-06-27 14:04:41 +02:00
spycrab
4af021ea03 Qt/PadMappingDialog: Retain previous settings 2018-06-27 13:40:39 +02:00
spycrab
1bc8c34f8b Qt/NetPlay: Make double clicking game entries confirm dialogs 2018-06-27 13:35:34 +02:00
spycrab
1ec0a39cf1 Qt/GameList: Fix search messing up columns 2018-06-27 12:57:32 +02:00
spycrab
44b22c90df Remove DolphinWX 2018-06-26 20:50:39 +02:00
Techjar
a9222bf969 Qt/GameList: Adjust image column widths for equal padding 2018-06-26 14:31:54 -04:00
Techjar
2491c53b92 Qt/GameCubePane: Fix inability to create new memory card file 2018-06-26 00:37:08 -04:00
spycrab
beeb6754d2
Merge pull request #7166 from spycrab/qt_columns
Qt/GameList: Fix column (re)sizing issues
2018-06-25 22:41:46 +02:00
spycrab
d746a8dae3 Qt/GameList: Fix weird column resizing 2018-06-25 22:37:43 +02:00
Stenzek
2debe9e9d1
Merge pull request #7167 from Techjar/patch-437
VideoCommon: Fix auto IR being very overzealous
2018-06-25 15:43:37 +10:00
Techjar
25bfee2233 VideoCommon: Fix auto IR being very overzealous 2018-06-25 00:48:57 -04:00
Pierre Bourdon
86edf7f848
Merge pull request #7087 from spycrab/qt_disable_watcher
Qt: Add option to disable auto-refresh
2018-06-25 01:46:19 +02:00
Pierre Bourdon
212adc7b87
Merge pull request #7115 from Sintendo/double2singleopt
Jit64Common: Eliminate branch in ConvertDoubleToSingle
2018-06-25 01:45:11 +02:00
Pierre Bourdon
1453a314df
Merge pull request #7130 from 8times9/master
Qt: Add Vulkan to graphics backend description
2018-06-25 01:43:41 +02:00
Pierre Bourdon
307d705654
Merge pull request #7152 from lioncash/dsp-interp
DSPIntExtOps: Minor cleanups
2018-06-25 01:42:42 +02:00
Pierre Bourdon
8129a3db6c
Merge pull request #7156 from lioncash/psq
Interpreter_LoadStorePaired: Generate a program exception if non-indexed paired-single load/stores are used and HID2.LSQE is not set
2018-06-25 01:41:48 +02:00
Pierre Bourdon
4200d2e5e3
Merge pull request #7155 from degasus/arm_registers
JitArm64: Drop the plattform register.
2018-06-25 01:38:29 +02:00
Pierre Bourdon
2cfdf89898
Merge pull request #6983 from yourWaifu/add-discord-rpc-support
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
Techjar
9a26cc18c9 Qt/GameList: Reimplement multiselection functionality from WX 2018-06-24 15:57:45 -04:00
spycrab
7e881288a2 Qt/GameList: Fix some columns being too wide 2018-06-24 15:58:42 +02:00
Shawn Hoffman
553ac7e7cd Add nag dialog to get users to explain why they still use DolphinWX 2018-06-23 19:15:09 -07:00
Markus Wick
b3fa5a4f2e
Merge pull request #7158 from lioncash/dsptool
DSPTool: Minor cleanups
2018-06-23 10:50:45 +02:00
Lioncash
bc8f932f0c BTEmu: Make WriteToEndpoint's reference parameter const
This function doesn't modify anything being referenced.
2018-06-22 20:59:00 -04:00
Léo Lam
971972069c
Merge pull request #7148 from lioncash/build
Common, DSP: Only compile in x86-64 emitter related utilities on x86 platforms
2018-06-22 23:55:37 +02:00
Lioncash
43daebbc66 DSPTool: Get rid of unnecessary casts 2018-06-22 17:53:24 -04:00
Lioncash
83dab8dd36 DSPTool: Get rid of raw new and delete
We can just use a vector of a vector, which also has the benefit of
keeping the size accounted for as well, allowing us to get rid of a
count parameter for CodesToHeader().
2018-06-22 17:53:20 -04:00
Léo Lam
1da868ee82
Merge pull request #7150 from lioncash/naming
BTEmu: Amend variable naming
2018-06-22 22:50:48 +02:00
Léo Lam
d07e599a74
Merge pull request #7151 from lioncash/const
Movie: Make pointer parameters const where applicable
2018-06-22 22:50:25 +02:00
Lioncash
d81e3fddce DSPTool: Make CodeToHeader() and CodesToHeader() return a std::string directly
Instead of using an out-reference, we can modernize these to return the
std::string directly. While we're at it, also remove the unused name
parameter.
2018-06-22 16:50:13 -04:00
Léo Lam
e16cadf982
Merge pull request #7153 from lioncash/deduplicate
DSPTables: Deduplicate FindByOpcode() implementations in DSP opcode tables
2018-06-22 22:49:16 +02:00
Léo Lam
167c19ae19
Merge pull request #7154 from lioncash/emitter
DSPEmitter: Make member functions, aliases and constants private where applicable
2018-06-22 22:47:34 +02:00
Lioncash
537d09e1d4 DSPTool: Remove unnecessary c_str() calls
These functions already accept std::string instances, so c_str here just
causes an unnecessary copy of the string to be made.
2018-06-22 16:38:15 -04:00