Commit graph

790 commits

Author SHA1 Message Date
Jordan Woyak
725d34b2f0 DolphinQt/InputCommon: Fix a few memory leaks. 2019-03-17 18:31:41 -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
Jordan Woyak
9cb17b062c DolphinQ: Mapping UI cleanups. 2019-03-15 18:32:25 -05: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
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
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
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
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
spycrab
63fd931245 ModalMessageBox: Remove superfluous buttons and ensure correct parent 2019-03-11 18:24:59 +01: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
Stenzek
9293c82b24 DolphinQt: Add option for deferred EFB cache invalidation 2019-03-09 12:36:32 +10:00
CrystalGamma
e3075f3834 PowerPC: Factor out CR helpers into POD class 2019-03-08 20:42:09 +01: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
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
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
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
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
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
chargeflux
77777cd1d7 Fix QComboBox background and transparency workaround on macOS 2019-02-26 17:03:38 -05:00
spycrab
f0b749d8e2 MenuBar: Implement proper update-capabilities check 2019-02-26 20:42:55 +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
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
Tillmann Karras
8396ad541b DolphinQt: clean up includes 2019-02-25 20:15:12 +00: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
Stenzek
f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10: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
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
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
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
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
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
Jordan Woyak
0d1fbe7bbc WiimoteEmu: Major renaming and cleanup. 2019-02-02 19:40:31 -06:00
Jordan Woyak
0b4329e077 Implement the rest of the wiimote input reports. 2019-02-02 19:40:30 -06:00
Jordan Woyak
84d32f6645 WiimoteEmu: Fix usage of ReportFeatures in TAS related code. 2019-02-02 19:39:29 -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
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
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
Tillmann Karras
5b4a5ca059 DolphinQt: cache filesystem icons for speed 2019-02-01 00:15:52 +00: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
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
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
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
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
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
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
36ce47635b RenderWidget: Hook up to ImGui 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
0xFEEDC0DE64
e1fdf4ae9a General GameCubePane improvements (squashed commit) 2019-01-24 21:08:21 +01: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
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
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
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
Christian Aguilera
ee5e2fd9f9 Fixed crash when dereferencing the potential null pointer returned by GetSelectedGame(). 2019-01-16 09:25:47 +00: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
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
JMC47
0ca9accd8b
Merge pull request #7640 from jordan-woyak/input-fixes
ControllerInterface: Output/Rumble fixes
2019-01-05 17:16:35 -05:00
JosJuice
0c622929ba Add M3U file support for automatic disc switching 2019-01-04 09:24:42 +01:00
JosJuice
bd665aad5d Automatic disc change for 2-disc games 2019-01-04 09:24:38 +01: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
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
spycrab
3e3f9565ec Qt/Debugger: Add Show in Code / Show in Memory 2018-12-28 20:30:38 +01: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
b37455ef46
Merge pull request #7652 from JMC47/NetplayWarning
Update Netplay Main Page Notices
2018-12-28 06:22:56 -05: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
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
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
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
spycrab
fc998093cc
Merge pull request #7600 from spycrab/resource_pack
Implement resource packs
2018-12-23 16:04:05 +01: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
spycrab
71d53c922f Implement resource packs 2018-12-19 11:03:09 +01:00
Admiral H. Curtiss
2351a60567 GCMemcard: Let GetDEntry() return std::optional<DEntry>. 2018-12-10 20:24:20 +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
15f89d3e6f GCMemcard: Rename DEntry variables to match our naming conventions. 2018-12-09 22:28:55 +01: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
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
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
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
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
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
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
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
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
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
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
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
a1b9a9f519 DolphinQt: Add backend multithreading to graphics config 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
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
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
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
Pierre Bourdon
98b0efb6de
Merge pull request #7499 from JosJuice/purge-game-list-cache
DolphinQt: Implement "Purge Game List Cache"
2018-10-28 17:00:04 +01:00
Tillmann Karras
13930f565a DolphinQt: reduce warnings about MO files 2018-10-28 11:45:59 +00:00
JosJuice
8bbec31295 DolphinQt: Implement "Purge Game List Cache"
This is a missing feature from DolphinWX.
2018-10-25 08:29:54 +02:00
Stenzek
eb284b5d66 VideoBackends: Pass window system info from host on creation 2018-10-20 21:11:34 +10:00
Stenzek
1d827a5223 Renderer: Pull dimensions from GLInterface/Swapchain 2018-10-20 21:11:34 +10:00
Stenzek
a3961750a7 Drop Host_GetRenderSurface and pass display to backend 2018-10-20 21:11:34 +10:00
Tillmann Karras
97cc9894e4 Update to Visual Studio's default Windows SDK 2018-10-20 00:53:08 +01:00
Anthony
cffca7cbec
Merge pull request #7502 from JosJuice/functions-signature
Improve the "functions signature" string
2018-10-15 11:01:36 -07:00
JosJuice
4a07b9a0e1 Improve the "functions signature" string 2018-10-15 18:31:02 +02:00
Z1ni
d7640f5929 Qt/GameList: Cancel ISO compression when the user cancels the save dialog 2018-10-14 21:04:43 +03:00
Stenzek
ea77899ddd Qt/MainWindow: Maintain pointer to hotkey window
Prevents multiple hotkey windows from being opened.
2018-10-14 22:24:31 +10:00
Stenzek
211a9bf6d2 Qt/MainWindow: Lazy initialize child windows 2018-10-14 21:46:59 +10:00
Tilka
e18fbb9bd3
Merge pull request #7449 from amaiorano/fix-extensions-combo-update-on-reset-defaults
Fix extensions combo update on reset defaults
2018-10-14 02:22:54 +01:00
Tilka
9a1f259626
Merge pull request #7486 from amaiorano/fix-infinite-polling-for-usb-devices
Fix infinite polling for usb devices after the "add to whitelist" dia…
2018-10-14 01:13:35 +01:00
Tilka
1abb27909d
Merge pull request #7480 from sp00nd/master
Change gecko sorting back to manual
2018-10-14 01:07:51 +01:00
Tilka
2d0e217715
Merge pull request #7485 from amaiorano/double-click-to-add-usb-whitelist-device
Make double click on selected usb whitelist device add it
2018-10-14 01:02:50 +01:00
Pierre Bourdon
2bdee9b80b
Merge pull request #7455 from spycrab/qt_tags
Qt/GameList: Implement tag system
2018-10-13 19:58:32 +02:00
Zexaron
550aa93ed0 NetPlay: Properly save Hosting GUI settings 2018-10-13 10:35:42 +02:00
Antonio Maiorano
3dec84a91b Fix infinite polling for usb devices after the "add to whitelist" dialog has been opened once
Problem is that USBDeviceAddToWhitelistDialog starts a timer once created to poll for devices every second. In Qt, closing a heap-allocated dialog doesn't delete it, so it keeps on polling. This fix is to allocate dialog on the stack, then use "exec" to run it modally without returning. Once closed, the stack instance will get destroyed, thus killing the timer.
2018-10-12 21:34:05 -04:00
Tilka
94f07e7fa9
Merge pull request #7472 from Z1ni/usb-dev-dialog-close
Qt/Settings: Add Cancel button to USB passthrough device dialog
2018-10-12 20:43:09 +01:00
Mat M
57529bc455
Merge pull request #7438 from RolandMunsil/master
Fix issue where breakpoint type wasn't correct in debugger memory view.
2018-10-12 10:30:31 -04:00
Mat M
ecd4897d43
Merge pull request #7437 from stenzek/graphics-options-race
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
Tilka
f5bfcdda5a
Merge pull request #7473 from aldelaro5/fix-signature-export
Qt/debugger: restore previously lost symbols and signature features
2018-10-11 13:03:37 +01:00
Antonio Maiorano
3a8493cc59 Make double click on selected usb whitelist device add it 2018-10-09 20:34:32 -04:00
Tillmann Karras
db54b903ef Zero-initialize CPU state and register view 2018-10-10 00:04:02 +01:00
sp00nd
6cd53bf92d
Change gecko sorting back to manual
Gecko codes are a core foundation of most netplay sessions and most general modding cases. It has gone so far as to now have an ini for almost every game.

After the massive UI overhaul, the gecko code sorting defaults to Alphabetical with no option to change it. This removes the possibility for netplay builds to have important and necessary codes at the top for easy selecting, and removes the ability to sort massive code lists in categories.

This will also make the sorting consistent with AR codes, which are sorted manually.
2018-10-09 17:46:11 -05:00
Tilka
7cfba7397c
Merge pull request #7475 from aldelaro5/symbols-search-case-insensitive
Qt/debugger: make the symbols search case insensitive
2018-10-09 21:18:06 +01:00
Z1ni
b27c688fdf Qt/Settings: Add Cancel button to USB passthrough device dialog 2018-10-09 15:28:40 +03:00
aldelaro5
68aff9c023
Qt/debugger: make the symbols search case insensitive 2018-10-08 21:17:33 -04:00
aldelaro5
9fd7da59b1
Qt/debugger: reorder the PC toolbar icons to their correct buttons 2018-10-08 21:10:18 -04:00
aldelaro5
3921d8a8be
Qt/debugger: restore previous symbols and signature features
They were mysteriously lost after the Qt migration.
2018-10-08 20:59:55 -04:00
Tilka
31594a8138
Merge pull request #7462 from aldelaro5/fix-signature-export
Qt/debugger: Accept empty prefix input
2018-10-09 00:30:19 +01:00
Tillmann Karras
09385b9542 FIFOAnalyzer: print BP registers without X suffix 2018-10-08 02:00:25 +01:00
Tillmann Karras
ec4c019a7b FIFOAnalyzer: fix printing of XF registers 2018-10-08 02:00:25 +01:00
mazes-80
eae36399dc IOWindow: append new text at the end by default
This fixes https://dolp.in/i11026.
2018-10-07 12:27:05 +01:00
aldelaro5
4b75876ba1
Qt/debugger: Accept empty prefix input 2018-10-06 21:22:34 -04:00
Tilka
781b707af8
Merge pull request #7444 from amaiorano/fix-messagebox-icons
Fix QMessageBox icons using the default rather than the Dolphin logo
2018-10-05 23:34:40 +01:00
spycrab
6e873c6e06 Qt/GameList: Implement tag system 2018-10-05 08:22:51 +02:00
Antonio Maiorano
bf18f19b0a Make the progress dialog look better (used for e.g. shader compiling)
* Removed the Cancel button since the code doesn't react to it anyway.
* Only show a window title, not the help icon (?), and disable the close button
* Set the title to "Dolphin" instead of repeating the label text
2018-10-03 21:35:10 -04:00
Antonio Maiorano
f257630c0a Fix resetting emulated wii remote settings to default not updating Extension combo box 2018-10-02 23:34:32 -04:00
Antonio Maiorano
165ac1c29e Fix QMessageBox icons using the default rather than the Dolphin logo 2018-10-02 00:26:43 -04:00
Stenzek
349765ba77 GraphicsWindow: Ensure adapter selection isn't enabled while running 2018-09-28 22:01:23 +10:00
Stenzek
93923e2b29 Don't fill backend info when core is running
The current approach results in the UI thread creating a graphics device
whilst the core is running, leading to races on function pointers, and
potentially crashing.
2018-09-28 21:43:22 +10:00
Stenzek
a877d5f6dc Remove unused Host_ShowVideoConfig 2018-09-28 14:05:53 +10:00
Mat M
d0b2f04539
Merge pull request #7421 from JosJuice/qt-sd-hotplug
DolphinQt: Allow inserting/ejecting SD cards during emulation
2018-09-27 21:48:16 -04:00
Roland Munsil
5eefd0482a Fix issue with breakpoint type loaded from settings not propogating to MemoryWindow 2018-09-25 17:45:18 -05:00
Roland Munsil
54bd16e753 Fix typo causing "Remove from Watch" in Cheat Manager to crash Dolphin 2018-09-24 23:01:24 -05:00
Roland Munsil
04969f94b6 Fix some Cheat Manager comparisons being wrong 2018-09-24 21:34:48 -05:00
JosJuice
5db27b8e7e DolphinQt: Allow inserting/ejecting SD cards during emulation
This is possible on real hardware and was possible in DolphinWX.
2018-09-20 18:41:37 +02:00
Léo Lam
3ecc4ed1c4
Merge pull request #7390 from Techjar/qt-save-grid-scale
Qt/GameList: Make grid view scale persistent
2018-09-16 15:21:00 +02:00
JosJuice
fb6b31bba8 Re-add i18n comments that were lost in the DolphinWX removal 2018-09-08 15:58:15 +02:00
JosJuice
e0cb56edb9 Reword some translatable strings
We've decided to use the term "Usage Statistics Reporting"
instead of "Analytics" in user-facing strings.
2018-09-08 15:19:01 +02:00
JosJuice
5f35edf505 Remove unused function and translatable strings 2018-09-08 15:18:31 +02:00
Techjar
bb598529be Qt/GameList: Make grid view scale persistent 2018-09-02 18:22:44 -04:00
Techjar
f1bc17ab9e Qt/MD5Dialog: Fix pressing enter on NetPlay window causing dialog to close 2018-08-27 08:39:39 -04:00
Pierre Bourdon
62928de547
Merge pull request #7357 from Techjar/qt-memcard-manager-select-button
Qt/GCMemcardManager: Make slot and file selection more intuitive
2018-08-27 13:35:38 +02:00
Pierre Bourdon
e096ca20e9
Merge pull request #7358 from Techjar/qt-memcard-manager-deletion-fix
Qt/GCMemcardManager: Fix deletion of multiple files
2018-08-27 04:48:07 +02:00
Pierre Bourdon
9bcd7bfe1e
Merge pull request #7360 from Techjar/netplay-host-input-authority
NetPlay host input authority mode
2018-08-26 23:15:44 +02:00
Techjar
5519efa66e NetPlay host input authority mode
Currently, each player buffers their own inputs and sends them to the
host. The host then relays those inputs to everyone else. Every player
waits on inputs from all players to be buffered before continuing. What
this means is all clients run in lockstep, and the total latency of
inputs cannot be lower than the sum of the 2 highest client ping times
in the game (in 3+ player sessions with people across the world, the
latency can be very high).

Host input authority mode changes it so players no longer buffer their
own inputs, and only send them to the host. The host stores only the
most recent input received from a player. The host then sends inputs
for all pads at the SI poll interval, similar to the existing code. If
a player sends inputs to slowly, their last received input is simply
sent again. If they send too quickly, inputs are dropped. This means
that the host has full control over what inputs are actually read by
the game, hence the name of the mode. Also, because the rate at which
inputs are received by SI is decoupled from the rate at which players
are sending inputs, clients are no longer dependent on each other. They
only care what the host is doing. This means that they can set their
buffer individually based on their latency to the host, rather than the
highest latency between any 2 players, allowing someone with lower ping
to the host to have less latency than someone else.

This is a catch to this: as a necessity of how the host's input sending
works, the host has 0 latency. There isn't a good way to fix this, as
input delay is now solely dependent on the real latency to the host's
server. Having differing latency between players would be considered
unfair for competitive play, but for casual play we don't really care.
For this reason though, combined with the potential for a few inputs to
be dropped on a bad connection, the old mode will remain and this new
mode is entirely optional.
2018-08-26 17:10:23 -04:00
spycrab
476037d1f2
Merge pull request #7345 from spycrab/qt_cover_uniform
Qt/GridProxyModel: Ensure uniform sizes in cover mode
2018-08-25 02:01:14 +02:00
Techjar
fd7d51eed6 Qt/GCMemcardManager: Fix deletion of multiple files 2018-08-24 07:58:38 -04:00
Techjar
6ae77623c5 Qt/GCMemcardManager: Make slot and file selection more intuitive 2018-08-24 07:10:48 -04:00
spycrab
248afb9fa7
Merge pull request #7347 from spycrab/qt_fix_visibility
Qt: Fix widgets being visible when they shouldn't be
2018-08-24 01:58:55 +02:00
spycrab
398cce52be
Merge pull request #7352 from Techjar/qt-signal-blocker
Qt: Switch to QSignalBlocker for scoped signal blocking
2018-08-24 01:58:21 +02:00
Techjar
1547b185c7 Qt: Switch to QSignalBlocker for scoped signal blocking 2018-08-23 07:11:52 -04:00
Techjar
d72f4ed468 Qt/AdvancedPane: Block signals during Update() 2018-08-23 07:00:20 -04:00
Pierre Bourdon
d44087128e
Merge pull request #7342 from spycrab/qt_dbg_scroll
Qt/Debugger: Improve scrolling
2018-08-20 21:41:54 +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
spycrab
2ea6cc66ba Qt/GridProxyModel: Ensure uniform sizes in cover mode 2018-08-19 17:13:29 +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
spycrab
12a5fd80bd
Merge pull request #7299 from spycrab/qt_compact
Qt/Debugger: Make spacing more compact
2018-08-17 15:28:03 +02: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
spycrab
6d56b03304
Merge pull request #7325 from spycrab/qt_tas_reset
Qt/TAS: Implement recentering feature
2018-08-15 13:07:58 +02: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
spycrab
1c793503b1 Qt/TAS: Implement recentering feature 2018-08-13 23:34:25 +02: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
spycrab
159d5a6925 Qt/MappingButton: Fix crash when exiting during input detection 2018-08-11 17:37:12 +02: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
JosJuice
2a2a2cfc5e DolphinQt: Don't call "frame advance" "frame skip"
Just to avoid confusion.
2018-08-09 10:32:32 +02:00
booto
aef446697d GameList: QSortFilterProxyModel should provide strict weak ordering 2018-08-08 23:59:58 -04: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
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
Sleepy Flower Girl
b7c241ea4c Add Discord Join Net Play functionally 2018-07-31 22:24:10 -04: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
Pierre Bourdon
9b94c76f81
Revert "Qt/GameList: Add option to show covers in grid mode" 2018-07-28 03:03:21 +02:00
spycrab
5ade5f4fe7 Qt/GameList: Add option to show covers in grid mode 2018-07-27 11:14:24 +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
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
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
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
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
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
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
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
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
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
spycrab
cc6526f553
Merge pull request #6222 from iwubcode/emulated_input_improvements
Emulated wii input improvements
2018-07-12 20:36:53 +02: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
92f397d0fa
Merge pull request #7255 from Techjar/qt-netplay-message-color
[RFC] Qt/NetPlayDialog: Change own chat message color to better suit dark themes
2018-07-12 17:42:55 +02:00
spycrab
9ab489aab8 Qt/NetPlayDialog: Show alerts when events happen
Displays an alert when you receive a message or a player joins / leaves
2018-07-12 17:33:12 +02:00
Techjar
d85dd287cf Qt/NetPlayDialog: Change own chat message color to better suit dark themes 2018-07-12 06:34:14 -04:00
spycrab
df5d1cf13a
Merge pull request #7233 from Techjar/qt-jit-branch-menu
Qt/MenuBar: Add missing JIT branch option in debugger
2018-07-11 11:27:00 +02:00
spycrab
c04b07674e
Merge pull request #7243 from Ebola16/SU
Qt: Clarify Synchronous (Ubershaders) name
2018-07-11 10:59:25 +02:00
spycrab
c7ff141606
Merge pull request #7219 from ligfx/mappingwindow_hotplug
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-11 10:58:26 +02:00
spycrab
ea99cdd781
Merge pull request #7247 from lioncash/fwd
Qt/GameList: Replace includes with forward declarations where applicable
2018-07-11 10:57:02 +02:00
spycrab
d81b63f403
Merge pull request #7245 from lioncash/internal
Qt/CheatsManager: Move concealable types into the cpp file
2018-07-11 10:55:42 +02:00
spycrab
f170009aad
Merge pull request #7246 from lioncash/enum
Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
2018-07-11 10:52:04 +02:00
spycrab
42298f6d6d
Merge pull request #7239 from addestroyer24/manual-update-now
Updater: fix immediate manual updating
2018-07-11 00:58:21 +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
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
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
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
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
iwubcode
3b11066e61 Fix lint bugs 2018-07-07 13:02:38 -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
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
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
Anthony Serna
2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
JosJuice
03b4e16e0e DolphinQt: Attempt at fixing issue 9170 2015-12-17 21:49:28 +01:00