Commit Graph

142 Commits

Author SHA1 Message Date
Admiral H. Curtiss 839db591d9
HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
Dentomologist 7cd08fde75 Updater: Add/clarify error messages 2022-10-31 23:36:07 -07:00
GaryOderNichts 88c57a00a3 Show vWii System Menu version in Menu Bar 2022-10-22 13:36:55 +02:00
Admiral H. Curtiss 52424fe327
Qt: Allow opening controller settings during netplay. 2022-10-02 23:14:34 +02:00
JosJuice 04072f0ce6 Integrate "Ignore for this session" better with config system
Because of the previous commit, this is needed to stop DolphinQt from
forgetting that the user pressed ignore whenever any part of the config
is changed.

This commit also changes the behavior a bit on DolphinQt: "Ignore for
this session" now applies to the current emulation session instead of
the current Dolphin launch. This matches how it already worked on
Android, and is in my opinion better because it means the user won't
lose out on important panic alerts in a game becase they played another
game first that had repeated panic alerts that they wanted to ignore.

For Android, this commit isn't necessary, but it makes the code cleaner.
2022-09-24 13:03:45 +02:00
JMC47 b0ac5ac6af
Merge pull request #10949 from Zopolis4/reprecated
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
Admiral H. Curtiss 59f3be8c54
Qt: Make custom dialog for NAND Repair.
This is so that if you have a lot of titles that need repair the dialog can still fit on screen.
2022-08-28 03:11:17 +02:00
Zopolis4 e54818e60d
Resolve "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20" warning 2022-08-08 11:25:19 +10:00
Shawn Hoffman f92541fbd9 StripSpaces: only strip spaces
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Admiral H. Curtiss 2081e2f2a1
Config: Move ToGameCubeRegion(), GetDirectoryForRegion(), and GetBootROMPath() to new config system namespace. 2022-06-05 21:24:45 +02:00
spycrab 004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Dentomologist c8d953d0c6 Updater: Fix manual update check when autoupdate is disabled 2022-04-02 12:22:06 -07:00
Admiral H. Curtiss f5657d0a83
Merge pull request #10174 from dreamsyntax/panic-handles-restore-messages
DolphinQt: Add "Reset Ignore Panic Handler" MenuBar Option
2022-03-19 16:52:20 +01:00
Léo Lam 666db19436
Merge pull request #10322 from Starsam80/nand
NANDImporter: Various improvements and cleanup
2022-03-02 11:56:11 +01:00
Starsam80 643057fea2
NANDImporter: Make a class variable for the NAND root 2022-03-01 15:07:59 -07:00
Pierre Bourdon 281dfd3e6a
Fix manual update check which was hardcoded to "dev" track 2022-02-23 18:39:28 +01:00
Admiral H. Curtiss dc7e7d08ad
Config: Port Fastmem setting to new config system. 2022-01-06 16:13:56 +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 d590aa88a4
Config: Port remaining General settings to new config system. 2022-01-01 19:02:45 +01:00
Admiral H. Curtiss 810dcfa0f6
Config: Port Debug settings to new config system. 2021-12-30 22:28:05 +01:00
Admiral H. Curtiss aa437d9805
Config: Port Movie settings to new config system. 2021-12-30 20:16:17 +01:00
Admiral H. Curtiss 96fa0919be
Config: Port AutoUpdate settings to new config system. 2021-12-27 21:19:28 +01:00
Admiral H. Curtiss 5999e9e139
Config: Port GameList settings to new config system. 2021-12-26 23:46:35 +01:00
sowens99 e4fed7cce8 Add Rerecord Count display
Simply shows Movie::s_rerecords in the ImGui Movie window
2021-11-30 20:08:29 -05:00
dreamsyntax 61a5d3bf74 DolphinQt/MenuBar: add "reset ignore panic handler" button 2021-10-18 15:22:00 -07: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 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
Admiral H. Curtiss aa2d089d1b
Qt/MenuBar: Allow opening Cheats Manager regardless of emulation state and configuration. 2021-09-16 08:01:26 +02:00
Dentomologist 87924f2ddd DolphinQt: Remove Windows dialog help buttons 2021-08-21 10:53:12 -07: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
Léo Lam 336518049d
WiiUtils: Add helper functions to get emulated/real Bluetooth device
This adds a function to get the emulated or real Bluetooth device for
an active emulation instance. This lets us deduplicate all the
`ios->GetDeviceByName("/dev/usb/oh1/57e/305")` calls that are currently
scattered in the codebase and ensures Bluetooth passthrough is being
handled correctly.

This also fixes the broken check in WiimoteCommon::UpdateSource.
There was a confusion between "emulated Bluetooth" (as opposed to
"real Bluetooth" aka Bluetooth passthrough) and "emulated Wiimote".
2021-04-12 18:16:56 +02:00
InusualZ 490db42e44 Fix detecting rso modules 2021-03-08 16:22:26 +00:00
Léo Lam 522cb6b137
IOS: Use less ambiguous names for classes
Some of the device names can be ambiguous and require fully or partly
qualifying the name (e.g. IOS::HLE::FS::) in a somewhat verbose way.

Additionally, insufficiently qualified names are prone to breaking.
Consider the example of IOS::HLE::FS:: (namespace) and
IOS::HLE::Device::FS (class). If we use FS::Foo in a file that doesn't
know about the class, everything will work fine. However, as soon as
Device::FS is declared via a header include or even just forward
declared, that code will cease to compile because FS:: now resolves
to Device::FS if FS::Foo was used in the Device namespace.

It also leads to having to write IOS::ES:: to access ES types and
utilities even for code that is already under the IOS namespace.

The fix for this is simple: rename the device classes and give them
a "device" suffix in their names if the existing ones may be ambiguous.
This makes it clear whether we're referring to the device class or to
something else.

This is not any longer to type, considering it lets us get rid of the
Device namespace, which is now wholly unnecessary.

There are no functional changes in this commit.

A future commit will fix unnecessarily qualified names.
2021-02-12 21:40:31 +01:00
Lioncash 765a1b3c09 DolphinQt: Explicitly include <QActionGroup> where applicable
An indirect inclusion scenario that breaks on Qt 6.0
2021-01-13 04:46:11 -05:00
Admiral H. Curtiss 2932b5f8cd Qt: Give better error messages when Wii save importing fails. 2021-01-02 17:46:12 +01:00
iwubcode 9a744ab25b DolphinQt: Move Free Look out of Graphics/Hotkey and into its own configuration window. Launched from a new menu option - "Free Look Settings". The HotKeyScheduler still calls the Free Look functionality to reduce the total number of threads 2020-12-24 13:49:25 -06:00
Lioncash ffbf3d71f0 Frontends: Migrate logs over to fmt 2020-11-25 21:19:08 -05:00
Léo Lam c580a70a12
Merge pull request #9210 from Dentomologist/regions-show-hide-all
DolphinQt: Add Show/Hide All options to gamelist region menu
2020-11-20 11:35:22 +01:00
Dentomologist 7ded075561 DolphinQt: Add Show/Hide All options to gamelist region menu 2020-11-19 20:39:49 -08:00
Christian Aguilera ee13e6ec80 Improved responsiveness when refreshing game list. 2020-10-01 22:10:16 +02:00
Christian Aguilera 4ca92464c0 **Refresh** and **Purge Game List Cache** now correctly enabled/disabled as notified by GameListRefreshRequested and GameListRefreshCompleted. 2020-10-01 22:09:45 +02:00
iwubcode 2bb7d207b7 DolphinQt: fix other widgets that use lambdas (capturing this) without setting the receiver 2020-09-12 17:53:17 -05:00
JosJuice 265e0d00d6 DolphinQt: Add columns with file format details 2020-06-25 12:49:36 +02:00
Techjar 5c38727651 DolphinQt: Add fastmem option to debugger UI 2020-06-02 06:18:52 -04:00
Sepalani 39d34e133f Debugger: Add a Thread widget
DebugInterface: Add GetThreads

WatchWidget: Update widget on AddWatch
2020-05-03 20:48:30 +04: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
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
Sepalani 5e33cd48da Debugger: Add a Network widget
Display socket table, SSL context and options
2020-04-27 21:47:00 +04:00
Sepalani 9ec5391bfb Improve "Generate Symbols From > RSO Modules"
Add auto-detection option
2020-03-21 12:03:12 +04: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
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
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
Sepalani 8dc5557995 SignatureDB: Add missing selectors 2019-10-13 22:52:21 +04:00
JosJuice a66ca85dd5 DolphinQt: Fix the enabling/disabling of Movie items even more
Play can only be used when a game is selected and emulation is not
running. Start can be used when a game is selected (to start from
cold boot) or when emulation is running (to start from a savestate).

https://bugs.dolphin-emu.org/issues/11826
2019-08-14 13:45:07 +02:00
Connor McLaughlin e5a4a86f59
Merge pull request #8297 from Miksel12/bugreport-qt
DolphinQt: Add bug tracker button
2019-08-08 12:27:05 +10:00
Connor McLaughlin 1bd8f03362
Merge pull request #8271 from lioncash/qstring
DolphinQt: Replace unnecessary QStringLiterals with alternatives where applicable
2019-08-08 12:25:30 +10:00
Mike Kuijl 03b20c702d DolphinQt: Add bug tracker button 2019-08-05 18:45:14 +02:00
spycrab 04764f8b7f Fix saving states freezing up emulation
Only for about half a second but noticeable nonetheless
2019-08-01 21:33:12 +02:00
Lioncash 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
JosJuice 7fcc3dd605 DolphinQt: Don't leave Export Recording disabled always 2019-06-08 08:39:12 +02:00
8times9 00855552e9 Qt/MenuBar: Reorder Tools menu 2019-05-25 20:22:52 +02:00
spycrab 094bf0d2ff Qt/NetPlay: Integrate NetPlayIndex 2019-04-06 12:27:30 +02:00
Tilka 0a1aacb5d0
Merge pull request #7906 from jordan-woyak/leak-fix
DolphinQt/InputCommon: Fix a few memory leaks.
2019-03-21 23:26:54 +00:00
Jordan Woyak 94c4975b5d DolphinQt: Make Ctrl+F show the game list search and select the search text if already open. Escape closes. 2019-03-21 17:06:16 -05:00
Jordan Woyak 725d34b2f0 DolphinQt/InputCommon: Fix a few memory leaks. 2019-03-17 18:31:41 -05:00
Lioncash 3e0854c4aa DolphinQt/MenuBar: Remove unused ModalMessageBox instance 2019-03-04 20:16:45 -05:00
spycrab 70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
spycrab f0b749d8e2 MenuBar: Implement proper update-capabilities check 2019-02-26 20:42:55 +01: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
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
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
spycrab fc998093cc
Merge pull request #7600 from spycrab/resource_pack
Implement resource packs
2018-12-23 16:04:05 +01:00
spycrab 71d53c922f Implement resource packs 2018-12-19 11:03:09 +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
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
JosJuice 8bbec31295 DolphinQt: Implement "Purge Game List Cache"
This is a missing feature from DolphinWX.
2018-10-25 08:29:54 +02:00
JosJuice 4a07b9a0e1 Improve the "functions signature" string 2018-10-15 18:31:02 +02: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
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
aldelaro5 4b75876ba1
Qt/debugger: Accept empty prefix input 2018-10-06 21:22:34 -04:00
spycrab 6e873c6e06 Qt/GameList: Implement tag system 2018-10-05 08:22:51 +02:00
JosJuice fb6b31bba8 Re-add i18n comments that were lost in the DolphinWX removal 2018-09-08 15:58:15 +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 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 42298f6d6d
Merge pull request #7239 from addestroyer24/manual-update-now
Updater: fix immediate manual updating
2018-07-11 00:58:21 +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
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 a22ffb6387 Qt: Remove ActionHelper 2018-07-09 10:02:10 +02:00
Techjar 2ee7021cda Qt/MenuBar: Add missing JIT branch option in debugger 2018-07-08 14:32:40 -04:00
spycrab 13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00