Commit Graph

240 Commits

Author SHA1 Message Date
Léo Lam b0e4e35cc5
Merge pull request #6478 from spycrab/qt_default_btns
Qt: Replace "OK" with "Close" buttons
2018-03-26 22:48:26 +02:00
spycrab 591c8837e2 Qt: Replace "OK" with "Close" buttons 2018-03-26 09:20:48 +02:00
spycrab 9f13048e1e Qt/GraphicsWindow: Decrease description box size 2018-03-26 08:30:32 +02:00
Stenzek 2f1a7cbee1 Implement "Skip" ubershader mode
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.

This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
spycrab 68733ac6c1 Qt: Make QSettings use the user config directory 2018-03-23 12:50:01 +01:00
spycrab 196a1dcce4 Qt/CheatCodeEditor: Fix valid, encrypted AR codes not being accepted 2018-03-22 23:42:20 +01:00
spycrab 1b06e66f1d Qt: Various layout fixes 2018-03-18 00:10:54 +01:00
spycrab c421848559 Qt: Improve spacing 2018-03-17 16:14:56 +01:00
spycrab a2d6bab0d2 Properties/GameConfig: Remove "Skip DCBZ" 2018-03-15 20:33:01 +01:00
Anthony 1c3cc26d19
Merge pull request #6386 from spycrab/qt_dbg_code
Qt/Debugger: Implement "Code" widget
2018-03-15 11:35:26 -07:00
Stenzek e31cc1f679 ShaderCache: Implement background shader compilation
This enables shaders to be compiled while the game is starting, instead
of blocking startup. If a shader is needed before it is compiled,
emulation will block.
2018-03-10 16:11:19 +10:00
Stenzek 9fa24700b6 VideoConfig: Collapse ubershader configuration fields to a single value 2018-03-10 15:56:45 +10:00
JosJuice 1f1dae367d Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
The original reason I wanted to do this was so that we can replace
the Android-specific code with this in the future, but of course,
just deduplicating between DolphinWX and DolphinQt2 is nice too.

Fixes:

- DolphinQt2 showing the wrong size for split WBFS disc images.

- DolphinQt2 being case sensitive when checking if a file is a DOL/ELF.

- DolphinQt2 not detecting when a Wii banner has become available
after the game list cache was created.

Removes:

- DolphinWX's ability to load PNGs as custom banners. But it was
already rather broken (see https://bugs.dolphin-emu.org/issues/10365
and https://bugs.dolphin-emu.org/issues/10366). The reason I removed
this was because PNG decoding relied on wx code and we don't have any
good non-wx/Qt code for loading PNG files right now (let's not use
SOIL), but we should be able to use libpng directly to implement PNG
loading in the future.

- DolphinQt2's ability to ignore a cached game if the last modified
time differs. We currently don't have a non-wx/Qt way to get the time.
2018-03-09 13:08:38 +01:00
Léo Lam 3cc64cc146
Merge pull request #6418 from spycrab/qt_gameconfig
Qt/PropertiesDialog: Add "Game Config" tab
2018-03-08 20:33:12 +01:00
spycrab 394388af4e Qt/PropertiesDialog: Add "Game Config" tab 2018-03-07 20:59:41 +01:00
Anthony 1a1133bf8e
Merge pull request #6423 from leoetlino/tid
UI: Show title ID in info panel
2018-03-07 10:47:43 -08:00
Léo Lam 3af09da0f3 UI: Show title ID in info panel
Add a way to easily get the title ID of a game. For Wii titles, it's
sometimes more useful to know than the game ID.
2018-03-07 17:40:22 +01:00
JosJuice 45040f00c6 Tweak Qt strings to be more translation friendly 2018-03-04 19:13:13 +01:00
Anthony 78b00d8d32
Merge pull request #6382 from spycrab/qt_patches
Qt/PropertiesDialog: Implement "Patches" tab
2018-03-02 10:34:00 -08:00
spycrab ecaa68ade9 Qt: Make game revision vars u16 2018-02-28 22:35:10 +01:00
spycrab 4b54f6b1c7 Qt/PropertiesDialog: Implement "Patches" tab 2018-02-28 21:16:57 +01:00
spycrab 0a5f0efe18 Qt/Debugger: Implement "Code" widget 2018-02-28 19:47:56 +01:00
Léo Lam 1e6dc196aa Qt: Fix warning about parentheses
The original code had parentheses placed in weird locations IMO, which
even caused compilers to issue warnings.
2018-02-22 17:55:16 +01:00
Léo Lam f1f2bd9c94 Qt: Fix warning about array initialisation 2018-02-22 17:54:58 +01:00
Léo Lam fd063bdc31 Qt: Use std::abs instead of abs
...since <cmath> is included, not <math.h>. May or may not fix
https://bugs.dolphin-emu.org/issues/10906
2018-02-22 17:54:19 +01:00
Lioncash abfaff8ca9 Qt: Remove unnecessary <iostream> includes
<iostream> injects a static constructor into the translation units that
it's included into. This is trivially avoidable in these cases.
2018-02-21 16:38:08 -05:00
Anthony 4876b9d8e0
Merge pull request #6362 from spycrab/qt_indicators
Qt/Mapping: Implement indicators
2018-02-18 11:45:12 -08:00
spycrab ec54b421a4 Qt/Mapping: Implement indicators 2018-02-15 05:01:44 +01:00
Anthony 5b744146f3
Merge pull request #6336 from spycrab/qt_additional_wiimote_settings
Qt: Implement Wiimote pane
2018-02-12 09:28:15 -08:00
spycrab 7c99f10152 Qt/Graphics: Add ubershader options 2018-02-10 13:11:18 +01:00
spycrab 220e4bcd99 Qt/MappingButton: light up when mapped key is pressed 2018-02-09 12:30:02 +01:00
Christian Murphy 5b01c5e119 Qt: Implement Wiimote speaker volume slider and Wiimote motor toggle, rebased all changes... included fixed based on feedback by ligfx 2018-02-07 18:46:13 +01:00
spycrab f253c1ea32 Qt/MappingButton: Save settings when a mapping is changed 2018-02-04 22:03:38 +01:00
spycrab 489f478751 Qt/MappingWindow: Fix invalid device being selected by default 2018-02-03 20:21:44 +01:00
spycrab 8a612bf285 Qt/FileystemWidget: Fix crash when right-clicking GC disc 2018-01-31 13:51:46 +01:00
Léo Lam 0eaf3deb1e
Merge pull request #6322 from spycrab/qt_gecko_input
Qt/GeckoCodeWidget: Add option to add/remove gecko codes from UI
2018-01-26 13:33:15 +01:00
spycrab ee90893bfe Qt/GeckoCodeWidget: Option to add/remove gecko codes from UI 2018-01-24 21:09:59 +01:00
JosJuice c5ac325fb8 Add missing &s to Qt AR strings
Without this, the strings differ from DolphinWX
and thus have to be re-translated by the translators.
2018-01-24 20:38:41 +01:00
spycrab d9d75c27f0 Qt/ARCodeWidget: Use CheatCodeEditor 2018-01-24 13:42:00 +01:00
spycrab a0f787aa1b Qt: Turn ARCodeEditor into general purpose CheatCodeEditor 2018-01-24 13:35:13 +01:00
Anthony 2c1cb609cc
Merge pull request #6287 from spycrab/qt_gamecube
Qt/Settings: Implement "GameCube pane"
2018-01-23 12:25:05 -08:00
spycrab fffa883cae Qt/Settings: Implement "GameCube pane" 2018-01-14 12:24:05 +01:00
spycrab 2167a45c24 Qt/Mapping: Implement Microphone widget 2018-01-04 18:42:42 +00:00
spycrab afa69a5876 Qt: Implement "AR Codes" 2018-01-01 21:44:49 +00:00
Ryan Meredith 1f226ec14f Update Readme.md and various fixes 2017-12-20 10:54:51 +01:00
JosJuice 4973ae9952 Rename GFX_HACK_COPY_EFB_ENABLED to GFX_HACK_COPY_EFB_SCALED
Not sure why it was named like this... It doesn't affect whether
the copy happens or not, only what resolution it uses.
2017-12-18 21:55:02 +01:00
Leo Lam a4592bc3c5
Merge pull request #6210 from ligfx/qtmappingwindowdontstoredevq
MappingWindow: don't store devq separately from controller default device
2017-12-15 20:50:06 +01:00
Stenzek 470e8d63b6 VideoConfig: Rename "Full Resolution Frame Dumps" to "Internal"
What is the "full" resolution, anyway?
2017-11-21 17:20:55 +10:00
Stenzek 39559f6358 VideoConfig: Remove bSupportsInternalResolutionFrameDumps
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
Michael M 5dc3ecdb72 Qt: show "Immediately present XFB" option 2017-11-19 15:37:24 -08:00
Michael M ac855e2c93 MappingWindow: don't store devq separately from controller default device 2017-11-19 12:46:39 -08:00
Michael M 9551fe1c73 MappingWindow: m_controller is never nullptr
Since GCPadWiiUConfigDialog was made its own class, m_controller will
never be nullptr.
2017-11-19 12:46:38 -08:00
Leo Lam 80bcc0d58d
Merge pull request #6186 from lioncash/enum-class
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19 15:08:16 +01:00
Lioncash 05d0d184d7 DolphinQt2: Fix incorrect description string for the immediate XFB option 2017-11-19 00:40:46 -05:00
Lioncash 5337e58284 VideoConfig: Make StereoMode an enum class
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
Pierre Bourdon 609a17a0cd
Merge pull request #5498 from iwubcode/hybrid_xfb
Hybrid xfb
2017-11-19 04:58:59 +01:00
iwubcode 53684701fa HybridXFB: Fix lint errors 2017-11-17 22:11:31 -06:00
iwubcode 7f0834c919 Add 'immediate xfb' which reduces xfb latency at the cost of graphical errors 2017-11-17 22:11:30 -06:00
iwubcode 65cd085f9b Add new GUI option to skip XFBToRam and remove old XFB options 2017-11-17 22:11:28 -06:00
Anthony aa4088a494 [UI] Remove fullscreen resolution UI. 2017-11-17 13:05:50 -08:00
Leo Lam 1e24a5f309
Merge pull request #6167 from ligfx/encapsulatedefaultdevice
EmulatedController: encapsulate default device behind getters/setters
2017-11-11 17:11:56 +01:00
Leo Lam 338bffd1e7
Merge pull request #6168 from ligfx/movegccwiiu
Qt: make GCPadWiiU a standalone dialog
2017-11-11 12:14:55 +01:00
Michael M 14f22ad829 Qt Mapping*: make logic around setting/loading settings more consistent
Changes:
- signal for widget value changed: sets controller setting, saves
  settings
- Update(): only updates widget from existing controller setting
- Clear(): sets controller setting, saves settings, and calls Update()
2017-11-05 11:32:23 -08:00
Michael M cb47857e8a Rename GCPadWiiU -> GCPadWiiUConfigDialog
This name better reflects its new standalone functionality.
2017-11-05 08:04:16 -08:00
Michael M a8b5eab4c4 Qt GCPadWiiU: standalone dialog, not subclass of MappingWidget
It uses none of the functionality of MappingWidget or the parent MappingWindow, and complicates the definition of the MappingWidget interface.
2017-11-05 08:04:16 -08:00
Michael M 27e1577da9 Qt MappingWindow: move controller type into constructor 2017-11-05 08:04:16 -08:00
Michael M 1b1dd1d749 EmulatedController: encapsulate default device behind getters/setters 2017-11-04 17:08:55 -07:00
Leo Lam 53f0974372
Merge pull request #6159 from JosJuice/consistent-gui-strings
Make GUI strings more consistent
2017-11-03 14:18:54 +01:00
JosJuice 7253c4bb52 Don't show "N/A" as description when there is no Gecko code
"N/A" can be awkward to handle in translations.

I don't think there's much point in showing "N/A" rather than
leaving the description box blank, so let's just leave it blank.
2017-11-02 14:37:45 +01:00
JosJuice d454e041b0 Make GUI strings more consistent
Most of the changes I've made here were because of small
differences between DolphinWX and DolphinQt2.
2017-11-02 14:32:16 +01:00
Michael M 806a8a7f32 MappingWindow: store profile filename in QComboBox userdata 2017-09-27 21:04:34 +02:00
Leo Lam 743568f9d4 Merge pull request #5984 from spycrab/qt_gecko
Qt/GameList: Implement "Gecko codes" Tab
2017-09-27 20:50:28 +02:00
Leo Lam 1501ff7f8e Merge pull request #5714 from ligfx/qtadvancedconfig
Qt: Advanced config pane
2017-09-27 20:24:48 +02:00
Léo Lam 6cfd7baac9 Qt/Config: Fix inconsistent spacing between options 2017-09-26 17:43:50 +02:00
Michael M 9245210c49 Qt: bold graphics settings on ConfigChanged, not EmulationStateChanged
EmulationStateChanged is functionally correct right now, but
ConfigChanged expresses more semantically why the config setting gets
re-read and the widgets updated.
2017-09-25 21:48:13 +02:00
Leo Lam 969a72faed Merge pull request #6079 from spycrab/qt_fix_log
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-21 17:29:24 +02:00
Anthony 47a2a16b77 [Qt] Fix bolding of GraphicsChoice.cpp 2017-09-20 09:13:23 -07:00
spycrab 0b43e1bcf4 Qt: Fix log / log config window not being marked as hidden when closing 2017-09-20 15:12:26 +02:00
spycrab 6c7e392f0c Qt/GraphicsSettings: Fix overriden settings not being bolded 2017-09-20 15:12:05 +02:00
spycrab f90e81b9db Qt/Properties: Implement "Gecko codes" tab 2017-09-15 19:45:46 +02:00
JosJuice a0cddc579f DolphinQt2: Check for file systems being nullptr
nullptr gets returned for file systems that are deemed invalid.
2017-09-15 19:44:23 +02:00
Michael M 4ea8166b93 Qt: Advanced config pane 2017-09-15 10:35:01 -07:00
Leo Lam 7cb8d6612c Merge pull request #5870 from JosJuice/lazy-filesystem
DiscIO: Use Common::Lazy more
2017-09-15 19:30:05 +02:00
JosJuice f294599e73 DiscIO: Use Common::Lazy for loading GC banners 2017-09-15 19:21:50 +02:00
Leo Lam 2b4bf8662a Merge pull request #5577 from ligfx/separateexpressionparsingandbinding
ControlReference/ExpressionParser: separate parsing from binding
2017-09-15 19:11:57 +02:00
spycrab 5aecd61ede Qt/Settings: Implement cheat settings 2017-09-15 19:01:23 +02:00
spycrab 8687f6aae7 Qt: Implement CheatWarningWidget 2017-09-15 19:01:23 +02:00
spycrab 8580e159fe Qt/SettingsWindow: Add SelectGeneralPane method 2017-09-15 19:01:22 +02:00
Leo Lam 0d07821935 Merge pull request #6024 from ligfx/coreonstatechangedcallback
Qt: use Settings::EmulationStateChanged
2017-09-15 18:45:17 +02:00
Michael M 31f1c06226 ControlReference: don't reparse expression when references are updated 2017-09-14 12:53:35 -07:00
spycrab 48d57f223d Qt: Make Log and Log Configuration widget separate 2017-09-14 20:56:48 +02:00
Michael M 3e1072b24d Qt: use Settings::EmulationStateChanged 2017-09-13 17:30:18 -07:00
spycrab 2a7ad0b721 Qt/FilesystemWidget: Use AddAction helper 2017-09-11 14:25:30 +02:00
Leo Lam 7971a4d66c Merge pull request #5981 from spycrab/qt_filesystem
Qt/GameList: Implement "Filesystem" tab
2017-09-07 19:19:48 +02:00
spycrab a361a1deed Qt/SettingsWindow: Fix window not being detected as a dialog by some window managers 2017-09-04 19:50:24 +02:00
spycrab f00456e6bf Qt/ControllersWindow: Use std::map instead of std::unordered_map 2017-09-04 08:58:52 +02:00
spycrab 95a53a435c Qt/GraphicsWidget: Fix bad layout column 2017-08-27 10:04:06 +02:00
spycrab 8b346b7058 Qt/GameList: Implement "Filesystem" tab 2017-08-26 14:56:33 +02:00
spycrab 56aad4a958 Qt/PropertiesDialog: Make title more like Wx 2017-08-26 14:44:38 +02:00
spycrab 2630fa0ce9 Qt: Only show "Filesystem" Tab when game is disc based 2017-08-25 20:35:41 +02:00