Commit Graph

43766 Commits

Author SHA1 Message Date
8ee64a84c7 Merge pull request #13590 from tygyh/UCodes-Remove-redundant-qualifiers
UCodes: Remove redundant qualifiers
2025-04-26 16:23:27 +01:00
f060baa257 Config: Add locking for config changed callbacks
Different threads are adding and calling callbacks, so this should have
some locking. This is both to ensure thread safety when accessing
`s_callbacks` and to ensure that there won't be situations where a
callback gets called after it's removed.

`s_callback_guards` is also accessed from multiple threads and has
therefore been made atomic.
2025-04-26 12:56:37 +02:00
3ed3fb05af Android: Allow reporting start to analytics for non-main activity
a1691a4 made it so analytics start events can only be generated when
starting the main activity. However, some users launch Dolphin's
emulation activity from a separate frontend application, bypassing
Dolphin's main activity. This change adjusts the logic so that start
events can be generated if any activity is started after 6 hours of
inactivity. This more closely matches the behavior we had before
a1691a4, while still ensuring duplicate start events aren't generated.

I've also fixed the inconsistent indentation in ActivityTracker.kt.
2025-04-26 10:45:56 +02:00
741ffc3114 Merge pull request #13514 from LillyJadeKatrin/retroachievements-failed-load-bug
Call AchievementManager CloseGame on load failures
2025-04-26 10:36:09 +02:00
3e5286c1a4 Merge pull request #13593 from Dentomologist/mainwindow_fix_use_after_free_during_dolphin_shutdown
MainWindow: Fix use-after-free during Dolphin shutdown
2025-04-26 09:06:06 +02:00
3a883f28d6 Config: Add [[nodiscard]] to AddConfigChangedCallback
Require callers of Config::AddConfigChangedCallback and
CPUThreadConfigCallback::AddConfigChangedCallback to handle the returned
ConfigChangedCallbackIDs to hopefully prevent future issues with
callbacks getting called after their associated objects have been
destroyed.
2025-04-25 16:04:12 -07:00
45b9def42c VideoConfig: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
d0dc8ae5e1 FreeLook: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
9db4067957 UICommon: Merge ConfigChangedCallbacks
Use a single lambda as a callback which calls InitCustomPaths and
RefreshConfig instead of having separate callbacks for each of them.

This fixes the callback for InitCustomPaths not being removed on
shutdown; the callback for the lambda (previously for RefreshConfig) is
already removed in Shutdown().
2025-04-25 16:00:43 -07:00
8724daf44e Settings: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:19 -07:00
9c40a7976b AchievementManager: Remove ConfigChangedCallback on shutdown
Prevent SetHardcoreMode from being called after m_client is set to
nullptr. rc_client_set_hardcore_enabled() checks for nullptr so this
didn't cause any problems, but better not to rely on that.

Also prevents multiple SetHardcoreMode callbacks from piling up when
repeatedly toggling Config::RA_ENABLED.
2025-04-25 15:29:29 -07:00
e37a195192 MainWindow: Fix use-after-free during shutdown
Remove ConfigChangedCallback in MainWindow's destructor to prevent the
callback from accessing the destroyed MainWindow afterward.

After MainWindow is destroyed UICommon::Shutdown calls
LogManager::Shutdown which ultimately triggers any remaining callbacks.
This resulted in calling MainWindow::OnHardcoreChanged, which crashed in
debug builds and didn't have any obvious effect in release builds.
2025-04-25 15:29:29 -07:00
9868138c22 UCodes: Remove redundant qualifiers 2025-04-25 13:18:56 +02:00
066408326c Core/HW/EXI: Remove redundant inline specifiers 2025-04-25 12:03:52 +02:00
50ca32352f Core/HW/GCMemcard: Make variables constant 2025-04-25 11:35:59 +02:00
805307f432 Merge pull request #13451 from vyuuui/numeric_labels
Add numeric label support to assembler
2025-04-25 01:56:43 +01:00
fe307a06c6 Merge pull request #13476 from jordan-woyak/sdl-header
InputCommon: Move SDL Device class into its own cpp/h files.
2025-04-25 01:49:52 +01:00
a95779add0 Merge pull request #13506 from JosJuice/android-time-played
Android: Show time played in game details
2025-04-25 01:43:53 +01:00
5523b9a01b Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement
PerformanceMetrics: Fix window arrangement
2025-04-25 01:40:58 +01:00
50026ab795 Merge pull request #13497 from hoogmin/modernize_fs_path
Core/Common/FileUtil.cpp: Use std path utility for automatic path separator handling.
2025-04-25 01:38:35 +01:00
a6290caa2e DSPHLE: set accelerator gain 2025-04-25 01:09:15 +01:00
80adfc606d docs/DSP: Rename SCALE to PRED_SCALE 2025-04-25 01:09:15 +01:00
8412a7c336 DSPAccelerator: update comment (NFC) 2025-04-25 01:09:15 +01:00
f0bacb826a DSPAccelerator: rename MMIOPCMHalt to MMIOPCMNoInc 2025-04-25 01:09:15 +01:00
7c7c179b44 DSP tests: update DSP MMIO labels 2025-04-25 00:51:46 +01:00
6c870860ea DSP tests: clean up unused code 2025-04-25 00:51:46 +01:00
05381c5b6d Address Pokechu22's feedback 2025-04-25 00:51:46 +01:00
21d5e3182d Fix DSP loop test init order, add DSP pcm test 2025-04-25 00:51:46 +01:00
cd77e682ca Name gain shift/scaling better 2025-04-25 00:51:46 +01:00
512da86b1a Update DSP docs with accelerator info, fix ANDC/ORC instruction description typos 2025-04-25 00:51:46 +01:00
c460cafecf Update ACDRAW/ACDSAMP reg names in DSPTables and DSPSpy tests 2025-04-25 00:51:46 +01:00
d517fe25f1 Add accelerator input MMIO register, fix MMIO PCM modes 2025-04-25 00:51:45 +01:00
14fadbbe56 ADPCM mode doesn't entirely die with larger accesses, gain is PCM only 2025-04-25 00:51:45 +01:00
c7d8afc5a7 Use correct exceptions for d3 reads/writes 2025-04-25 00:51:45 +01:00
c9bb258e88 Add accelerator raw d3 test 2025-04-25 00:51:45 +01:00
0dd282f626 Fix DSPAcceleratorTest 2025-04-25 00:51:45 +01:00
ac2fdefcb4 Refactor accelerator format as a bitfield, use gain/yn1/yn2 in PCM mode 2025-04-25 00:51:45 +01:00
04c7c1a4a1 Rename accelerator accesses to 'raw' and 'sample' 2025-04-25 00:51:45 +01:00
256d9f8702 Improve ReadD3 emulation 2025-04-25 00:51:45 +01:00
bbc11edd7d Rework WriteD3 based on hardware testing 2025-04-25 00:51:45 +01:00
4d9dc1e1cd GekkoDisassembler: standardize SPR names and add missing ones 2025-04-25 00:24:12 +01:00
908094714b Translation resources sync with Transifex 2025-04-24 23:38:09 +02:00
ef8b9a0dcd Core/HW/SI: Make variables constant 2025-04-24 17:01:12 +02:00
8fa725d5e4 Merge pull request #13573 from tygyh/DolphinTool-Make-parameter-constant
DolphinTool: Make parameter constant
2025-04-24 00:49:10 -04:00
fc0aafca3b Merge pull request #13577 from tygyh/UCodes-Make-functions-static
UCodes: Make functions static
2025-04-24 00:48:46 -04:00
f675048768 Merge pull request #13578 from tygyh/Core/HW-Remove-redundant-empty-lambda-parameter-lists
Core/HW: Remove redundant empty lambda parameter lists
2025-04-24 00:48:28 -04:00
1cea31c75a Merge pull request #13580 from LillyJadeKatrin/retroachievements-de-bug-debug
Fix debugger disabled bug
2025-04-23 23:28:19 -05:00
3025cd472c Merge pull request #13491 from JosJuice/oh0-removed-opened
IOS: Remove from m_opened_devices in OH0::OnDeviceChange
2025-04-23 23:25:34 -05:00
022bc3bf8d Fix debugger disabled bug
Fixing an oversight: this was causing the debugger to be disabled if achievements were disabled but hardcore mode was still enabled in the .ini. This fix properly checks for hardcore state via AchievementManager which takes both settings into account.
2025-04-23 22:57:35 -04:00
8bb07bf3c4 LibusbDevice: Send wakeup command to Santroller devices 2025-04-24 12:09:41 +12:00