Tillmann Karras
f6d3f448d9
IOS/Network: fix -Wmissing-braces warnings
2025-04-22 23:36:01 +01:00
Jordan Woyak
ac76deaef0
Merge pull request #13529 from jordan-woyak/StateBuffer
...
Core/State: Avoid unnecessarily value-initializing large buffers.
2025-04-22 16:30:51 -05:00
OatmealDome
da84a9f605
Merge pull request #13477 from OatmealDome/macos-11
...
CMakeLists: Bump minimum macOS to 11.0
2025-04-22 17:27:12 -04:00
Jordan Woyak
afee9a56e9
Merge pull request #13474 from JosJuice/rock-band-playstation
...
IOS: Disguise Rock Band PlayStation USB devices as Wii equivalents
2025-04-22 16:02:16 -05:00
Jordan Woyak
9254a53397
Merge pull request #13490 from JosJuice/one-usb-scanner
...
IOS: Only have one USB scanning thread
2025-04-22 16:01:18 -05:00
JMC47
fd8ce3ce80
Merge pull request #13555 from jordan-woyak/cubeb-default
...
AudioCommon: Make cubeb sound backend default on Linux.
2025-04-22 12:07:43 -04:00
JosJuice
12010ebf78
Merge pull request #13557 from LillyJadeKatrin/pause-bugfix
...
AchievementManager: Always allow pausing if game not loaded
2025-04-22 17:55:23 +02:00
Dr. Dystopia
ecafd8058f
DiscIO: Remove redundant qualifiers
2025-04-22 13:54:10 +02:00
Jordan Woyak
89873d6238
Merge pull request #13472 from tygyh/Use-values-function
...
Core/NetPlayServer: Use std::views::values and std::views::keys functions
2025-04-22 02:25:46 -05:00
LillyJadeKatrin
d670c21c8e
Always allow pausing if game not loaded
...
RetroAchievements disables pausing too frequently when running but there's no sense of doing this if RetroAchievements does not currently have a game running.
2025-04-21 22:38:09 -04:00
Jordan Woyak
1e8b668793
DVDInterface: Fix crash when playing wiiware.
2025-04-21 18:38:33 -05:00
Jordan Woyak
1fc6be7f80
AudioCommon: Make cubeb sound backend default on Linux.
2025-04-21 16:25:40 -05:00
JosJuice
e468e2359a
IOS: Only have one USBScanner
...
Some games open two USB interfaces, e.g. /dev/usb/oh0 and /dev/usb/hid.
This was causing us to run two scanning threads at once, using up more
CPU time for scanning than we need to.
2025-04-21 21:57:49 +02:00
LillyJadeKatrin
8f12512d0d
Call AchievementManager CloseGame on load failures
...
We have identified that a failed RetroAchievements game load (most easily done when closing a game before the server can finish responding) can leave data behind that causes problems. As such, refactored CloseGame to always delete data even if there wasn't a game loaded when it was called, and call it on the failure paths of LoadGameCallback.
2025-04-21 15:53:31 -04:00
JosJuice
920a44aec2
IOS: Diff device lists in USBHost instead of USBScanner
...
Instead of having USBScanner create "hooks" as it scans for devices,
let's have USBScanner present a list of devices to USBHost and have
USBHost diff the new device list with its old device list to create the
hook calls instead. This gets rid of some complex edge cases that the
next commit otherwise would have to deal with, in particular regarding
toggling determinism and adding new USBHosts to a USBScanner.
2025-04-21 21:25:36 +02:00
JosJuice
24fdcc1a0e
IOS: Add missing locking for USBHost::m_devices
...
Note: After adding the missing locking of m_devices_mutex, I had to move
the locking of m_hooks_mutex to avoid a random deadlock between the CPU
thread and USB scanning thread. (Either that or I would have to lock
m_devices_mutex before m_hooks_mutex.)
2025-04-21 21:25:35 +02:00
JosJuice
50a8ae9d90
IOS: Keep copy of m_devices in USBHost
...
This gets rid of the ugly direct access to USBScanner::m_devices that
was introduced by the previous commit.
This also fixes a potential thread safety issue.
USB_HIDv4::TriggerDeviceChangeReply loops through m_devices and calls
GetDeviceEntry for each device. If USB_HIDv4::TriggerDeviceChangeReply
is called after a new device is added to m_devices but before hooks are
dispatched, GetDeviceEntry crashes, because the hook that's supposed to
update m_device_ids hasn't run yet. With this commit, this issue can no
longer happen, because USBHost::m_devices_mutex doesn't get unlocked in
between updating m_devices and dispatching the hooks.
2025-04-21 21:25:35 +02:00
JosJuice
427e9c5ad2
IOS: Move USB scanning thread to new class USBScanner
2025-04-21 21:25:35 +02:00
JosJuice
c0c180bdc2
Merge pull request #13467 from JosJuice/profiler-thread-safety
...
Common: Make Profiler thread safe
2025-04-21 20:19:47 +02:00
JMC47
258fc1b209
Merge pull request #12949 from LillyJadeKatrin/retroachievements-new-dev-branch
...
RetroAchievements - Dev Branch Refactor
2025-04-21 14:08:40 -04:00
Dr. Dystopia
35fa32e254
Core/PowerPC/JitArm64: Replace zeroes in boolean context with false
2025-04-21 17:06:06 +02:00
Zopolis4
89fdc0b9e0
Fix Triforce GameINIs
2025-04-21 22:05:26 +10:00
Zopolis4
2238967d93
Add Triforce IPL hash
2025-04-21 22:05:25 +10:00
Zopolis4
660232a12c
Preliminary implementation of the Triforce Baseboard
2025-04-21 22:05:25 +10:00
Zopolis4
2baa09d5b4
Implement endian swapping and lazy decryption of Triforce DI commands
2025-04-21 22:05:25 +10:00
Zopolis4
8d94d25203
Implement Triforce ID parsing
2025-04-21 22:05:25 +10:00
Zopolis4
71f654cdc4
Add Triforce platform and preliminary boot.id parsing
2025-04-21 22:05:25 +10:00
Zopolis4
494e2c05c2
Adding support for detecting .bin images
2025-04-21 22:05:24 +10:00
OatmealDome
ec9fb08dab
MTLUtil: Remove availability check for iOS 13
...
My personal fork requires minimum iOS 14, so this is not required.
2025-04-21 00:24:58 -04:00
OatmealDome
65f42ee2d2
MTLUtil: Always use MSL 2.3
...
The minimum macOS (and minimum iOS on my personal fork) are enough to allow MSL 2.3 usage without availability checks.
2025-04-21 00:24:58 -04:00
OatmealDome
53b66be47d
MTLUtil: Remove availability checks for macOS 10.15 and iOS 13
2025-04-21 00:24:58 -04:00
OatmealDome
0bc33fb6df
MTLUtil: Remove availability check for macOS 10.15
2025-04-21 00:24:58 -04:00
OatmealDome
dc8865718e
MTLUtil: Remove availability check for macOS 11
2025-04-21 00:24:58 -04:00
OatmealDome
7213cdd439
MemoryUtil: Remove availability checks for macOS 11
2025-04-21 00:24:58 -04:00
OatmealDome
bc3c3eb79a
Merge pull request #13524 from jordan-woyak/fix-gba-link
...
SI: Fix GBA link by having a separate response for "error" and "no data".
2025-04-20 22:29:38 -04:00
Tilka
7e7b75c1e6
Merge pull request #13537 from tygyh/DiscIO-Make-variables-constexpr
...
DiscIO: Make variables constexpr
2025-04-21 00:52:18 +01:00
Tilka
9504916f72
Merge pull request #13538 from tygyh/DiscIO-Use-default-to-define-a-trivial-destructor
...
DiscIO: Use `= default` to define a trivial destructor
2025-04-20 22:32:12 +01:00
Tilka
0a52140145
Merge pull request #13549 from shuffle2/ucrtpatch
...
remove ucrt compat patches
2025-04-20 22:24:57 +01:00
Tilka
45ed4b2be9
Merge pull request #13541 from tygyh/DiscIO-Remove-redundant-zero-initializers-in-aggregate-initializations
...
DiscIO: Remove redundant zero initializers in aggregate initializations
2025-04-20 22:07:58 +01:00
Tilka
2adf3449f3
Merge pull request #13548 from shuffle2/http
...
HttpRequest: remove some legacy code for windows < 8.1
2025-04-20 22:07:32 +01:00
Jordan Woyak
8d7d026da6
Merge pull request #13533 from tygyh/DiscIO-Make-classes-final
...
DiscIO: Make classes final
2025-04-20 16:06:07 -05:00
Shawn Hoffman
2d1161150b
remove ucrt compat patches
...
Dolphin has not supported a version of windows where
these binaries exist for a while.
2025-04-20 12:50:10 -07:00
Shawn Hoffman
5dd896a7d9
HttpRequest: remove some legacy code for windows < 8.1
2025-04-20 11:46:09 -07:00
Jordan Woyak
ac3dbe2294
Core/State: Use UniqueBuffer instead of make_unique and std::vector for save state buffers.
2025-04-19 17:29:56 -05:00
Jordan Woyak
12dcd6c285
Common: Add UniqueBuffer and SharedBuffer templates.
2025-04-19 17:13:40 -05:00
Jordan Woyak
f78fa2e9f1
LinearDiskCache: Use make_unique_for_overwrite.
2025-04-19 17:13:40 -05:00
Dr. Dystopia
77b4270981
DiscIO: Remove redundant zero initializers in aggregate initializations
2025-04-19 22:04:50 +02:00
Dr. Dystopia
7123fcd19b
DiscIO: Use = default to define a trivial destructor
2025-04-19 17:43:18 +02:00
Dr. Dystopia
f6ba69f99a
DiscIO: Make variables constexpr
2025-04-19 17:17:02 +02:00
JosJuice
1ae0b23265
Merge pull request #13528 from jordan-woyak/win-cmake-fix
...
Common/Timer: Change HANDLE to void* to avoid including Windows.h to fix cmake build.
2025-04-19 16:41:51 +02:00
JosJuice
49ebdaaae3
Merge pull request #13507 from JosJuice/time-played-game-id
...
Core: Don't store game ID inside TimePlayed
2025-04-19 14:28:02 +02:00
Jordan Woyak
fda8afaf5c
SI: Fix GBA link by having a separate response for "error" and "no data".
2025-04-19 03:28:57 -05:00
Dr. Dystopia
301cc5ee63
DiscIO: Make classes final
2025-04-19 09:05:22 +02:00
Jordan Woyak
cb20959679
Common/Timer: Change HANDLE to void* to avoid including Windows.h to fix cmake build.
2025-04-18 21:50:15 -05:00
Jordan Woyak
056b0339be
Merge pull request #13496 from TryTwo/PR_GameSettings_Fix
...
Game config settings: Show global value when no game setting exists.
2025-04-18 15:56:59 -05:00
LillyJadeKatrin
c55624702c
Allow RA Dev Tools for Unidentified Games
...
Due to requests from RA Devs, updating the AchievementManager LoadGameCallback to still set MemoryPeeker (and set m_system) if the load game response is NO_GAME_LOADED, so that the memory inspector et al continue function properly on unidentified hashes. Without this, no memory is loaded and the memory inspector will show all zeroes.
2025-04-16 23:59:16 -04:00
LillyJadeKatrin
a96c935c1c
Added modified achievements confirmation
...
Added a line to the close game confirmation dialog to tell the dev if there are unsaved modifications to the achievement assets.
2025-04-16 17:01:22 -04:00
LillyJadeKatrin
b9a93794ff
Added game title estimate for achievement development
...
If the development system is started for a game with an unrecognized hash, RA_Integration opens a dialog for connecting the hash with a title. That dialog is prepopulated by the results of GameTitleEstimateHandler.
2025-04-16 17:01:22 -04:00
LillyJadeKatrin
ef612912a2
Handle local achievements
...
Displays an additional message when an achievement unlocks that isn't on the site yet (either hasn't yet been uploaded or modified from remote) i.e. achievements the "player" is actively developing.
2025-04-16 17:01:21 -04:00
LillyJadeKatrin
fa782de15c
Add MemoryPoker for RAIntegration
2025-04-16 17:00:58 -04:00
Jordan Woyak
f8bf35e6f0
Merge pull request #13518 from tygyh/Fix-Partition-struct-comparison-operators
...
DiscIO/Volume: Fix Partition struct comparison operators
2025-04-16 00:20:28 -05:00
Jordan Woyak
8bfde300f4
Merge pull request #13519 from tygyh/Replace-definitions-with-constant-expressions
...
Replace definitions with constant expressions - Core/HW/EXI/BBA/TAP_Win32
2025-04-16 00:19:40 -05:00
OatmealDome
2af276d27e
MemArenaDarwin: Initialize all address variables passed to vm_map
2025-04-16 00:50:54 -04:00
Dr. Dystopia
c4f906bcd9
Replace definitions with constant expressions - Core/HW/EXI/BBA/TAP_Win32
2025-04-15 12:26:16 +02:00
Dr. Dystopia
3bb925c1c7
DiscIO/Volume: Fix Partition struct comparison operators
2025-04-15 12:18:23 +02:00
LillyJadeKatrin
90a4be4b36
Add RAIntegration event handler
...
Some refactoring done to hardcore toggling so that it's more readily available for the toggle hardcore event.
2025-04-13 13:36:15 -04:00
LillyJadeKatrin
9caa02493d
Add RetroAchievements development menu
...
When the menu exists, it replaces the Achievements action in the Tools menu.
2025-04-13 08:06:00 -04:00
LillyJadeKatrin
36c7e7f3c7
Load RA_Integration.DLL at init if present
2025-04-13 08:05:59 -04:00
LillyJadeKatrin
cab5bc5680
Update rcheevos submodule to newest master
2025-04-13 08:05:59 -04:00
LillyJadeKatrin
6ad267017c
Refactor AchievementBox to const pointer
...
Not sure when or why this became necessary but it works.
2025-04-13 08:05:59 -04:00
JosJuice
4f210df86a
Merge pull request #13489 from AdmiralCurtiss/translate-audio-backend
...
DolphinQt/AudioPane: Fix Audio backend dropdown not using translated names
2025-04-12 17:59:42 +02:00
JMC47
bcddd78a89
Merge pull request #13500 from jordan-woyak/accel-gyro-any-mapping
...
InputCommon: Activate IMU Accelerometer and Gyroscope mappings when any direction has a bound input.
2025-04-12 11:47:38 -04:00
JosJuice
d194e69bbd
Core: Don't store game ID inside TimePlayed
...
When you use TimePlayed, you have to provide a game ID either when
creating the object or when calling GetTimePlayed on it. If you don't
provide a game ID when creating the object, function calls that don't
take a game ID will silently fail, except for Reload. This isn't very
obvious, and there's no strong benefit to storing the game ID inside
TimePlayed anyway (it just lets TimePlayed skip calling EscapeFileName),
so this commit removes the TimePlayed constructor that takes a game ID
and instead makes the functions that need game IDs always take a game ID
argument.
2025-04-12 15:20:49 +02:00
JMC47
5285b1168a
Merge pull request #13503 from sepalani/ip-top-perf
...
IP/Top: Fix performance regression in GetInterfaceOpt
2025-04-11 18:56:35 -04:00
Sepalani
03451f2bc9
IP/Top: Fix performance regression in GetInterfaceOpt
2025-04-12 01:38:00 +04:00
Jordan Woyak
87beb7d67b
InputCommon: Activate IMU Accelerometer and Gyroscope when any direction has a bound input.
2025-04-10 15:55:49 -05:00
JMC47
fc0179c1ea
Merge pull request #13498 from jordan-woyak/immxfb-dualcore-todo
...
BPStructs: Add TODO for unsafe usage of GetTicks.
2025-04-09 23:20:35 -04:00
Jordan Woyak
4aa056dd4d
BPStructs: Add TODO for unsafe usage of GetTicks.
2025-04-08 19:58:31 -05:00
Javier Martinez
7ca8dc3767
Use std path utility for automatic path seperator handling.
...
It was being done manually, which a TODO comment advised against.
Using generic_string() from std::filesystem::path solves this.
Fix encoding issue using generic_wstring instead.
2025-04-08 16:54:11 -04:00
JMC47
01363572cb
Merge pull request #13483 from Sam-Belliveau/fixed_playback_speed
...
Use Doubles for Sample Rate Conversion
2025-04-08 13:45:12 -04:00
TryTwo
91380258a1
GameConfig Settings: If no game setting exists for a certain option, then show the global setting value. Previously showed the default value if the game setting didn't exist.
2025-04-07 20:41:46 -07:00
JMC47
ee27f03a43
Merge pull request #13439 from jordan-woyak/perf-marker
...
Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.
2025-04-07 17:57:56 -04:00
Admiral H. Curtiss
b306d00d5d
DolphinQt/AudioPane: Fix Audio backend dropdown not using translated names
2025-04-06 05:09:23 +02:00
Dentomologist
ec49ea5be3
PerformanceMetrics: Fix window arrangement
...
Fix overlays stacking on top of each other or not moving to the edge of
the screen when enabling or disabling overlays while emulation is
active.
This change only applies when Config::GFX_MOVABLE_PERFORMANCE_METRICS is
False.
2025-04-05 14:22:17 -07:00
Sam Belliveau
74e752ed9c
Mixer: Use Doubles for Sample Rate Conversion.
2025-04-05 13:46:37 -05:00
Jordan Woyak
06afa0036a
CoreTiming: Fix Precision Frame Timing in Dual Core mode on Windows.
2025-04-04 19:13:53 -05:00
Jordan Woyak
e0e53f3235
Common/Timer: Use YieldProcessor on Windows.
2025-04-03 15:48:51 -05:00
Jordan Woyak
7dc27753e2
CoreTiming: Add a setting to use Common::PrecisionTimer.
2025-04-03 15:48:51 -05:00
Jordan Woyak
e5c8935acc
Common: Create a PrecisionTimer class.
2025-04-03 15:48:51 -05:00
Admiral H. Curtiss
dadbd2f9fb
Merge pull request #13479 from iwubcode/mali_draw_fix
...
VideoCommon: fix a mali draw bug that causes crashes in some games
2025-04-03 21:55:41 +02:00
Jordan Woyak
af1f07207f
VideoInterface: Throttle for VBlank only when necessary.
2025-04-02 23:24:03 -05:00
Jordan Woyak
c42dab6388
Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.
2025-04-02 23:23:51 -05:00
JMC47
61ab662733
Merge pull request #13424 from Sam-Belliveau/granule-performance-improvements
...
AudioCommon: Increased Granule Synthesis Performance
2025-04-02 22:44:14 -04:00
Dr. Dystopia
ebc9c8492d
Use std::views::values and std::views::keys functions - NetPlayServer
2025-04-02 20:06:10 +02:00
iwubcode
ec36fce7c6
VideoCommon: fix a mali bug by moving the perf queries back to being close to the draw call, having them apart seems to cause errors on some devices
2025-04-01 18:32:42 -05:00
Sam Belliveau
877864c23a
Improve Performance of Granular Buffering + User Adjustable Buffer Size
2025-04-01 18:17:21 -04:00
Jordan Woyak
33a7283d3b
VideoBackends/Metal: Fix anisotropic filtering handling.
2025-04-01 15:09:21 -05:00
JosJuice
01a7732d50
IOS: Disguise Rock Band PlayStation USB devices as Wii equivalents
...
This lets you use PS3 Rock Band controllers with Wii Rock Band and
Guitar Hero games.
A normal user will probably never have any reason to disable this
behavior, but I figured maybe there's some person out there who would
like to disable it. (For instance, I know there's a mod for RB3 that's
trying to implement the same kind of cross-console controller
compatibility, and that can only be tested if the behavior I'm adding is
disabled.) So the behavior is controlled by an INI-only setting.
2025-03-31 21:24:25 +02:00
Jordan Woyak
17c994df2a
InputCommon: Move SDL Device class into its own cpp/h files.
2025-03-30 23:23:06 -05:00
Admiral H. Curtiss
1b85da9b85
Merge pull request #13471 from Nitch2024/CTRL+G
...
[Debugger] CTRL+G support in code and memory view
2025-03-30 15:39:54 +02:00