Commit Graph

235 Commits

Author SHA1 Message Date
Admiral H. Curtiss bf95d4012f
HW/EXI: Refactor ExpansionInterface to class. 2023-03-11 00:56:37 +01:00
Admiral H. Curtiss fe26b54efd
Qt/WiiPane: Add progress window for SD card conversion. 2023-02-28 20:31:55 +01:00
Admiral H. Curtiss 435d8c39ee
Common/FatFsUtil: Add callback for cancelling SD card conversion. 2023-02-28 20:31:51 +01:00
Pokechu22 c94aacc968 AudioPane: Fix inconsistent initial state of audio stretching labels
This resulted in the labels being solid black even when audio stretching is disabled the first time the settings are opened, but then properly being greyed out after changing a setting (even the audio backend or DSP emulation engine, not just whether audio stretching is enabled).
2023-02-17 18:51:41 -08:00
Lioncash e5b91f00b0 Common: Replace StringBeginsWith/StringEndsWith with std equivalents
Obsoletes these functions in favor of the standard member functions
added in C++20.
2023-01-24 14:58:20 -05:00
Pierre Bourdon 3342947446
DolphinQt/Settings: remove 'stable' track from auto-updater options
We've decided this track will never be used in the future. Releases will
continue using the "beta" branch internally, though we'll have the
user-visible strings use a different name instead.

(Note: Dolphin provided builds have always defaulted to 'beta' as the
auto-update track, so anyone who set 'stable' did so manually.)
2023-01-17 08:34:55 +01:00
TheLordScruffy e97d380437 Implement PPC write-back data cache 2022-12-08 18:18:32 -05:00
Mai 0ef6d30a0d
Merge pull request #11165 from AdmiralCurtiss/audiocommon-pass-system
AudioCommon: Pass Core::System to AudioCommon functions.
2022-11-23 04:49:31 +00:00
Admiral H. Curtiss 81557f611a
Qt/GameCubePane: Display a warning if a GCI folder override is set. 2022-11-22 17:53:20 +01:00
Admiral H. Curtiss 2132e005c3
Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
JosJuice de93b4dc13 DolphinQt: Disable SD card conversion while emulation is running 2022-11-06 17:48:55 +01:00
Admiral H. Curtiss 1c63349984
AudioCommon: Pass Core::System to AudioCommon functions. 2022-11-06 02:13:58 +01:00
Mai e3e6c3dfa4
Merge pull request #11088 from JosJuice/uicommon-set-enable-alert
Move a SetEnableAlert call to UICommon
2022-09-29 09:09:29 -04:00
Admiral H. Curtiss 63975556a4
Merge pull request #10175 from dreamsyntax/pause-on-panic
Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction
2022-09-24 20:28:09 +02:00
JosJuice 16c71b9a35 Move a SetEnableAlert call to UICommon
This fixes a problem where changing the Use Panic Handlers setting on
Android wouldn't take effect until the app was restarted.
2022-09-24 12:35:10 +02:00
JMC47 b0ac5ac6af
Merge pull request #10949 from Zopolis4/reprecated
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
dreamsyntax 78c6819f5e Core: pause on panic handler option 2022-09-02 13:22:32 -07:00
Admiral H. Curtiss 650f172637
DolphinQt: Only show raw memory card path if it's not the default. 2022-08-16 00:23:36 +02:00
Admiral H. Curtiss d11839fd64
DolphinQt: Show raw memory card path and AGP cartridge path in config window. 2022-08-16 00:20:58 +02:00
Zopolis4 e54818e60d
Resolve "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20" warning 2022-08-08 11:25:19 +10:00
JosJuice 3a6df63e9b DiscIO: Add support for the NFS format
For a few years now, I've been thinking it would be nice to make Dolphin
support reading Wii games in the format they come in when you download
them from the Wii U eShop. The Wii U eShop has some good deals on Wii
games (Metroid Prime Trilogy especially is rather expensive if you try
to buy it physically!), and it's the only place right now where you can
buy Wii games digitally.

Of course, Nintendo being Nintendo, next year they're going to shut down
this only place where you can buy Wii games digitally. I kind of wish I
had implemented this feature earlier so that people would've had ample
time to buy the games they want, but... better late than never, right?

I used MIT-licensed code from the NOD library as a reference when
implementing this. None of the code has been directly copied, but
you may notice that the names of the struct members are very similar.
c1635245b8/lib/DiscIONFS.cpp
2022-08-04 22:00:58 +02:00
Shawn Hoffman f92541fbd9 StripSpaces: only strip spaces
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
OatmealDome 2eecfc8595 WiiPane: Adjust capitalization of conversion buttons and alert titles 2022-07-16 04:08:55 -04:00
OatmealDome 60aaa308bf WiiPane: Trim automatic SD sync checkbox string 2022-07-16 04:00:26 -04:00
Admiral H. Curtiss d2910b5753
Qt: Add 'convert now' buttons for the SD card in the WiiPane. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss 1d12e95404
Qt: Put Wii SD card path and SD sync folder fields in the WiiPane. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss 4bf75c950b
Qt/WiiPane: Add checkbox for SD card folder syncing. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss 96751c4457
Treewide: Rename references to SD Card image path to clarify they mean the image file, not the folder. 2022-07-11 23:11:40 +02:00
schthack 087020b23a Refactoring of the code to match dolphin style
Changed access for offsetof + some clean up
2022-07-09 17:01:22 -04:00
schthack 01ada3850f BBA: Added BuiltIn device that allow BBA emulation without the need of a TapDevice Configuration include a dns server setting 2022-07-02 18:02:50 -04:00
Admiral H. Curtiss ac3920a0da
Qt/GameCubePane: Fix swapping memory cards mid-emulation. 2022-06-15 10:42:14 +02:00
Admiral H. Curtiss 4fd18cf207
DolphinQt: Unify handling of raw memory card path. 2022-06-05 21:48:13 +02:00
Shawn Hoffman b16711f2af qt: fix wiipane usb list layout 2022-06-02 23:58:13 -07:00
Admiral H. Curtiss b339c6cac1
Merge pull request #10594 from AdmiralCurtiss/gamecube-pane-signal-block
Qt/GameCubePane: Don't trigger config change events when populating GUI.
2022-05-08 20:54:51 +02:00
Admiral H. Curtiss e2dee9c3f8
Qt/InterfacePane: Don't trigger config change events when populating GUI. 2022-05-08 11:04:39 +02:00
Admiral H. Curtiss 1d224d1da5
Qt/GameCubePane: Don't trigger config change events when populating GUI. 2022-05-08 11:03:33 +02:00
Admiral H. Curtiss b379df360a
Merge pull request #10497 from martinD2014/master
Change the highlighted button on each window
2022-03-27 16:05:23 +02:00
Admiral H. Curtiss c661a75961
DolphinQt: Set emulation speed setting only when the combobox is actually touched. 2022-03-22 19:19:47 +01:00
Martin a4d031cfda Add NonDefaultQPushButton to set autoDefault of buttons to false 2022-03-08 08:51:29 +01:00
Admiral H. Curtiss 1fd9a1117e
Qt/GeneralPane: Don't trigger config change events when populating GUI. 2022-02-27 17:56:35 +01:00
Pokechu22 f2f9df7541 Remove unused includes of QButtonGroup 2022-02-12 11:40:53 -08:00
Pokechu22 19ef936e27 Use Slot in GameCubePane 2022-01-16 14:21:33 -08:00
Pokechu22 777bb4d82c Use Slot in EXI devices 2022-01-16 14:21:28 -08:00
Pokechu22 3f0b23ed2b Create Slot enum class for EXI slots 2022-01-14 20:24:53 -08:00
Pokechu22 fefde0481d Use EnumFormatter to generate names for EXI devices
This simplifies the code in GameCubePane, and allows us to use the EXIDeviceType enum in error messages.
2022-01-14 20:24:53 -08:00
Pokechu22 d354163fbe Replace TEXIDevices with an enum class 2022-01-14 20:24:53 -08:00
Admiral H. Curtiss 92d2fd9d5f
Config: Port MMU setting to new config system. 2022-01-09 21:29:12 +01:00
Admiral H. Curtiss d8825f5635
Config: Port dual core setting to new config system. 2022-01-09 21:29:11 +01:00
Admiral H. Curtiss a0a0bfc5ca
Config: Port EXI device settings to new config system. 2022-01-08 19:57:58 +01:00
Admiral H. Curtiss fb47035f97
Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
Admiral H. Curtiss e08171fa24
Config: Port remaining Core settings to new config system (partial). 2022-01-05 00:54:15 +01:00
Admiral H. Curtiss d6331c1e71
Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
Admiral H. Curtiss 247f5d823f
Config: Port USBPassthrough setting to new config system. 2021-12-31 01:15:38 +01:00
Admiral H. Curtiss cae4b545bd
Config: Port CPU overclock settings to new config system. 2021-12-25 21:52:50 +01:00
iwubcode 5ecd5f010f Core / DolphinQt: make WFS directory configurable 2021-12-18 01:08:35 -06:00
Admiral H. Curtiss da161faff4
GameList: Show game mod descriptor .json files in game list. 2021-12-12 21:26:09 +01:00
Pokechu22 2025763420 Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
Emmanuel Gil Peyrot ab252aedfa Core, DolphinQt, UICommon: Fix all cases of -Wrange-loop-construct in gcc 11 2021-11-02 13:50:21 +01:00
sowens99 8ea6bef98f Port Main.DSP to MainSettings
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature.

This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
2021-10-15 23:24:46 -04:00
sowens99 2aa400e72f Add option for Never Hide Mouse Cursor
Instead of having a single GUI checkbox for "Always Hide Mouse Cursor",
I have instead opted to use radio buttons so the user can swap between
different states of mouse visibility. "Movement" is the default
behavior, "Never" will hide the mouse cursor the entire time the game is
running, and "Always" will keep the mouse cursor always visible.
2021-10-12 21:04:27 -04:00
sowens99 839b04014e Add wrapper function to disable hotkeys for QFileDialog
Previously, if you have "Hotkeys Require Window Focus" disabled, you could repeatedly use the "Open" hotkey, for example, to stack File Open windows over top of each other over and over.

This commit allows the hotkey manager to disable/enable on QFileDialog creation and destruction.
2021-10-09 22:43:56 -04:00
JosJuice 5ea121eeb5 Revert "Revert "DolphinQt: Minor consistency fixes for the Settings window""
This reverts commit e376a985e4.

A beta build has been released now, so there's no reason to keep
it reverted anymore.
2021-09-08 22:09:19 +02:00
JosJuice e376a985e4 Revert "DolphinQt: Minor consistency fixes for the Settings window"
This reverts commit 9d45bac175.
2021-08-31 09:15:03 +02:00
Mateus B. Cassiano 9d45bac175 DolphinQt: Minor consistency fixes for the Settings window 2021-08-28 16:45:22 -04:00
JMC47 59e6048200 AudioPane: Adjust DSP selection names 2021-07-22 20:59:35 -04:00
Bonta 45f2461a53 NetPlay: GBA Support 2021-07-13 16:43:59 +02:00
Bonta ec5d557895 Qt: GBA Config dialog 2021-07-13 16:42:23 +02:00
Pierre Bourdon e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Dentomologist a2e1ddc354 AudioPane: Remove main layout vertical stretching 2021-06-07 15:57:02 -07:00
Filoppi 3c7c2dfaa1 Implement Cursor Locking and new input focus checks for it 2021-05-27 10:31:12 +03:00
Techjar a33593baf7 Qt/GeneralPane: Refresh widget state on config change
This fixes a nasty issue where you can change the Dual Core setting
during emulation, if it has been overridden by GameINI or NetPlay, by
simply changing any of the non-disabled settings. This is because
changing any of the settings will write all of them to the config.

This issue is particularly nasty because managing to disable Dual Core
during emulation, and then stopping it, results in the emulator core
being totally deadlocked. It's impossible to recover from this state,
and Dolphin will remain as a zombie process on the system, consuming
resources and holding locks, until forcibly killed.
2021-05-23 01:39:35 -04:00
JosJuice a2c8050eba DolphinQt/Android: Unify the JIT naming scheme
I think the AArch64 JIT has come far enough that it doesn't have to
be called experimental anymore.

I'm also labeling the x86-64 JIT as x86-64 for consistence with the
AArch64 JIT. This will especially be helpful if we start supporting
AArch64 on macOS, as AArch64 macOS can run both the x86-64 JIT and
the AArch64 JIT depending on whether you enable Rosetta 2.
2021-04-25 17:19:50 +02:00
Shawn Hoffman 07fd02f207 rename Core/Analytics to Core/DolphinAnalytics 2021-01-27 14:29:47 -08:00
Lioncash 5b4fced2ba DolphinQt: Resolve deprecated usages of setTime_t and toTime_t
These have been replaced with setSecsSinceEpoch() and
toSecsSinceEpoch(), respectively within Qt 5.8, so we can migrate over
to them.
2021-01-13 05:07:32 -05:00
Pokechu22 147636986d Fix latency field being initially enabled on audio backends not supporting it 2020-12-28 17:06:02 -08:00
Martin Michelsen a9486d087f
Add tap-like fake Ethernet network interface for macOS
TunTap has recently become unmaintained, and it seems Apple wants developers to move away from kexts in general. TunTap currently takes some finagling to work on Catalina, and it may not work at all on Big Sur, necessitating a non-kext-based solution. Fortunately, fake Ethernet devices were introduced in Sierra and can be used similarly to tap adapters. This commit adds a new type of BBA interface implementation which uses fake Ethernet devices via tapserver (https://github.com/fuzziqersoftware/tapserver) to communicate with the host. This implementation was tested with PSO Episodes I & II, which can successfully connect to a private server running locally.

This implementation is only available on macOS, since that's the only place it's needed - Windows/Linux/Unix are unaffected by TunTap being deprecated.
2020-12-15 03:01:04 +01:00
Vincent Cunningham db5aec019c
Add Fallback Region to configuration menu
Fallback Region
A user-selected fallback to use instead of the default PAL

This is used for unknown region or region free titles to give them
the ability to force region to use. This replaces the current fallback region
of PAL. This can be useful if a user is trying to play a region free
tilte that is originally NTSC and expects to be run at NTSC speeds. This
may be done when a user attempts to dump a WAD of their own without
understanding the settings they have chosen, or could be an intentional
decision by a developer of a ROM hack that can be injected into a
Virtual Console WAD.

Remove using System Menu region being checked in GetFallbackRegion

Use DiscIO::Region instead of std::String for fallback

Add explanation text for Fallback Region
2020-11-28 15:40:21 -05:00
Léo Lam 31d7be521c
Merge pull request #7714 from cristian64/avoid_leaking_gamelistmodel
DolphinQt: Avoid leaking the GameListModel instance to gracefully shutdown the GameTracker and prevent a crash on exit
2020-11-18 02:14:51 +01:00
Jordan Woyak 15914b749c DolphinQt: Add a warning to the MEM1/MEM2 override setting description. 2020-10-25 12:54:42 -05:00
Jordan Woyak fa83a3a114 DolphinQt: Expose "DisableScreenSaver" setting in the UI. 2020-10-18 16:31:46 -05:00
Christian Aguilera 0d02e70d4a Removed all references to GameListModel from the Settings component. 2020-10-01 22:09:45 +02:00
Techjar 4d15fb62d9 Qt/AdvancedPane: Force UTC time for custom RTC entry 2020-09-14 22:09:14 -04:00
iwubcode 2bb7d207b7 DolphinQt: fix other widgets that use lambdas (capturing this) without setting the receiver 2020-09-12 17:53:17 -05:00
LC b350cf043b
Merge pull request #8976 from JosJuice/port-some-settings
Port some settings to the new config system
2020-09-07 22:37:46 -04:00
Shawn Hoffman 89b6a4cbee DolphinQt: resolve Qt5.15 deprecations 2020-08-23 13:57:05 -07:00
JosJuice b0f9bb9f13 Port some settings to the new config system
Other than the controller settings and JIT debug settings,
these are the only settings which were defined in Java code
but not defined in the new config system in C++. (There are
still a lot of settings that are defined in the new config
system but not yet saveable in the new config system, though.)
2020-08-03 15:07:53 +02:00
JosJuice aa4896fb3f DolphinQt: Add i18n comment for "Surround" 2020-07-17 19:10:31 +02:00
JosJuice e1e57fc359 DolphinQt: Expose SYSCONF sound setting 2020-07-02 22:25:41 +02:00
JMC47 961f937010
Merge pull request #8853 from CrunchBite/feature-xlink-kai-bba
Feature XLink Kai BBA
2020-06-27 23:32:49 -04:00
CrunchBite 067667fda5 Add XLink Kai UDP BBA 2020-06-26 14:52:30 -04:00
JosJuice e2ae2b3b0b Add new file format RVZ based on WIA 2020-06-17 13:47:34 +02:00
JosJuice 8da5d0c4fe Add an early version of WIABlobReader
It can currently only read the first 0x80 bytes of a disc image,
which is enough for identifying it but not for doing anything else.
2020-06-17 13:43:51 +02:00
Admiral H. Curtiss 914ebdf0dd GCMemcard: Move from global namespace into a Memcard namespace. 2020-06-16 20:18:39 +02:00
Tilka 9f5e6edc34
Merge pull request #8809 from Ebola16/ABB
Replace some acronyms
2020-06-14 14:30:52 +01:00
Ryan Meredith 2a70d86d55 Replace some acronyms 2020-06-14 08:37:24 -04:00
CrunchBite 595e1197b6 Rename existing BBA to BBA (TAP) to prepare for new BBA
Based on work by tommy1019
2020-06-07 23:17:28 -04:00
Techjar 52e0294166 Add option to disallow SD card writes 2020-05-28 15:11:37 -04:00
Léo Lam 297bbceadf Remove redundant "Emulation" from "DSP HLE Emulation"
HLE stands for "high-level emulation", so "DSP HLE Emulation" would
mean "DSP High-Level Emulation Emulation"
2020-05-03 17:54:05 +02:00
Léo Lam 0ab9475f8e
Merge pull request #8786 from JosJuice/user-style-not-path
DolphinQt: Store name of user style, not path
2020-05-03 14:11:55 +02:00
JosJuice aab694e6b5 DolphinQt: Store name of user style, not path
This makes user styles not break when for instance
moving a portable.txt install between different folders.
2020-05-02 02:13:01 +02:00