Commit Graph

62 Commits

Author SHA1 Message Date
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