Commit Graph

32221 Commits

Author SHA1 Message Date
9dfcbcecff DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
c211efd84a Merge pull request #13603 from tygyh/FifoPlayer-Make-functions-static
FifoPlayer: Make functions static
2025-05-14 23:01:34 -05:00
826f04d06c RetroAchievements: Fix potential deadlock on shutdown. 2025-05-14 01:10:53 -05:00
57dce8bd7c Merge pull request #13650 from JosJuice/stswx-uncached
PowerPC: Correctly handle stswi/stswx to uncached memory
2025-05-12 19:19:52 -04:00
cf3702cbc8 Merge pull request #13046 from SuperSamus/vi-overclock
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
c720211542 VideoCommon: Limit maximum denominator for MPEG4
It happened to be under the limit normally, but now that the VBI rate can be changed, that's no longer the case.
2025-05-12 18:54:42 +02:00
832570c658 Core: Add VBI Frequency Override
This feature allows overriding the frequency of the Vertical Blank Interrupt. For many games, this means that their gameplay speed will change without affecting audio, which would be useful by itself (e.g. grinding in RPGs).

However, there are games that use delta time for their game logic, which allows them to be played at >60 FPS at the same gameplay speed!

Some games aren't dynamic though, and require a patch to adjust their game speed variable.
2025-05-12 18:54:36 +02:00
f19a33340a Merge pull request #13631 from LillyJadeKatrin/retroachievements-mem2
AchievementManager: MEM2 Support
2025-05-10 14:56:14 -04:00
2b376a92ae PowerPC: Correctly handle stswi/stswx to uncached memory
On real hardware, stswi and stswx don't trigger any of the special
behavior for uncached unaligned writes that was implemented in 543ed8a.
This is confirmed by a hwtest (a new commit in
https://github.com/dolphin-emu/hwtests/pull/42).

This change fixes Dolphin's stswi and stswx implementations so they stop
triggering the special behavior, bringing them back to the behavior they
had before 543ed8a. No games are known to be affected, but Extrems has
reported that it affects homebrew they've made.
2025-05-10 19:47:15 +02:00
b2e5d6df25 Merge pull request #13350 from iwubcode/custom_shader_overhaul_vertex_pos
VideoCommon: move transform matrices to accessible functions in VertexShaderGen
2025-05-10 01:20:28 -04:00
0351fd56b1 Merge pull request #10766 from xperia64/dsp_format_fun
DSP accelerator improvements
2025-05-09 19:04:23 -04:00
463bd86145 Merge pull request #13641 from jordan-woyak/sha1-fix
Crypto/SHA1: Fix past-the-last-element std::array access and modernize code.
2025-05-09 18:56:20 -04:00
7113bafd94 Merge pull request #13586 from Tilka/spr_disasm
GekkoDisassembler: standardize SPR names and add missing ones
2025-05-09 18:55:53 -04:00
b18bca11e8 Merge pull request #13440 from jordan-woyak/si-dev-change-tweak
HW/SI: Don't require waiting a second before disconnecting an SIDevice.
2025-05-09 18:55:18 -04:00
37f97cabb4 Merge pull request #13639 from Tilka/move
AchievementManager: fix -Wpessimizing-move warning
2025-05-08 21:40:06 +02:00
083ffd5fdb Merge pull request #13643 from parona-source/no-retroachievments-buildfix
Remove filename option from stubbed AchievementManager::LoadGame
2025-05-08 21:37:11 +02:00
721175b0d2 Merge pull request #13642 from sepalani/hid-log
IOS/USB: Change HIDv4.cpp LogLevel to avoid INTRMSG killing performance
2025-05-08 15:19:51 -04:00
85bbaf6563 Remove filename option from stubbed AchievementManager::LoadGame
Fixes: c796691d00
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-08 22:05:42 +03:00
17e57f550c IOS/USB: Change HIDv4.cpp LogLevel to avoid INTRMSG killing performance
This message can be sent a lot when polling inputs from a keyboard. HIDv5.cpp doesn't log INTRMSG in such a way. If needed, log messages can be added into specific devices instead.
2025-05-08 22:14:01 +04:00
a9ab0e979e Crypto/SHA1: Fix past-the-last-element std::array access and modernize code. 2025-05-08 03:03:59 -05:00
d922ba31f7 DolphinQt: Fix unnecessarily created Triforce widget in game properties Info tab. 2025-05-08 01:58:20 -05:00
a8fb4153d7 AchievementManager: fix -Wpessimizing-move warning 2025-05-08 00:15:17 +01:00
01bb9d1f8c Merge pull request #13584 from tygyh/Core/HW/SI-Make-variables-constant
Core/HW/SI: Make variables constant
2025-05-07 16:06:00 -05:00
a52e8ff9bd Merge pull request #13585 from tygyh/Core/HW/GCMemcard-Make-variables-constant
Core/HW/GCMemcard: Make variables constant
2025-05-07 16:04:44 -05:00
d74d1d42d6 Merge pull request #13511 from tygyh/Use-range-based-loops-Core-VideoBackends
Core/VideoBackends: Use range-based loops
2025-05-07 15:53:18 -05:00
921ffe153d Merge pull request #13542 from tygyh/DiscIO-Pass-parameters-by-constant-reference
DiscIO: Pass parameters by constant reference
2025-05-07 15:50:11 -05:00
b8ca3c8d15 Merge pull request #13575 from tygyh/DolphinTool-Make-variables-constant
DolphinTool: Make variables constant
2025-05-07 15:47:14 -05:00
c4616226ab Merge pull request #13589 from tygyh/Core/HW/EXI-Remove-redundant-inline-specifiers
Core/HW/EXI: Remove redundant `inline` specifiers
2025-05-07 15:44:53 -05:00
85bb066cb0 AchievementManager: update dev memory clone for Wii
The clone of system memory used by AchievementManager during achievement development for the sake of thread decoupling was only copying MEM1; this grabs MEM2 as well if it exists.
2025-05-06 16:59:27 -04:00
599f28045e AchievementManager: verify MEM2 if it exists
Adds MEM2 to MemoryVerifier.
2025-05-06 16:59:27 -04:00
c9bdda63dc Merge pull request #13342 from Tilka/fifo_reset
VideoCommon: reset some CP registers during PI_FIFO_RESET
2025-05-05 20:20:40 -04:00
2f1d8272a8 DolphinQt/TAS: Use non-default std::atomic struct constructor to fix build with libstdc++ 15. 2025-05-05 16:29:15 -05:00
6f25e20c6a VideoCommon: reset some CP registers during PI_FIFO_RESET
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
6e22e145a0 HW/SI: Don't require waiting a second before disconnecting an SIDevice. 2025-05-04 15:00:48 -05:00
d2db9d9590 Merge pull request #13608 from jordan-woyak/async-work-thread
Common: Add AsyncWorkThread.
2025-05-04 18:45:14 +02:00
2a3580fda5 Merge pull request #13482 from jordan-woyak/string-util-concepts
StringUtil: Use concepts instead of enable_if.
2025-05-04 17:47:37 +02:00
380a9291ad Merge pull request #13602 from jordan-woyak/move-only-function
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
fc0601e55f Merge pull request #13628 from jordan-woyak/unique-buffer-texture-data
Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer.
2025-05-04 14:03:10 +02:00
6b52336bf7 AchievementManager: Fix unknown hash achievements deadlock
Within AchievementManager, CloseGame being called when LoadGame fails was causing m_queue.Cancel to be called within a lock when Cancel itself locks until it is empty, causing a deadlock. This is resolved by cancelling the queues outside of the lock when they are safe to wait for resolutions.
2025-05-03 22:51:07 -04:00
5a80105555 Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer. 2025-05-03 18:32:30 -05:00
e80ed595ac VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen 2025-05-03 16:51:34 -05:00
2eeb2fd2b9 DolphinQt: Use non-autodismissable menus in menu bar.
A new class that derives from `QMenu` has been introduced. Menus of this
`NonAutodismissibleMenu` type will stay visible when a _checkable_
action is triggered.

This is convenient in menus that feature a series of check boxes that
toggle visibility of third components (e.g. the **List Columns** menu),
allowing the user to toggle several actions at once.

For now, the new type is used in the top menu bar.
2025-05-03 20:29:21 +02:00
7774dccc9d Merge pull request #13509 from Dentomologist/gamelist_fix_right_doubleclick_starting_games
GameList: Ignore non-left double-clicks
2025-05-03 20:15:11 +02:00
78465693ad Merge pull request #13607 from LillyJadeKatrin/retroachievements-wiiware
RetroAchievements - Wii and WiiWare Support
2025-05-03 13:21:00 -04:00
dcc09906e5 Merge pull request #13622 from TryTwo/Settings_Bugfix
Settings: Bugfix. GFX settings getting set without user input
2025-05-03 18:36:36 +02:00
ffd78711be Merge pull request #13618 from jordan-woyak/cubeb-logging
AudioCommon/CubebUtils: Fix logged file name.
2025-05-03 18:33:06 +02:00
c1d0a49f35 Settings: Bugfix. Fix some combo boxes setting a value without user input. Prevents initial Load from calling the connection to save value. 2025-05-02 18:21:45 -07:00
1aabae49ed Settings: Bugfix. Remove Aspect Ratio combobox signal so it doesn't trigger a settings changed save. 2025-05-02 18:21:18 -07:00
77744169be SDL: Check if touchpad exists before getting input
Verify a touchpad is present before polling it for input. Without this
check the Debug log is spammed with the message "error: Parameter
'touchpad' is invalid" if you have a controller without a touchpad.

One would think every touchpad supports at least 1 finger, but in case
there's some weird edge case check the finger count to be sure.
2025-05-02 17:21:42 -07:00
63572f15fc Merge pull request #13620 from JosJuice/logmanager-cleanup
LogManager: Stop using manual memory management
2025-05-02 15:24:34 -05:00