Commit Graph

45 Commits

Author SHA1 Message Date
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
81557f611a Qt/GameCubePane: Display a warning if a GCI folder override is set. 2022-11-22 17:53:20 +01:00
2132e005c3 Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
650f172637 DolphinQt: Only show raw memory card path if it's not the default. 2022-08-16 00:23:36 +02:00
d11839fd64 DolphinQt: Show raw memory card path and AGP cartridge path in config window. 2022-08-16 00:20:58 +02:00
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
ac3920a0da Qt/GameCubePane: Fix swapping memory cards mid-emulation. 2022-06-15 10:42:14 +02:00
4fd18cf207 DolphinQt: Unify handling of raw memory card path. 2022-06-05 21:48:13 +02:00
1d224d1da5 Qt/GameCubePane: Don't trigger config change events when populating GUI. 2022-05-08 11:03:33 +02:00
a4d031cfda Add NonDefaultQPushButton to set autoDefault of buttons to false 2022-03-08 08:51:29 +01:00
19ef936e27 Use Slot in GameCubePane 2022-01-16 14:21:33 -08:00
777bb4d82c Use Slot in EXI devices 2022-01-16 14:21:28 -08:00
3f0b23ed2b Create Slot enum class for EXI slots 2022-01-14 20:24:53 -08:00
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
d354163fbe Replace TEXIDevices with an enum class 2022-01-14 20:24:53 -08:00
a0a0bfc5ca Config: Port EXI device settings to new config system. 2022-01-08 19:57:58 +01:00
e08171fa24 Config: Port remaining Core settings to new config system (partial). 2022-01-05 00:54:15 +01:00
ab252aedfa Core, DolphinQt, UICommon: Fix all cases of -Wrange-loop-construct in gcc 11 2021-11-02 13:50:21 +01:00
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
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
e376a985e4 Revert "DolphinQt: Minor consistency fixes for the Settings window"
This reverts commit 9d45bac175.
2021-08-31 09:15:03 +02:00
9d45bac175 DolphinQt: Minor consistency fixes for the Settings window 2021-08-28 16:45:22 -04:00
45f2461a53 NetPlay: GBA Support 2021-07-13 16:43:59 +02:00
ec5d557895 Qt: GBA Config dialog 2021-07-13 16:42:23 +02:00
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
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
961f937010 Merge pull request #8853 from CrunchBite/feature-xlink-kai-bba
Feature XLink Kai BBA
2020-06-27 23:32:49 -04:00
067667fda5 Add XLink Kai UDP BBA 2020-06-26 14:52:30 -04:00
914ebdf0dd GCMemcard: Move from global namespace into a Memcard namespace. 2020-06-16 20:18:39 +02:00
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
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
5f38386575 Merge pull request #8222 from JosJuice/allow-mismatched-region-settings
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
2019-08-21 09:00:06 -07:00
35eb63de2c Merge pull request #8300 from AdmiralCurtiss/gcmemcard-construction
GCMemcard: Rework construction logic.
2019-08-21 08:56:31 -07:00
7b9d43a834 Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards. 2019-08-15 18:21:48 +02:00
b54a49eaaf GCMemcard: Rework construction logic to better match our knowledge of the format, while providing better error reporting facilities. 2019-08-15 18:18:56 +02:00
561a4cfcce Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
This new setting is like Override Language on NTSC Games, except
instead of only applying to the GameCube language setting,
it also applies to the Wii language setting.

Fixes https://bugs.dolphin-emu.org/issues/11299
2019-08-09 17:33:05 +02:00
fef1b84f0a DolphinQt: Replace QStringLiteral with alternatives where applicable
QStringLiterals generate a buffer so that during runtime there's very
little cost to constructing a QString. However, this also means that
duplicated strings cannot be optimized out into a single entry that gets
referenced everywhere, taking up space in the binary.

Rather than use QStringLiteral(""), we can just use QString{} (the
default constructor) to signify the empty string. This gets rid of an
unnecessary string buffer from being created, saving a tiny bit of
space.

While we're at it, we can just use the character overloads of particular
functions when they're available instead of using a QString overload.
The characters in this case are Latin-1 to begin with, so we can just
specify the characters as QLatin1Char instances to use those overloads.
These will automatically convert to QChar if needed, so this is safe.
2019-07-30 09:06:03 -04:00
3529dfd691 Connect numerous QPushButtons to use clicked signal instead of pressed. This unifies UI behaviour more. 2019-07-24 00:18:58 +02:00
70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
bbc6bf5294 Common/Config: Add a utility class to suppress config change callbacks. 2019-03-03 17:35:22 -06:00
d45dad7bf7 Qt: Minor text tweaks 2019-02-07 11:53:07 -06:00
e1fdf4ae9a General GameCubePane improvements (squashed commit) 2019-01-24 21:08:21 +01:00
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
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
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00