Jordan Woyak
46e66fe945
Merge pull request #13544 from tygyh/DolphinNoGUI-Replace-deprecated-signal-header
...
DolphinNoGUI: Apply style-alignment refactorings
2025-06-07 17:47:11 -05:00
Jordan Woyak
056ece6f29
Merge pull request #13697 from tygyh/AudioCommon/Remove-unused-includes
...
AudioCommon: Remove unused includes
2025-06-07 17:45:50 -05:00
Jordan Woyak
a07a2fe398
Merge pull request #13698 from tygyh/AudioCommon/Remove-unused-qualifiers-and-make-variables-constant
...
AudioCommon: Remove unused qualifiers and make variables constant
2025-06-07 17:45:33 -05:00
Tillmann Karras
61e8fa060b
QtUtils/ImageConverter: simplify
2025-06-07 23:06:07 +01:00
Jordan Woyak
6da3f5f26a
InputCommon: Update to use SDL3 and bump the SDL submodule in Externals to release-3.2.16.
2025-06-07 16:27:54 -05:00
Jordan Woyak
5906512847
DolphinQt: Replace widespread SetQWidgetWindowDecorations calls with an event filter.
2025-06-07 16:15:34 -05:00
JMC47
52fcdde485
Merge pull request #13386 from iwubcode/resource_manager_system
...
VideoCommon: add resource manager, tracks resources to load assets in optimal way and manage memory
2025-06-07 15:51:34 -04:00
JMC47
5eb61024c6
Merge pull request #13740 from JoshuaVandaele/bsod-fix-i-hope
...
Host: Clean up device handle in all cases
2025-06-07 12:27:49 -04:00
Admiral H. Curtiss
a27b845514
Merge pull request #13710 from TryTwo/UI_Sliders_Update
...
Advanced Panel convert QSliders into ConfigSliders
2025-06-07 17:39:40 +02:00
Admiral H. Curtiss
1b1ca019a4
Merge pull request #13724 from SuperSamus/gamelist-properties-noduplicates
...
GameList: Prevent opening Properties multiple times for the same game
2025-06-07 17:24:50 +02:00
Joshua Vandaële
241834709b
Host: Clean up device handle
2025-06-07 16:55:45 +02:00
LillyJadeKatrin
c68549e9ef
AchievementManager - Load unknown games
...
Prior to this change, any game unrecognized by RetroAchievements would ultimately result in the game being "Closed" by AchievementManager. As a result, if any game was run while in this state without any other closing being done, AchievementManager would simply load it like a new game, despite memory already being accessed.
However, testing and documentation determined that the rcheevos client doesn't actually complain when it fails to hash a game; it just runs this as "Unidentified Game" with RA ID = 0. As such, this change utilizes that in AchievementManager to differentiate between no software running and unidentified software running.
As a result of this, now LoadGame needs to be called for every piece of runnable software, supported format or otherwise. If a supported format is not available, LoadGame can now be called with a nullptr to ensure that rcheevos still properly sets up an unidentified game.
2025-06-07 07:02:24 -04:00
LillyJadeKatrin
5545a386cf
AchievementManager - Fix Gamecube Bulk Copy
...
The memory copy algorithm (only needed for RetroAchievements devs) was broken for Gamecube as it assumed EXRAM size was zero when in reality it's using ARAM. For the time being, we do not need to use or access ARAM so instead this sets that value to zero for Gamecube titles.
2025-06-07 07:00:47 -04:00
JosJuice
185b080f03
Merge pull request #13142 from JosJuice/fifo-window-starting-stopping
...
DolphinQt: Call FIFOPlayerWindow::UpdateControls for Starting/Stopping
2025-06-07 10:43:19 +02:00
iwubcode
c3d3b81533
VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not needed anymore
2025-06-06 23:03:02 -05:00
iwubcode
774a84a953
VideoCommon: avoid race conditions with asset load/unload by moving the lock to the entire function, favor atomics for the memory/time getters
2025-06-06 23:03:02 -05:00
iwubcode
b3f50c969e
VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded
2025-06-06 23:03:02 -05:00
iwubcode
3b83907b88
VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com >
2025-06-06 23:03:02 -05:00
iwubcode
d940d62cae
VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures)
2025-06-06 23:03:02 -05:00
iwubcode
7afa9e6c6f
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
2025-06-06 23:03:02 -05:00
iwubcode
12d178a8df
VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down
2025-06-06 23:03:02 -05:00
iwubcode
f910c1d934
Core: add CustomResourceManager to System
2025-06-06 23:03:02 -05:00
iwubcode
70abcb2030
VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com >
2025-06-06 23:03:02 -05:00
iwubcode
d8ea31ca46
VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData. Move validation and load logic to individual functions
2025-06-06 23:03:02 -05:00
iwubcode
2ae43324cb
VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
2025-06-06 23:03:02 -05:00
iwubcode
7d59c2743d
Common: Add class 'FilesystemWatcher' that is used to watch paths and receive callbacks about filesystem level events for anything under that path
2025-06-06 23:03:02 -05:00
iwubcode
8113399b68
Externals: add watcher, a library used to watch a filesystem location for changes
2025-06-06 23:03:02 -05:00
iwubcode
bafe78203d
VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for asset times
2025-06-06 23:03:02 -05:00
iwubcode
15f125ebee
VideoCommon: change asset loading to return the number of bytes loaded instead of a pass/fail
2025-06-06 23:03:02 -05:00
iwubcode
316740daed
VideoCommon: add 'Unload' functionality to CustomAsset
2025-06-06 23:03:02 -05:00
Dentomologist
2a7e8a4003
DolphinQt: Remove redundant window hints
...
Remove window hints clearing the flag Qt::WindowContextHelpButtonHint,
which is already off by default in Qt 6.
In Qt 5 this flag was set by default for QDialogs, and on Windows put a
? button in the corner of the title bar allowing users to activate Qt's
QWhatsThis help system for a given widget. Since we don't set that text
the ? button was useless and so we hid it manually.
2025-06-06 19:35:13 -07:00
iwubcode
9ec69b5925
VideoCommon: add a handle to custom asset, this is an id that is only relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id
2025-06-06 19:20:25 -05:00
iwubcode
d7de49ccf6
Core / VideoCommon: Remove original custom asset loader
2025-06-06 19:20:25 -05:00
JMC47
5ec5db9240
Merge pull request #13392 from jordan-woyak/frame-pacing-accurate-time
...
CoreTiming: Add setting to pursue accurate overall emulation runtime
2025-06-06 19:17:44 -04:00
JMC47
974c56d3c5
Merge pull request #13731 from iwubcode/pixel_shader_gen_fix_complete_initialize
...
VideoCommon: ensure pixel shader gen input structure is completely initialized
2025-06-06 19:08:57 -04:00
JMC47
b1d114f7f7
Merge pull request #13730 from jordan-woyak/controllers-on-main-config-dialog
...
DolphinQt: Move "Controllers" to main settings window.
2025-06-06 18:54:12 -04:00
Javier Martinez
d766c527c7
Common: Replace Contains and ContainsSubrange with C++23 std::ranges equivalents
...
Common: Use feature macros for better compatibility
Common/Contains.h: fix linting issue
Common/Contains.h: Add C++23 TODO
Common/Contains.h: Fix comment lint issue.
2025-06-05 19:18:08 -04:00
Jordan Woyak
a0611b512b
Merge pull request #13713 from Dentomologist/filesystemwidget_center_header_text
...
FilesystemWidget: Center header text
2025-06-05 14:34:36 -05:00
Admiral H. Curtiss
ea959f2651
DSP/Jit: Don't return to dispatcher if no exception was generated
2025-06-05 20:57:27 +02:00
Admiral H. Curtiss
a43fc68452
DSPAnalyzer: Set store instructions as potentially generating exceptions
2025-06-05 19:10:42 +02:00
iwubcode
ae26b38fc0
VideoCommon: fix pixel shader gen error about structure not being fully initialized
2025-06-05 01:37:45 -05:00
Jordan Woyak
b9bea58f0f
DolphinQt: Move "Controllers" to main settings window.
2025-06-04 19:33:01 -05:00
JosJuice
b7fb2fa737
Merge pull request #13728 from JosJuice/android-uses-microphone
...
Android: Add android.hardware.microphone to manifest
2025-06-04 23:37:17 +02:00
Martino Fontana
2de9122b5f
GameList: Prevent opening Properties multiple times for the same game
2025-06-04 23:11:09 +02:00
JMC47
8665b22822
Merge pull request #13651 from jordan-woyak/config-list
...
DolphinQt: Change Config QTabWidget into a QListWidget and QStackedWidget.
2025-06-04 16:01:51 -04:00
Dr. Dystopia
bae0e5f67a
DolphinNoGUI: Make override explicit
2025-06-04 21:49:29 +02:00
Dr. Dystopia
2ae928ca79
DolphinNoGUI: Make parameters constant
2025-06-04 21:49:15 +02:00
Dr. Dystopia
f04f659710
DolphinNoGUI: Replace C-style cast with reinterpret_cast
2025-06-04 21:49:01 +02:00
Dr. Dystopia
ec1d659363
DolphinNoGUI: Make classes final
2025-06-04 21:48:53 +02:00
Dr. Dystopia
c37933932d
DolphinNoGUI: Make variables constant
2025-06-04 21:48:40 +02:00