Commit Graph

21764 Commits

Author SHA1 Message Date
Pierre Bourdon d44087128e
Merge pull request #7342 from spycrab/qt_dbg_scroll
Qt/Debugger: Improve scrolling
2018-08-20 21:41:54 +02:00
Pierre Bourdon 183fb9bf6a
Merge pull request #7338 from booto/controller_modes
Fix analog modes that use 4 bits for c-stick data
2018-08-20 13:02:32 +02:00
Markus Wick 3c354d9280
Merge pull request #7333 from weihuoya/gamecover-nomedia
Hide game cover in android gallery
2018-08-20 10:01:50 +02:00
spycrab 77ebd721e3 Qt: Fix widgets being visible when they shouldn't be 2018-08-20 00:39:57 +02:00
spycrab 5b992f138b Qt/Debugger: Improve scrolling
Reduces the scrolling speed for both keyboard and mouse scrolling so
users are able to navigate the code and memory view line by line
2018-08-19 22:36:04 +02:00
JosJuice be890c56ac Fix critital buffer overflow in LoadPNG 2018-08-19 17:35:15 +02:00
spycrab 2ea6cc66ba Qt/GridProxyModel: Ensure uniform sizes in cover mode 2018-08-19 17:13:29 +02:00
Pierre Bourdon 4ecee3cb99 DiscordPresence: use game-specific artwork if available
Since we don't have a way (AFAIK) to dynamically collect the list of
available art assets, we hardcode a list of gameids with available
artwork inside Dolphin. It's not great, but I don't think it's a
terrible solution either.

Art has to be manually uploaded to our Discord app configuration, and we
have a limit of ~150 assets, so most likely we'll limit ourselves to a
small set of popular games.
2018-08-19 14:53:40 +02:00
Mat M 8f847c7655
Merge pull request #7343 from spycrab/qt_bp_fix
Qt/Debugger: Readd title bar to breakpoint widget
2018-08-19 08:41:36 -04:00
Pierre Bourdon 0fdb6f4267
Merge pull request #7249 from yourWaifu/discord-rpc-join
Add Discord Join Net Play functionally
2018-08-19 13:43:33 +02:00
spycrab 27bc9046e7 Qt/Debugger: Readd title bar to breakpoint widget
Removed it by accident in #7299
2018-08-19 13:37:59 +02:00
Admiral H. Curtiss 5df424a1ec Use simplified libpng PNG reading API to avoid PNG reading bugs. 2018-08-19 13:14:11 +02:00
spycrab 12a5fd80bd
Merge pull request #7299 from spycrab/qt_compact
Qt/Debugger: Make spacing more compact
2018-08-17 15:28:03 +02:00
booto 168fdf814b Fix analog modes that use 4 bits for c-stick data
Also get rid of a load of unnecessary casts
2018-08-16 02:17:17 -04:00
spycrab 8e5c3d5b4e
Merge pull request #7326 from spycrab/qt_tas_fancy
Qt/TAS: Enable antialiasing for Stick/IR widgets
2018-08-15 19:46:56 +02:00
spycrab 8d184ab9bd Qt/Debugger: Make spacing more compact 2018-08-15 19:26:04 +02:00
BreadFish64 b246678c8c
Fix spelling in assert macro 2018-08-15 12:12:19 -05:00
weihuoya eefef73141 nomedia, add comment text 2018-08-15 19:41:55 +08:00
spycrab 6d56b03304
Merge pull request #7325 from spycrab/qt_tas_reset
Qt/TAS: Implement recentering feature
2018-08-15 13:07:58 +02:00
weihuoya 2fac523e10 hide game cover in android gallery 2018-08-15 16:37:00 +08:00
Lioncash 67b015d76b Arm64Emitter: Get rid of a pointer cast within SetJumpTarget()
Type punning like this is undefined behavior. Instead, we use std::memcpy to
copy the necessary data over, which is well defined (as it treats both
the source and destination as unsigned char).
2018-08-14 23:47:53 -04:00
spycrab fb382e90eb
Merge pull request #7324 from spycrab/qt_independent_tas
Qt/TAS: Make TAS input windows independent
2018-08-15 01:51:26 +02:00
master0fdisaster 0d79e8a2ca Qt: Config/Advanced: Fix CPU Clock Speed Slider
Changes rounding from ceiling to nearest, when updating the slider value. Using ceiling as rounding made some values inaccessible.
2018-08-14 17:22:30 +02:00
master0fdisaster 1544d7d681 Qt: Config/Interface: Fix "Show Active title in Window Title" Checkbox
Makes the checkbox save when it's toggled.
2018-08-14 17:22:30 +02:00
master0fdisaster bc3cc01cc9 Qt: Config/Interface: Fix User Style Drop Down
makes the user style drop down load the right custom style after a restart
2018-08-14 17:21:50 +02:00
Sleepy Flower Girl 158c0d54b1 Force IPv4 on external IP addresses 2018-08-13 21:17:38 -04:00
Pierre Bourdon 6c1f39458b Jit64: Update PC before checking for exceptions 2018-08-14 02:27:48 +02:00
spycrab 1c793503b1 Qt/TAS: Implement recentering feature 2018-08-13 23:34:25 +02:00
Billy Robert O'Neal III 6640d1ec81 Attempt to fix linter issues. 2018-08-13 12:17:56 -07:00
Billy Robert O'Neal III a0af0bf588 Workaround use of private constant _Snan no longer being present in <limits>. 2018-08-13 12:05:50 -07:00
spycrab 55c608b482 Qt/TAS: Enable antialiasing for Stick/IR widgets 2018-08-13 15:05:30 +02:00
spycrab 9739ad9f48 Qt/TAS: Make TAS input windows independent 2018-08-13 14:15:09 +02:00
Markus Wick 15ef7d6fb8
Merge pull request #7323 from lioncash/dedup
PowerPC: Deduplicate Helper_Mask() code
2018-08-13 13:41:10 +02:00
spycrab 1c324c8927
Merge pull request #7317 from spycrab/qt_fix_mpbtn_crash
Qt/MappingButton: Fix crash when exiting during input detection
2018-08-13 00:14:25 +02:00
Lioncash a4110ad958 PowerPC: Deduplicate Helper_Mask() code
We can share this across all implementations instead of duplicating it
in different ways.
2018-08-12 17:24:16 -04:00
VperuS e5980f280d
Core/UICommon: Fix assignment to pointer 2018-08-12 17:15:14 +03:00
Vincent Duvert e2a557e739 LogManager: Change Master Log short name
Change the Master Log short name from “*” to “MASTER”. This fixes
saving the master log enable state, as INI files may not start with *.
2018-08-11 18:37:33 +02:00
spycrab 159d5a6925 Qt/MappingButton: Fix crash when exiting during input detection 2018-08-11 17:37:12 +02:00
JMC47 3a4574957b Disables a panic alert in lswx that makes using not64 impossible 2018-08-10 21:22:45 -04:00
Pierre Bourdon 55fa4842fb
Merge pull request #7307 from booto/qsortfilter-strict-weak
GameList: QSortFilterProxyModel should provide strict weak ordering
2018-08-11 02:57:36 +02:00
Pierre Bourdon 91edc95243
Merge pull request #7315 from delroth/crset-fix
Jit64: fix crset implementation
2018-08-11 02:24:15 +02:00
Pierre Bourdon b382310367
Merge pull request #7313 from PoroCYon/master
Rename SIGTRAP, SIGTERM etc. to GDB_SIGTRAP etc.
2018-08-11 01:40:14 +02:00
Pierre Bourdon c8d4fa5308 Jit64: fix crset implementation
At some point SetCRFieldBit was modified to operate on RSCRATCH, but the
function was only partially changed. As such, setting SO, GT or LT would
write the right bit to cr_field, but then cr_field would just get
overwritten with RSCRATCH, undoing the work.
2018-08-11 01:12:49 +02:00
Markus Wick 185f971e2a
Merge pull request #7308 from booto/dualcore-fifo-player-shutdown
FifoPlayer: Actually exit on 'Stop' in dualcore
2018-08-10 18:00:18 +02:00
PoroCYon 26a9ab5b19 Use GDB_SIG* enum instead of the system's macros, as the latter mightn't be included or might have a different value. 2018-08-10 16:09:27 +02:00
JosJuice 2a2a2cfc5e DolphinQt: Don't call "frame advance" "frame skip"
Just to avoid confusion.
2018-08-09 10:32:32 +02:00
JosJuice 2ee8a61148 ConfigManager: Remove m_FrameSkip
This setting was removed some time ago but was apparently
still being read and written by ConfigManager.
2018-08-09 10:31:02 +02:00
booto da0927fe8f FifoPlayer: Actually exit on 'Stop' in dualcore
Quit the fifoplayer cpu idle loop if a shutdown has been requested
2018-08-09 01:08:21 -04:00
booto aef446697d GameList: QSortFilterProxyModel should provide strict weak ordering 2018-08-08 23:59:58 -04:00
spycrab 7cb310791b Cleanup: Remove some left over references to wxWidgets 2018-08-07 15:48:17 +02:00
spycrab ddf09a0841
Merge pull request #7298 from spycrab/usb_keyboard_hotkey
Hotkeys: Add "Toggle USB Keyboard" hotkey
2018-08-07 07:47:20 +02:00
Sleepy Flower Girl c2aedb7649 Adds a UI for accepting Discord join requests in Dolphin
also did these things
fixed crash from joining user that isn't hosting via a direct connection
current game stat can now pass to override the current game in config
uses ip endpoint from dolphin.org
2018-08-06 16:12:03 -04:00
Lioncash ac1b48497e NetPlayServer: Make g_initial_netplay_rtc a member variable of NetPlayClient
Behaviorally, this belongs within the netplay client. The server will
always transmit a known RTC value, so it doesn't even need a global for
this. Given the client receives the packet containing said RTC value, we can
store it as a member variable and provide an accessor for reading that
value.

This removes another global variable within the netplay code.
2018-08-03 23:20:16 -04:00
Anthony 72d5ff54f3
Merge pull request #7257 from lioncash/const
WiimoteEmu: Minor changes
2018-08-03 20:09:31 -07:00
Anthony 15090dc4b8
Merge pull request #7300 from stenzek/qt-open-dff
DolphinQt: Add .dff to open file filter
2018-08-03 20:08:18 -07:00
JosJuice d425732837
Merge pull request #7297 from booto/no-dol
ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract.
2018-08-03 16:19:18 +02:00
Stenzek dca1096664 DolphinQt: Add .dff to open file filter 2018-08-03 17:39:17 +10:00
spycrab cf116d488a
Merge pull request #7268 from lioncash/config
Core/BootManager: Remove unnecessary includes
2018-08-02 23:17:03 +02:00
spycrab e3f36b74c5 Hotkeys: Add "Toggle USB Keyboard" hotkey 2018-08-02 12:55:30 +02:00
booto 800c1570ea ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract. 2018-08-02 05:32:05 -04:00
booto f800f6343d BS2Emu: Don't do a DVDCopy when AppLdrMain returns 0 2018-08-02 01:30:25 -04:00
Sleepy Flower Girl b7c241ea4c Add Discord Join Net Play functionally 2018-07-31 22:24:10 -04:00
JosJuice db76994a9a Android: Don't crash when loading games into game list
Regression from PR #7285 / PR #7293.
2018-07-30 18:08:53 +02:00
spycrab 6af7c1fe27
Merge pull request #7273 from Techjar/qt-iowindow-detect-spaces
Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
2018-07-30 11:58:47 +02:00
spycrab 81c3400681
Merge pull request #7269 from lioncash/qt
DolphinQt/MainWindow: Replace includes with forward declarations
2018-07-30 11:56:31 +02:00
spycrab 2a776bf2b6
Merge pull request #7258 from Techjar/netplay-fix-segfaults
Fix more segfaults on NetPlay quit
2018-07-30 11:52:38 +02:00
spycrab 7c2569ada7
Merge pull request #7283 from Techjar/netplay-improve-settings-sync
NetPlay: Improve settings synchronization and UI
2018-07-30 11:47:48 +02:00
spycrab 8fb3085b07 Revert "Revert "Qt/GameList: Add option to show covers in grid mode"" 2018-07-30 03:16:37 +02:00
degasus 5333c17cca Jit: Fix branch following.
The idea of this code was to not unroll loops, but it was completely broken.
So we've unrolled all loops, but only up to the second iteration.
Honestly, a better check would test if we branch to code which is already in the compiling block. But this is out of scope for now.

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

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

Additionally, the NetPlay window was getting too wide with checkboxes,
so FlowLayout has been introduced to make the checkboxes take up
multiple rows dynamically. However, there's some minor vertical
centering issues I haven't been able to solve, but it's better than a
ridiculously wide window.
2018-07-26 17:23:04 -04:00
Techjar dee64a89e0 Fix segfault on NetPlay start with unknown region
This is accomplished by having SConfig::GetDirectoryForRegion no longer
return nullptr, as doing that was kind silly, considering we never
check for nullptr.
2018-07-21 13:13:08 -04:00
Techjar cfeffdcf42 Fix more segfaults on NetPlay quit
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.

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

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

Please note that this disables the background shader compilation (i.e.
all shaders will be compiled on boot). There is no way around this.
2018-07-17 13:34:18 +10:00
Techjar f37813d8b6 Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
JosJuice c663dc9e00 Remove settings that only were used by DolphinWX 2018-07-16 21:21:42 +02:00
JosJuice 325f3c6ee5
Merge pull request #7254 from Techjar/dont-set-jitfollowbranch
Core/ConfigManager: Don't set JITFollowBranch
2018-07-16 21:06:31 +02:00
Lioncash a9003aadc6
DolphinQt/MainWindow: Replace includes with forward declarations
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Techjar d49b415e75 Core/ConfigManager: Don't set JITFollowBranch
We don't want to write this setting to disk, as SConfig has problems
with leaking settings changed by GameINI into the base configs. The
result of this is that if someone plays an N64 VC game (or other game
where we disable this setting) the branch following option can get
unintentionally disabled globally, which will reduce performance in
many games and cause NetPlay to desync with users who still have it
enabled.
2018-07-15 17:38:10 -04:00
Lioncash 71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab 6044165f9d
Merge pull request #7237 from lioncash/netsettings
NetPlayClient: Make global NetSettings instance part of the NetPlayClient class
2018-07-15 00:02:58 +02:00
spycrab d438e80bfd Qt/GeneralPane: Disable Rich Presence checkbox while emulation is running
Works around core hanging when Discord Rich Presence is toggled
while emulation is running.
2018-07-14 23:39:06 +02:00
spycrab e9158bae6f Qt/LogWidget: Fix messages not being escaped properly 2018-07-14 23:06:18 +02:00
Michael M 857138a0ba AVIDump: use dump_path rather than deprecated AVFormatContext::filename
AVFormatContext::filename was deprecated in lavf 58.7.100 in favor
of AVFormatContext::url. Instead of adding version-checking logic,
just use the passed-in dump path instead.
2018-07-14 12:46:04 -07:00
Michael M e45698aaa0 AVIDump: av_register_all is deprecated/unneeded since 58.9.100 2018-07-14 12:46:00 -07:00
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