Commit Graph

1216 Commits

Author SHA1 Message Date
Admiral H. Curtiss e921cbe57c GCMemcardManager: Add GUI to create new memory card. 2020-04-28 23:59:15 +02:00
Léo Lam 4b00ddf9aa
Merge pull request #8722 from Minty-Meeo/master
Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
2020-04-28 22:11:12 +02:00
Minty-Meeo cc858c63b8 Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
Changed several enums from Memmap.h to be static vars and implemented Get functions to query them. This seems to have boosted speed a bit in some titles? The new variables and some previously statically initialized items are now initialized via Memory::Init() and the new AddressSpace::Init(). s_ram_size_real and the new s_exram_size_real in particular are initialized from new OnionConfig values "MAIN_MEM1_SIZE" and "MAIN_MEM2_SIZE", only if "MAIN_RAM_OVERRIDE_ENABLE" is true.

GUI features have been added to Config > Advanced to adjust the new OnionConfig values.

A check has been added to State::doState to ensure savestates with memory configurations different from the current settings aren't loaded. The STATE_VERSION is now 115.

FIFO Files have been updated from version 4 to version 5, now including the MEM1 and MEM2 sizes from the time of DFF creation. FIFO Logs not using the new features (OnionConfig MAIN_RAM_OVERRIDE_ENABLE is false) are still backwards compatible. FIFO Logs that do use the new features have a MIN_LOADER_VERSION of 5. Thanks to the order of function calls, FIFO logs are able to automatically configure the new OnionConfig settings to match what is needed. This is a bit hacky, though, so I also threw in a failsafe for if the conditions that allow this to work ever go away.

I took the liberty of adding a log message to explain why the core fails to initialize if the MIN_LOADER_VERSION is too great.

Some IOS code has had the function "RAMOverrideForIOSMemoryValues" appended to it to recalculate IOS Memory Values from retail IOSes/apploaders to fit the extended memory sizes. Worry not, if MAIN_RAM_OVERRIDE_ENABLE is false, this function does absolutely nothing.

A hotfix in DolphinQt/MenuBar.cpp has been implemented for RAM Override.
2020-04-28 12:10:50 -05:00
JosJuice d006a8b52f DolphinQt: Disable converting from TGC
This should not be exposed to users before the merge of PR #8644.
(PR #8738 was unintentionally merged before PR #8644.)
2020-04-28 18:49:52 +02:00
JMC47 116cef572b
Merge pull request #8738 from JosJuice/convert-dialog
Replace the compress/uncompress actions with a convert dialog
2020-04-28 12:37:17 -04:00
Lioncash 19115c84dd DolphinQt: Use qOverload where applicable
Provides the same behvaior, but in a much more concise manner.
2020-04-28 16:54:19 +02:00
3t13nn3 8288bdce03 Fix Hotkey Controller Profile display with boxes for each Wiimote 2020-04-28 15:55:53 +02:00
Léo Lam 7390767008
Merge pull request #8668 from sepalani/rso-autodetect
RSO: Auto-detect RSO location in RAM
2020-04-28 14:27:13 +02:00
Léo Lam 0fe4985f8d
Merge pull request #8689 from howard0su/cleanup_sign
Remove warnings of -Wsign-compare
2020-04-28 13:36:21 +02:00
Jun Su f3d7b82f83 Cleanup warnings of -Wswitch
Add default branch to the switch-case.
2020-04-28 13:16:30 +02:00
Sepalani 5e33cd48da Debugger: Add a Network widget
Display socket table, SSL context and options
2020-04-27 21:47:00 +04:00
Léo Lam 88ae4c7914
Merge pull request #8729 from JosJuice/android-touch-ir-default
Android: Use touch emulation of IR by default
2020-04-27 17:56:01 +02:00
Léo Lam 5909d13236
Merge pull request #8710 from Ebola16/QTDP
Qt: Display default Paths
2020-04-27 17:49:31 +02:00
Léo Lam e6351e1d4b
Merge pull request #8719 from CookiePLMonster/dolby-pro-logic-quality-fixup-ii
AudioPane: Do not enable DPL II quality slider with HLE audio on init
2020-04-27 17:11:56 +02:00
JosJuice 18a4afb053 Android: Use touch emulation of IR by default
While having motion control emulation of IR enabled by default
makes sense in situations like using a DualShock 4 on a PC,
Android has the additional option of touch emulation of IR
which seems to be better liked, and the default value which
was chosen with PC in mind was carried over to Android
without any particular consideration. This change disables
motion control emulation of IR by default on Android only.
2020-04-27 17:02:53 +02:00
Léo Lam 1ca682e6a1
Merge pull request #8723 from seanyeh/fix-confirm-dialog-enter
Qt/GameList: Use KeyPress instead of KeyRelease
2020-04-27 17:00:58 +02:00
Léo Lam bab04155b6
Merge pull request #8745 from AdmiralCurtiss/savestate-load-callback-qt
Qt/Debugger: Refresh on savestate load.
2020-04-27 15:29:55 +02:00
JosJuice 99c8ce9d8d DolphinQt: Add info about formats in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice 466b2d7202 DolphinQt: Make block size configurable in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice acd00723ad DolphinQt: Make scrubbing configurable in convert dialog 2020-04-24 15:11:20 +02:00
JosJuice 6ffcbcee70 DiscIO: Move scrubbing code out of ConvertToGCZ
This way, scrubbing can also be performed when converting
to other formats.
2020-04-24 15:11:20 +02:00
JosJuice dae2c14f7f DolphinQt: Turn the compress/decompress action into a dialog 2020-04-24 15:10:35 +02:00
JosJuice 8a9597e32e DiscIO: Allow converting from formats other than ISO and GCZ
The constant DESIRED_BUFFER_SIZE was determined by multiplying the
old hardcoded value 32 with the default GCZ block size 16 KiB.
Not sure if it actually is the best value, but it seems fine.
2020-04-24 15:10:35 +02:00
JMC47 a5bd263dfb
Merge pull request #8714 from JosJuice/progress-dialog-thread
DolphinQt: Run tasks that use progress dialogs on separate threads
2020-04-21 23:59:37 -04:00
JMC47 9de3717c50
Merge pull request #8340 from stenzek/max-res
DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
2020-04-16 21:01:14 -04:00
JMC47 19fc43f190
Merge pull request #8708 from Ebola16/Wii
Android: Add Insert SD Card and update the description
2020-04-16 18:27:51 -04:00
JosJuice 3629e75dd2
Merge pull request #8716 from Pokechu22/properties-leak
Delete properties dialog on close
2020-04-16 13:53:37 +02:00
Admiral H. Curtiss 330c80055d Qt/Debugger: Refresh windows on savestate load. 2020-04-15 00:12:35 +02:00
Christian Aguilera dab4f8b36e DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game. 2020-04-13 00:42:03 +02:00
Sean Yeh 74d8697ea3 Qt/GameList: Use KeyPress instead of KeyRelease
This fixes a bug where pressing Enter in the "Do you want to stop the
current emulation?" confirmation popup also triggers a KeyRelease in
GameList, which starts a new game.
2020-04-03 23:01:21 -05:00
JosJuice 55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
JosJuice c6ee767851 DolphinQt: Run tasks that use progress dialogs on separate threads 2020-04-03 12:53:38 +02:00
Pokechu22 e11a2bda56 Delete properties dialog on close
Fixes the game file being locked until Dolphin closes.
2020-04-02 16:14:37 -07:00
Silent bb27da06ae
AudioPane: Do not enable DPL II quality slider with HLE audio on init 2020-04-01 22:40:45 +02:00
JosJuice ef778723a2 DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue) 2020-03-31 21:00:32 +02:00
Ryan Meredith a3ff20a5f9 Android: Add Insert SD Card and update description 2020-03-31 14:58:00 -04:00
Ryan Meredith 999e651ed5 Qt: Display default Paths 2020-03-30 06:06:38 -04:00
JosJuice 5988d20917
Merge pull request #8698 from howard0su/warning_capture
Cleanup warnings of -Wunused-lambda-capture
2020-03-26 10:37:33 +01:00
Jun Su 81f8099cc6 Remove warnings of -Wsign-compare
Cast the variable to the coresponding type.
2020-03-25 07:57:14 +08:00
Jun Su da223a2271 Cleanup warnings of -Wunused-lambda-capture
Remove unused lambda captures.
2020-03-24 20:14:10 +08:00
Léo Lam b3ad3c3b07
Merge pull request #8683 from AlexApps99/cmdl
Parse arguments before Qt
2020-03-24 10:02:24 +01:00
JosJuice aee9c7390d
Merge pull request #8699 from howard0su/cleanup_move
Cleanup warnings of -Wpessimizing-move
2020-03-23 19:58:13 +01:00
JosJuice 6fab09951b
Merge pull request #8692 from howard0su/warning_unused
Cleanup warnings of -Wunused-[const]-variable
2020-03-23 19:10:52 +01:00
sL1pKn07 4f7ea79ae4 Fix build with Qt 5.15+ 2020-03-23 17:58:39 +01:00
Jun Su 964a2e1e70 Cleanup warnings of -Wpessimizing-move
moving a temporary object prevents copy elision. Remove std::move.
2020-03-23 16:31:15 +08:00
Jun Su 7c7a41ecd8 Cleanup warnings of -Wunused-variable
remove unused variables.
2020-03-23 14:24:27 +08:00
AlexApps99 d6fb0b44d7 Parse arguments before Qt 2020-03-22 17:49:32 +13:00
Sepalani 9ec5391bfb Improve "Generate Symbols From > RSO Modules"
Add auto-detection option
2020-03-21 12:03:12 +04:00
Admiral H. Curtiss 303b18ddaf Qt/CodeWidget: Typo in settings key. 2020-03-20 20:51:26 +01:00
Silent 4a438db2c9
Qt/GameListModel: Use native separators in File Path column 2020-03-19 18:03:35 +01:00
Léo Lam 53c34d962d
Merge pull request #8665 from AdmiralCurtiss/debugger_columns
Qt/CodeViewWidget: Make columns resizable by the user and set sensible defaults.
2020-03-19 01:40:30 +01:00
Admiral H. Curtiss e8dfb8f78d Qt/CodeViewWidget: Make columns resizable by the user and set sensible defaults. 2020-03-18 22:27:53 +01:00
Léo Lam bb430fb5a5
Merge pull request #8675 from Pokechu22/disc-update
Fix Load Wii System Menu not updating after performing a disc update
2020-03-18 11:54:07 +01:00
Pokechu22 c59120f089 Fix Load Wii System Menu not updating after performing a disc update
For a fresh install, the button was completely disabled even after the disc update; otherwise, the text on it was just out of date.
2020-03-17 19:59:48 -07:00
Jordan Woyak 099e6bfab9 DolphinQt: Fix gyro mapping indicator's "jitter" drawing. 2020-03-17 19:19:58 -05:00
JosJuice 5f6598f9e9 StringUtil: Add PathToFileName function 2020-03-16 21:03:34 +01:00
Léo Lam 57274cbf91
Merge pull request #8565 from Pokechu22/log-scroll-bar
Always display the horizontal scroll bar when log word wrap is off
2020-03-15 23:14:23 +01:00
Léo Lam a66ee4ea42
Merge pull request #8597 from SirMangler/master
Hotkeys: Toggle Freelook Hotkey
2020-03-15 22:40:51 +01:00
Léo Lam d9eec2ef04
Merge pull request #8609 from jordan-woyak/separate-hotkey-background-input
DolphinQt: Give hotkeys their own "background input" setting.
2020-03-15 22:35:49 +01:00
Léo Lam 466c079bf4
Merge pull request #8604 from Techjar/netplay-index-direct
Core/NetPlayServer: Fix session not being added to index on direct connection type
2020-03-15 22:22:00 +01:00
Léo Lam 24a01642e0
Merge pull request #8642 from AdmiralCurtiss/debugger_branch_arrows
Qt/CodeViewWidget: Implement branch arrows.
2020-03-15 16:45:36 +01:00
Admiral H. Curtiss 9c98b659f1 Qt/CodeViewWidget: Indent branch arrows based on free space rather than reserving a full column for each. 2020-03-15 16:14:35 +01:00
Léo Lam 19a46dd67b
Merge pull request #8652 from sonic2kk/qtshortcuts
Qt: Use Builtin QKeySequence Shortcuts
2020-03-15 15:07:47 +01:00
Léo Lam 4944e4b429
Merge pull request #8647 from jordan-woyak/minor-input-cleanups
InputCommon: Minor ReshapableInput related cleanups.
2020-03-15 15:06:54 +01:00
Eamonn Rea cd2cf137ba Use ZoomIn/ZoomOut QKeySequence in GameList 2020-03-15 14:58:33 +01:00
Eamonn Rea eda31c782e Qt: Add Configuration shortcut 2020-03-15 14:58:31 +01:00
Eamonn Rea b82f54762b Qt: Use builtin Find and Quit key sequences 2020-03-15 14:58:24 +01:00
Stenzek cdb0aa850d Qt/RenderWidget: Remove fill background functionality
We no longer need this since the video backend handles clearing the
window, and it fixes MoltenVK with Qt 5.14.
2020-03-11 23:13:45 +10:00
Stenzek 86db015c23 Common: Add a render_window field to WindowSystemInfo
We need this because we need to pass the layer to MoltenVK, not
the view handle. But the input subsystem still needs the window.
2020-03-11 23:09:30 +10:00
Admiral H. Curtiss 18127e2554 Qt/CodeViewWidget: Implement branch arrows. 2020-03-07 01:52:53 +01:00
Silent d1f6f12f78
AudioPane: Do not enable Dolby Pro Logic II quality slider if DPLII is disabled 2020-03-06 21:13:45 +01:00
AlexApps99 465e7c2521 Used whole path instead of relative path 2020-03-03 11:58:59 +13:00
AlexApps99 7408c388d6 Add path to File Name column of game grid
Fixes https://bugs.dolphin-emu.org/issues/10567
2020-03-02 17:38:28 +13:00
Jordan Woyak 2451a41a48 DolphinQt: Fix calibration cancel behavior. 2020-02-25 18:36:56 -06:00
Jordan Woyak 2c843ae06b DolphinQt: Clean up calibration drawing a bit. 2020-02-25 17:58:32 -06:00
spycrab 8233255b11 Qt: Re-enable Dark Mode support 2020-02-25 23:27:44 +01:00
Jordan Woyak 6b109bd2a6 DolphinQt: Tweak indicator raw-input/input-shape color for better contrast in some dark themes. 2020-02-24 16:26:28 -06:00
Jordan Woyak 122984b46e DolphinQt: Eliminiate redundant swing indicator logic. 2020-02-24 16:26:28 -06:00
Jordan Woyak d80fd13b17 DolphinQt: Clean up mapping indicator code and draw lines on "pixel centers". 2020-02-24 16:26:26 -06:00
Jordan Woyak f79ca680cb DolphinQt: Eliminate redundant cursor indicator logic. 2020-02-24 16:25:06 -06:00
Jordan Woyak 38f36be9ae DolphinQt: Break mapping indicators into separate classes. Ensure "state lock" is held on redraw. 2020-02-24 16:25:06 -06:00
Jordan Woyak 1a3b4d91bf InputCommon: Mark GetStateLock with [[nodiscard]] and fix discarding calls. 2020-02-24 16:25:06 -06:00
spycrab 25d5f0d9ef
Merge pull request #8633 from spycrab/tas_window_fixes
Qt/TAS: Improve TAS windows
2020-02-24 07:26:49 +01:00
Admiral H. Curtiss c70e004f53 Qt/CodeViewWidget: Use named constants for column IDs. 2020-02-23 18:49:27 +01:00
spycrab 29c7c12016 Qt/TAS: Improve TAS windows
- Use the Dolphin Icon in TAS Windows
- Prevent deformation of the stick widget (#11988)
- Improve visual appearance
- Set a reasonable minimum size
2020-02-18 16:13:31 +01:00
Techjar 06a9f6ef82 Core/NetPlayServer: Fix session not being added to index on direct connection type 2020-02-17 21:05:32 -05:00
Jordan Woyak 58448d74c5 InputCommon: Add real Wii Remote support to ControllerInterface. Add option to connect additional Wii Remotes. 2020-02-17 16:14:01 -06:00
Jordan Woyak 5af2081c75 Core/WiimoteEmu: Add functions to Nunchuk, Classic Controller, and MotionPlus extensions to get/set data without duplicate bithacks everywhere. 2020-02-17 15:57:58 -06:00
Jordan Woyak 1e652d7d34 InputCommon: Add calibration functionality to IMUGyroscope. 2020-02-17 15:57:43 -06:00
Jordan Woyak 82a3aa5ff6 InputCommon: Add "Dead Zone" setting to raw gyro inputs. 2020-02-17 15:57:43 -06:00
nyanpasu64 44f602fe51 Windows GUI: Use QMenu font (Segoe UI) for entire application
On Windows, Qt's default system font (MS Shell Dlg 2) is outdated.

Dolphin previously used over 15 lines of code to compute a font
closer to the proper font, but with an approximately correct font size.
Using the QMenu font directly is both more concise and more elegant
(in my opinion).
2020-02-17 05:37:54 -08:00
spycrab 213a9adcff CMake: Fix building ARM64 on Windows 2020-02-12 12:29:31 +01:00
Jordan Woyak 903db48280 DolphinQt: Give hotkeys their own "background input" setting. 2020-02-10 20:06:29 -06:00
Tilka a9dc4ac3f0
Merge pull request #8603 from jordan-woyak/deadzone-too-dark
DolphinQt/Mapping: Tweak "Dead Zone" and "Gate" colors.
2020-02-10 23:28:56 +00:00
Tilka d129fae8fc
Merge pull request #8623 from spycrab/qt_5.14.1
Update to Qt 5.14.1
2020-02-10 00:06:11 +00:00
spycrab 6a3bd259a7 Update to Qt 5.14.1 2020-02-09 22:30:57 +01:00
Luke Street 3e94366fe0 DolphinQt/Debugger: Fix crash with floating debugger windows 2020-02-09 02:32:04 -05:00
Jordan Woyak 0a1634bedf InputCommon: Allow Wii remote extension to be set with an input expression. 2020-02-08 16:03:13 -06:00
Jordan Woyak e8152b700f InputCommon: Allow controller settings specified with input expresions. 2020-02-08 14:01:55 -06:00
JMC47 6a857df219
Merge pull request #8606 from jordan-woyak/tab-key-navigation
DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView.
2020-02-08 14:18:09 -05:00
JMC47 3b0b264c84
Merge pull request #8608 from jordan-woyak/stereoscopy-hotkeys
DolphinQt: Fix stereoscopy hotkeys.
2020-02-08 14:17:42 -05:00
JMC47 dc5447fb30
Merge pull request #8612 from jordan-woyak/unused-members
DolphinQt: Kill some unused member variables.
2020-02-08 14:17:15 -05:00
Jordan Woyak f94726068d DolphinQt: Kill some unused member variables. 2020-02-08 10:52:06 -06:00
Tilka e323f47ceb
Merge pull request #8472 from degasus/jitsetting
Core/Jits: Adds an option to disable the register cache.
2020-02-08 13:49:33 +00:00
Jordan Woyak 9a34091b8b DolphinQt: Fix stereoscopy hotkeys. 2020-02-07 15:47:40 -06:00
Jordan Woyak b9f34bc822 DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView. 2020-02-06 20:48:45 -06:00
Jordan Woyak b1a71b959b DolphinQt/Mapping: Change "Dead Zone" color from shadow color of palette to a transparent black or white depending on theme. Tweak order of "shake" indicator axis colors so red is more often shown. 2020-02-04 16:08:51 -06:00
SirMangler ac34911f32 Added Toggle Freelook Hotkey 2020-01-31 20:45:08 +00:00
Léo Lam 57f4837e4d
Merge pull request #8589 from lioncash/translatable
DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
2020-01-27 23:20:03 +01:00
Lioncash 7eaa769527 DolphinQt/GCMemcardManager: Make use of QLatin1Char within GetErrorMessagesForErrorCode()
Same behavior, but eliminates the use of a program lifetime Qt string
literal.
2020-01-27 15:59:33 -05:00
Lioncash 585ae8aedf DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
This is a string that can potentially be seen by a user, so it should be
marked as translatable, like the other strings are.
2020-01-27 15:57:36 -05:00
Lioncash dca201d5f3 DolphinQt/GameConfigWidget: Remove unimplemented EditUserConfig() member function
This isn't implemented anywhere, so we can remove the member function
prototype.
2020-01-27 15:46:52 -05:00
Lioncash 2fd628d017 DolphinQt/GameConfigEdit: Remove unimplemented SetReadOnly() member function
This isn't implemented anywhere, so we can remove this prototype.
2020-01-27 15:44:52 -05:00
Lioncash c69cbceb59 DolphinQt/MainWindow: Surround prototype of OnSignal() with relevant ifdef
This is only used on Apple and Unix-like machines, so we can enclose the
prototype with an ifdef like the implementation is. This prevents
false-positives about an unimplemented function prototype.
2020-01-27 15:26:41 -05:00
Lioncash e8ee4e835e DolphinQt/NetPlayDialog: Remove unimplemented SetGame() prototype
This isn't implemented anywhere, so the prototype can be removed.
2020-01-27 15:25:04 -05:00
Connor McLaughlin 47239ddaac
Merge pull request #8587 from lioncash/const-qual
DolphinQt/TASCheckBox: Mark GetValue() as const
2020-01-27 12:52:10 +10:00
Lioncash b493bdb912 DolphinQt/TASCheckBox: Mark GetValue() as const
This doesn't actually modify the checkbox's state, so this can be marked
as a const-qualified member function.
2020-01-26 21:41:31 -05:00
Tilka 5dfc9196ab
Merge pull request #8548 from jordan-woyak/wiimote-source-cleanup
Core/WiimoteReal: Wii remote connection pool and source change cleanup.
2020-01-25 23:04:50 +00:00
Connor McLaughlin a0b7c1beae
Merge pull request #8366 from Techjar/high-dpi-auto-adjust
Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size
2020-01-24 11:31:09 +10:00
Connor McLaughlin a63510a55a
Merge pull request #8554 from stenzek/present-duplicate-frames
Add an option to present duplicate frames
2020-01-20 12:04:26 +10:00
tinyredpanda 8b1051abb9 Update Qt5_DIR path for ARM64 in CMake project 2020-01-18 11:28:42 +00:00
Léo Lam 89b0ab2d22 StringUtil: Add IsPrintableCharacter and use it
Add a function that safely returns whether a character is printable
i.e. whether 0x20 <= c <= 0x7e is true.

This is done in several places in our codebase and it's easy to run
into undefined behaviour if the C version defined in <cctype>
is used instead of this one, since its behaviour is undefined
if the character is not representable as an unsigned char.

This fixes MemoryViewWidget.
2020-01-16 00:22:26 +01:00
Pokechu22 0a6a53e301 Always display the horizontal scroll bar when log word wrap is off
Otherwise, a line that's too wide for the log widget will cause the horizontal scroll bar to appear, which reduces the vertical height, and causes the most recent line to be off screen.  Since that line is off screen, the log widget no longer scrolls as new lines appear, unless it's manually scrolled to the very bottom again.
2020-01-15 13:59:09 -08:00
Pierre Bourdon 1ac3264d5d
Merge pull request #8545 from jordan-woyak/imu-cursor-centering
WiimoteEmu: IMU pointing behavior improvements and code cleanup.
2020-01-15 12:10:57 +01:00
Léo Lam d2efad58af
Merge pull request #8562 from jordan-woyak/sens-slider
Core/DolphinQt: Fix IR Sensitivity slider.
2020-01-15 00:29:24 +01:00
Jordan Woyak b416389248 Core/DolphinQt: Fix IR Sensitivity slider. 2020-01-14 17:08:21 -06:00
Stenzek 11ba623f26 Add an option to present/skip presenting duplicate frames
Currently, we do not display every second frame in 25fps/30fps games
which run to vsync. This improves performance as there's less rendering
for the GPU to perform, but when combined with vsync, could cause frame
pacing issues.

This commit adds an option to force every frame generated by the console
to be displayed to the host, which may improve pacing for these games.
2020-01-14 10:57:35 +10:00
Jordan Woyak f5d9b78a3c DolphinQt: Properly hide Wii remote extension motion tabs when no extension is selected. 2020-01-13 18:34:04 -06:00
JosJuice da59f97278
Merge pull request #8549 from leoetlino/clang-format-9
Require clang-format 9 and reformat source code
2020-01-13 23:30:26 +01:00
JMC47 48fd27cdab
Merge pull request #8451 from rlnilsen/motion-input-nunchuk
Add motion input support to nunchuk
2020-01-13 17:08:03 -05:00
JosJuice 966e1b31ba
Merge pull request #8394 from Pokechu22/misc-di-gpio
Various DI improvements
2020-01-13 17:17:24 +01:00
Stenzek d8b2be9d06 DolphinQt: Support compiling on ARM64 2020-01-12 15:23:42 +10:00
Léo Lam 4cc2d97294 Require clang-format 9 and reformat source code
This updates the lint script to require clang-format 9 and reformats
existing source code. Since VS2019 ships with clang-format 9 this
should make auto reformats less painful.

This also updates the clang-format configuration to set
BraceWrapping.AfterCaseLabel to true to ensure consistent brace
style; otherwise clang-format 9+ defaults to putting braces on
the same line as switch case labels.
2020-01-08 22:18:15 +01:00
Jordan Woyak 956339df4e Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available. 2020-01-05 10:15:22 -06:00
Pokechu22 11bd132650 Implement RTC flag, which is counter-intuitively disc drive related 2020-01-04 11:43:26 -08:00
Jordan Woyak 72c2be52ed WiimoteEmu: Clean up ComplementaryFilter math. 2020-01-03 16:16:26 -06:00
Jordan Woyak 120c6dc850 DolphinQt: Fix accelerometer indicator math. 2020-01-03 12:34:11 -06:00
Jordan Woyak 540a3ce665 DolphinQt: Use FromQuaternion for a more accurate gyro indicator. 2020-01-02 15:46:18 -06:00
Stenzek 6fcb1c6c46 Add an ARM64 target to Visual Studio projects 2019-12-28 19:20:41 +10:00
JosJuice 0c12dbe860 DolphinQt: Properly save netplay session settings when changed 2019-12-23 23:14:13 +01:00
JosJuice 2fa4ef729f DolphinQt: Check presence of region in NetPlaySetupDialog 2019-12-23 23:14:13 +01:00
spycrab 0cb3257d3f
Merge pull request #8435 from firodj/pr-fix-macos-qt-plugin-cocoa
DolphinQt: Fix qt.qpa.plugin on MacOS
2019-12-10 17:41:02 +01:00
rlnilsen 965781ea9d Motion Input: Add nunchuk support. 2019-12-04 23:21:26 +01:00
Stenzek 33c0abd1ab Disable warning C5054 on DolphinQt
They're all in the Qt headers, and quite noisy.
2019-11-30 13:42:52 +10:00
Stenzek dd23a1ee79 Update VS projects/solutions to VS2019 2019-11-30 13:42:52 +10:00
Lioncash c792961000 Common: Unify logging namespace with Common
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.

Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.

Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
Anthony c2c8a14966
Merge pull request #8348 from JosJuice/mmu-setting
Disable full MMU by default and add it to global config GUI
2019-11-27 16:04:40 -08:00
Anthony 66ca83e6af
Merge pull request #8479 from nokturnusmf/master
Fixed #11874 (leading 0s ignored by debugger)
2019-11-27 15:57:54 -08:00
JosJuice 9938585702 DolphinQt: Remove "Experimental" from "Export Wii Save"
It's pretty well tested at this point.
2019-11-27 17:23:58 +01:00
tinyredpanda 5dbabef355 Simplify wstring to QString conversion 2019-11-23 13:23:46 +00:00
Matthew Foulds 5b6e7aabcf Fixed 11874 (leading 0s ignored by debugger) 2019-11-22 19:16:34 +00:00
Léo Lam dae01b1a3b
Merge pull request #8346 from DacoTaco/master
GCMemcardManager : icon drawing takes to much cpu time
2019-11-18 23:37:11 +01:00
Jordan Woyak 282470e312 DolphinQt: Fix accelerometer mapping indicator flipped X axis. 2019-11-17 16:41:06 -06:00
DacoTaco d6eb75b272 GCMemcardManager : Performance boost 2019-11-17 20:45:24 +01:00
Léo Lam bc1aa3640b
Merge pull request #8302 from AdmiralCurtiss/gcmemcard-comments
GCMemcard: Read comments, banners, and icons via logical data offsets instead of physical ones.
2019-11-17 10:34:06 +01:00
Admiral H. Curtiss 3b67d0d90a GCMemcard: Read icons according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 110d6c1da3 GCMemcard: Read banners according to logical data offsets instead of physical data offsets. Also gets rid of some undefined behavior. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 2f119bd206 GCMemcard: Move Icon and Banner constants to the GCMemcard header. 2019-11-17 01:42:26 +01:00
Admiral H. Curtiss 58f21830bd GCMemcard: Read file comments according to logical data offsets instead of physical data offsets. 2019-11-17 01:42:26 +01:00
Silent 85c2841643
Make "Do you want to stop emulation?" application modal and disallow multiple instances at once
Fixes numerous issues with this dialog spawning multiple times
and putting Dolphin in a weird state.
2019-11-16 19:51:55 +01:00
Silent af92a88aa0
UI: Allow to specify modality of ready ModalMessageBoxes 2019-11-16 19:51:00 +01:00
Léo Lam b712cc106b
Merge pull request #7909 from LAGonauta/dplii-quality-slider
Add slider to change DPLII decoder quality
2019-11-16 18:13:58 +01:00
degasus 3ebcc445de Core/Jits: Adds an option to disable the register cache.
This will help to disable all inter-instruction dependencies.
So android users can check if only a single instruction is broken without compiling dolphin on their own.
2019-11-16 13:05:54 +01:00
JosJuice fe39e1e6d8
Merge pull request #8440 from rlnilsen/motion-input-tweaks
Motion Input enhancements
2019-11-15 14:08:45 +01:00
Silent 4daeacba35
Fix malformed manifests 2019-11-11 11:47:10 +01:00
Connor McLaughlin 913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Pierre Bourdon 066012b80d
Merge pull request #8454 from jordan-woyak/motion-input-indicators
DolphinQt: Add accelerometer/gyroscope mapping indicators.
2019-11-10 18:57:31 +01:00
JosJuice 9e0b09ddf4 Disable full MMU by default and add it to global config GUI
Requested by JMC.
2019-11-09 23:26:55 +01:00
Léo Lam c167543eb3
Merge pull request #8185 from Techjar/memcard-manager-auto
Qt/GCMemcardManager: Load configured memory cards by default
2019-11-09 23:06:57 +01:00
Léo Lam 08b191ee8e
Merge pull request #8313 from JosJuice/gamelist-xml
GameFile: Support HBC-style XML metadata
2019-11-09 22:59:26 +01:00
Léo Lam f4e12f85bc
Merge pull request #8393 from CookiePLMonster/long-paths
Support Windows 10 long paths
2019-11-09 21:10:16 +01:00
Léo Lam 6cb60f8d36
Merge pull request #8385 from iwubcode/pathes-update
DolphinQt: Add ability to override ResourcePack and Load directory
2019-11-09 20:39:15 +01:00
Jordan Woyak 8ef25ddd84 DolphinQt: Add accelerometer/gyroscope mapping indicators. 2019-11-09 09:59:45 -06:00
Jordan Woyak a6b3a2cd4f DolphinQt: Hide unused buttons in the advanced mapping dialog. 2019-11-08 17:47:19 -06:00
Léo Lam d8c62b5965
Merge pull request #8396 from jordan-woyak/mapping-input-list-states
Qt/Mapping: Show current input states in advanced dialog.
2019-11-08 22:15:45 +01:00
Connor McLaughlin 422c3f79da
Merge pull request #8382 from tkln/verify-widget-switch-none-warn
VerifyWidget: Handle Severity::None case in Verify()
2019-11-08 11:23:32 +10:00
Connor McLaughlin 62f331dd13
Merge pull request #8431 from ferrrry/game-window-class
Qt: Add "renderer" window role to render window
2019-11-08 11:22:49 +10:00
Connor McLaughlin 71b098a69d
Merge pull request #8399 from CookiePLMonster/gametracker-fixes
Qt: Game Tracker fixes
2019-11-08 11:22:09 +10:00
Connor McLaughlin 2ebea1bfa7
Merge pull request #8433 from JosJuice/settings-onemulationstatechanged
DolphinQt: Call OnEmulationStateChanged when creating config window panes
2019-11-08 11:01:14 +10:00
Connor McLaughlin 47677ecaa7
Merge pull request #8437 from JosJuice/batch-render-to-main
Disable render to main when using batch mode
2019-11-08 11:00:18 +10:00
Connor McLaughlin 7c8a255ce1
Merge pull request #8450 from jordan-woyak/mapping-button-fix
DolphinQt: Fix output mapping button spacebar activation and tooltip.
2019-11-08 10:30:33 +10:00
Connor McLaughlin b554b636bd
Merge pull request #8449 from JosJuice/disable-bt-pt-buttons
DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
2019-11-08 10:27:49 +10:00
Jordan Woyak 85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
Scott Mansell 93d7b3d159
Merge pull request #8432 from jordan-woyak/hotkey-indicator-fix
DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled.
2019-11-07 10:05:54 +13:00
Jordan Woyak 32cf4b76be DolphinQt: Fix tooltip of output mapping buttons. 2019-11-03 18:20:08 -06:00
Jordan Woyak 1bdf43dd78 DolphinQt: Fix spacebar not activating output mapping buttons. 2019-11-03 18:17:51 -06:00
JosJuice ef1bae5320 DolphinQt: Fix the enabling/disabling of ControllersWindow buttons
Without this change, calling OnEmulationStateChanged undoes part
of the enabling/disabling that OnWiimoteModeChanged has done.
2019-11-03 15:03:58 +01:00
rlnilsen d67a2304b0 Input: Add optional "enable" setting to the ControlGroup class.
The setting is exposed as a check box in the QGroupBox instance that visualises the ControlGroup instance.
The setting is saved under "[control group name]/Enabled", but only when it is "false". The default value is "true".
2019-11-03 11:55:52 +01:00
iwubcode 490fd0c3b3 DolphinQt: Add way to override "ResourcePack" folder that controls the location of resource packs 2019-11-02 13:42:40 -05:00
iwubcode 876a1ccc3e DolphinQt: Add way to override "Load" folder that controls the location of custom textures 2019-11-02 13:30:44 -05:00
Techjar 3006c73bf6 Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size 2019-11-01 14:37:29 -04:00
rlnilsen 49d9c63908 Motion Input: DSU Client config UI: Enable server IP address and port fields only when "server enable" is checked. 2019-11-01 03:35:07 +01:00
JosJuice 379f264aa8 Disable render to main when using batch mode
https://bugs.dolphin-emu.org/issues/11888

This also includes another change: DolphinQt will now exit with an
error if you use --batch without specifying a game using any method
(unlike in the past where --batch would be ignored if you didn't
specify a game using --exec, even if you had used --nand-title).
The main reason why I did this was because coding the alternative
(ignoring --batch) would be annoying with render to main involved.
2019-10-29 18:32:43 +01:00
JosJuice 10d972789a DolphinQt: Make WiiPane connect itself to EmulationStateChanged 2019-10-27 21:26:35 +01:00
rlnilsen da1f153b47 Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient". 2019-10-27 16:05:22 +01:00
rlnilsen 332cad21a4 Wiimote Mapping UI: Motion Input tab: Rework mapping warning, add explanation of and button to open Alternate Input Sources window. 2019-10-27 15:59:36 +01:00
Fadhil Mandaga 14e47e43f9
add custom command to install_name_tool -add_rpath 2019-10-27 07:27:21 +07:00
JosJuice 8833e2a7fa DolphinQt: Call OnEmulationStateChanged when creating config window panes
Otherwise UI elements won't be disabled correctly if the config
window is first opened while a game is running.
2019-10-26 17:50:54 +02:00
Jordan Woyak 9d18402d07 DolphinQt: Make HotkeyScheduler call UpdateInput when hotkeys are disabled. 2019-10-26 10:03:57 -05:00
rlnilsen 5ff79499a5 UDPServer: Add configuration UI.
Accessed through button "Alternate Input Sources" in the "Controller Settings" dialog.
2019-10-26 02:20:18 +02:00
rlnilsen 8aec424191 Controller Settings Dialog: Rename "Advanced" group box to "Common".
The only setting inside, "Background Input", doesn't seem advanced to me, but it is used for both GC an Wii input.
2019-10-26 02:20:17 +02:00
rlnilsen 4cb3baba5c Add support for motion controllers via the CemuHook controller input protocol.
This is done by:
1) Implementing said protocol in a new controller input class CemuHookUDPServer.
2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus.
3) Suitably modifying the UI for configuring an Emulated Wii Remote.
2019-10-26 02:19:53 +02:00
ferrrry ae337dbea9 Qt: Add "renderer" window role to render window 2019-10-25 22:51:05 +01:00
Mat M c6da1f050b
Merge pull request #8376 from tkln/watch-widget-sign-compare
WatchWidget: Fix integer comparison signedness warnings
2019-10-23 20:20:51 -04:00
Mat M 897d7f634e
Merge pull request #8422 from CookiePLMonster/gamelistmodel-fixup
Fixup GameListModel::UpdateGame and columnCount
2019-10-23 20:20:03 -04:00
Mat M 6991b39289
Merge pull request #8419 from jordan-woyak/xor-op
ExpressionParser: Add XOR operator.
2019-10-23 20:18:39 -04:00
Mat M 291c056c07
Merge pull request #8424 from JosJuice/cpu-core-advanced-cleanup
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-23 20:16:32 -04:00
JosJuice 2c79c63608
Merge pull request #8330 from JosJuice/redump-integration
VolumeVerifier: Add Redump.org integration
2019-10-23 16:43:52 +02:00
LAGonauta 2ff646b796 DSP must be set to LLE to select the decoder 2019-10-22 22:55:59 -03:00
LAGonauta 3c9eb37381 Allow user to change DPLII decoding quality 2019-10-22 22:55:15 -03:00
JosJuice 95c4423f4c DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab 2019-10-22 20:54:01 +02:00
Admiral H. Curtiss 1c1c19e996 Qt/GCMemcardManager: Fix incorrect placeholder frame timing. 2019-10-21 22:47:17 +02:00
Silent a0111628fb
Fixup GameListModel::UpdateGame and columnCount
- dataChanged takes "first" and "last" indices inclusive, not exclusive
- columnCount should return 0 for valid parents
2019-10-20 23:07:08 +02:00
Jordan Woyak 1fe44238b1 ExpressionParser: Add XOR operator. 2019-10-20 09:51:52 -05:00
Silent 68694e0039
Add signals to enable/disable Refresh button
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
Silent cc6ffef4a1
Add CommandType::BeginRefresh
This resolves a race condition when spamming Refresh button,
which would often end up with duplicates game entries for the entire
duration of the session.
2019-10-19 23:07:10 +02:00
Silent 5e7b95db3b
Add missing break to prevent fallthrough 2019-10-19 23:06:58 +02:00
JosJuice bb8d0261be DolphinQt: Mark ubershader setting names as translatable
These were marked as translatable in DolphinWX but not DolphinQt,
yet both DolphinWX and DolphinQt tried to fetch translations for them.
This meant that translations worked in both DolphinWX and DolphinQt
back when DolphinWX existed, but that translations stopped working
in DolphinQt once DolphinWX was removed (because the removal of
DolphinWX triggered the removal of the strings from the .po files).
2019-10-18 23:35:34 +02:00
Jordan Woyak 40d15980c5 DolphinQt/Mapping: Explicitly specify parents of conditionally added widgets to prevent memory leaks. 2019-10-18 12:26:03 -05:00
Jordan Woyak fa8cbd83e2 Qt/Mapping: Show current input states in advanced dialog. 2019-10-18 12:19:16 -05:00
JMC47 4a613dad20
Merge pull request #8304 from AdmiralCurtiss/memcard-manager-icon-fix
Qt/GCMemcardManager: Fix icon animations displaying incorrectly.
2019-10-17 18:03:21 -04:00
JMC47 8bc0a92f2c
Merge pull request #7663 from jordan-woyak/expression-parser-improve
Expression parser improvements
2019-10-17 17:35:30 -04:00
Anthony acf9bd5ebe
Merge pull request #8408 from ethteck/move-cpu-emulation-engine-options
Qt: Move CPU Emulation Engine options to the Advanced tab
2019-10-17 12:56:50 -07:00
Ethan Roseman 2647e412ae Change from radio buttons to combobox, sizing fix and slight reorganization 2019-10-16 21:01:01 -04:00
spycrab 2f0ad1b6a0
Merge pull request #8402 from spycrab/qt_about_restructure
Qt/AboutDialog: Clean up code a bit
2019-10-16 22:25:26 +02:00
JosJuice a6daed23e7
Merge pull request #8387 from sepalani/reg-view-in
RegisterWidget: Fix view in code/memory
2019-10-16 20:43:32 +02:00
Ethan Roseman 1ce566f9fd Moved CPU Emulation Engine options to the Advanced tab 2019-10-16 12:41:13 -04:00
spycrab 4425d05c4a
Merge pull request #8400 from sepalani/fix-mega
SignatureDB: Add missing selectors
2019-10-15 18:24:03 +02:00
Admiral H. Curtiss bbeb25de48 Qt/Debugger/CodeWidget: Allow pressing 'enter' in address search box. 2019-10-14 21:47:27 +02:00
Sepalani 8dc5557995 SignatureDB: Add missing selectors 2019-10-13 22:52:21 +04:00
spycrab 1975e57b73 Qt/AboutDialog: Clean up code a bit 2019-10-13 16:11:19 +02:00
spycrab ec526fee56 Externals/Qt: Update to 5.13.1 2019-10-13 16:06:56 +02:00
Jordan Woyak 72302d9c42 ExpressionParser: Add support for /* */ style comments. 2019-10-12 11:41:02 -05:00
Jordan Woyak b57178d246 ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions. 2019-10-11 18:12:18 -05:00
Jordan Woyak 7912dc57dd ExpressionParser: Remove !while and add optional 2nd argument to !smooth. 2019-10-11 18:12:18 -05:00
Jordan Woyak ca7ce67450 ExpressionParser/DolphinQt: Added parse results to UI. 2019-10-11 18:12:18 -05:00
Jordan Woyak c8b2188e19 DolphinQT: Add syntax highlighting from tokenizer data. 2019-10-11 18:12:18 -05:00
Jordan Woyak e3cf2ae0d4 DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error. 2019-10-11 18:12:18 -05:00
Jordan Woyak e896835f86 ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support for variables and assignment operator. ControlExpression objects now reference a matching input and output so the two can me mixed in any expression. (you can set rumble directly from inputs) 2019-10-11 17:14:32 -05:00
Silent ea8a3059bf
Enable Win10 long path awareness in manifest files 2019-10-07 22:46:37 +02:00
JosJuice 02ba893803 DolphinQt: When audio backend is invalid, show nothing in dropdown
It used to show the first option, No Audio Output (but audio output
would work correctly anyway since AudioCommon didn't use this logic.)
2019-10-06 20:40:31 +02:00
Sepalani beeb68d541 RegisterWidget: Fix view in code/memory 2019-10-06 12:25:46 +04:00
Aapo Vienamo 0dda920c1d VerifyWidget: Handle Severity::None case in Verify()
The case body is empty because VolumeVerifier doesn't actually report
problems with severity of None.

Fixes "warning: enumeration value ‘None’ not handled in switch [-Wswitch]"
warning reported by gcc.
2019-10-05 13:20:29 +03:00
Stenzek ae83d02e54 Drop 3D Vision Support 2019-10-04 13:40:21 +10:00
Aapo Vienamo e3e682c4ca WatchWidget: Change type of NUM_COLUMNS to int
Fixes integer comparison signedness warnings.
2019-10-03 23:00:41 +03:00
Connor McLaughlin e6ae204600
Merge pull request #8373 from jordan-woyak/stereo-mode-fix
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-10-02 10:56:21 +10:00
Connor McLaughlin b319f823bf
Merge pull request #8337 from CookiePLMonster/log-widget-improvements
Log widget improvements
2019-10-01 23:42:16 +10:00
Jordan Woyak d15f08c84a DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling. 2019-09-30 15:43:55 -05:00
Stenzek abc97bb0fa DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
This adds an ini-only setting under GFX.ini -> [Settings] ->
MaxInternalResolution. Setting this will allow the user to select
resolutions beyond the default 8x max scale in graphics options.
2019-10-01 01:17:08 +10:00
JosJuice 06ab51bceb
Merge pull request #8324 from CookiePLMonster/adapter-combo-fix
Enable adapter combo only if adapters are supported by current backend
2019-09-29 00:13:55 +02:00