Compare commits

...

1280 Commits

Author SHA1 Message Date
OatmealDome aed420c95d ScmRevGen: Bump version to 2506 2025-06-04 00:10:41 -04:00
JosJuice 1c9389a1fb Translation resources sync with Transifex 2025-06-03 09:05:37 +02:00
JosJuice 58a70db588 Merge pull request #13718 from jordan-woyak/hardcore-deadlock
Config: Make s_callbacks_lock recursive to fix hardcore mode deadlock.
2025-06-02 11:55:40 +02:00
JMC47 88122ae956 Merge pull request #13715 from icup321/master
GameINI: Disable Dual Core for more games
2025-06-01 02:57:17 -04:00
JMC47 e2d8e39489 Merge pull request #13722 from Tilka/dokapon
GameSettings: auto-disable immediate XFB for Dokapon Kingdom
2025-06-01 02:39:19 -04:00
Tillmann Karras 2849173984 GameSettings: auto-disable immediate XFB for Dokapon Kingdom
This avoids flickering throughout the game.
2025-06-01 03:06:35 +01:00
Jordan Woyak 31d0756808 Config: Make s_callbacks_lock recursive to fix hardcore mode deadlock. 2025-05-30 17:33:01 -05:00
icup321 2604d73733 GameINI: Disable Dual Core for more games
Disable Dual Core for more games that are known to crash/freeze.
2025-05-28 06:14:35 -04:00
JMC47 53b54406bd Merge pull request #13690 from icup321/master
GameINI: Disable icache for The Ant Bully [Wii]
2025-05-26 21:12:17 -04:00
OatmealDome f5d7b1fb4c Merge pull request #13644 from dreamsyntax/gup-disable-dualcore
GameINI: Disable Dual Core for Shadow the Hedgehog
2025-05-26 13:58:54 -04:00
Admiral H. Curtiss 4e8a863d8b Merge pull request #13709 from JosJuice/hide-header-bin
Hide DirectoryBlob header.bin files from game list
2025-05-26 19:41:07 +02:00
JosJuice 66f181a621 Hide DirectoryBlob header.bin files from game list
This is a continuation of 552b6da. That commit hid sys/boot.bin, but not
disc/header.bin, which is only present for Wii games.

Fixes https://bugs.dolphin-emu.org/issues/13810.
2025-05-25 20:37:52 +02:00
JosJuice 18a78a9bab Merge pull request #13647 from jordan-woyak/sha1-avoid-memcpy
Crypto/SHA1: Re-add memcpy avoiding optimization to BlockContext::Update.
2025-05-25 12:40:43 +02:00
JosJuice 776086fa1c Merge pull request #13692 from jordan-woyak/work-queue-thread-command-queue
WorkQueueThread: Fix Cancel() race with internal command queue.
2025-05-24 16:26:10 +02:00
JMC47 66b8fa03cb Merge pull request #13705 from noahpistilli/fix-corrupt-msg
IOS/KD: Set Checksum when flushing NWC24Config
2025-05-23 22:45:11 -04:00
Sketch 35d70fd531 IOS/KD: Set Checksum when flushing NWC24Config 2025-05-23 18:01:06 -04:00
JosJuice da8610e76f Translation resources sync with Transifex 2025-05-22 23:25:50 +02:00
JosJuice 7c8d53a51d Merge pull request #13699 from JosJuice/force-typo
DolphinQt: Fix verb agreement in Immediate XFB description
2025-05-22 23:22:53 +02:00
Jordan Woyak 97d27130ed Merge pull request #13700 from JosJuice/tr-wii-speak-osd
DolphinQt: Don't translate Wii Speak OSD string
2025-05-22 12:40:09 -05:00
JosJuice 260f0225a4 DolphinQt: Don't translate Wii Speak OSD string
We have a general policy of not translating OSD strings due to the OSD
font not having good enough support for languages other than English.
2025-05-22 16:51:28 +02:00
JosJuice 98b0d1db05 DolphinQt: Fix verb agreement in Immediate XFB description 2025-05-22 16:48:10 +02:00
JMC47 69af10ef86 Merge pull request #13663 from dreamsyntax/spiderman-heuristic
GameINI: Spider-Man SuggestedAspectRatio to 4:3
2025-05-21 17:34:09 -04:00
dreamsyntax f96e667a5f GameINI: Spider-Man SuggestedAspectRatio to 4:3 2025-05-21 14:05:19 -07:00
Admiral H. Curtiss f90508ff99 Merge pull request #13661 from jordan-woyak/info-first
DolphinQt: Make the Info tab first in the game properties dialog.
2025-05-21 20:43:51 +02:00
Admiral H. Curtiss a6bc251677 Merge pull request #13693 from jordan-woyak/focus-render-window-on-click
DolphinQt/RenderWidget: Grab focus on mouse button press.
2025-05-21 20:28:58 +02:00
JMC47 a62449711f Merge pull request #12769 from sepalani/wii-speak
IOS/USB: Emulate Wii Speak using cubeb
2025-05-21 13:54:56 -04:00
Jordan Woyak 9ba71448cc WorkQueueThread: Fix Cancel() race with internal command queue. 2025-05-20 21:51:25 -05:00
Jordan Woyak f1b7f8a72e DolphinQt/RenderWidget: Grab focus on mouse button press. 2025-05-20 21:06:32 -05:00
JMC47 1dc4dc6b6d Merge pull request #13675 from LillyJadeKatrin/retroachievements-close-deadlock
AchievementManager - LoadGameCallback
2025-05-20 11:54:31 -04:00
icup321 d22702a16f Disable icache for The Ant Bully [Wii]
This fixes an invalid read error that would happen specifically in the Wii version.
2025-05-20 03:36:00 -04:00
Jordan Woyak faaf13eaad Merge pull request #13562 from sanjay900/santroller-support
LibusbDevice: Send wakeup command to Santroller devices
2025-05-20 01:13:39 -05:00
LillyJadeKatrin dac023af15 Resolve clang-tidy violation 2025-05-18 05:16:17 -04:00
Jordan Woyak 2e22a3cf42 Merge pull request #13672 from tygyh/UnitTests/Remove-redundant-template-type-specifiers
UnitTests: Remove redundant template type specifers
2025-05-18 02:12:45 -05:00
Jordan Woyak 88005deaeb Merge pull request #13668 from tygyh/UnitTests/Core/Make-parameters-constant
UnitTests/Core: Make parameters constant
2025-05-18 02:12:32 -05:00
JMC47 f59708a26c Merge pull request #13656 from icup321/master
GameINI: Disable Dual Core for several games
2025-05-18 02:13:18 -04:00
Jordan Woyak 62a926a0f5 Merge pull request #13515 from tygyh/Remove-redundant-parentheses
Tools/symbolicate-ppc: Remove redundant parentheses
2025-05-17 18:01:17 -05:00
Jordan Woyak 94888d250e Merge pull request #13527 from tygyh/Replace-msg-with-structured-binding-VideoCommon/NetPlayChatUI
VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-17 17:09:13 -05:00
Jordan Woyak dacb004516 Merge pull request #13190 from tygyh/Move-to-inner-scope-DolphinQT
DolphinQT: Move variables to inner scope
2025-05-17 16:52:25 -05:00
LillyJadeKatrin b6803d00fe Revert "RetroAchievements: Fix potential deadlock on shutdown."
This reverts commit 826f04d06c.
2025-05-17 08:29:50 -04:00
LillyJadeKatrin 137e50dc25 AchievementManager: Remove CloseGame from LoadGameCallback
This was causing deadlocks when a game didn't load (including if RetroAchievements does not yet support it) because it was attempting to close the queue the the callback was currently running on, forcing LoadGameCallback to wait for LoadGameCallback to finish. However, it appears that recent changes to the queue have independently resolved the reason CloseGame was being called here in the first place.
2025-05-17 08:29:34 -04:00
Jordan Woyak 88389146d3 Merge pull request #13662 from Dentomologist/wiimotecontrollerswidget_scan_for_bluetooth_adapters_on_separate_thread
WiimoteControllersWidget: Fix UI hang when opening Controllers window
2025-05-16 19:43:35 -05:00
Jordan Woyak 6c5b35f92c Merge pull request #13554 from tygyh/DSPSpy-Apply-style-alignment-refactorings
DSPSpy: Apply style-alignment refactorings
2025-05-16 14:55:11 -05:00
Jordan Woyak 7804c16dbb Merge pull request #13531 from tygyh/DiscIO-Make-functions-constant
DiscIO: Make functions constant
2025-05-16 14:49:05 -05:00
Jordan Woyak 3b3bf6a04c Merge pull request #13459 from tygyh/Make-parameters-constants-DolphinQt-Netplay
DolphinQt/NetPlay: Make variables constant
2025-05-16 14:29:44 -05:00
Dr. Dystopia 2102108b1a UnitTests: Remove redundant template type specifers 2025-05-16 21:09:52 +02:00
JMC47 f1ffcf2b00 Merge pull request #13654 from JosJuice/android-clear-without-dismiss
Android: Don't dismiss AdvancedMappingDialog when pressing Clear
2025-05-16 14:33:49 -04:00
Jordan Woyak 404a7c75b2 Merge pull request #13666 from tygyh/UnitTests/PowerPC-Use-constant-functions-variables-parameters
UnitTests/PowerPC: Use constant functions, variables and parameters
2025-05-16 13:01:07 -05:00
Jordan Woyak 3fecce8723 Merge pull request #13669 from tygyh/UnitTests/Common/Use-std-size-for-size-calculation
UnitTests/Common: Use `std::size` for size calculation
2025-05-16 12:59:52 -05:00
Jordan Woyak e4f71d2513 Merge pull request #13670 from tygyh/UnitTests/Core/Remove-unused-includes
UnitTests/Core: Remove unused includes
2025-05-16 12:58:47 -05:00
Dr. Dystopia 9dfcbcecff DiscIO: Make functions constant 2025-05-16 19:11:39 +02:00
Dr. Dystopia bc1af564e2 UnitTests/Core: Remove unused includes 2025-05-16 15:31:31 +02:00
Dr. Dystopia 7de18efc93 UnitTests/Core: Make parameters constant 2025-05-16 15:29:31 +02:00
Dr. Dystopia 762555c984 UnitTests/Common: Use std::size for size calculation 2025-05-16 14:59:55 +02:00
Dr. Dystopia 58c79bc5ed UnitTests/PowerPC: Use constant functions, variables and parameters 2025-05-16 08:28:06 +02:00
Dentomologist ffd46cd10c WiimoteControllersWidget: Fix UI hang on opening
Fix the UI hanging for several seconds when opening the Controllers
window.

Move the scan for Bluetooth adapters onto a separate thread so the Host
thread doesn't have to wait for it.

Only automatically scan for adapters once, when opening the Controllers
window for the first time. Add a Refresh button to let the user refresh
the adapter list afterward.
2025-05-15 20:36:21 -07:00
JMC47 e83f9fb721 Merge pull request #13664 from Tilka/cabela
GameSettings: disable efb2tex for two Cabela's games
2025-05-15 18:15:09 -04:00
Tillmann Karras 6315527d21 GameSettings: disable efb2tex for two Cabela's games 2025-05-15 22:45:36 +01:00
Jordan Woyak fc833f845c Merge pull request #13660 from jordan-woyak/consistent-icon-text
DolphinQt: Add utility function for creating label text with a standard icon.
2025-05-15 13:24:18 -05:00
Jordan Woyak 17eb1b1a34 DolphinQt/Mapping: Replace Motion Input "WARNING: " text with a warning icon. 2025-05-15 10:58:43 -05:00
Jordan Woyak afb27952ee DolphinQt: Make the Info tab first in the game properties dialog. 2025-05-15 02:13:48 -05:00
Jordan Woyak a45d00d84d DolphinQt: Add utility function for creating label text with a standard icon. 2025-05-15 01:49:38 -05:00
Jordan Woyak c211efd84a Merge pull request #13603 from tygyh/FifoPlayer-Make-functions-static
FifoPlayer: Make functions static
2025-05-14 23:01:34 -05:00
JMC47 5a355083b4 Merge pull request #13659 from jordan-woyak/ra-deadlock-fix
RetroAchievements: Fix potential deadlock on shutdown.
2025-05-14 17:14:47 -04:00
Jordan Woyak 826f04d06c RetroAchievements: Fix potential deadlock on shutdown. 2025-05-14 01:10:53 -05:00
Jordan Woyak 059282df6f Merge pull request #13657 from SuperSamus/jimmy-neutron-boy-genius-efb-access
GameINI: Enable EFB Access for Jimmy Neutron Boy Genius
2025-05-13 16:36:57 -05:00
icup321 a19b1070a0 Disable Dual Core for several games
Disable Dual Core for several games with known FIFO errors

fix formatting
2025-05-13 17:34:35 -04:00
Martino Fontana 79a90b1f42 GameINI: Enable EFB Access for Jimmy Neutron Boy Genius 2025-05-13 22:57:11 +02:00
JMC47 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
JMC47 c260082cd6 Merge pull request #13636 from icup321/master
GameINI: Disable Dual Core for Piglet's Big Game
2025-05-12 17:54:39 -04:00
JosJuice eeae30e2bb Android: Don't dismiss AdvancedMappingDialog when pressing Clear
If you already have a mapping set in the advanced mapping dialog and
want to change it, the easiest way to do it is to press Clear and then
select the new mapping from the list. But pressing Clear causes the
dialog to close, forcing you to open it again, which is inconvenient.
This commit makes it so the Clear button doesn't close the dialog.
2025-05-12 21:40:55 +02:00
JMC47 cf3702cbc8 Merge pull request #13046 from SuperSamus/vi-overclock
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
Martino Fontana 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
Martino Fontana 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
JMC47 f19a33340a Merge pull request #13631 from LillyJadeKatrin/retroachievements-mem2
AchievementManager: MEM2 Support
2025-05-10 14:56:14 -04:00
JosJuice 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
Dr. Dystopia cb30862cfb DolphinQT/Netplay: Make variables constant 2025-05-10 13:05:54 +02:00
Dr. Dystopia c5f01902de DSPSpy: Make RealDSP final and make overide explicit 2025-05-10 13:02:55 +02:00
JMC47 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
Jordan Woyak bb77d61967 Crypto/SHA1: Re-add memcpy avoiding optimization to BlockContext::Update. 2025-05-09 20:59:17 -05:00
JMC47 0351fd56b1 Merge pull request #10766 from xperia64/dsp_format_fun
DSP accelerator improvements
2025-05-09 19:04:23 -04:00
JMC47 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
JMC47 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
JMC47 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
OatmealDome 7f44509a70 Merge pull request #13646 from OatmealDome/flatpak-flags
Flatpak: Don't use CFLAGS and CXXFLAGS provided by the SDK
2025-05-09 12:42:53 -04:00
OatmealDome 463686b766 Flatpak: Don't use CFLAGS and CXXFLAGS provided by the SDK 2025-05-09 00:49:00 -04:00
dreamsyntax 4a35a8c516 GameINI: Disable Dual Core for Shadow the Hedgehog 2025-05-08 12:50:39 -07:00
Admiral H. Curtiss 37f97cabb4 Merge pull request #13639 from Tilka/move
AchievementManager: fix -Wpessimizing-move warning
2025-05-08 21:40:06 +02:00
Admiral H. Curtiss 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
JMC47 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
Alfred Wingate 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
Sepalani 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
JosJuice 27d0e0c8fe Merge pull request #13640 from jordan-woyak/info-tab-triforce-widget-fix
DolphinQt: Fix unnecessarily created Triforce widget in game properties.
2025-05-08 19:37:10 +02:00
Jordan Woyak a9ab0e979e Crypto/SHA1: Fix past-the-last-element std::array access and modernize code. 2025-05-08 03:03:59 -05:00
Jordan Woyak d922ba31f7 DolphinQt: Fix unnecessarily created Triforce widget in game properties Info tab. 2025-05-08 01:58:20 -05:00
Tillmann Karras a8fb4153d7 AchievementManager: fix -Wpessimizing-move warning 2025-05-08 00:15:17 +01:00
Jordan Woyak 8a9a082c69 Merge pull request #13551 from tygyh/Clang-format-Fix-invalid-settings
Clang-format: Fix invalid settings
2025-05-07 16:18:11 -05:00
Jordan Woyak 8822479477 Merge pull request #13572 from tygyh/UnitTests-Remove-redundant-virtual-specifier
UnitTests: Remove redundant `virtual` specifier
2025-05-07 16:06:25 -05:00
Jordan Woyak 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
Jordan Woyak 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
Jordan Woyak 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
Jordan Woyak 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
Jordan Woyak 1c54583ae7 Merge pull request #13569 from tygyh/UnitTests-Use-constexpr
UnitTests: Use `constexpr`
2025-05-07 15:48:26 -05:00
Jordan Woyak b8ca3c8d15 Merge pull request #13575 from tygyh/DolphinTool-Make-variables-constant
DolphinTool: Make variables constant
2025-05-07 15:47:14 -05:00
Jordan Woyak 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
Jordan Woyak 3e09d10123 Merge pull request #13571 from tygyh/VertexLoaderTest-Replace-std-tie-with-structured-bindings
VertexLoaderTest: Replace `std::tie` with structured bindings
2025-05-07 15:42:33 -05:00
JosJuice 5af5c83428 Merge pull request #13559 from tygyh/Android-Apply-style-alignment-refactorings
Android: Apply style alignment refactorings
2025-05-07 22:37:09 +02:00
JMC47 684db094c6 Merge pull request #13638 from fireworksordie/patch-1
GameINI: fix screen tearing in PoP:SoT FMVs
2025-05-07 13:59:26 -04:00
Sepalani eff334524a HotkeyManager: Add HK_TOGGLE_WII_SPEAK_MUTE 2025-05-07 21:27:50 +04:00
fireworksordie 7bb78a1d6e GameINI: fix screen tearing in PoP:SoT FMVs
Prince of Persia: Sands of Time exhibits screen tearing on FMVs in Dolphin. Tested the setting (suggested by Amphitryon) on PC and Android and can confirm the tearing previously seen is gone with EarlyXFBOutput disabled.
2025-05-07 12:08:19 -05:00
Sepalani 4efbd35a5e IOS/USB: Implement Wii Speak SAMPLER_FREQ register properly
Fix the default sampling rate which should be 16KHz
2025-05-07 20:33:22 +04:00
Sepalani 74a875e9d6 IOS/USB: Implement a bare-bones Wii Speak loudness level
Add a volume modifier to the UI which relies on gain.
2025-05-07 20:33:22 +04:00
Sepalani 1f0ff42aa0 IOS/USB: Implement Wii Speak REQUEST_SET_INTERFACE command
Based on LibusbDevice::SubmitTransfer code
2025-05-07 20:33:22 +04:00
Sepalani 61ab0faab8 Config: Rename MAIN_WII_SPEAK_CONNECTED to MAIN_WII_SPEAK_MUTED 2025-05-07 20:33:22 +04:00
Sepalani aea5054509 CubebUtils: Add COM helper class 2025-05-07 20:33:22 +04:00
Sepalani 407218a8b4 IOS/USB: Report Wii Speak packet size properly 2025-05-07 20:33:22 +04:00
Sepalani dbc09bfb0d Android: Add emulated Wii Speak 2025-05-07 20:33:22 +04:00
Sepalani a85ffc116e IOS/USB: Only sample Wii Speak data when necessary
Skip data when HLE Wii Speak is not connected

Lock microphone buffer less frequently
2025-05-07 20:33:22 +04:00
Sepalani f5dd80bb5b IOS/USB: Try to fix the Wii Speak Channel record/playback feature
1. Fix Wii Speak SAMPLER_MUTE register:
The register should be 12 (i.e. 0x0c) instead of 0xc0.

2. Fix Wii Speak buffer memcpy size parameter:
It seems to fix random echoes and reduce noises when nobody is speaking.

3. Change the isochronous transfer timing:
It is based on empirical testing.
2025-05-07 20:33:22 +04:00
Sepalani 6a36930c74 IOS/USB: Add more logs to the Wii Speak code 2025-05-07 20:33:22 +04:00
Sepalani 1ac40f25a2 IOS/USB: Emulate Wii Speak using cubeb
Based on @noahpistilli (Sketch) PR:
https://github.com/dolphin-emu/dolphin/pull/12567

Fixed the Windows support and the heisenbug caused by uninitialized
members.

Config system integration finalized.
2025-05-07 20:33:22 +04:00
Sketch 451e36defc IOS/USB: Emulate Wii Speak (OpenAL)
Credits to @degasus and shuffle2 (godisgovernment):
https://github.com/degasus/dolphin/tree/wiispeak
2025-05-07 17:45:59 +04:00
icup321 69f561e76c GameINI: Disable Dual Core for Piglet's Big Game
Disable Dual Core for Piglet's Big Game and Winnie's Rumbly Tumbly Adventure to prevent game freezes.
2025-05-07 03:33:36 -04:00
LillyJadeKatrin 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
LillyJadeKatrin 599f28045e AchievementManager: verify MEM2 if it exists
Adds MEM2 to MemoryVerifier.
2025-05-06 16:59:27 -04:00
JMC47 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
Jordan Woyak 210b5cbf66 Merge pull request #13633 from jordan-woyak/libstdcpp-buildfix
DolphinQt/TAS: Use non-default std::atomic struct constructor to fix build with libstdc++ 15.
2025-05-05 18:31:28 -05:00
Jordan Woyak 2f1d8272a8 DolphinQt/TAS: Use non-default std::atomic struct constructor to fix build with libstdc++ 15. 2025-05-05 16:29:15 -05:00
Tillmann Karras 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
Jordan Woyak 6e22e145a0 HW/SI: Don't require waiting a second before disconnecting an SIDevice. 2025-05-04 15:00:48 -05:00
Admiral H. Curtiss d2db9d9590 Merge pull request #13608 from jordan-woyak/async-work-thread
Common: Add AsyncWorkThread.
2025-05-04 18:45:14 +02:00
Admiral H. Curtiss 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
Admiral H. Curtiss 380a9291ad Merge pull request #13602 from jordan-woyak/move-only-function
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
Admiral H. Curtiss 15ad6e0426 Merge pull request #13380 from JoshuaVandaele/system-zlib
CMake: Allow shared zlib
2025-05-04 17:27:50 +02:00
Joshua Vandaële 72fd344dca Allow shared zlib
This is a followup to #13089
2025-05-04 16:50:25 +02:00
Admiral H. Curtiss 3a27646263 Merge pull request #13473 from Tilka/moki_moki
GameSettings: fix startup hang in Moki Moki
2025-05-04 16:44:21 +02:00
Admiral H. Curtiss 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
JMC47 1f5abfe365 Merge pull request #13630 from LillyJadeKatrin/retroachievements-wii-deadlock-fix
AchievementManager: Fix unknown hash achievements deadlock
2025-05-03 23:40:52 -04:00
LillyJadeKatrin 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
Jordan Woyak 5a80105555 Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer. 2025-05-03 18:32:30 -05:00
iwubcode e80ed595ac VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen 2025-05-03 16:51:34 -05:00
Admiral H. Curtiss 95ab6925b1 Merge pull request #13032 from parona-source/missing-cmake-include
Add missing cmake includes and remove unused cmake includes
2025-05-03 22:16:00 +02:00
Alfred Wingate a3c7423273 Remove unused cmake includes
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-03 22:34:07 +03:00
Admiral H. Curtiss e0d6ab73b8 Merge pull request #13508 from cristian64/non-autodismissable_menus
DolphinQt: Use non-autodismissable menus in menu bar.
2025-05-03 21:24:09 +02:00
cristian64 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
Admiral H. Curtiss db425ef3a1 Merge pull request #13445 from icup321/master
GameSettings: Various Nick games fixes
2025-05-03 20:16:13 +02:00
Admiral H. Curtiss 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
JMC47 78465693ad Merge pull request #13607 from LillyJadeKatrin/retroachievements-wiiware
RetroAchievements - Wii and WiiWare Support
2025-05-03 13:21:00 -04:00
Admiral H. Curtiss c574b651aa Merge pull request #13621 from JosJuice/android-remove-loaddefaultsettings
Android: Remove unused onSettingsFileNotFound and friends
2025-05-03 18:37:51 +02:00
Admiral H. Curtiss 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
Admiral H. Curtiss ffd78711be Merge pull request #13618 from jordan-woyak/cubeb-logging
AudioCommon/CubebUtils: Fix logged file name.
2025-05-03 18:33:06 +02:00
Jordan Woyak a736d2ed5f Merge pull request #13625 from Dentomologist/sdl_verify_touchpad_present_before_getting_input
SDL: Check if touchpad exists before getting input
2025-05-02 21:08:49 -05:00
TryTwo 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
TryTwo 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
Dentomologist 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
Jordan Woyak 63572f15fc Merge pull request #13620 from JosJuice/logmanager-cleanup
LogManager: Stop using manual memory management
2025-05-02 15:24:34 -05:00
JosJuice c8be819711 LogManager: Stop using manual memory management
This fixes a memory leak that would occur when the Android frontend
calls LogManager::Init more than once in order to reload settings.

Note that the log window listener is now owned by LogManager instead of
by the frontend, making it consistent with the other log listeners.
2025-05-02 21:14:32 +02:00
JosJuice 6515807685 Merge pull request #13278 from JoshuaVandaele/saves-import
Implement importing multiple saves from an export folder
2025-05-02 15:40:27 +02:00
JosJuice 6129953666 Android: Remove unused onSettingsFileNotFound and friends
Old cruft from when the Android code was loading INI files manually.
We don't have any handling for failing to load settings anymore.

This change also updates related comments to reflect how things actually
work nowadays.
2025-05-02 14:25:01 +02:00
Jordan Woyak 06826319c7 AudioCommon/CubebUtils: Fix logged file name. 2025-05-02 02:54:15 -05:00
JosJuice b566e81644 Merge pull request #13596 from JosJuice/config-callback-locking
Config: Add locking for config changed callbacks
2025-05-02 08:49:22 +02:00
JosJuice 58d305f75c Merge pull request #13616 from parona-source/musl-cstdint
UICommon: Include implicit header
2025-05-02 08:03:01 +02:00
Jordan Woyak 4e736d60db Core and AudioCommon: Use AsyncWorkThread. 2025-05-01 22:55:23 -05:00
Jordan Woyak be4b0af971 Common: Add AsyncWorkThread. 2025-05-01 22:54:40 -05:00
JMC47 0066119e41 Merge pull request #13617 from OatmealDome/coretiming-include
CoreTiming: Add missing SystemTimers.h include
2025-05-01 21:33:22 -04:00
JMC47 fcb4b04168 Merge pull request #13613 from JosJuice/android-ldrtl-list-item-mapping-id
Android: Fix incorrect ID in layout-ldrtl/list_item_mapping.xml
2025-05-01 21:33:09 -04:00
JMC47 da4f643b9f Merge pull request #13611 from jordan-woyak/work-queue-thread-sp
Core and Vulkan: Change WorkQueueThread to WorkQueueThreadSP in a few places.
2025-05-01 21:32:16 -04:00
JMC47 1963305bea Merge pull request #13605 from JosJuice/android-cinit-native
Android: Don't call NativeLibrary methods during class init
2025-05-01 21:31:21 -04:00
JMC47 757e6aba46 Merge pull request #13597 from JosJuice/hide-boot-bin
Hide DirectoryBlob boot.bin files from game list
2025-05-01 21:30:10 -04:00
JMC47 42f656bf0f Merge pull request #13595 from JosJuice/android-analytics-non-main
Android: Allow reporting start to analytics for non-main activity
2025-05-01 21:29:50 -04:00
JMC47 2b568566ac Merge pull request #13535 from m-brodschi/mihaib/fix-shutdown-crash
Core, VideoCommon: Fix crash at shutdown due to destructor order
2025-05-01 21:29:02 -04:00
JMC47 539a3ed021 Merge pull request #13464 from jordan-woyak/dont-toggle-skip-frames
DolphinQt: Don't auto toggle GFX_HACK_SKIP_DUPLICATE_XFBS.
2025-05-01 21:28:13 -04:00
JMC47 7222779e21 Merge pull request #13448 from Dentomologist/fix_unresponsive_hotkeys_when_moving_overlay_during_framestep
DolphinQt: Fix unresponsive hotkeys when clicking overlay during a framestep
2025-05-01 21:27:30 -04:00
JMC47 1bd2570d97 Merge pull request #13239 from JosJuice/jitarm64-rlwimix-imm-mask
JitArm64: Use AArch64 imm masks in rlwimix slow case
2025-05-01 21:26:27 -04:00
OatmealDome 0bd7cc64c9 CoreTiming: Add missing SystemTimers.h include 2025-05-01 19:13:02 -04:00
Alfred Wingate fbb54604b6 UICommon: Include implicit header
The header isn't implicitly included on musl.

Bug: https://bugs.gentoo.org/952952
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-02 02:03:41 +03:00
Jordan Woyak 20874124c2 StringUtil: Use concepts instead of enable_if. 2025-05-01 16:30:37 -05:00
Jordan Woyak e4525ca7ee Merge pull request #13499 from jordan-woyak/frame-pacing-better-math
CoreTiming: Cleanups to avoid drift from cumulative rounding errors.
2025-05-01 15:58:33 -05:00
Dr. Dystopia 5ee520133d Clang-format: Fix invalid settings 2025-05-01 22:05:07 +02:00
JMC47 6c9138e5a6 Merge pull request #13592 from SuperSamus/kfp-single-core
GameINI: Enable Single Core for Kung Fu Panda and Shrek Forever After
2025-05-01 15:30:15 -04:00
Alfred Wingate 5cfe3760a5 Include missing cmake includes
Otherwise it depends on other externals getting used and including them
before.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-01 19:52:53 +03:00
Dr. Dystopia 5c0cf0788f VideoCommon/NetPlayChatUI: Replace msg with structured binding 2025-05-01 14:11:55 +02:00
LillyJadeKatrin 1633011d2a Add achievement support for Wii and WiiWare
Add a method to detect console ID from an input file and instruct rcheevos to load as Gamecube or Wii accordingly. Also, hash .wads upon loading, to support achievements on WiiWare titles.
2025-05-01 07:54:12 -04:00
LillyJadeKatrin c796691d00 Remove filename option from achievement manager load
The only option that was currently using this was a pass-by-executable that wouldn't hash correctly anyways.
2025-05-01 07:54:12 -04:00
JosJuice d64c20a67c Android: Fix incorrect ID in layout-ldrtl/list_item_mapping.xml
Probably a copy-paste error from layout-ldrtl/list_item_setting.xml.
This error made it so a long setting name could overlap with the
checkbox next to it if Dolphin was running with right-to-left layout.

The incorrect ID was apparently also causing the app:lintVitalRelease
build task to fail. I guess we're not running that build task, because I
only heard of this from someone building Dolphin locally.
2025-05-01 11:57:07 +02:00
JosJuice 0ce929220d Merge pull request #13553 from tygyh/Core/PowerPC/JitArm64-Replace-zeroes-in-boolean-context-with-false
JitArm64: Replace zeroes in boolean context with `false`
2025-05-01 10:11:44 +02:00
LillyJadeKatrin 999c7aed98 Don't close achievements on games that don't hash
Minor bugfix necessary for future development; issue brought on by a conflict resolving wrong.
2025-05-01 00:17:20 -04:00
Jordan Woyak 0987c03693 Merge pull request #13453 from tygyh/Use-underlying-method
DolphinQt/FIFO/FIFOAnalyzer: Use Common::ToUnderlying
2025-04-30 22:18:02 -05:00
Jordan Woyak e3f7486ca7 Merge pull request #13567 from tygyh/UnitTests-Rename-lambda-parameters-which-hide-previous-declarations
UnitTests: Rename lambda parameters which hide previous declarations
2025-04-30 22:07:35 -05:00
Admiral H. Curtiss 2e20e24136 Merge pull request #13587 from jordan-woyak/manual-value
Common: Move some duplicate container element construction logic into a ManuallyConstructedValue template.
2025-04-30 23:45:33 +02:00
Admiral H. Curtiss cae82b62f8 Merge pull request #13610 from AdmiralCurtiss/zstd-asm-fix
Externals/zstd: Disable ASM for MSVC compiler in CMake
2025-04-30 23:31:55 +02:00
Jordan Woyak ec940e6a2e VideoBackends/Vulkan: Use WorkQueueThreadSP for swap commands. 2025-04-30 16:29:35 -05:00
Jordan Woyak 753fe5bed1 Core: Use WorkQueueThreadSP in NetKDRequestDevice. 2025-04-30 16:29:21 -05:00
Jordan Woyak c14101534f Core: Use WorkQueueThreadSP in NetIPTopDevice. 2025-04-30 16:28:57 -05:00
Jordan Woyak bdb4fd8376 Core: Use WorkQueueThreadSP in DVDThread. 2025-04-30 16:17:21 -05:00
Jordan Woyak 8e64a02a42 Merge pull request #13579 from jordan-woyak/work-queue-thread-cleanup
WorkQueueThread: Implement in terms of WaitableSPSCQueue. Add unit tests.
2025-04-30 16:10:28 -05:00
Jordan Woyak 43e4e8f182 Merge pull request #13581 from jordan-woyak/dvd-WorkQueueThread
DVDThread: Implement with WorkQueueThread and WaitableSPSCQueue.
2025-04-30 16:09:36 -05:00
Jordan Woyak b5dd545b8e Merge pull request #13504 from Filoppi/patch-23
Improve gamma corrected resampling by acknowledging the perceptual luminance
2025-04-30 16:09:08 -05:00
Filippo Tarpini 2049896cab Improve gamma corrected resampling by acknowledging the perceptual luminance 2025-04-30 15:22:06 -05:00
Jordan Woyak 4899913446 Common: Move some duplicate container element construction logic into a ManuallyConstructedValue template. 2025-04-30 14:56:07 -05:00
Jordan Woyak e8b63fe090 UnitTests: Add tests for WorkQueueThread. 2025-04-30 14:31:51 -05:00
Jordan Woyak a149b9d62d WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add single producer WorkQueueThreadSP. 2025-04-30 14:31:51 -05:00
Admiral H. Curtiss 2d9a61bd0e Externals/zstd: Disable ASM for MSVC compiler in CMake
Results in a "MSVC_RUNTIME_LIBRARY value 'MultiThreadedDLL' not known for this ASM compiler" otherwise, and zstd doesn't support the relevant ASM code for MSVC anyway.
2025-04-30 20:32:01 +02:00
Admiral H. Curtiss 852bd6df1a Merge pull request #13598 from AdmiralCurtiss/zstd157
Externals: Update zstd from 1.4.4 to 1.5.7
2025-04-30 19:06:52 +02:00
LillyJadeKatrin 7e2565ae49 Update rcheevos submodule 2025-04-30 08:16:06 -04:00
OatmealDome 0b0151770a Merge pull request #13436 from JoshuaVandaele/clang-format-19
Update clang-format to version 19
2025-04-30 01:17:31 -04:00
JMC47 23a5ea3504 Merge pull request #13604 from fox8091/nstrike
GameINI: Disable Dual Core for NERF N-Strike
2025-04-29 14:56:32 -04:00
JMC47 b49711fefb Merge pull request #13600 from JoshuaVandaele/nixfix
CMake: Explicitely link udev if LIBUDEV_FOUND is set
2025-04-29 14:55:50 -04:00
Martino Fontana d591e3b4e3 GameINI: Enable Single Core for Kung Fu Panda and Shrek Forever After
These games (both are made with the Lux Engine) randomly freeze with Dual Core.
2025-04-29 11:35:09 +02:00
JosJuice 7fa92160a2 Android: Don't call NativeLibrary methods during class init
There's no guarantee that directory initialization has completed by this
point, so we can't safely use NativeLibrary.

I'm making this change because of a crash being reported in Google Play
Console. The exact way it's crashing is mysterious to me, so I'm not
sure if this commit fixes the crash, but I think this commit is
a reasonable change to make even if it doesn't fix the crash. Backtrace
from Google Play Console:

  #00  pc 0x0000000000469074  /data/app/~~m0kqybFNfeqnDenQFc53XQ==/org.dolphinemu.dolphinemu-Mtaw0lU8DVUQbte2ZjBp3w==/lib/arm64/libmain.so (std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>::pair[abi:nn180000]<char const* const&, char const* const&, 0>(char const* const&, char const* const&)) (BuildId: 64cfebf5b574b6729ebc51799aa94ccc3238cbcc)
  #01  pc 0x0000000000468e9c  /data/app/~~m0kqybFNfeqnDenQFc53XQ==/org.dolphinemu.dolphinemu-Mtaw0lU8DVUQbte2ZjBp3w==/lib/arm64/libmain.so (std::__ndk1::pair<std::__ndk1::__tree_iterator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, void*>*, long>, bool> std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>>>::__emplace_unique_impl<char const* const&, char const* const&>(char const* const&, char const* const&)) (BuildId: 64cfebf5b574b6729ebc51799aa94ccc3238cbcc)
  #02  pc 0x0000000000462f08  /data/app/~~m0kqybFNfeqnDenQFc53XQ==/org.dolphinemu.dolphinemu-Mtaw0lU8DVUQbte2ZjBp3w==/lib/arm64/libmain.so (Common::Log::LogManager::GetLogTypes()) (BuildId: 64cfebf5b574b6729ebc51799aa94ccc3238cbcc)
  #03  pc 0x000000000044339c  /data/app/~~m0kqybFNfeqnDenQFc53XQ==/org.dolphinemu.dolphinemu-Mtaw0lU8DVUQbte2ZjBp3w==/lib/arm64/libmain.so (Java_org_dolphinemu_dolphinemu_NativeLibrary_GetLogTypeNames+56) (BuildId: 64cfebf5b574b6729ebc51799aa94ccc3238cbcc)
  #04  pc 0x000000000031456c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+108)
  #05  pc 0x0000000000781508  /apex/com.android.art/lib64/libart.so (nterp_helper+152)
  #06  pc 0x00000000002d94d4  /data/app/~~m0kqybFNfeqnDenQFc53XQ==/org.dolphinemu.dolphinemu-Mtaw0lU8DVUQbte2ZjBp3w==/base.apk (org.dolphinemu.dolphinemu.features.settings.ui.SettingsFragmentPresenter.<clinit>+16)
[...]
2025-04-28 21:37:03 +02:00
fox8091 26ae66297d GameINI: Disable Dual Core for NERF N-Strike 2025-04-28 13:11:50 -05:00
Dr. Dystopia c32ca0696e FifoPlayer: Make functions static 2025-04-28 20:09:14 +02:00
Mihai Brodschi bad78cfed4 Core, VideoCommon: Fix crash at shutdown due to destructor ordering
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
2025-04-28 07:11:53 +03:00
Jordan Woyak 4ec2072beb Core: Use MoveOnlyFunction for RunOnCPUThread. 2025-04-27 20:07:13 -05:00
Jordan Woyak 37aa65afc4 VideoCommon: Use MoveOnlyFunction for AsyncRequests. 2025-04-27 20:07:13 -05:00
Jordan Woyak e403dee3da Common: Add MoveOnlyFunction. 2025-04-27 20:07:13 -05:00
Joshua Vandaële 97e696e524 CMake: Explicitely link udev if LIBUDEV_FOUND is set 2025-04-27 22:03:15 +02:00
Jordan Woyak 2e6e7eddd1 DVDThread: Implement with WorkQueueThread and WaitableSPSCQueue. 2025-04-27 04:16:27 -05:00
Admiral H. Curtiss 891833d1a1 Externals: Update zstd from 1.4.4 to 1.5.7 and convert to submodule 2025-04-26 22:07:59 +02:00
JosJuice 552b6da9c4 Hide DirectoryBlob boot.bin files from game list
Extracted games contain a boot.bin file that contains the disc header.
These boot.bin files are considered valid volumes by Dolphin, since
Dolphin only checks the disc header to determine if something is a valid
GC/Wii disc. Running them doesn't make any sense, though.

boot.bin files used to not be scanned by Dolphin due to their file
extension, but .bin was added to the list of file extensions to scan for
in 494e2c0. To stop them from showing up in the game list, let's update
the ShouldHideFromGameList mechanism.
2025-04-26 20:54:32 +02:00
Tilka 8ee64a84c7 Merge pull request #13590 from tygyh/UCodes-Remove-redundant-qualifiers
UCodes: Remove redundant qualifiers
2025-04-26 16:23:27 +01:00
JosJuice 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
JosJuice 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
JosJuice 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
JosJuice 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
Dentomologist 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
Dentomologist 45b9def42c VideoConfig: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
Dentomologist d0dc8ae5e1 FreeLook: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00
Dentomologist 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
Dentomologist 8724daf44e Settings: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:19 -07:00
Dentomologist 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
Dentomologist 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
Dr. Dystopia 9868138c22 UCodes: Remove redundant qualifiers 2025-04-25 13:18:56 +02:00
Dr. Dystopia 066408326c Core/HW/EXI: Remove redundant inline specifiers 2025-04-25 12:03:52 +02:00
Dr. Dystopia 50ca32352f Core/HW/GCMemcard: Make variables constant 2025-04-25 11:35:59 +02:00
Tilka 805307f432 Merge pull request #13451 from vyuuui/numeric_labels
Add numeric label support to assembler
2025-04-25 01:56:43 +01:00
Tilka 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
Tilka 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
Tilka 5523b9a01b Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement
PerformanceMetrics: Fix window arrangement
2025-04-25 01:40:58 +01:00
Tilka 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
Tillmann Karras a6290caa2e DSPHLE: set accelerator gain 2025-04-25 01:09:15 +01:00
Tillmann Karras 80adfc606d docs/DSP: Rename SCALE to PRED_SCALE 2025-04-25 01:09:15 +01:00
Tillmann Karras 8412a7c336 DSPAccelerator: update comment (NFC) 2025-04-25 01:09:15 +01:00
Tillmann Karras f0bacb826a DSPAccelerator: rename MMIOPCMHalt to MMIOPCMNoInc 2025-04-25 01:09:15 +01:00
Tillmann Karras 7c7c179b44 DSP tests: update DSP MMIO labels 2025-04-25 00:51:46 +01:00
Tillmann Karras 6c870860ea DSP tests: clean up unused code 2025-04-25 00:51:46 +01:00
Tillmann Karras 05381c5b6d Address Pokechu22's feedback 2025-04-25 00:51:46 +01:00
xperia64 21d5e3182d Fix DSP loop test init order, add DSP pcm test 2025-04-25 00:51:46 +01:00
xperia64 cd77e682ca Name gain shift/scaling better 2025-04-25 00:51:46 +01:00
xperia64 512da86b1a Update DSP docs with accelerator info, fix ANDC/ORC instruction description typos 2025-04-25 00:51:46 +01:00
xperia64 c460cafecf Update ACDRAW/ACDSAMP reg names in DSPTables and DSPSpy tests 2025-04-25 00:51:46 +01:00
xperia64 d517fe25f1 Add accelerator input MMIO register, fix MMIO PCM modes 2025-04-25 00:51:45 +01:00
xperia64 14fadbbe56 ADPCM mode doesn't entirely die with larger accesses, gain is PCM only 2025-04-25 00:51:45 +01:00
xperia64 c7d8afc5a7 Use correct exceptions for d3 reads/writes 2025-04-25 00:51:45 +01:00
xperia64 c9bb258e88 Add accelerator raw d3 test 2025-04-25 00:51:45 +01:00
xperia64 0dd282f626 Fix DSPAcceleratorTest 2025-04-25 00:51:45 +01:00
xperia64 ac2fdefcb4 Refactor accelerator format as a bitfield, use gain/yn1/yn2 in PCM mode 2025-04-25 00:51:45 +01:00
xperia64 04c7c1a4a1 Rename accelerator accesses to 'raw' and 'sample' 2025-04-25 00:51:45 +01:00
xperia64 256d9f8702 Improve ReadD3 emulation 2025-04-25 00:51:45 +01:00
xperia64 bbc11edd7d Rework WriteD3 based on hardware testing 2025-04-25 00:51:45 +01:00
Tillmann Karras 4d9dc1e1cd GekkoDisassembler: standardize SPR names and add missing ones 2025-04-25 00:24:12 +01:00
JosJuice 908094714b Translation resources sync with Transifex 2025-04-24 23:38:09 +02:00
Dr. Dystopia ef8b9a0dcd Core/HW/SI: Make variables constant 2025-04-24 17:01:12 +02:00
JMC47 8fa725d5e4 Merge pull request #13573 from tygyh/DolphinTool-Make-parameter-constant
DolphinTool: Make parameter constant
2025-04-24 00:49:10 -04:00
JMC47 fc0aafca3b Merge pull request #13577 from tygyh/UCodes-Make-functions-static
UCodes: Make functions static
2025-04-24 00:48:46 -04:00
JMC47 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
Jordan Woyak 1cea31c75a Merge pull request #13580 from LillyJadeKatrin/retroachievements-de-bug-debug
Fix debugger disabled bug
2025-04-23 23:28:19 -05:00
Jordan Woyak 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
LillyJadeKatrin 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
Sanjay Govind 8bb07bf3c4 LibusbDevice: Send wakeup command to Santroller devices 2025-04-24 12:09:41 +12:00
Admiral H. Curtiss 879a8889aa Merge pull request #13431 from jordan-woyak/spsc-waiting
Common: SPSCQueue cleanups and improvements.
2025-04-23 22:19:15 +02:00
Dr. Dystopia 564e7c3320 UCodes: Make functions static 2025-04-23 21:36:13 +02:00
Dr. Dystopia 467a568f60 Core/HW: Remove redundant empty lambda parameter lists 2025-04-23 21:32:09 +02:00
Jordan Woyak 6c751fb722 Merge pull request #13570 from SuperSamus/advanced-panel-unused
DolphinQt: Remove unused variables from `AdvancedPane.h`
2025-04-23 13:30:39 -05:00
Dr. Dystopia 03a6fdcd85 DolphinTool: Make variables constant 2025-04-23 20:24:50 +02:00
JosJuice bda1f379b7 IOS: Remove from m_opened_devices in OH0::OnDeviceChange
I've been playing Rock Band 3 recently and have experienced a bug where
sometimes if you disconnect and reconnect a USB microphone, the game
won't pick up on it connecting, not even it you disconnect and reconnect
it again. An investigation into what's going on inside Dolphin shows
that when the game triggers a call to OH0::DeviceOpen after the device
has been reinserted, Dolphin doesn't open the device because it's
already present in m_opened_devices.

Removing the device from m_opened_devices after calling OH0::TriggerHook
in OH0::OnDeviceChange resolves this specific issue in my testing. Doing
this matches us removing the device from m_opened_devices after calling
OH0::TriggerHook in OH0::DeviceClose, but I haven't looked at exactly
what real IOS does.

I have been able to reproduce a much rarer issue that has the same
symptoms on the surface but where OH0::DeviceOpen gets past its
m_opened_devices check. I'm currently not sure what the cause of this
remaining issue is.
2025-04-23 17:19:14 +02:00
JosJuice c44418a4d9 Merge pull request #13561 from JosJuice/android-renumbered-platforms
Android: Update platform enum values
2025-04-23 17:08:50 +02:00
Dr. Dystopia fe657b9759 DolphinTool: Make parameter constant 2025-04-23 15:55:48 +02:00
Dr. Dystopia d5314cbf48 UnitTests: Remove redundant virtual specifier 2025-04-23 14:33:14 +02:00
Dr. Dystopia 9926a9bd7f VertexLoaderTest: Replace std::tie with structured bindings 2025-04-23 13:11:17 +02:00
Dr. Dystopia 947bdea590 UnitTests: Use constexpr 2025-04-23 12:45:08 +02:00
Martino Fontana e751235574 DolphinQt: Remove unused variables from AdvancedPane.h
Small oversight from #13422.
2025-04-23 12:32:12 +02:00
Joshua Vandaële bf554edfe0 linter: Add and apply new formatting rules
New rules:
`InsertNewlineAtEOF: true`
`RemoveSemicolon: true`
`RequiresClausePosition: WithPreceding`
2025-04-23 11:19:57 +02:00
Joshua Vandaële 2c54ee94c1 linter: Apply clang-format 19.1 formatting
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00
Joshua Vandaële d9d0082018 linter: Bump clang-format version to 19.1 2025-04-23 11:15:52 +02:00
Dr. Dystopia 6e6736c89f UnitTests: Rename lambda parameters which hide previous declarations 2025-04-23 08:15:10 +02:00
JMC47 8f3483fdd4 Merge pull request #13565 from LillyJadeKatrin/retroachievements-end-of-memory-bug
Fix memory bounds error in achievements dev
2025-04-23 01:01:47 -04:00
Jordan Woyak af960651e8 Common: SPSCQueue cleanups and improvements. 2025-04-22 23:49:32 -05:00
OatmealDome d04e9e79a6 Merge pull request #13566 from OatmealDome/macos-11-fix
BuildMacOSUniversalBinary: Explicitly specify CMAKE_OSX_DEPLOYMENT_TARGET in CMake flags
2025-04-23 00:46:58 -04:00
OatmealDome 968b0cff44 BuildMacOSUniversalBinary: Explicitly specify CMAKE_OSX_DEPLOYMENT_TARGET in CMake flags
If the build folder is created from an older commit and this flag is not set, the last value set for this flag will be used instead.
This is currently happening on our macOS build machine, causing macOS 10.15 to still be used as the deployment target.
2025-04-22 23:40:37 -04:00
Jordan Woyak 116bd3a031 Merge pull request #13382 from JoshuaVandaele/btadapterchoice
Add a GUI option to select a bluetooth device
2025-04-22 22:05:30 -05:00
LillyJadeKatrin 8b610101bc Fix memory bounds error in achievements dev
This particular out of bounds error was causing every memory read at the far end of memory to return all zeroes.
2025-04-22 22:49:55 -04:00
Tilka c4f65febf3 Merge pull request #13563 from Tilka/rcheevos
Fix building with USE_RETRO_ACHIEVEMENTS=OFF
2025-04-23 03:27:15 +01:00
Tilka 871073eee2 Merge pull request #13564 from jordan-woyak/triforce_ipl-warning
Core/Boot: Fix unused variable warning.
2025-04-23 03:26:48 +01:00
Jordan Woyak 31a3de819d Merge pull request #13540 from tygyh/DiscIO-Remove-redundant-qualifiers
DiscIO: Remove redundant qualifiers
2025-04-22 20:00:03 -05:00
Jordan Woyak 0fd090ce19 Merge pull request #13550 from Tilka/top_warnings
IOS/Network: fix some warnings
2025-04-22 19:45:47 -05:00
Joshua Vandaële 4773a6f323 Add a GUI option to select a bluetooth device 2025-04-23 02:19:28 +02:00
JMC47 826625c7be Merge pull request #13422 from jordan-woyak/adv-tooltips
DolphinQt: Use tooltips on Advanced tab.
2025-04-22 19:27:21 -04:00
Jordan Woyak 00544e4dff Core/Boot: Fix unused variable warning. 2025-04-22 18:19:32 -05:00
Tillmann Karras 609165b62b Fix building with USE_RETRO_ACHIEVEMENTS=OFF 2025-04-22 23:45:40 +01:00
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
JosJuice 25fdde4204 Android: Update platform enum values
71f654c added a new platform in the middle of the C++ platform enum
without updating the corresponding Android code, making the Android code
incorrectly treat Wii discs as WAD files, WAD files as DOL/ELF files,
and so on. This commit fixes the problem.

To be able to add the new Triforce entry into the Platform enum without
it leading to the UI getting an additional tab, I'm splitting the enum
into Platform and PlatformTab. Platform now exactly matches the C++
enum (previously it excluded ELFOrDOL), and PlatformTab has the same
content as the old Platform.
2025-04-22 20:07:15 +02: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
Dr. Dystopia 71249dec33 Android: Apply style alignment refactorings 2025-04-22 13:34:21 +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
JMC47 0f30b59aef Merge pull request #13556 from jordan-woyak/dvd-interface-crash-fix
DVDInterface: Fix crash when playing wiiware.
2025-04-21 22:15:12 -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
OatmealDome de2826d995 Merge branch 'release-prep-2503a' 2025-04-21 17:03:52 -04: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
JMC47 0b2338a5ee Merge pull request #10084 from Zopolis4/master
Identify Triforce games in gamelist
2025-04-21 13:57:57 -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 0827d9f06d MemArenaDarwin: Initialize all address variables passed to vm_map 2025-04-21 00:40:01 -04:00
Jordan Woyak 0109c27ad7 SI: Fix GBA link by having a separate response for "error" and "no data". 2025-04-21 00:39:07 -04:00
OatmealDome e40c9b674c ScmRevGen: Bump version to 2503a 2025-04-21 00:38:22 -04: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 ad79a62d22 README: Update minimum macOS version to 11.0 2025-04-21 00:24:57 -04:00
OatmealDome 82ee77e4e1 BuildMacOSUniversalBinary: Remove architecture-specific macOS deployment target flags
I can't see any situation in the foreseeable future where we need to target different macOS versions for each architecture.
2025-04-21 00:24:57 -04:00
OatmealDome 39e535d4aa CMakeLists: Bump minimum macOS to 11.0 2025-04-21 00:24:57 -04:00
Jordan Woyak a517c9f862 CoreTiming: Move VISkip calculation into a separate function. 2025-04-20 22:01:06 -05:00
Jordan Woyak 7236d1539a CoreTiming: Cleanups to avoid drift from cumulative rounding errors. 2025-04-20 22:01:01 -05: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
JMC47 41408076e3 Merge pull request #13520 from shuffle2/android-start
Prevent android generating duplicate analytics events
2025-04-20 20:17:30 -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
Dr. Dystopia 07ad189b4f DiscIO: Pass parameters by constant reference 2025-04-20 08:26:09 +02:00
Shawn Hoffman a1691a4031 Prevent android generating duplicate analytics events
dolphin-start event was being generated twice for the normal
end-user case, as can be seen in analytics data for some years.
The problem occured when:
* Android reaped the process hosting the dolphin activity
  (e.g. for power/memory saving).
and
* Dolphin activity was in "stopped" state for > 6 hours before
  being switched back to.

Under above conditions, both calls to ReportStartToAnalytics
would be performed, as dolphin thought it was being launched anew,
and also thought it had been asleep for > 6 hours.

fixes https://bugs.dolphin-emu.org/issues/13675
2025-04-19 22:16:01 -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 b8e70df413 Android: Show time played in game details
Unlike in DolphinQt, there isn't much space to show playtimes directly in
the game list, so I've put it in the game details dialog instead.
2025-04-19 14:34:49 +02:00
JosJuice 3eee52cb6b Android: Create toggle for enabling/disabling time tracking 2025-04-19 14:29:49 +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
Jordan Woyak 5af315ec17 Merge pull request #13521 from OatmealDome/darwin-memarena-ub
MemArenaDarwin: Initialize all address variables passed to vm_map
2025-04-16 00:12:50 -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
Dr. Dystopia 473cb6c3bc Remove redundant parentheses - Tools 2025-04-15 08:08:07 +02:00
Dr. Dystopia 2397a3a915 Use range-based loops - Core VideoBackends 2025-04-14 21:49:08 +02:00
icup321 883a5cccfa GameINI: Toshi engine updates
Update several INI GameSettings for Blue Tongue Entertainment games

Add comments & more Nick games fixes

Adds comments to all FMV fixes and adds even more fixes for Nick games
2025-04-14 05:21:47 -04: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
Dentomologist 2c20d5dcd9 GameList: Ignore non-left double-clicks
Don't start a game when a double-click is triggered by a mouse button
other than the left button.

Fixes https://bugs.dolphin-emu.org/issues/12272.
2025-04-12 16:17:04 -07: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
JMC47 f59507c856 Merge pull request #13488 from TryTwo/PR_MonsterHT_ini_bloom
Game setting fix: Monster Hunter Tri bloom
2025-04-05 21:38:11 -04:00
TryTwo 69bdb0535c Gamesetting fix: Monster Hunter Tri. set EFBAccessEnable = True to fix over-bloom issues.
Was broken due to the default for this setting being switched.
2025-04-05 17:40:32 -07: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
JosJuice 2d1671a863 Merge pull request #13485 from jordan-woyak/timer-dualcore-fix
CoreTiming: Fix Precision Frame Timing in Dual Core mode on Windows.
2025-04-05 08:52:32 +02:00
Jordan Woyak 06afa0036a CoreTiming: Fix Precision Frame Timing in Dual Core mode on Windows. 2025-04-04 19:13:53 -05:00
JosJuice edb1db7400 Translation resources sync with Transifex 2025-04-04 21:45:46 +02:00
JMC47 bee7035322 Merge pull request #13426 from jordan-woyak/sleepy-windows
Common/CoreTiming: Create a PrecisionTimer class for better frame pacing.
2025-04-04 15:34:00 -04: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
Tilka c705e366f0 Merge pull request #13478 from jordan-woyak/metal-af
VideoBackends/Metal: Fix anisotropic filtering handling.
2025-04-02 09:07:44 +01: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
Jordan Woyak 4533605c03 DolphinQt: Update tooltips for ImmediateXFB, VBISkip, SkipPresentingDuplicateFrames interaction clarity. 2025-03-30 20:55:26 -05:00
Jordan Woyak 920f940ad0 DolphinQt: Don't toggle GFX_HACK_SKIP_DUPLICATE_XFBS when GFX_HACK_IMMEDIATE_XFB or GFX_HACK_VI_SKIP are enabled. 2025-03-30 20:51:20 -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
Tillmann Karras 7e57834691 GameSettings: fix startup hang in Moki Moki
The game sets up a fifo breakpoint callback that just writes a flag to
memory. The hang occurs right after calling GXEnableBreakPt(). It is a
busy loop that repeatedly compares the same register without reloading
it from memory. I guess the developers forgot to make the variable
atomic and never noticed because on hardware the breakpoint is hit
immediately so the flag is already set when it is loaded for the first
(and only) time. This patch grows the loop by one instruction to include
the flag load in the loop.
2025-03-30 00:48:22 +00:00
Nitch2024 1b87ea83e6 [Debugger] CTRL+G support in code and memory view 2025-03-29 12:43:15 -07:00
JosJuice 957265ba52 Common: Make Profiler thread safe 2025-03-29 15:05:02 +01:00
JMC47 9819d66a47 Merge pull request #13221 from mitaclaw/nrvo-fails-1
GCC: Remedy NRVO Fails
2025-03-29 03:26:46 -04:00
JMC47 f00b7d39f0 Merge pull request #13465 from TryTwo/PR_Bugfix
AudioPanel Bugfix
2025-03-28 19:56:36 -04:00
TryTwo efd993f382 AudioPanel bugfix: Forgot to wrap an optional slider in a conditional. 2025-03-28 15:50:24 -07:00
JMC47 4c727a84c5 Merge pull request #13456 from jordan-woyak/mapping-window-blank-square-fix
DolphinQt: Fix blank square in MappingWindow's top-left corner.
2025-03-28 18:44:32 -04:00
JMC47 932b4abdcf Merge pull request #13457 from jordan-woyak/efb-access-fix
VideoCommon: Fix out-of-bounds and disabled EFB access.
2025-03-28 18:43:57 -04:00
JMC47 7d794897c4 Merge pull request #13434 from JosJuice/android-non-blocking-input-detection
Android: Don't use separate thread for MotionAlertDialog
2025-03-28 18:25:04 -04:00
JMC47 e0032b3e2c Merge pull request #13122 from TryTwo/PR_Audio_Configs
AudioPanel: Refactor to use Config system.
2025-03-28 14:52:54 -04:00
JosJuice c7ede8a6b7 Merge pull request #13461 from JoshuaVandaele/warningsbegone
Fix shadowed variable warnings and missing declarations
2025-03-28 18:43:09 +01:00
JosJuice ee22cf9b22 Merge pull request #13462 from jordan-woyak/android-wm-mapping-fix
Android/Input: Fix crash when mapping wii remote extensions.
2025-03-28 18:35:15 +01:00
Jordan Woyak 0a3feb3e42 Android/Input: Fix a crash when mapping wii remote extensions. 2025-03-27 18:29:02 -05:00
Joshua Vandaële 3a1a60d4f8 Fix shadowed variable warnings and missing declarations
- PPCSymbolDB:  Resolve shadowed variable warnings
- PerformanceMetrics:  Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
2025-03-27 21:48:08 +01:00
Tilka 662cfa38c2 Merge pull request #13460 from jordan-woyak/play-time-tracker-thread-name
Core: Name the play time tracker thread.
2025-03-27 17:02:36 +00:00
JMC47 cb24821dcc Merge pull request #13217 from cristian64/extract_gecko_creator_name
DolphinQt: Extract creator name from code name in Gecko codes.
2025-03-27 12:26:47 -04:00
Jordan Woyak ebd879cb30 Core: Name the play time tracker thread. 2025-03-27 01:38:55 -05:00
TryTwo e5608c6ca5 ConfigControl fix: Add invalid index check to ConfigComplexChoice. Resolve with a default index that can be set.
If more control is needed,  it could be changed to allow multiple states to point to the same index.
2025-03-26 13:15:57 -07:00
TryTwo 896b4bb1fa AudioPanel: Refactor to use Config system. Some options were changed to a different format, for easier compatibility.
Removed VolumeChanged signal, as ConfigChanged will trigger what is needed.

Only applies UpdateSoundStream to things that can change during emulation.

Settings::SetVolume might no longer be used, but left it in.
2025-03-26 12:26:01 -07:00
tygyh 1ecd6fbc9b Move variables to inner scope 2025-03-26 18:21:46 +01:00
Jordan Woyak e351f03cdf VideoCommon: Fix out-of-bounds and disabled EFB access. 2025-03-26 01:23:16 -05:00
Jordan Woyak 849d8b7dae DolphinQt: Fix blank square in MappingWindow's top-left corner. 2025-03-25 20:52:29 -05:00
JMC47 1981f22228 Merge pull request #13433 from iwubcode/update_min_win10
Update our minimum windows 10 version to 1903 and reinstate code that depends on it
2025-03-25 18:30:15 -04:00
Dr. Dystopia d2cc6760a0 Use Common::ToUnderlying 2025-03-25 21:25:46 +01:00
JMC47 eb84b0fb9b Merge pull request #13442 from TryTwo/PR_CodeWidget_Layout_Tweak
Debugger CodeWidget: Small layout tweak
2025-03-25 13:19:02 -04:00
vyuuui e34907025d Add numeric label support to assembler 2025-03-24 18:59:32 -07:00
JMC47 5d4b884e64 Merge pull request #13450 from Tilka/daring_game
GameSettings: fix startup crash in "The Daring Game for Girls"
2025-03-24 00:22:39 -04:00
Tillmann Karras 5a708f0f24 GameSettings: fix startup crash in "The Daring Game for Girls" 2025-03-23 23:28:22 +00:00
cristian64 6d8ba94e4c DolphinQt: Extract creator name from code name in Gecko codes.
Gecko codes in Dolphin feature a dedicated field for the creator of the
cheat code. When saved into the INI file, the code name and the creator
name are concatenated, and then inserted in the `[Gecko]` section:

```ini
[Gecko]
$<cheat code name> [<creator>]
<code line 1>
<code line 2>
<code line 3>
<...>
$<other cheat code name> [<creator>]
<code line 1>
<code line 2>
<code line 3>
<...>
```

On the other hand, enabled codes are listed under the `[Gecko_Enabled]`
section, but in this case the creator name is omitted from the line:

```ini
[Gecko_Enabled]
$<cheat code name>
$<other cheat code name>
```

Having the creator name in the `[Gecko]` section but not in the
`[Gecko_Enabled]` section is arguably not ideal, but this is legacy
behavior in Dolphin.

The **Cheat Code Editor** dialog is not acknowledging this subtle
behavior in Dolphin: the cheat code name and the creator name *can* be
both inserted in the name field. This issue manifests as an inconsistent
state where a Gecko code that *appears* to be enabled has no effect when
the game is launched.

As part of this fix, the creator name (if present) is now moved into the
dedicated creator field before the code is stored internally.

Test plan:

- Right-click on any game and open the **Properties** dialog.
- Switch to the **Gecko Codes** tab.
- Press the **Add New Code...** button.
- In the **Cheat Code Editor** dialog:
  - Enter `This is a test [Jane Doe]` in the **Name:** field.
  - Enter `01234567 00000000` in the **Code:** field.
  - Press **Save**.
- Observe that the newly added code is now in the list, and *appears* to
  be enabled.
- Close the **Properties** dialog.
- Right-click on the same game and open the **Properties** dialog again.

**Without** the fix, the newly added code, while still on the list, has
been inadvertently disabled (it was never really enabled!).

**With** the fix, the newly added code is the list and remains enabled.

This fixes https://bugs.dolphin-emu.org/issues/13695.
2025-03-23 21:37:23 +00:00
Dentomologist 0b128badae DolphinQt: Fix unresponsive hotkeys during framestep overlay move
Fix the following bug:

* Have a moveable ImGui overlay enabled, such as the Statistics window.
* Pause the game.
* Click and hold on the overlay's title bar as if you were going to move
  it. Because the screen isn't updating while the game is paused, you
  won't be able to actually move the overlay.
* Press the Frame Advance hotkey several times until it stops
  responding.

At this point emulation hotkeys are no longer responsive. This can be
resolved by selecting Play from the toolbar or menu, or selecting Frame
Advance from the menu a couple times, but it's annoying and not obvious
what's gone wrong or how to fix it.

Why the bug is happening:

* Doing a framestep while clicking on the overlay title bar causes ImGui
  to set IO.WantCaptureKeyboard to true, indicating that ImGui is
  requesting Dolphin ignore any keyboard events while the overlay is
  being interacted with.
* Dolphin complies with this request, causing
  Host_UIBlocksControllerState to return true and thus setting the input
  gate to ignore input.
* IO.WantCaptureKeyboard is only updated when ImGui::NewFrame() is
  called, which only happens at the end of each present. It thus remains
  true indefinitely since the game paused after the last framestep, and
  so Dolphin ignores any hotkeys such as the framestep or play keys.

The fix:

Ignore IO.WantCaptureKeyboard when the game is paused. ImGui can't
meaningfully capture input anyway when the game is paused, so this
shouldn't cause any problems elsewhere.

Once async presentation is implemented we'll want to revert this change,
both because it'll become unnecessary and because ImGui will be able to
do stuff while paused and so suppressing emulation hotkeys will actually
be useful.
2025-03-23 14:36:58 -07:00
JosJuice 9e9faf3be1 Android: Show message when trying to map disconnected device
Having the MotionAlertDialog immediately close is confusing for users.
Let's show a message to tell them what went wrong.
2025-03-23 21:39:08 +01:00
JosJuice 516c1314d2 Android: Don't use separate thread for MotionAlertDialog
This is an Android continuation of bc95c00. We now call
InputDetector::Update immediately after receiving an input event from
Android instead of periodically calling it in a sleep loop. This
improves detection of very short inputs, which are especially likely to
occur for volume buttons on phones (or at least on my phone) if you
don't intentionally keep them held down.
2025-03-23 21:39:04 +01:00
JMC47 ad3650abfc Merge pull request #13093 from mitaclaw/ranges-modernization-4-projection
Ranges Algorithms Modernization - Projection
2025-03-23 15:56:13 -04:00
JMC47 1515cf6ccd Merge pull request #13447 from JosJuice/bba-panic-tr
EXI: Make HLE BBA panic alerts translatable
2025-03-23 15:22:11 -04:00
JMC47 cef4d8fb76 Merge pull request #13432 from iwubcode/custom_pixel_fragment
VideoCommon: move to a 'process_fragment()' function to simplify custom shaders
2025-03-23 15:21:48 -04:00
JMC47 f50d2ee86c Merge pull request #13425 from jordan-woyak/after-present-cleanup
Fix performance statistics when Skip Duplicate Frames is turned off.
2025-03-23 15:21:31 -04:00
JMC47 28f1beeca8 Merge pull request #13398 from jordan-woyak/perf-tracker
PerformanceTracker: Eliminate mutex. General cleanups.
2025-03-23 15:21:11 -04:00
JMC47 178462e10f Merge pull request #13385 from Tilka/sp2_ad16
Fix AD16 and make SP2 configurable
2025-03-23 15:20:45 -04:00
JMC47 9b0471532c Merge pull request #13368 from jordan-woyak/anisotropic-filtering
Use Game Requested Anisotropic Filtering
2025-03-23 15:17:24 -04:00
JMC47 2da255d8cd Merge pull request #13311 from iwubcode/dynamic_input_textures_reduce_image_writes
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
2025-03-23 15:12:28 -04:00
JMC47 e93f0de8a4 Merge pull request #13295 from jordan-woyak/controller-emu-cleanup
InputCommon/ControllerEmu: Break out functionality of EmulatedController to eliminate redundant members.
2025-03-23 15:12:06 -04:00
JosJuice c1990bc687 EXI: Make HLE BBA panic alerts translatable
Also rewording the messages to make them clearer and fix typos.
2025-03-23 15:43:16 +01:00
iwubcode 8e253518e6 VideoCommon: move to a 'process_fragment()' function to simplify custom shaders and provide a direct override of the tev stage logic 2025-03-22 15:22:00 -05:00
iwubcode e18d98d4fc Core: properly distinguish between ES title switches (Wii titles) and normal loading (GC, also called for Wii..); update config for ES title change, generate textures for both situations 2025-03-22 14:55:20 -05:00
iwubcode d03f9032c1 Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures 2025-03-22 14:53:02 -05:00
TryTwo b0867c1602 CodeWidget: Layout tweak. Give left-side widgets more vertical space by moving the address bar out of the way. Align things better. 2025-03-21 09:55:52 -07:00
JMC47 18979129f3 Merge pull request #13441 from jordan-woyak/wm-speaker-cleanup
WiimoteEmu: Eliminate dynamic memory allocation in speaker data decoding.
2025-03-18 16:23:50 -04:00
Jordan Woyak 3bf2de369a WiimoteEmu: Eliminate dynamic memory allocation in speaker data decoding. 2025-03-18 03:12:50 -05:00
Jordan Woyak 561aee7707 Config: Expose Default and 1x Anisotropic Filtering setting. 2025-03-17 20:46:24 -05:00
Jordan Woyak 4b711e1e0a DolphinQt: Allow ConfigComplexChoice to handle DefaultState values. 2025-03-17 20:46:24 -05:00
Jordan Woyak ba1bf6959e Config: Allow passing a DefaultState object to Set functions to delete keys. 2025-03-17 20:46:24 -05:00
Jordan Woyak 137d1375d4 Enable game-requested anisotropic filtering in Metal backend. 2025-03-17 20:46:24 -05:00
Pokechu22 79a1e480ca Enable anisotropic filtering when the game requests it 2025-03-17 20:46:19 -05:00
Jordan Woyak a7d1cac8ad Core: Call PerformanceMetrics::CountFrame regardless of PresentReason. 2025-03-17 17:24:08 -05:00
JosJuice 0299540209 Merge pull request #13397 from jordan-woyak/perf-metrics
PerformanceMetrics: Eliminated a mutex. Code cleanups.
2025-03-17 23:20:41 +01:00
Tilka 3b8384acf6 Merge pull request #13438 from Tilka/heads/refs/warning
Fix -Wunused-lambda-capture warning
2025-03-17 22:16:46 +00:00
Tillmann Karras 6a90affa38 Fix -Wunused-lambda-capture warning 2025-03-17 20:08:19 +00:00
Joshua Vandaële 42fb43dacf Implement multiple saves import
https://bugs.dolphin-emu.org/issues/12887
2025-03-17 10:43:09 +01:00
OatmealDome 0afbeae70c Merge pull request #13430 from jordan-woyak/tatacon-desired-state
WiimoteEmu: Make TaTaCon DesiredState use only one byte of space.
2025-03-16 15:04:21 -04:00
OatmealDome dc4cb7874a Merge pull request #13428 from rsgnz/Contributing.md-changes
Contributing.md: Replace egrep with grep -E in clang-format command.
2025-03-16 14:59:49 -04:00
OatmealDome 49bee36e6a Merge pull request #13435 from iwubcode/uninitialized_directx
VideoCommon: initialize uninitialized state value in pixel ubershader
2025-03-16 14:56:44 -04:00
OatmealDome 9720b1f5f5 Merge pull request #13411 from jordan-woyak/gui-vconfig
DolphinQt/GeneralWidget: Eliminate unnecessary g_Config usage.
2025-03-16 14:54:24 -04:00
OatmealDome 9e513d93e1 Merge pull request #13414 from jordan-woyak/vconfig-framedump
VideoConfig: Eliminate frame dumping members.
2025-03-16 14:53:47 -04:00
OatmealDome 07cec796f4 Merge pull request #13417 from luzpaz/typo-source-core-common
Core/Common: Fix typos
2025-03-16 14:53:02 -04:00
iwubcode c5f89f2de9 VideoCommon: initialize uninitialized state value in pixel ubershader to prevent error on directx in some games 2025-03-16 11:35:56 -05:00
Jordan Woyak 48b2f7d200 VideoConfig: Eliminate frame dumping members. 2025-03-16 04:30:06 -05:00
iwubcode c1dea828ab Common: use std::chrono for GetLocalTimeSinceJan1970 on Windows
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
iwubcode 452cd1c261 Core: use more recent api in ComputeDefaultCountryCode on Windows
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
iwubcode 373a1a5dc0 Update min win10 version from 1703/15063 to 1903/18362
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
2025-03-16 00:59:45 -05:00
JMC47 f4c37aeb14 Merge pull request #13423 from jordan-woyak/async-request-cleanup-1
AsyncRequests Cleanups.
2025-03-15 18:17:29 -04:00
Tillmann Karras 90b6f0d16d Config: make SP2 configurable 2025-03-15 22:03:17 +00:00
Tillmann Karras 951a84833a EXI: fix AD16
The GameCube IPL is now able to detect this device. However, this
triggers some memory clearing code that trips up Dolphin's I$.
2025-03-15 22:03:16 +00:00
Jordan Woyak 6aff82eda3 WiimoteEmu: Make TaTaCon DesiredState use only one byte of space. 2025-03-15 16:48:05 -05:00
JMC47 99cde4e269 Merge pull request #13395 from jordan-woyak/vi-HORIZONTAL_BEAM_POSITION-ticks
VideoInterface: Update m_ticks_last_line_start from the event's ticks value.
2025-03-15 17:27:07 -04:00
JMC47 1bd3e79fda Merge pull request #13378 from jordan-woyak/desired-ext-state
WiimoteEmu: Clean up variant handling in DesiredExtensionState.
2025-03-15 17:26:49 -04:00
JMC47 e3deb14156 Merge pull request #13347 from iwubcode/custom_shader_overhaul_lighting
VideoCommon: move lighting shader logic to callable functions
2025-03-15 17:26:32 -04:00
Jordan Woyak 46e0952e97 PerformanceTracker: Use SPSCQueue and atomic to eliminate need for a mutex. Clean up some math. 2025-03-15 14:40:00 -05:00
Jordan Woyak c763961112 PerformanceTracker: Use std::deque instead of hand-rolled circular
queue.
2025-03-15 14:40:00 -05:00
Jordan Woyak b2ce3fbefc PerformanceTracker: Pass chrono values instead of us s64. 2025-03-15 14:40:00 -05:00
Jordan Woyak ddb82a5e8c InputCommon/ControllerEmu: Break out functionality of EmulatedController
to eliminate redundant unused members in Wii Remote extension objects.
2025-03-15 14:30:43 -05:00
JMC47 225039f742 Merge pull request #13427 from LillyJadeKatrin/retroachievements-code-approval-fix
Fixed Multi Config Code Approvals
2025-03-15 13:57:48 -04:00
JosJuice 049e52ce1c Merge pull request #13429 from JosJuice/fix-broken-merge
Fix broken merge of PR #13181
2025-03-15 17:53:11 +01:00
JosJuice f2d1918714 Fix broken merge of PR #13181
This undoes one of the changes of PR #13181. I'm guessing the relevant
code changed between when the PR was last pushed to and when it was
merged.
2025-03-15 17:23:39 +01:00
JosJuice e637a05707 Merge pull request #12866 from JosJuice/android-log-types-sorting
Android: Replace log type names map with array
2025-03-15 16:01:33 +01:00
JosJuice 1f087473aa Merge pull request #12809 from JosJuice/jitarm64-cmp-sp
JitArm64: Replace a comparison to SP
2025-03-15 16:00:15 +01:00
JosJuice b2f8dac739 Merge pull request #13271 from dreamsyntax/gradle-wrapper
Android: Upgrade AGP & Gradle
2025-03-15 15:59:21 +01:00
JosJuice 541344ef9b Merge pull request #13240 from thalesmg/20241225-m-known-bt-addresses-config-only
feat(linux): allow configuring real wiimotes with known bluetooth addresses
2025-03-15 15:34:49 +01:00
JosJuice 8c7ab286f5 Merge pull request #13181 from tygyh/Replace-'reinterpret_cast'
Replace 'reinterpret_cast' with 'static_cast'
2025-03-15 15:31:38 +01:00
JosJuice 3fb4084e25 Merge pull request #13345 from Tilka/unswap_depth
Fix depth texture being incorrectly affected by swap table
2025-03-15 14:30:19 +01:00
JosJuice fd2c6918fa Merge pull request #13388 from jordan-woyak/vsync-not-recommended
DolphinQt: Don't recommend v-sync for optimal frame pacing in tool-tip.
2025-03-15 14:24:29 +01:00
LillyJadeKatrin 0615ade725 Fixed Multi Config Code Approvals
Refactors the AR/Gecko/Patch code approval process to verify from every possible game ini, not just the base game ID. This fixes codes on specific revisions or codes general to any region.
2025-03-15 07:57:16 -04:00
rsgnz 01978cfcf7 Contributing.md: Replace egrep with grep -E in clang-format command. 2025-03-15 10:02:53 +00:00
Jordan Woyak 2690a62949 Core: Remove unused GetActualEmulationSpeed function and related variables/functions. 2025-03-14 03:10:13 -05:00
Jordan Woyak e1745f682f PerformanceMetrics: Eliminated a mutex. Code cleanups. 2025-03-14 03:10:13 -05:00
JMC47 4d3f247cc3 Merge pull request #13352 from Sam-Belliveau/granular_synthesis
AudioCommon: Granule Synthesis Audio System
2025-03-14 03:57:09 -04:00
Sam Belliveau f09ba10daa AudioCommon: Added Granular Synthesis 2025-03-14 01:22:35 -05:00
OatmealDome e82f03b825 Merge pull request #13408 from infirit/flatpakscreensaver
Update the flatpak with the changes how screensavers are handled
2025-03-14 02:19:05 -04:00
Jordan Woyak 6c158ed590 VideoCommon: Create AsyncRequests directly in MMU code to eliminate EFB-related functions in VideoBackendBase. 2025-03-14 01:14:51 -05:00
Jordan Woyak 63b848ca93 VideoCommon: Eliminate EFBAccessType enum. Eliminate union and switch statement handler in AsyncRequests. 2025-03-14 00:59:41 -05:00
iwubcode 15372dc835 VideoCommon: move lighting shader logic to callable functions 2025-03-13 23:56:04 -05:00
JMC47 ca9b34a6d1 Merge pull request #13394 from jordan-woyak/odd-even-pacing
VideoInterface: Adjust even-field to match odd-field pacing when PSB values differ.
2025-03-13 21:56:36 -04:00
JMC47 0e2785a562 Merge pull request #13387 from jordan-woyak/frame-pacing
CoreTiming: Improve frame pacing
2025-03-13 14:23:18 -04:00
JMC47 a421d6859f Merge pull request #13418 from jordan-woyak/efb-interface
VideoCommon: Rename Renderer to EFBInterface.
2025-03-13 14:20:34 -04:00
Jordan Woyak fdf00050a6 DolphinQt: Use tooltips on Advanced tab. 2025-03-13 05:32:16 -05:00
Jordan Woyak 5b36c13bfb VideoCommon: Rename Renderer to EFBInterface. 2025-03-12 21:09:16 -05:00
Luz Paz 1b47dbf519 Core/Common: Fix typos
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,brocken,bufferin,clen,collet,datas,delt,diety,extint,fpr,inout,inport,interm,nd,nin,ontop,pixelx,re-use,re-used,sav,stateman,strat,transer,wil`
2025-03-11 19:48:45 -04:00
JMC47 de997d616f Merge pull request #13416 from jordan-woyak/unused-viewport-correction
VertexShaderManager: Eliminate unnecessary m_viewport_correction member.
2025-03-11 19:00:55 -04:00
JMC47 b7bd0a0836 Merge pull request #13413 from jordan-woyak/vconfig-progressive
VideoConfig: Eliminate bForceProgressive.
2025-03-11 18:59:28 -04:00
JMC47 67c8d5640f Merge pull request #13412 from jordan-woyak/netplay-vconfig
VideoConfig: Eliminate NetPlay related members.
2025-03-11 18:59:02 -04:00
JMC47 1698daef66 Merge pull request #13410 from jordan-woyak/movie-vconfig
Movie: Eliminate MovieManager::SetGraphicsConfig.
2025-03-11 18:58:45 -04:00
JMC47 a80062f1b1 Merge pull request #13400 from jordan-woyak/async-request-no-poke-merge
VideoCommon: Don't merge EFBPoke AsyncRequests.
2025-03-11 18:58:27 -04:00
Jordan Woyak 9b2ab6e259 Merge pull request #13407 from luzpaz/typo-data
Data: fix various typos
2025-03-11 15:37:59 -05:00
Jordan Woyak c191ed5321 VertexShaderManager: Eliminate unnecessary m_viewport_correction member. 2025-03-11 03:55:57 -05:00
Jordan Woyak 5b88c0b90e DolphinQt/GeneralWidget: Eliminate unnecessary g_Config usage. 2025-03-10 20:19:45 -05:00
Jordan Woyak de01a790e1 VideoConfig: Eliminate bForceProgressive. 2025-03-10 19:02:43 -05:00
Jordan Woyak 7f3d8a1ad4 VideoConfig: Eliminate NetPlay related members. 2025-03-10 18:53:44 -05:00
Jordan Woyak 44423a3656 Movie: Eliminate MovieManager::SetGraphicsConfig. 2025-03-10 18:16:49 -05:00
Jordan Woyak 7222188cde Core/VideoCommon: Push presentation time calculated from CPU thread to GPU thread. 2025-03-10 16:40:46 -05:00
Jordan Woyak c4bd98c626 VideoInterface: Throttle before VBlank statistics counting. 2025-03-10 16:40:46 -05:00
Jordan Woyak 9ac9813492 SystemTimers: Throttle prior to performance marker. 2025-03-10 16:40:46 -05:00
Jordan Woyak aa624d8ba8 BTEmu: Throttle prior to wii remote input update. 2025-03-10 16:40:46 -05:00
Jordan Woyak 9675c90890 VideoInterface: Throttle prior to SI poll. 2025-03-10 16:40:46 -05:00
Jordan Woyak 81e842e2aa CoreTiming: Don't Throttle in event queue processing. 2025-03-10 16:39:13 -05:00
Jordan Woyak fe2d247acb VideoCommon: Don't merge EFBPoke AsyncRequests. 2025-03-10 16:37:24 -05:00
Luz Paz cf1541a511 Data: fix various typos
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,brocken,bufferin,clen,collet,datas,delt,diety,extint,fpr,inout,inport,interm,nd,nin,ontop,pixelx,re-use,re-used,sav,stateman,strat,transer,wil`
2025-03-10 16:54:34 -04:00
Sander Sweers 3705c73d55 xdg-screensaver was replaced by calling dbus interfaces 2025-03-10 21:44:58 +01:00
Sander Sweers ae11ffadf6 Allow flatpak to talk to inhibit/screensaver dbus interfaces 2025-03-10 21:44:58 +01:00
mitaclaw 433c6ce0f2 GCC: Remedy NRVO Fails
Using the `-Wnrvo` flag introduced by GCC 14, I identified a few places where NRVO was clearly intended, but is fumbled.
2025-03-10 12:38:03 -07:00
JMC47 5ed8b7bc9d Merge pull request #13403 from jordan-woyak/backend_info
VideoCommon: Move backend_info out of VideoConfig struct.
2025-03-10 15:06:19 -04:00
JMC47 d45e6c6729 Merge pull request #13401 from jordan-woyak/exit-gpu-loop
Core/VideoBackendBase: Call ExitGpuLoop from Core to eliminate Video_ExitLoop.
2025-03-10 15:05:30 -04:00
JMC47 203454a97a Merge pull request #13396 from jordan-woyak/vi-odd-even
VideoInterface: Cleanup and minor fix in Update.
2025-03-10 15:05:12 -04:00
JMC47 ff4486ee23 Merge pull request #13340 from Dentomologist/state_show_decompressing_osd_longer
State: Show "Decompressing State..." OnScreenDisplay message for longer
2025-03-10 15:04:50 -04:00
JMC47 189d09011b Merge pull request #13363 from JoshuaVandaele/nowarnings
Fix multiple minor warnings
2025-03-10 15:04:14 -04:00
JMC47 3f73a39dbd Merge pull request #13286 from JoshuaVandaele/xcb
Enforce XCB within code
2025-03-10 15:03:54 -04:00
JMC47 9f43f59c9b Merge pull request #13276 from JoshuaVandaele/sfml-3.0.0
Migrate to SFML 3.0.0
2025-03-10 15:03:36 -04:00
JosJuice 13d966760d Merge pull request #13362 from MackdannyTwitch/dolphin-RA-approved-cheats-
Added widescreen code for Tomb Raider: Legend GL8.ini
2025-03-10 19:13:34 +01:00
OatmealDome 9e23a0a506 Merge branch 'release-prep-2503' 2025-03-10 12:34:02 -04:00
MackdannyTwitch ba40e4abad Added widescreen code for Tomb Raider: Legend GL8.ini
As the PS2 version is the only one with proper 16:9 widescreen, this cheat brings widescreen to the Gamecube version. This cheat has been tested on the NTSC version, but is stated to be region free.
2025-03-10 01:41:25 -05:00
OatmealDome 9763c0a1e2 ScmRevGen: Bump major version to 2503 2025-03-10 00:46:00 -04:00
JosJuice 1cc6b6c5d8 Merge pull request #13384 from MackdannyTwitch/TR-has-graphical-issues
Fix graphical corruption bug in Tomb Raider: Legend
2025-03-09 23:59:45 +01:00
Tilka f4e6878384 Merge pull request #13406 from Tilka/snow
GameSettings: fix shadows in Triple Crown Championship Snowboarding
2025-03-09 22:48:47 +00:00
Tillmann Karras cbd71f06ba GameSettings: fix shadows in Triple Crown Championship Snowboarding 2025-03-09 20:50:22 +00:00
mitaclaw e4efe011d7 Modernize std::max_element with ranges and projections 2025-03-09 13:26:39 -07:00
mitaclaw 258ec4f9cd Modernize std::lower_bound/upper_bound with ranges and projections 2025-03-09 13:26:38 -07:00
mitaclaw c9f589faa5 Modernize std::stable_sort with ranges and projections 2025-03-09 13:26:38 -07:00
mitaclaw 8b9f92a0af Modernize std::sort with ranges and projections
In PPCTables.cpp, the code is currently unused so I was unable to test it.

In CustomPipeline.cpp, a pointer to member function cannot be used due to 16.4.5.2.1 of the C++ Standard regarding "addressable functions". https://eel.is/c++draft/namespace.std#6

In Fs.cpp and DirectoryBlob.cpp, these examples used projections in a previous iteration of this commit, but no longer do. Still, they remain in this commit because the PR they would actually belong to is already merged.
2025-03-09 13:26:38 -07:00
mitaclaw 9f972db4b8 Modernize std::none_of with ranges and projections 2025-03-09 13:26:37 -07:00
mitaclaw 00e147c722 Simplify std::count_if with std::ranges::count and projections 2025-03-09 13:26:37 -07:00
mitaclaw 62b2b939b5 Simplify std::find_if with std::ranges::find and projections
In LabelMap.cpp, the code is currently unused so I was unable to test it.

In WiiUtils.cpp, the magic value `1u` was replaced by the constant value `DiscIO::PARTITION_UPDATE`.
2025-03-09 13:26:35 -07:00
mitaclaw 1e5e9219cd Common: Create Range Projections For std::pair 2025-03-09 13:19:41 -07:00
JosJuice 87496205aa Merge pull request #13404 from luzpaz/typo-source-core-windupdater
Core/WinUpdater: fix typo
2025-03-09 12:03:56 +01:00
JosJuice e974e48e1f Merge pull request #13405 from luzpaz/typo-source-core-core
Core/Core: fix typos
2025-03-09 12:03:34 +01:00
Jordan Woyak c18c039089 VideoCommon: Move backend_info out of VideoConfig struct. 2025-03-09 01:42:45 -06:00
Luz Paz fb6c625fed Core/Core: fix typos
Found via `codespell -q 3 -S "./Externals,./Data/Sys/wiitdb-??.txt,*.po,*.pot" -L andf,asnd,bootup,bufferin,clen,collet,datas,delt,fpr,inout,inport,interm,pixelx,re-use,re-used,sav,stateman,strat,wil`
2025-03-08 15:41:53 -05:00
Luz Paz 9b7d494bd4 Core/WinUpdater: fix typo 2025-03-08 09:58:50 -05:00
JosJuice d2b4e12f9e Merge pull request #13399 from luzpaz/typos-macOS
CMake: fix various typos
2025-03-08 12:23:13 +01:00
Jordan Woyak 7925240107 Core/VideoBackendBase: Call ExitGpuLoop from Core to eliminate Video_ExitLoop. 2025-03-07 17:30:33 -06:00
Luz Paz 325c1a24b9 CMake: fix various typos
Also includes a fix for BuildMacOSUniversalBinary.py
2025-03-05 20:57:52 -05:00
Admiral H. Curtiss 99e686de34 Merge pull request #13393 from luzpaz/dbz
GraphicMods: Fix typo in DBZ Budokai Tenkaichi 3/metadata.json
2025-03-06 00:02:32 +01:00
Jordan Woyak 5ff2af9b6a VideoInterface: Cleanup and minor fix in Update. 2025-03-04 20:39:14 -06:00
dreamsyntax 5beb136992 Android: Upgrade AGP & Gradle
AGP 8.2.0 -> 8.9.0
Gradle and wrapper to 8.11.1
Baseline Profile plugin to 1.3.3
2025-03-04 18:28:01 -07:00
Jordan Woyak 16d75eadb5 VideoInterface: Update m_ticks_last_line_start from the event's ticks
value rather than the potentially "cycles late" value.
2025-03-04 15:33:51 -06:00
Jordan Woyak b28dcf3687 VideoInterface: Adjust even-field to match odd-field pacing when PSB values differ. 2025-03-04 04:52:24 -06:00
Luz Paz 38099f282d GraphicMods: Fix typo in DBZ Budokai Tenkaichi 3/metadata.json 2025-03-04 04:35:10 -05:00
Admiral H. Curtiss 3c5da38177 Merge pull request #13390 from jordan-woyak/ciface-clock
InputCommon: Use Clock from CommonTypes.
2025-03-03 22:29:25 +01:00
Tilka ecb0a3e5c7 Merge pull request #13389 from iwubcode/static_texcoords_vertex_shadergen
VideoCommon: mark 'WriteTexCoordTransforms' as 'static'
2025-03-03 02:45:52 +00:00
Jordan Woyak e217d6c939 InputCommon: Use Clock from CommonTypes. 2025-03-02 15:42:26 -06:00
iwubcode 6dedf11c96 VideoCommon: mark 'WriteTexCoordTransforms' as 'static' 2025-03-02 11:27:54 -06:00
Jordan Woyak 5d16c51963 DolphinQt: Don't recommend v-sync for optimal frame pacing in tool-tip. 2025-03-02 05:43:00 -06:00
JosJuice fd2766f5df Translation resources sync with Transifex 2025-03-01 22:48:20 +01:00
MackdannyTwitch 5dd10b9644 Fix graphical corruption bug in Tomb Raider: Legend
Tomb Raider: Legend has a graphical bug, as documented in the issue report here https://bugs.dolphin-emu.org/issues/13749?next_issue_id=13748

This .ini entry fixes the issue.
2025-03-01 03:07:12 -07:00
JMC47 65726b7b5f Merge pull request #13374 from Dentomologist/performancemetrics_clamping_resetting_and_add_setting
PerformanceMetrics: Add clamping, resetting on resize, and setting
2025-02-26 19:44:13 -05:00
Jordan Woyak 3f92f86de1 WiimoteEmu: Add a static_assert in DesiredExtensionState to keep variant alternative order consistent. 2025-02-25 17:22:59 -06:00
Jordan Woyak 0d0734e083 WiimoteEmu: Clean up variant handling in DesiredExtensionState. 2025-02-25 17:22:59 -06:00
Jordan Woyak 1d481a395a VariantUtil: Introduce WithVariantAlternative to dynamically construct and visit a variant alternative. 2025-02-25 17:22:59 -06:00
Admiral H. Curtiss f93781d91a Merge pull request #13357 from Nejsplitter/master
GameSettings: Set ImmediateXFBEnable = False for Medal of Honor: Frontline
2025-02-25 23:26:46 +01:00
Nejsplitter f60492decb GameSettings: Set ImmediateXFBEnable = False for Medal of Honor: Frontline 2025-02-25 22:47:32 +01:00
Tillmann Karras 4e460a7968 UberShaderPixel: use unswapped texture samples for depth 2025-02-25 18:45:01 +00:00
Tillmann Karras 359fb51d64 PixelShaderGen: use unswapped texture samples for depth 2025-02-25 18:45:01 +00:00
Tillmann Karras 7abb9e7974 Sofware/Tev: use unswapped texture samples for depth 2025-02-25 18:45:01 +00:00
Tilka 030892abd9 Merge pull request #13369 from Tilka/qt_warnings
CMake: disable Qt deprecation warnings we can't fix
2025-02-25 18:32:28 +00:00
JosJuice 89277ee52e Merge pull request #13376 from jordan-woyak/serialized-wm-irext
WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout.
2025-02-25 17:49:51 +01:00
JosJuice 4697f0ec2f Merge pull request #13377 from jordan-woyak/middle-clear-fix
DolphinQt: Fix MappingButton not updating text on middle-click clear.
2025-02-25 17:41:47 +01:00
Joshua Vandaële 0a83783fae Migrate to SFML>=3.0.0 2025-02-25 06:42:13 +01:00
Jordan Woyak 104a25fe0d DolphinQt: Fix MappingButton not updating text on middle-click clear. 2025-02-24 21:17:41 -06:00
Jordan Woyak e5b55bfc06 WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout. 2025-02-24 16:29:07 -06:00
Dentomologist 0645a267d9 PerformanceMetrics: Add clamping, resetting on resize, and setting
Clamp overlays to the render window (with some padding), reset their
positions when the render window changes sizes, and add a setting to
enable moving the overlays (off by default, .ini only for now).
2025-02-24 13:17:57 -08:00
JosJuice 6dd0793f1b Translation resources sync with Transifex 2025-02-24 19:21:47 +01:00
JosJuice 7679b0e955 Merge pull request #13370 from JosJuice/i18n-pack-sd
Common: Make SD pack/unpack strings translatable
2025-02-24 18:57:55 +01:00
Tilka 4d1737e423 Merge pull request #13371 from Florin9doi/prusb1
USB: Remove unused parameters
2025-02-24 05:20:30 +00:00
Tilka 16ce28b70b Merge pull request #13372 from Florin9doi/prusb2
USB: Fix Infinity Manager icon
2025-02-24 05:20:15 +00:00
JosJuice 0f83598493 Common: Make SD pack/unpack strings translatable
Regression from adc5b81.
2025-02-23 23:09:24 +01:00
Florin9doi 7afc3df76f USB: Infinity window icon 2025-02-24 00:08:42 +02:00
Florin9doi 51dc3ff466 USB: Remove unused params 2025-02-24 00:07:28 +02:00
Thales MG 97bc28aac4 feat(linux): allow configuring real wiimotes with known bluetooth addresses
This adds the option to configure real Wiimotes by specifying their Bluetooth addresses in
the configuration file.  This allows off-brand Wiimotes to work without using the
Bluetooth Passthrough option, if you know their Bluetooth addresses beforehand.

Despite correctly setting the LAP to `0x9e8b00` in `WiimoteScannerLinux::FindWiimotes`
while scanning, which is indeed enough to make off-brand / knock-off Wiimotes respond to a
Bluetooth Inquiry, some (several? all?) bluetooth adapters seem to override and ignore
this given LAP value when performing the Inquiry, and actually use the `0x9e8b33` value as
if a null pointer have been given to `hci_inquiry`, as inspection of USB/Bluetooth packets
by Wireshark indicate.  Off-brand Wiimotes don't respond to inquiries with this LAP.

If one happens to know the Bluetooth address of their Wiimote (for example, by checking
`BluetoothPassthrough.LinkKeys` after using Bluetooth Passthrough, or other means such as
directly using `libusb` to force the adapter to use the correct LAP in the Inquiry), then
it's enough to add those addresses to the vector of found Wiimotes.

Since this a niche use case and I only happen to know and have tested in Linux, this
change only affects the `WiimoteScannerLinux` backend.  It's likely that it could be added
to other backends, but I'm unfamiliar with these.

If no addresses are given or this config section does not exist, behavior is completely
unchanged.
2025-02-23 18:27:48 -03:00
Tillmann Karras a8363854ee CMake: disable Qt deprecation warnings we can't fix 2025-02-23 14:18:05 +00:00
JMC47 6d9c887a21 Merge pull request #13365 from jordan-woyak/si-disco
SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false.
2025-02-23 01:23:39 -05:00
JMC47 aabde71484 Merge pull request #13348 from jordan-woyak/movie-SerializedWiimoteState
Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState.
2025-02-22 14:08:41 -05:00
Jordan Woyak 8431c23cbc SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false. 2025-02-22 09:25:57 -06:00
JosJuice ddb0e1e309 Translation resources sync with Transifex 2025-02-22 14:15:38 +01:00
JMC47 43a6ec5bbd Merge pull request #13353 from iwubcode/custom_shader_overhaul_vertex_texcoord
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
2025-02-22 02:32:47 -05:00
JMC47 3c57f21d3c Merge pull request #13358 from Aeplexi/master
Fix LULZ (Homebrew Channel) being forced to 4:3
2025-02-22 02:17:50 -05:00
Joshua Vandaële 5b4d4ca5eb Fix multiple minor warnings
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
2025-02-21 19:17:29 +01:00
Admiral H. Curtiss dd07f6a59a Merge pull request #13364 from Tilka/shadow
CMake: don't enable -Wshadow-uncaptured-local
2025-02-21 18:32:20 +01:00
Jordan Woyak 01099d67cb Merge pull request #13326 from nlebeck/taskviewmodel-mustrestartapp
Eliminate TaskViewModel's `mustRestartApp` field
2025-02-20 21:58:18 -06:00
Tillmann Karras 262e6f9c17 CMake: don't enable -Wshadow-uncaptured-local
This warning unhelpfully triggers for the `[x = std::move(x)]` pattern
which is used quite a few times in Dolphin.
2025-02-21 02:51:32 +00:00
Aep f1eec2528e Fix LULZ (Homebrew Channel) aspect ratio
- Add a LULZHB.ini
2025-02-18 21:43:10 -05:00
JosJuice af064c57de Merge pull request #13219 from Tilka/cp_cleanup
VideoCommon: drop CP MMIO registers that were probably added in the wrong place
2025-02-17 21:27:19 +01:00
Admiral H. Curtiss f0edcb2cfb Merge pull request #11469 from aminoa/master
Track Time Played (Core and QT)
2025-02-16 23:37:13 +01:00
Aneesh Maganti fffb499da2 Core/HW: Add time tracking thread in CPU manager
Introduce method to track the time played for a game via time differences and TimePlayed methods. Threads are synchronized via Common::Event.
2025-02-16 23:15:12 +01:00
Aneesh Maganti 3c44fe592b DolphinQt: Add "Time Played" column to game list view
Shows minutes/hours in the list view and handles column visibility.
2025-02-16 23:15:11 +01:00
Aneesh Maganti 276f043db8 DolphinQt: Create toggle for enabling/disabling time tracking
Introduce a new "Enable Time Tracking" checkbox in the InterfacePane UI. The checkbox is dynamically enabled or disabled based on the emulation state, preventing changes while emulation is active.
2025-02-16 23:15:11 +01:00
Aneesh Maganti a9ebedbf7d Core/Config: Add settings for time tracking 2025-02-16 23:15:11 +01:00
Aneesh Maganti 892d6e30df Core/ConfigManager: Add locks for metadata methods
All metadata access methods now acquire a lock on `m_metadata_lock` to prevent race conditions.
2025-02-16 23:15:11 +01:00
Aneesh Maganti 803241c64b Core: Add TimePlayed class to track game playtime
Creates TimePlayed class and implemented constructors, AddTime, GetTimePlayed, and Reload methods. Updates CMakeLists.txt and DolphinLib.props as appropriate.
2025-02-16 23:15:11 +01:00
Admiral H. Curtiss 5acbdf730a Merge pull request #13338 from JoshuaVandaele/contributing-md
Contributing.md: Improve clarity and specify clang-format version
2025-02-16 16:15:31 +01:00
Admiral H. Curtiss aced90de97 Merge pull request #13329 from noahpistilli/guard-startup-patches
Core: Check if msr.DR and msr.IR are valid at ApplyStartupPatches
2025-02-16 16:14:35 +01:00
JMC47 343007fa9e Merge pull request #13343 from jordan-woyak/dark-theme-indicator-gate-colors
DolphinQt/Mapping: Adjust dark theme indicator gate color calculation.
2025-02-15 16:34:30 -05:00
JMC47 ce0f9139e9 Merge pull request #13323 from jordan-woyak/iterative-mapping
DolphinQt: Add setting to enable iterative input mappings.
2025-02-15 16:19:02 -05:00
Jordan Woyak 66624abb12 DolphinQt/Mapping: Clear and skip "Modifier" iterative input mappings when using
analog inputs.
2025-02-15 14:15:51 -06:00
Jordan Woyak 3189de6c7a DolphinQt: Add setting to enable iterative input mappings. 2025-02-15 14:15:51 -06:00
JMC47 a8fae9b826 Merge pull request #13320 from jordan-woyak/detect-alternations
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings.
2025-02-15 12:59:23 -05:00
JMC47 c360ea0d9d Merge pull request #13344 from Tilka/dither
VideoCommon: simplify dither calculation
2025-02-15 00:32:14 -05:00
JMC47 0fc36bbfa9 Merge pull request #13341 from jordan-woyak/sd-convert-buttons-rename
DolphinQt: Rename the pack/unpack SD Card buttons.
2025-02-15 00:31:40 -05:00
JMC47 f9accfd4d6 Merge pull request #13324 from Sintendo/jitarm64-cmp-imm
JitArm64_Integer: cmp/cmpl optimizations
2025-02-15 00:30:34 -05:00
JMC47 ac2026dd6e Merge pull request #13322 from Xphalnos/D3D_Update
VideoBackends: Use DXGI 1.6 and D3D11_4
2025-02-15 00:30:13 -05:00
JMC47 b8848b5088 Merge pull request #13321 from Xphalnos/master
Externals: Vulkan 1.4 Support, xxHash 0.8.3 and VMA 3.2.0
2025-02-15 00:29:23 -05:00
iwubcode 1ce78dd9b4 VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen 2025-02-14 22:44:49 -06:00
Jordan Woyak 7a37d015b7 DolphinAnalytics/WiimoteEmu: Remove now-irrelevant game quirk check. 2025-02-13 17:39:54 -06:00
Jordan Woyak 59d25aceb6 WiimoteEmu: Removed unused Extension encryption key getter. 2025-02-12 23:42:44 -06:00
Jordan Woyak 83d4249838 Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState. 2025-02-12 23:42:43 -06:00
Jordan Woyak adc5b81c31 DolphinQt: Rename the pack/unpack SD Card buttons. 2025-02-12 13:30:48 -06:00
Tillmann Karras 5db6bd6054 VideoCommon: simplify dither calculation
This saves three instructions on AMD GPUs. Dunno about Nvidia.
2025-02-11 19:23:37 +00:00
Jordan Woyak 165e35ed5d DolphinQt/Mapping: Adjust dark theme indicator gate color calculation. 2025-02-10 01:15:58 -06:00
Tillmann Karras 19d954eaea VideoCommon: remove CP readonly field, it's now always false 2025-02-08 11:46:49 +00:00
Tillmann Karras 84e72c185a VideoCommon: drop CP MMIO registers that were probably added in the wrong place
I think someone confused these with the actual token and bounding box
registers in PE, which were added later. In CP they never did anything
and it's suspicious that they have the same addresses as their PE
counterparts. On real hardware they always read as zero.
2025-02-08 11:46:49 +00:00
OatmealDome c770e7c276 Merge pull request #13318 from sanjay900/dont-detach-macos
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-08 01:01:58 -05:00
Dentomologist 363155b597 State: Increase Decompressing OSD message duration
Show the "Decompressing State..." message for 2 seconds, instead of the
half-second duration that caused it to be halfway faded out immediately.
2025-02-06 17:17:18 -08:00
Admiral H. Curtiss c6be362a8c Merge pull request #13334 from jordan-woyak/mplus-lround
WiimoteEmu/MotionPlus: Gyro data calculation cleanup.
2025-02-06 22:20:24 +01:00
Admiral H. Curtiss b1f1d7d6a7 Merge pull request #13327 from jordan-woyak/input-expressions-compound-assignment
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-06 22:15:51 +01:00
Admiral H. Curtiss 05f217bd0b Merge pull request #13330 from Dentomologist/performancemetrics_allow_moving_overlays
PerformanceMetrics: Allow users to move overlays
2025-02-06 21:56:57 +01:00
Admiral H. Curtiss dcfb1361d2 Merge pull request #13223 from mitaclaw/branch-watch-tool-fixes-5
Branch Watch Tool: Refresh Context Menus OnEmulationStateChanged
2025-02-06 21:52:50 +01:00
JosJuice db285b7c87 Merge pull request #13319 from hoogmin/infinite-style-fix
Refactor: Infinite loop in AsyncShaderCompiler according to style guidelines
2025-02-06 18:31:28 +01:00
Joshua Vandaële b5978148b5 Contributing.md: Improve clarity and specify clang-format version 2025-02-06 15:16:23 +01:00
Javier Martinez 7dec083af5 Refactor: Make loop non-infinite instead in AsyncShaderCompiler. 2025-02-05 20:06:59 -05:00
Admiral H. Curtiss 6ee08fb9db Merge pull request #13302 from TryTwo/Breakpoints_Fix_Lag
Breakpoints: Fix lag when loading multiple memory breakpoints
2025-02-05 18:27:22 +01:00
OatmealDome 99e3c6e265 Merge pull request #13299 from OatmealDome/flatpak-dirty
Flatpak: Move wrapper script outside of the manifest
2025-02-04 12:44:13 -05:00
TryTwo bbf72e79f9 Breakpoints: Fix lag when adding or removing multiple memory breakpoints by only calling DBATUpdated() once. 2025-02-04 00:21:13 -07:00
Tilka b51ca82032 Merge pull request #13335 from jordan-woyak/wm-speaker-constant
WiimoteEmu: Use a named constant instead of a magic number for speaker data writes.
2025-02-04 02:22:01 +00:00
Jordan Woyak c857a7dd82 WiimoteEmu: Use a named constant instead of a magic number for speaker
data writes.
2025-02-03 19:52:38 -06:00
Admiral H. Curtiss ba58e336bc Merge pull request #13328 from Dentomologist/performancemetrics_call_imgui_end_unconditionally
PerformanceMetrics: Call ImGui::End() unconditionally
2025-02-03 12:24:47 +01:00
Admiral H. Curtiss 5b73e2a302 Merge pull request #13325 from iwubcode/rf_community_gecko_codes
Data: update Rune Factory Frontier with community gecko codes
2025-02-03 12:22:58 +01:00
Admiral H. Curtiss 8a3b3ced96 Merge pull request #13313 from rjgabel/patch-1
GameSettings: Set EFBAccessEnable=True for "I SPY: Spooky Mansion"
2025-02-03 12:22:04 +01:00
Jordan Woyak 857c93c529 WiimoteEmu/MotionPlus: Gyro data calculation cleanup. 2025-02-03 02:05:47 -06:00
Dentomologist 4b8e36cba9 PerformanceMetrics: Allow users to move overlays
Allow users to move the FPS, VPS, Speed, and Performance Graph overlays.
2025-02-02 19:40:01 -08:00
Sketch 4499718368 Core: Check if msr.DR or msr.IR are valid at ApplyStartupPatches 2025-02-02 17:27:16 -05:00
Dentomologist f94e6cb73e PerformanceMetrics: Call ImGui::End() unconditionally
Move ImGui::End() calls out of if(ImGui::Begin()) blocks.

Quoting from ImGui::Begin's function comment in imgui.cpp:
"You always need to call ImGui::End() even if false is returned."

In practice this didn't cause problems because the windows don't have
title bars and thus can't be collapsed, and so the block containing
::End would always run, but let's do it the right way.
2025-02-02 14:14:56 -08:00
Jordan Woyak cdabd651aa InputCommon/ExpressionParser: Add compound assignment operators. 2025-02-02 14:37:11 -06:00
Niel Lebeck 56fd1f39d8 Eliminate TaskViewModel's mustRestartApp field
Instead of having UserDataImportWarningDialog set an
`onResultDismiss` callback that examines `mustRestartApp`, and having
UserDataActivity set `mustRestartApp`, just have UserDataActivity set
the callback directly.

This approach is no more data-race-y than the previous approach, and it
simplifies the code. (The behavior of restarting the app when the task
finishes is specific to the user data import flow, and there is no
reason for TaskViewModel to be directly aware of it.)
2025-02-02 12:24:51 -08:00
iwubcode 570fc1d5aa Data: update Rune Factory Frontier with community gecko codes 2025-02-02 12:34:38 -06:00
Admiral H. Curtiss 84d28a4272 Merge pull request #13300 from UnderCoverToni/GOME01
Gecko: Mario Power Tennis (Gamecube) | GOME01
2025-02-02 18:25:22 +01:00
Admiral H. Curtiss 5a4cde62b6 Merge pull request #13246 from nlebeck/stringutil-tests
Add a `SplitPath` unit test exercising Windows paths with drive letters
2025-02-02 18:16:13 +01:00
Admiral H. Curtiss f1fe32c93b Merge pull request #13254 from brad0/openbsd_aarch64
ArmCPUDetect: Add OpenBSD support for elf_aux_info
2025-02-02 18:12:03 +01:00
Admiral H. Curtiss 77056ba7b7 Merge pull request #13208 from Dentomologist/wiitasinputwindow_update_on_attachment_change
WiiTASInputWindow: Update controls when attachment changes
2025-02-02 18:02:58 +01:00
Ryan Gabel acf03a641a GameSettings: Set EFBAccessEnable=True for "I SPY: Spooky Mansion"
This is necessary so you can select an option in the color selection menu
2025-02-02 17:58:38 +01:00
Admiral H. Curtiss 017e0b5658 Merge pull request #13306 from OatmealDome/cubeb-optional
CMakeLists: Add flag to disable Cubeb
2025-02-02 17:50:20 +01:00
Admiral H. Curtiss 6a3a74508d Merge pull request #13317 from cristian64/spurious_config_file
DolphinQt: Use global settings object also for debugger settings.
2025-02-02 17:25:24 +01:00
Admiral H. Curtiss 9ff833e2f4 Merge pull request #13315 from jordan-woyak/func-exp-cleanup
InputCommon/ExpressionParser: Function argument parsing minor cleanup.
2025-02-02 17:23:13 +01:00
Admiral H. Curtiss 04775b6ef8 Merge pull request #13314 from jordan-woyak/input-expressions-assignment-op-fix
InputCommon: Fix input expression assignment operator behavior.
2025-02-02 17:22:25 +01:00
Sintendo 755c003265 JitArm64_RegCache: Const correctness
Forgot this when I added it in #13120.
2025-02-02 12:57:59 +01:00
Sintendo 7ce7da629e JitArm64_Integer: cmpl - Subtract shifted 12-bit constant
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
We exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52a00218   mov    w24, #0x100000            ; =1048576
0xcb180379   sub    x25, x27, x24

After:
0xd1440379   sub    x25, x27, #0x100, lsl #12 ; =0x100000
2025-02-02 12:57:59 +01:00
Sintendo b7c3f91643 JitArm64_Integer: cmpl - Subtract 12-bit constant
You can encode a 12-bit immediate in a SUB instruction on ARM64. We can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x5280003a   mov    w26, #0x1                 ; =1
0xcb1a033b   sub    x27, x25, x26

After:
0xd100073b   sub    x27, x25, #0x1
2025-02-02 12:57:59 +01:00
Sintendo c5870ed0c7 JitArm64_Integer: cmp - Skip sign extension if possible
While we cannot always avoid materializing immediates, we can still
inspect the most significant bit and potentially skip sign extension.
This can sometimes save an instruction.

Before:
0x5280003a   mov    w26, #0x1                 ; =1
0x93407f5b   sxtw   x27, w26
0xcb38c37b   sub    x27, x27, w24, sxtw

After:
0x5280003a   mov    w26, #0x1                 ; =1
0xcb38c35b   sub    x27, x26, w24, sxtw

Before:
0x52a20018   mov    w24, #0x10000000          ; =268435456
0x93407f79   sxtw   x25, w27
0xcb38c339   sub    x25, x25, w24, sxtw

After:
0x52a20018   mov    w24, #0x10000000          ; =268435456
0x93407f79   sxtw   x25, w27
0xcb180339   sub    x25, x25, x24
2025-02-02 12:57:49 +01:00
Sintendo 075c35602f JitArm64_Integer: cmp - Add shifted 12-bit constant
You can encode a shifted 12-bit immediate in an ADD instruction on
ARM64. If the negated constant fits in this range, we can exploit this
to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52bff01a   mov    w26, #-0x800000           ; =-8388608
0x93407f1b   sxtw   x27, w24
0xcb3ac37b   sub    x27, x27, w26, sxtw

After:
0x93407f1b   sxtw   x27, w24
0x9160037b   add    x27, x27, #0x800, lsl #12 ; =0x800000
2025-02-02 12:01:08 +01:00
Sintendo 01eed0a758 JitArm64_Integer: cmp - Add 12-bit constant
You can encode a 12-bit immediate in an ADD instruction on ARM64. If the
negated constant fits in this range, we can exploit this to avoid
materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x12800019   mov    w25, #-0x1                ; =-1
0x93407f5b   sxtw   x27, w26
0xcb39c37b   sub    x27, x27, w25, sxtw

After:
0x93407f5b   sxtw   x27, w26
0x9100077b   add    x27, x27, #0x1
2025-02-02 12:01:05 +01:00
Sintendo 352cbc4772 JitArm64_Integer: cmp - Subtract shifted 12-bit constant
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52a00099   mov    w25, #0x40000             ; =262144
0x93407f7a   sxtw   x26, w27
0xcb39c35a   sub    x26, x26, w25, sxtw

After:
0x93407f7a   sxtw   x26, w27
0xd141035a   sub    x26, x26, #0x40, lsl #12  ; =0x40000
2025-02-02 12:00:44 +01:00
Sintendo 4a29e0e4f4 JitArm64_Integer: cmp - Subtract 12-bit constant
You can encode a 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.

This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.

Before:
0x52800416   mov    w22, #0x20                ; =32
0x93407f78   sxtw   x24, w27
0xcb36c318   sub    x24, x24, w22, sxtw

After:
0x93407f78   sxtw   x24, w27
0xd1008318   sub    x24, x24, #0x20
2025-02-02 12:00:12 +01:00
Xphalnos c9bd6a13a9 VideoBackends: Use DXGI 1.6 and D3D11_4 2025-02-02 09:02:35 +01:00
JMC47 8291cff46d Merge pull request #13280 from jordan-woyak/input-expressions-highlighting
InputCommon/DolphinQt: Fix sometimes broken syntax highlighting in IOWindow.
2025-02-02 02:01:34 -05:00
Xphalnos 698cc7aeb5 Externals: Vulkan 1.4 Support, xxHash 0.8.3 and VMA 3.2.0 2025-02-01 12:11:37 +01:00
Jordan Woyak 6e7e808b66 DolphinQt/Mapping: Add setting to enable waiting for alternate mappings
using the OR-operator.
2025-02-01 01:54:10 -06:00
Sanjay Govind 10e044872d LibusbDevice: Don't detach kernel drivers on macOS 2025-02-01 10:32:20 +13:00
cristian64 a153c7cb7c DolphinQt: Use global settings object also for debugger settings.
A number of settings in the `debugger` group were wrongly using a newly
constructed `QSettings` object instead of the singleton object that
`GetQSettings()` provides.

This made the application create a spurious, extra configuration file in
the user directory:

```
~/.config/Dolphin Emulator/dolphin-emu.conf
```

Notice that,  by default, the application configuration files are stored
in `~/.config/dolphin-emu`; not in `~/.config/Dolphin Emulator`.
2025-01-30 22:02:03 +00:00
JMC47 cd3993708f Merge pull request #13316 from hoogmin/minor-first
Refactor: infinite loop based on Dolphin's style guidelines
2025-01-30 16:27:21 -05:00
Javier Martinez 391dae718d Refactor: infinite loop based on Dolphin's style guidelines 2025-01-30 14:36:22 -05:00
Niel Lebeck e5e3944d55 Add a SplitPath unit test exercising Windows paths with drive letters 2025-01-29 22:07:19 -08:00
OatmealDome b5a0d293ae Merge pull request #13305 from OatmealDome/vertexloader-config
VertexLoaderBase: Allow the vertex loader type to be set via config
2025-01-29 17:14:05 -05:00
Jordan Woyak 67b8100cd2 InputCommon/ExpressionParser: Make ValidateArguments access existing
members instead of passing arguments.
2025-01-28 20:15:45 -06:00
Jordan Woyak e4b464e727 InputCommon/ExpressionParser: Make function argument parsing error
message more clear.
2025-01-28 20:13:06 -06:00
JMC47 897978e955 Merge pull request #13310 from jordan-woyak/small-vec-placement-new
Common: Make SmallVector work with non-standard-layout types.
2025-01-28 20:59:14 -05:00
JMC47 e16e3f9a61 Merge pull request #13291 from iwubcode/imgui_1_91_7
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16
2025-01-28 20:57:28 -05:00
Jordan Woyak c9ad5430d0 InputCommon: Fix input expression assignment operator behavior. 2025-01-28 14:32:39 -06:00
Admiral H. Curtiss 3f79aa23b4 Merge pull request #13267 from Sintendo/arm64-fix-gt-micro
JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
2025-01-28 19:43:53 +01:00
Admiral H. Curtiss 0b7f9541d0 Merge pull request #13304 from JoshuaVandaele/argsegfault
Fix segfault when passing invalid arguments
2025-01-28 19:27:23 +01:00
JMC47 f92f174450 Merge pull request #13297 from jordan-woyak/config-ext-btn
DolphinQt: Add a "Configure Extension" button under the extension selection combo box.
2025-01-27 21:17:41 -05:00
JMC47 e18a4d04b4 Merge pull request #13178 from jordan-woyak/input-expressions-conditional-op
InputCommon: Add ternary conditional operator to input expressions.
2025-01-27 21:16:29 -05:00
JMC47 2b5cd96cb1 Merge pull request #11261 from TryTwo/PR_MemoryView_Auto_Update
MemoryView auto-update while running and color recently changed cells.
2025-01-27 21:15:57 -05:00
Toni 08f83bbd6b Added Gecko codes to GOME01.ini
Included multiple netcode related and unrelated Gecko Codes
2025-01-27 15:25:51 -08:00
JosJuice d117614c00 Merge pull request #13213 from JosJuice/remove-filter-patches-lock
Core: Remove redundant lock for FilterApprovedPatches call
2025-01-27 20:15:00 +01:00
Jordan Woyak 9777e8e76b Common: Make SmallVector work with non-standard-layout types. 2025-01-26 13:03:39 -06:00
JosJuice e29e0cd150 Merge pull request #13296 from jordan-woyak/sdl-motor-lr
InputCommon: Make SDL Motor L/R Outputs not fight each other and support trigger rumble.
2025-01-26 19:45:44 +01:00
JosJuice c9e5975545 Merge pull request #13290 from iwubcode/formatter_abstract_texture_type
VideoCommon: add formatter for AbstractTextureType
2025-01-26 19:40:12 +01:00
JosJuice ca15b4a7d9 Merge pull request #13229 from sanjay900/wii-drum-velocity-fixes
WiimoteEmu: Fix Drum Extension Velocity
2025-01-26 14:15:53 +01:00
JosJuice 01358c79a6 Merge pull request #13298 from jordan-woyak/less-bt-spam
Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux.
2025-01-26 14:13:44 +01:00
OatmealDome d89e7c84fb CMakeLists: Add flag to disable Cubeb 2025-01-25 14:06:55 -05:00
JosJuice 56b7b0a804 Merge pull request #13303 from JoshuaVandaele/aboutresize
AboutDialog: Disable resizing the About window
2025-01-25 10:37:37 +01:00
JosJuice 911742358c Merge pull request #13307 from OatmealDome/steam-vsprops
VSProps: Remove unused Steam preprocessor definition
2025-01-25 10:23:30 +01:00
OatmealDome be8073593c VSProps: Remove unused Steam preprocessor definition 2025-01-25 02:42:26 -05:00
OatmealDome bffaec9c5e VertexLoaderBase: Allow the vertex loader type to be set via config 2025-01-24 18:31:42 -05:00
Jordan Woyak 799b9d4092 Merge pull request #13192 from jordan-woyak/netplay-win32-interface-list
NetPlay: Implement GetInterfaceListInternal for Windows.
2025-01-24 14:40:25 -06:00
Joshua Vandaële f1f147965b Fix segfault when passing invalid arguments 2025-01-24 20:52:33 +01:00
Joshua Vandaële a76ed94120 AboutDialog: Disable resizing the About window 2025-01-24 10:45:54 +01:00
JMC47 d0b7c96fdb Merge pull request #13285 from SameUpstreamMultipleForks/fix-waverace-blue-storm
GameSettings: Set CPUThread to False in GWRE01.ini.
2025-01-23 22:47:49 -05:00
Sanjay Govind ef97185854 WiimoteEmu: Fix Drum Extension Velocity 2025-01-24 10:06:09 +13:00
OatmealDome a34f81ff34 Flatpak: Move wrapper script outside of the manifest 2025-01-23 13:39:45 -05:00
Maxim Cournoyer 0a3e9f70b9 GameSettings: Set CPUThread to False in GWR.ini.
As mentioned in
https://wiki.dolphin-emu.org/index.php?title=Wave_Race:_Blue_Storm,
the menu may freeze otherwise.

* Data/Sys/GameSettings/GWR.ini: New file.

Co-authored-by: JosJuice <josjuice@gmail.com>
2025-01-23 16:20:36 +09:00
Brad Smith a20f96b78c ArmCPUDetect: Add OpenBSD support for elf_aux_info 2025-01-22 22:58:00 -05:00
Jordan Woyak 01abfafa4e Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux. 2025-01-22 14:43:20 -06:00
Jordan Woyak 4b4a58623b Merge pull request #13283 from jordan-woyak/button-indicators
DolphinQt: Replace MappingButton bold text with graphical indicators.
2025-01-22 13:22:33 -06:00
JosJuice 76c613c8cd Merge pull request #13294 from JoshuaVandaele/analytics-readme
Readme: Add a link to Analytics
2025-01-22 18:26:44 +01:00
Jordan Woyak a33368b102 DolphinQt: Add a "Configure Extension" button under the extension
selection combo box.
2025-01-22 02:58:32 -06:00
Jordan Woyak 8354279aae InputCommon: Add support for SDL gamecontroller rumble triggers. 2025-01-21 21:09:39 -06:00
Jordan Woyak fb512adc5f InputCommon: Make SDL Motor L/R Outputs not fight each other. 2025-01-21 19:19:01 -06:00
Joshua Vandaële 2bfeff834c Readme: Add a link to Analytics 2025-01-21 13:05:21 +01:00
Jordan Woyak ae72a781d4 DolphinQt: Remove MappingButton bold/italic text indication. 2025-01-20 17:55:10 -06:00
Jordan Woyak d8cf835f07 MappingWidget: Fix shadowed variable warning. 2025-01-20 17:55:10 -06:00
Jordan Woyak d19304dc15 MappingIndicator: Add graphical indicators on the left of MappingButton
that don't have a large indicator.
2025-01-20 17:55:10 -06:00
Tilka 510a688a2a Merge pull request #13279 from jordan-woyak/delimited-token
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-20 23:14:22 +00:00
Pokechu22 761e65ed26 Merge pull request #13275 from Pokechu22/d3d12-custom-root-param-index
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-20 14:53:40 -08:00
JosJuice a9a720faa7 Merge pull request #13204 from LillyJadeKatrin/retroachievements-allow-batch
Gecko/AR Batch Approval
2025-01-20 23:35:17 +01:00
Jordan Woyak 4f912000cd Merge pull request #13289 from iwubcode/small_vector_clear
Common: add 'clear' function to SmallVector
2025-01-20 15:50:16 -06:00
iwubcode 75425ced05 Common: add 'clear' function to SmallVector 2025-01-20 15:13:56 -06:00
iwubcode 25c805be99 Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16; imgui changed types for ImTextureId, which was addressed by using an implicit cast 2025-01-20 14:47:14 -06:00
iwubcode ee906ae6e8 VideoCommon: add formatter for AbstractTextureType 2025-01-20 14:24:54 -06:00
OatmealDome 7ba56bc738 Merge pull request #13269 from OatmealDome/memarena-darwin
MemArena: Add Darwin implementation
2025-01-20 14:11:37 -05:00
Joshua Vandaële a3b06b0572 Enforce XCB within code 2025-01-20 11:57:21 +01:00
TryTwo 0b8301ff97 MemoryViewWidget: Add auto update toggle. 2025-01-19 23:24:59 -07:00
TryTwo 7b19192134 MemoryViewWidget: Color recently changed memory when auto updating. 2025-01-19 23:24:08 -07:00
TryTwo 6d8f40c245 MemoryViewWidget: Reduce amount of unnecessary update calls. 2025-01-19 23:19:40 -07:00
TryTwo 32e135e6a9 MemoryViewWidget: Add OnFrameEnd callback to auto-update memory while a game is running. 2025-01-19 23:18:38 -07:00
LillyJadeKatrin cbe44efe5f Gecko/AR Batch Approval
Adding a community-requested list of Gecko and Action Replay codes to the allowlist. Many of these codes were from the wiki and are being added to Dolphin's repo for the first time.
2025-01-19 22:20:31 -05:00
Jordan Woyak 78bb30d44c InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter. 2025-01-19 17:20:07 -06:00
Admiral H. Curtiss 90eba2b1a0 Merge pull request #13273 from JoshuaVandaele/master
Fix build with minizip-ng>=4.0.8
2025-01-19 23:59:14 +01:00
Admiral H. Curtiss d87ee2daa5 Merge pull request #13281 from jordan-woyak/iowindow-signal-proper-fix
DolphinQt: Fix QObject::connect: signal not found in IOWindow error.
2025-01-19 23:52:58 +01:00
JosJuice 015c2e7709 Translation resources sync with Transifex 2025-01-19 13:34:44 +01:00
JosJuice af87d60b6c Merge pull request #13266 from JosJuice/jitarm64-cr-bits-1-to-31
JitArm64: Fix creqv/crorc setting eq bit
2025-01-19 13:00:30 +01:00
JosJuice dabb4350bd Merge pull request #13282 from jordan-woyak/onion-tweaks
Core/Config: Replace some std::pair with struct to make code more readable.
2025-01-19 12:20:48 +01:00
Joshua Vandaële fa442dc90b Fix build with minizip-ng 4.0.8 2025-01-19 10:30:41 +01:00
JMC47 8e9596e221 Merge pull request #13259 from TryTwo/PR_Config_signals
Qt: Fix some options not changing enabled status on game start.
2025-01-18 18:11:04 -05:00
Dentomologist fb3a727fcc WiiTASInputWindow: Update controls when attachment changes
Change the displayed controls in the TAS Input window when the
controller's extension (including MotionPlus) is changed.

This previously required restarting Dolphin after the attachment was
changed, as the controls were never updated after the WiiTASInputWindow
was created at Dolphin startup.
2025-01-18 14:15:20 -08:00
Jordan Woyak 28ce81f09b Core/Config: Use structured bindings for cleaner std::map/pair usage. 2025-01-17 22:21:39 -06:00
Jordan Woyak b44aaf8a86 Core/Config: Replace some std::pair with struct to make code more readable. 2025-01-17 22:06:02 -06:00
JMC47 ce508ba434 Merge pull request #13248 from Nystrata/metroid-prime-suggestedaspectratio
Force Metroid Prime GCN and Metroid Prime 2 GCN to be 4:3
2025-01-17 22:16:57 -05:00
Jordan Woyak 205a85b991 DolphinQt: Fix QObject::connect: signal not found in IOWindow error. 2025-01-17 20:17:01 -06:00
OatmealDome 795e78685f Merge pull request #13187 from OatmealDome/flatpak-appinfo
Flatpak: Use ScmRevGen to generate metainfo XML
2025-01-17 17:47:10 -05:00
JMC47 f65465b96c Merge pull request #13250 from Charlese2/fix-sound-system-crash
GameINI: fix `Summoner: Goddess Reborn` sound system crash during transitions
2025-01-17 16:42:21 -05:00
Jordan Woyak e91b83d166 DolphinQt: Make input expression syntax highlighting less hacky. 2025-01-17 02:44:31 -06:00
Jordan Woyak a618854413 ExpressionParser: Remove RemoveInertTokens. 2025-01-17 02:31:33 -06:00
Jordan Woyak c94ec85460 InputCommon: Make input expression multiline-comment tokenizing less hacky. 2025-01-17 02:29:23 -06:00
Admiral H. Curtiss 2c83a256ae Merge pull request #13277 from jordan-woyak/iowindow-debug-assert-fix
DolphinQt: Fix ASSERT failure in IOWindow in debug build.
2025-01-16 10:04:55 +01:00
Jordan Woyak c3f66e83e6 DolphinQt: Fix ASSERT failure in IOWindow in debug build. 2025-01-15 16:39:45 -06:00
JosJuice 85cd0ca51b JitArm64: Optimize creqv setting eq/gt bit
For the eq and gt bits specifically, setting negate_result is one
instruction shorter than not setting it.
2025-01-15 21:22:31 +01:00
OatmealDome c344514ba2 Merge pull request #13270 from OatmealDome/vk-metal-layer
Vulkan: Only attempt to create a CAMetalLayer on macOS
2025-01-15 15:08:03 -05:00
JosJuice aa9696e1c1 JitArm64: creqv/crorc setting eq bit
When I wrote 71e9766519, there was an interaction I didn't take into
account: When setting eq, SetCRFieldBit assumes that all bits in the
passed-in host register except the least significant bit are 0. But if
we use EON or ORN, all bits except the least significant bit get set to
1. This can cause eq to end up unset when it should be set.

This commit fixes the issue.

crandc is unaffected by the issue because the "1" bits get ANDed with
"0" bits from the first operand.

Note that in practice, we never have both bits_1_to_31_are_set and
negate at once, so while it looks like this commit adds an extra AND
instruction in some cases, those cases don't happen in practice, meaning
this fix shouldn't affect performance.
2025-01-15 18:35:05 +01:00
Pokechu22 64514bd8d4 D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled 2025-01-14 22:30:31 -08:00
Admiral H. Curtiss 3ea870ef8c Merge pull request #13244 from dreamsyntax/bugfix-double-osd-texture-messages
Core/VideoCommon: Fix duplicate OSD Custom Textures messages
2025-01-12 16:16:09 +01:00
Admiral H. Curtiss ede963d4db Merge pull request #13272 from dreamsyntax/ppc-crlf
PPCSymbolDB: Fix loading maps with CRLF endings
2025-01-12 14:26:27 +01:00
Admiral H. Curtiss b0e5ebc80d Merge pull request #13247 from sepalani/debug-map-ranges
PPCSymbolDB: Refactor SymbolMap Save/Load
2025-01-12 14:26:04 +01:00
JosJuice da0a0c87c2 Merge pull request #13274 from dpeukert/master
Clean up CRLF line endings
2025-01-12 14:11:50 +01:00
Daniel Peukert f28e134c88 Clean up CRLF line endings 2025-01-12 11:06:04 +01:00
dreamsyntax b9a2d89035 PPCSymbolDB: Fix loading maps with CRLF endings
Symbol maps ending in CRLF were not properly loading on non-windows
systems.
2025-01-10 14:37:58 -07:00
Admiral H. Curtiss 93fc5c02ac Merge pull request #13179 from TellowKrinkle/ForceSystemLib
CMake: Optional system library fixes
2025-01-10 04:56:08 +01:00
Admiral H. Curtiss 98a80239f1 Merge pull request #13030 from JosJuice/android-wait-for-surface-in-run
Android: Wait for surface in Run
2025-01-10 04:50:34 +01:00
Admiral H. Curtiss 75abda6a3a Merge pull request #12864 from JosJuice/android-window-compat
Android: Replace deprecated setSystemUiVisibility
2025-01-10 04:45:11 +01:00
Admiral H. Curtiss d10cb9dfc4 Merge pull request #13238 from JosJuice/jitarm64-rlwinmx-imm-mask
JitArm64: Handle rlwinmx with zero mask
2025-01-10 04:44:22 +01:00
Tilka e24e107b3c Merge pull request #13265 from Sintendo/warnings
Fix several minor warnings
2025-01-08 21:44:24 +00:00
Tilka ffa312f8e8 Merge pull request #13158 from jordan-woyak/wiiu-rename
DolphinQt: Rename "GameCube Adapter for Wii U".
2025-01-08 21:39:08 +00:00
Admiral H. Curtiss 0e5d7d0f2d Merge pull request #13268 from AdmiralCurtiss/ini-delete-case-sensitive
Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
2025-01-08 21:42:32 +01:00
TryTwo 3edb5accca MemoryViewWidget: Refactor updates using a dispatch function. Isolate memory reads from table updates.
Preparations for auto update while a game is running.
2025-01-08 13:40:46 -07:00
OatmealDome 2633b84b98 Vulkan: Only attempt to create a CAMetalLayer on macOS 2025-01-08 13:51:53 -05:00
OatmealDome d5dbb0b285 MemArena: Add Darwin implementation 2025-01-08 12:46:31 -05:00
Admiral H. Curtiss 8f9e3ffd83 Merge pull request #13228 from OatmealDome/fix-curl-2
curl: Update to 8.11.1 and use CMake to configure
2025-01-08 18:14:10 +01:00
Admiral H. Curtiss 22dc21cca4 Merge pull request #13262 from Ferdi265/feature/fix-fmt11
Fix compiling with libfmt>=11.0
2025-01-08 18:12:19 +01:00
Admiral H. Curtiss c567248b73 Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
values uses a case insensitive comparison, so erasing the equivalent key in keys_order also must do so.
2025-01-08 05:30:39 +01:00
Admiral H. Curtiss 7133bfbb0e Merge pull request #13180 from jordan-woyak/eof-logic
Core/VideoCommon: Fix some weird (!eof) logic.
2025-01-08 05:27:42 +01:00
OatmealDome d525776ae6 GeckoCodeConfig: Remove HTTPS workaround for Android 2025-01-07 23:02:13 -05:00
OatmealDome 4dc368d8df WiiUtils: Remove HTTPS workaround for Android 2025-01-07 23:02:13 -05:00
OatmealDome 0b7f399436 curl: Set CA path on Android to the system-provided store 2025-01-07 23:02:13 -05:00
OatmealDome b5918effeb curl: Update to 8.11.1 and use CMake to configure 2025-01-07 23:02:10 -05:00
TryTwo 2e006d9787 MemoryViewWidget: Refactor. Remove OnItemChanged signal and QSignalBlocker - replace with a signal that is only sent at the correct time. 2025-01-07 15:57:53 -07:00
OatmealDome 696b363f47 Merge pull request #13162 from jordan-woyak/non-blocking-input-detection
DolphinQt/InputCommon: Make input mapping and output testing non-blocking.
2025-01-07 16:55:55 -05:00
OatmealDome 5578160880 Flatpak: Include link to the manifest within the metainfo for Flathub 2025-01-07 15:35:21 -05:00
TryTwo 5395f21ae5 Qt, Config controls system: Remove signal block so signals can refresh the enabled status of certain options when a new config is loaded (such as on starting a game). Blocks previously unwanted behavior with a new safety check.
QCheckBox::toggled and other similar signals are used to save changes and to update widget status (such as enabled).. OnConfigChanged needs to load new values and trigger widget updates, but the new value shouldn't trigger a save. A save is unnecessary (the config has the correct values and the UI is being updated to those values) and it'd trigger another ConfigChanged signal.   This commit blocks the save without blocking the signal entirely.
2025-01-07 03:02:39 -07:00
OatmealDome 4fc259710f Flatpak: Use ScmRevGen to generate metainfo XML 2025-01-07 02:35:14 -05:00
OatmealDome 89016834cf Flatpak: Don't do an in-tree build 2025-01-07 02:34:45 -05:00
Sintendo 24f2981e54 JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
The computed value is only used when the register is equal to zero, so
we can fully precompute it and materialize the constant instead. In
other words, we change from

```
return reg == 0 ? (reg | 1ULL << 63) : reg;
```

to

```
return reg == 0 ? 1ULL << 63 : reg;
```

The number of instructions remains the same, but we eliminate an
unnecessary dependency on the register value.

Before:
0xb241037a   orr    x26, x27, #0x8000000000000000
0xeb1f037f   cmp    x27, xzr
0x9a9a137b   csel   x27, x27, x26, ne

After:
0xd2f0001a   mov    x26, #-0x8000000000000000 ; =-9223372036854775808
0xeb1f037f   cmp    x27, xzr
0x9a9a137b   csel   x27, x27, x26, ne
2025-01-06 12:09:12 +01:00
Sintendo 532e25be12 Fix several minor warnings 2025-01-06 11:31:39 +01:00
JosJuice b35f7af355 Merge pull request #13257 from CasualPokePlayer/dtm_country_code
Add SYSCONF country code to DTM
2025-01-06 10:39:53 +01:00
JosJuice eec2e2f07a Merge pull request #13251 from Sintendo/carry-opts
JitArm64_Integer: Carry flag optimizations
2025-01-06 10:39:43 +01:00
JosJuice 43d5f61a60 Merge pull request #13149 from Sintendo/dcbx-msub
JitArm64_LoadStore: Small dcbx optimization
2025-01-06 09:29:08 +01:00
OatmealDome 8d9ec2fde9 Merge pull request #13210 from OatmealDome/fix-scmrevgen
ScmRevGen: Don't generate Info.plist files directly
2025-01-06 01:18:20 -05:00
JMC47 6b686be5f1 Merge pull request #13233 from TryTwo/PR_Codec
AdvancedWidget: Replace FFV1 codec with Ut Video
2025-01-04 22:26:36 -05:00
Ferdi265 b79bdb13c0 Common: Fix compile failure with fmt>=11 2025-01-04 19:13:05 +01:00
Ferdi265 825092ad33 BBA/HLE: Fix incorrect fmt format string 2025-01-04 18:45:32 +01:00
Sepalani bbf835b30b PPCSymbolDB: Check SplitString result 2025-01-04 17:02:13 +04:00
Sepalani 77e77863dc PPCSymbolDB: Add alignment detection heuristic
Update parse_entry_of in accordance to the sscanf change
2025-01-04 15:32:52 +04:00
Sepalani 5778cb42db PPCSymbolDB: Deduplicate parsing of the 'entry of' string 2025-01-04 15:32:52 +04:00
Sepalani 5c151c11ac PPCSymbolDB: Use ranges in SaveSymbolMap 2025-01-04 15:32:52 +04:00
Jordan Woyak 3b85653003 NetPlay: Implement GetInterfaceListInternal for Windows. 2025-01-04 00:29:34 -06:00
JMC47 9b3b6bea9d Merge pull request #12801 from JosJuice/jitarm64-crxxx-opt
JitArm64: Optimize crXXX
2025-01-03 16:32:49 -05:00
Jordan Woyak f12846a0e9 DolphinQt: Make input mapping and output testing non-blocking. 2025-01-01 16:48:32 -06:00
Jordan Woyak bc95c001c8 InputCommon: Move input mapping function into a class for non-blocking usage. 2025-01-01 16:48:32 -06:00
JMC47 f15a78ed38 Merge pull request #13094 from mitaclaw/ranges-modernization-5-contains
Ranges Algorithms Modernization - Contains
2025-01-01 14:42:44 -05:00
mitaclaw 527841f1df Simplify std::search with Common::ContainsSubrange 2025-01-01 09:52:03 -08:00
mitaclaw d92c68e1de Simplify std::find_if with Common::Contains 2025-01-01 09:52:03 -08:00
mitaclaw 110d32729e Simplify std::find with Common::Contains
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2025-01-01 09:52:03 -08:00
mitaclaw 6f10acea3f Common: Create "Contains.h" Algorithm Header
The new `Common::Contains` and `Common::ContainsSubrange` function objects mirror C++23's `std::ranges::contains` and `std::ranges::contains_subrange`, respectively.
2025-01-01 09:52:01 -08:00
Admiral H. Curtiss b8921b1338 Merge pull request #13237 from AdmiralCurtiss/slider-mappings
DolphinQt/HacksWidget: Convert accuracy slider to ConfigSlider
2024-12-31 15:22:04 +01:00
Admiral H. Curtiss c1c80adf1a Merge pull request #13235 from Gamer64ytb/vsync-fix
Android: Fix VSync option not working
2024-12-31 15:20:49 +01:00
Jordan Woyak 0938fca6e3 Core/VideoCommon: Fix some weird (!eof) logic. 2024-12-30 20:13:59 -06:00
TryTwo 3d248d000f Frame Dumping: Change lossless codec from FFV1 to Ut Video.
Ut Video is faster and more compatible with editing programs, but produces larger files.
2024-12-30 14:07:43 -07:00
CasualPokePlayer c1698c93e2 Add SYSCONF country code to DTM
Recently there was some issues in TASVideos trying to sync a Donkey Kong Country Returns TAS. It eventually was synced by directly using the config from the TAS author. The exact setting which caused the desync was narrowed down to being in SYSCONF, with the country code. The TAS author lives in the US, so the country code matched the US country code, while the person attempting to sync the TAS did not live in the US.

Adding SYSCONF country code to the DTM should avoid this being an issue for future Dolphin versions.
2024-12-30 07:50:22 -08:00
Sintendo d81bfe94eb JitArm64_Integer: addzex - Optimize InHostCarry case for 0
Before:
0x5280000d   mov    w13, #0x0                 ; =0
0x1a1f01ae   adc    w14, w13, wzr

After:
0x1a9f37ee   cset   w14, hs
2024-12-29 12:21:34 +01:00
Sintendo c817b4779d JitArm64_Integer: addzex - Optimize InPPCState case for 0
Before:
0x52800019   mov    w25, #0x0                 ; =0
0x394bd3b8   ldrb   w24, [x29, #0x2f4]
0x2b180339   adds   w25, w25, w24

After:
0x394bd3b9   ldrb   w25, [x29, #0x2f4]
2024-12-28 23:20:22 +01:00
Sintendo 14641b06fc JitArm64_Integer: addzex - Optimize ConstantFalse and ConstantTrue
When the input register and carry flags are known, we can always
precompute the result.

We still materialize the immediate when the condition register
needs to be updated, but this seems to be a general problem. I might
look into that one day, but for now this'll do.

- ConstantFalse
Before:
0x52800119   mov    w25, #0x8                 ; =8
0x2a1903fa   mov    w26, w25

After:
N/A

- ConstantTrue
Before:
0x52800119   mov    w25, #0x8                 ; =8
0x1100073a   add    w26, w25, #0x1

After:
N/A
2024-12-28 23:07:38 +01:00
Sintendo a4ba13b4c9 JitArm64_Integer: addex - Optimize InHostCarry for -1
Same thing we did for subfex.

Before:
0x1280001a   mov    w26, #-0x1                ; =-1
0x1a1f035a   adc    w26, w26, wzr

After:
0x5a9f23fa   csetm  w26, lo
2024-12-28 22:12:50 +01:00
Sintendo d2bfa157dc JitArm64_Integer: addex - Optimize InHostCarry for 0
Similar to what we did for subfex, but for 0.

Before:
0x5280001b   mov    w27, #0x0                 ; =0
0x1a1f037b   adc    w27, w27, wzr

After:
0x1a9f37fb   cset   w27, hs
2024-12-28 21:55:57 +01:00
Sintendo ad7dba5413 JitArm64_Integer: addex - Optimize InPPCState case for 0
Same optimization we did for subfex. Skip loading the carry flag into a
temporary register first when we're dealing with zero.

Before:
0x394bd3b8   ldrb   w24, [x29, #0x2f4]
0x2a1803f9   mov    w25, w24

After:
0x394bd3b9   ldrb   w25, [x29, #0x2f4]
2024-12-28 21:41:51 +01:00
Sintendo 7410bc2025 JitArm64_Integer: subfzex - Constant folding
When both the input register and the carry flag are constants, the
result can be precomputed.

Before:
0x52800016   mov    w22, #0x0                 ; =0
0x2a3603f6   mvn    w22, w22

After:
2024-12-28 20:58:24 +01:00
Sintendo fa13457abb JitArm64_Integer: subfex - Optimize InHostCarry case for -1
The result is either -1 or 0 depending on the state of the carry flag.
This can be done with a csetm instruction.

Before:
0x1280001a   mov    w26, #-0x1                ; =-1
0x1a1f035a   adc    w26, w26, wzr

After:
0x5a9f23fa   csetm  w26, lo
2024-12-28 20:18:14 +01:00
Sintendo 18dd3f69f1 JitArm64_Integer: subfex - Optimize InPPCState case for 0
When the immediate is zero, we can load the carry flag from memory
directly to the destination register.

Before:
0x394bd3b8   ldrb   w24, [x29, #0x2f4]
0x2a1803f9   mov    w25, w24

After:
0x394bd3b9   ldrb   w25, [x29, #0x2f4]
2024-12-28 18:15:48 +01:00
Sintendo e54bfd6605 JitArm64_Integer: Refactor subfex 2024-12-28 18:12:13 +01:00
Sintendo 5cc9bde1c1 JitBase: Improve const-correctness 2024-12-28 16:44:58 +01:00
Sintendo 50d991780f JitBase: Add HasConstantCarry helper 2024-12-28 16:44:52 +01:00
Nystrata f6f01f2002 Force Metroid Prime GCN and Metroid Prime 2 GCN to be 4:3
To my knowledge, all of the GameCube versions of *Metroid Prime* and *Metroid Prime 2: [Dark] Echoes* only support 4:3, not 16:9 .
Currently, Dolphin's widescreen heuristic will fail to detect this and will erratically switch between 4:3 and 16:9 when Aspect Ratio is set to Auto.
These changes prevent the erratic aspect ratio switching by manually declaring that the game is solely 4:3.
2024-12-28 05:46:38 -08:00
dreamsyntax 07f712f8a0 Core/VideoCommon: Fix duplicate OSD Custom Textures messages
Resolves duplicate OSD messages for Loading and Found custom textures.
VideoBackend initialization results in HiresTexture::Init being called.
We already call HiresTexture::Update when OnNewTitleLoad is called.
Thus we can remove HiresTextures::Init completely as it is redundant.
2024-12-28 01:09:50 -07:00
Charlese2 635f588690 fix Summoner: Goddess Reborn sound system crash during transitions 2024-12-27 18:33:54 -07:00
Tilka 05cad38abc Merge pull request #13243 from nlebeck/stringutil-tests
Add some unit test coverage of the `SplitPath` function
2024-12-27 18:10:47 +01:00
Admiral H. Curtiss 4fc50226c6 DolphinQt/HacksWidget: Convert accuracy slider to ConfigSlider 2024-12-27 05:40:24 +01:00
Admiral H. Curtiss 98ee3836e5 DolphinQt: Add option for value mappings to ConfigSlider 2024-12-27 05:40:13 +01:00
JMC47 532a8621da Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-of
Ranges Algorithms Modernization - Of
2024-12-26 16:51:53 -05:00
Niel Lebeck bae4616dd1 Add some unit test coverage of the SplitPath function 2024-12-26 11:42:01 -08:00
JosJuice 48a7afa448 JitArm64: Use AArch64 imm masks in rlwimix slow case
All valid PPC imm masks (except for all zeroes and all ones) are also
valid AArch64 imm masks. This lets us optimize things a little.

Note that because I'm now ANDing rS before rotating it, its AND mask
is rotated left. All AArch64 imm masks can be rotated by any amount and
still be valid AArch64 imm masks.
2024-12-25 16:12:21 +01:00
JosJuice 6384ea97f1 JitArm64: Handle rlwinmx with zero mask
No games seem to use this, so this isn't useful as a performance
optimization, but it's required for correctness because the (sh == 0)
case of our implementation doesn't handle zero masks.
2024-12-25 15:15:24 +01:00
Gamer64 764bf314e1 Android: Fix VSync option not working
It happened due to a typo from SECTION_GFX_HARDWARE
2024-12-24 10:41:45 +01:00
JMC47 f9ce2b9d76 Merge pull request #13232 from TryTwo/PR_hotfix
Qt crash hotfix
2024-12-23 18:04:51 -05:00
TryTwo 27ac5fa777 Qt crash fix. Don't store Config::Info variable as a reference. 2024-12-23 15:40:07 -07:00
JMC47 c528a70e64 Merge pull request #13211 from Sintendo/blendvpd
Jit_FloatingPoint: fselx - Prefer BLENDVPD over VBLENDVPD
2024-12-22 18:35:11 -05:00
JMC47 a1d6aa7d3e Merge pull request #13212 from JosJuice/jitarm64-ps-sel-same-reg
JitArm64: Optimize ps_sel with d == b || d == c
2024-12-22 18:34:32 -05:00
JosJuice 5641b83d4e Merge pull request #13063 from TryTwo/PR_GameSettings
Add ability to edit game-specific GFX settings from game properties tab.
2024-12-22 20:42:28 +01:00
Admiral H. Curtiss bb8c0a795f Merge pull request #13214 from JosJuice/sethardcoremode-private
AchievementManager: Make SetHardcoreMode private
2024-12-22 20:09:29 +01:00
JMC47 1ba8541da9 Merge pull request #13091 from mitaclaw/ranges-modernization-2-returns
Ranges Algorithms Modernization - Return
2024-12-20 12:50:19 -05:00
JMC47 ac0d6cbaaa Merge pull request #13224 from Sintendo/jitarm64-subfic2
JitArm64_Integer: Optimize subfic for -1
2024-12-18 12:07:23 -05:00
OatmealDome 01f6810a9d Merge pull request #13207 from OatmealDome/vulkan-hdr-color-space
VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
2024-12-16 17:29:19 -05:00
mitaclaw 2b0cd16c8c Modernize std::none_of with ranges
In JitRegCache.cpp, the lambda predicate were replaced by a pointer to member function because ranges algorithms are able to invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.

In BoundingBox.cpp, the lambda predicate was returning the bool element unchanged, so `std::identity` was a better fit.
2024-12-15 19:54:17 -08:00
mitaclaw 140252ffc0 Modernize std::any_of with ranges
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-15 19:54:16 -08:00
mitaclaw 860e6cf5cb Modernize std::all_of with ranges
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-12-15 19:50:34 -08:00
mitaclaw 826e2bbf98 StringUtil: More Wrappers For <cctype>
`Common::IsLower(char)` was omitted as nothing needed it.
2024-12-15 19:50:34 -08:00
Jordan Woyak b4a1967310 Merge pull request #13226 from JosJuice/achievementmanager-forward-declarations
AchievementManager: Add required forward declarations
2024-12-15 14:02:56 -06:00
JosJuice ad24ddb6bb VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs 2024-12-15 18:15:57 +01:00
JosJuice 84ab15e020 AchievementManager: Add required forward declarations
This was causing compilation errors when building without
USE_RETRO_ACHIEVEMENTS.
2024-12-15 18:00:14 +01:00
Sintendo d81213c4a5 JitArm64_Integer: Optimize subfic for -1
Another one backported from x86. Not sure why I didn't do this in #12891
already.

- Without carry
Before:
0x2a3a03fb   mvn    w27, w26
0x6b1a037b   subs   w27, w27, w26

After:
0x1280001b   mov    w27, #-0x1                ; =-1

- With carry
Before:
0x2a3b03f7   mvn    w23, w27
0x6b1b02f7   subs   w23, w23, w27
0x1a9f37f6   cset   w22, hs
0x390bd3b6   strb   w22, [x29, #0x2f4]

After:
0x12800017   mov    w23, #-0x1                ; =-1
2024-12-15 02:24:30 +01:00
mitaclaw 97e2a43eac Branch Watch Tool: Refresh Context Menus OnEmulationStateChanged 2024-12-14 14:47:47 -08:00
JosJuice ada646a795 Merge pull request #12682 from JosJuice/jit-fallback-discard-assert
Jit: Skip discarded registers when flushing for interpreter fallback
2024-12-12 23:48:37 +01:00
TryTwo 9541bb6cf7 Add method to bold slider/spin labels when a user game ini setting is being used 2024-12-10 13:42:30 -07:00
TryTwo ac129d318b EnhancementsWidget:: Move to using ConfigControls and add new control for ComboBoxes that set two settings at once. 2024-12-10 13:42:17 -07:00
TryTwo 84a937ae65 Add GFX property tabs to game properties window, allowing them to be set to the user game ini. Additionally, refactor ConfigWidgets to reduce duplication. Refactor GameConfigWidget to use config system.
Creates a layer outside the game config layer system and passes it to the created gfx widows, so as to not interfere with the global config system.

Supports multiple game properties being open at once.
Supports editing while a game is playing, but the options only save and update the active game when the window is closed.
Right-clicking will remove a property from the game ini.
2024-12-10 13:40:30 -07:00
JMC47 6ea8edd531 Merge pull request #13209 from jordan-woyak/sdl-touchpad
InputCommon/SDL: Add touchpad inputs.
2024-12-10 12:52:43 -05:00
LillyJadeKatrin 81fd763601 Add ReadVerified testing to PatchAllowlistTest
New code adds a test failure if there's a Patches/Gecko/AR_Retroachievements_Verified code that doesn't appear to actually exist in the file. This will catch if the allowed patch is formatted wrong, which I found happening several times already due to not realizing that the patch author's name would need to be omitted.
2024-12-10 00:15:13 -05:00
JMC47 394db8b798 Merge pull request #13215 from Tilka/efb_access
GameSettings: set EFBAccessEnable=True for Neighbours from Hell
2024-12-09 14:23:45 -05:00
Tillmann Karras 445fe2248c GameSettings: set EFBAccessEnable=True for Neighbours from Hell
This fixes the loading screens that show a walking animation.
2024-12-08 11:29:15 +00:00
JosJuice 687fe65709 Merge pull request #13166 from Sintendo/stX-opt
JitArm64_LoadStore: Optimize zero stores in stX
2024-12-08 11:06:33 +01:00
OatmealDome 57b1234feb Merge pull request #13113 from CelestialAmber/mwld-map
Core: Store object name separately for symbols
2024-12-07 17:13:13 -05:00
JosJuice 7a31c8f10b AchievementManager: Make SetHardcoreMode private
This is an implementation detail that doesn't need to be exposed.
2024-12-07 19:29:53 +01:00
JosJuice 0c46205ba7 Core: Remove redundant lock for FilterApprovedPatches call
This was necessary before we added locking inside FilterApprovedPatches,
but not anymore.
2024-12-07 19:06:23 +01:00
TryTwo 08df9a66e0 DolphinQt: Refactor, add ConfigControl class
This reduces code duplication in the different ConfigControls. This is
helpful for the next commit, which will modify the now deduplicated
code.
2024-12-07 16:31:34 +01:00
JosJuice e3bfff5cb6 JitArm64: Optimize ps_sel with d == b || d == c 2024-12-07 12:20:24 +01:00
Sintendo 065165f749 Jit_FloatingPoint: Prefer BLENDVPD over VBLENDVPD
Prefer BLENDVPD over VBLENDVPD if the latter doesn't save any
instructions.

VBLENDVPD allows separate source and destination registers, which can
eliminate a MOVAPD/MOVSD. However, on Intel since Skylake, VBLENDVPD
takes additional uops to execute compared to BLENDVPD (according to
https://uops.info). On AMD and older Intel microarchitectures there is no
difference.
2024-12-07 11:22:28 +01:00
JosJuice 0a84d93a8e Merge pull request #13196 from jordan-woyak/expanding-numeric-settings
DolphinQt: Make mapping window spinboxes horizontally expanding.
2024-12-07 11:14:55 +01:00
OatmealDome a5d1172d97 Merge pull request #13186 from OatmealDome/flatpak-gitignore
gitignore: Ignore flatpak-builder's cache directory
2024-12-05 15:10:18 -05:00
OatmealDome e05b033dd2 ScmRevGen: Don't generate Info.plist files directly
Some generators (like Unix Makefiles and Xcode) copy an app's Info.plist at configure time.
This causes a problem when we need to generate the Info.plist at build time, like how we
currently do it with ScmRevGen. Instead of generating the Info.plist directly in ScmRevGen,
provide an Info.plist without any version information to CMake at configure time, have
ScmRevGen generate a separate plist file with the version information at build time, and
then merge the two together to create the final Info.plist.
2024-12-05 14:56:08 -05:00
JosJuice c6b0629275 Merge pull request #13200 from Dentomologist/irwidget_move_header_constants_into_class
IRWidget: Move header constants into class
2024-12-05 18:53:17 +01:00
OatmealDome 3c27c38e71 DolphinQt: Use TARGET_BUNDLE_DIR generator expression instead of specifying the bundle path ourselves 2024-12-04 22:53:39 -05:00
Jordan Woyak ad1511982a InputCommon/SDL: Add touchpad inputs. 2024-12-04 21:08:18 -06:00
JMC47 8c3b9c9cf6 Merge pull request #13174 from jordan-woyak/sdl-battery
ControllerInterface/SDL: Add Battery Input.
2024-12-04 21:46:07 -05:00
JMC47 38675eab9b Merge pull request #13206 from mbc07/gameini/eternal-darkness-dualcore
GameINI: drop Single Core override from Eternal Darkness
2024-12-04 21:45:41 -05:00
OatmealDome e6f335bfcf VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2024-12-03 20:49:50 -05:00
Mateus B. Cassiano 7e4b1780e1 GameINI: drop Single Core override from Eternal Darkness 2024-12-03 16:48:54 -04:00
JMC47 26ba8f5481 Merge pull request #13197 from jordan-woyak/vrr-mapping-indicators
DolphinQt: Update mapping indicators at screen refresh rate.
2024-12-03 12:51:18 -05:00
JMC47 cf29214c03 Merge pull request #12955 from LillyJadeKatrin/retroachievements-gecko
Add Support for Gecko Codes to Achievements Whitelist
2024-12-02 14:18:53 -05:00
OatmealDome c10809a7ff Merge branch 'release-prep-2412' 2024-12-01 20:50:13 -05:00
OatmealDome 992b4ea930 ScmRevGen: Bump major version to 2412 2024-12-01 18:00:52 -05:00
OatmealDome 93c9424d09 Merge pull request #13203 from JosJuice/android-gcadapter-reset
Android/GCAdapter: Don't join current thread
2024-12-01 16:33:06 -05:00
JosJuice 74ed5e5532 Android/GCAdapter: Don't join current thread
The read thread could call Reset, which in turn tried to join the read
thread, leading to a SIGABRT. This manifested as Dolphin consistently
crashing when disconnecting a GC adapter and having a chance of crashing
a few seconds after connecting a GC adapter.
2024-12-01 12:59:25 +01:00
JosJuice a68ae37df7 Translation resources sync with Transifex 2024-11-30 20:47:19 +01:00
LillyJadeKatrin 51435b6ef8 Approve Super Mario Sunshine Widescreen Gecko Code 2024-11-29 21:56:45 -05:00
LillyJadeKatrin 81098433c8 Add Gecko and AR codes to the Patch Allowlist Test 2024-11-29 21:56:44 -05:00
Pokechu22 3b34063611 Merge pull request #13202 from Pokechu22/cabelas-dangerous-hunts-2011-safe-texture-cache
GameINI: Use Safe Texture Cache for Cabela's Dangerous Hunts 2011
2024-11-29 13:03:36 -08:00
Pokechu22 6462e794c8 GameINI: Use Safe Texture Cache for Cabela's Dangerous Hunts 2011
This fixes text on the menu and in-game.
2024-11-29 12:09:30 -08:00
LillyJadeKatrin 8447ce99f4 Scale back hardcore code block
Now that patches and codes are enabled on a case by case basis, remove patcher code blocking codes entirely in hardcore mode, and reword the warning to be more accurate.
2024-11-27 21:21:26 -05:00
LillyJadeKatrin 3c255b55e8 Add AR Code Whitelist Approval 2024-11-27 21:21:26 -05:00
LillyJadeKatrin 13a1956cfa Add Gecko Code Whitelist Approval 2024-11-27 21:21:25 -05:00
LillyJadeKatrin 78f3448e27 Convert FilterApprovedPatches to Template 2024-11-27 21:21:25 -05:00
Dentomologist a9b1c1f5f8 IRWidget: Move header constants into class
This apparently didn't compile on macOS six years ago before c++20, but
it should be fine by now.

While I'm at it, make the constants upper case per convention.
2024-11-26 13:50:13 -08:00
Jordan Woyak e7a8e2fca1 DolphinQt: Update mapping indicators at screen refresh rate. 2024-11-25 14:58:48 -06:00
Jordan Woyak 26f2e5f022 DolphinQt: Make mapping indicators compatible with a variable update frequency. 2024-11-25 14:43:03 -06:00
OatmealDome cd0b13603d Merge pull request #13191 from dreamsyntax/sdl-patch
Externals: Update SDL to 2.30.9
2024-11-24 21:26:07 -05:00
Jordan Woyak ea93b65d21 DolphinQt: Make mapping window spinboxes horizontally expanding. 2024-11-24 18:59:18 -06:00
JMC47 e0c387416d Merge pull request #13153 from LillyJadeKatrin/retroachievements-netplay-hardcore
Force NetPlay Clients to Host Hardcore Status
2024-11-22 22:01:00 -05:00
OatmealDome 401d6e70f6 Merge pull request #13193 from vaguerant/metaknight
Fix Kirby's Adventure Wii Metafortress bypass patch
2024-11-20 00:52:31 -05:00
vaguerant 82c3a844c4 fix SUKP01 metafortress bypass 2024-11-19 23:24:22 +11:00
JosJuice 0f2c2c7ae0 Merge pull request #13156 from jordan-woyak/sdl-no-wgi
ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling.
2024-11-17 21:51:56 +01:00
dreamsyntax f642cd4658 Externals: Update SDL to 2.30.9 2024-11-16 21:34:30 -07:00
JMC47 050f5dfff6 Merge pull request #13189 from mitaclaw/gdb-stub-signal-breakpoints
GDBStub: Signal Breakpoint Changes To Host
2024-11-16 12:15:28 -05:00
mitaclaw 62d7166e6a GDBStub: Signal Breakpoint Changes To Host 2024-11-15 15:12:11 -08:00
Tilka 7f25e05b31 Merge pull request #13188 from dreamsyntax/titledb-update
Sys: Sync wiitdb files with GameTDB
2024-11-15 00:05:42 +00:00
dreamsyntax 691a1eb94c Sys: Sync wiitdb files with GameTDB 2024-11-14 13:05:38 -07:00
OatmealDome 2c92e5b5b3 Merge pull request #13160 from cpba/flatpak-6.8-runtime
Flatpak: Upgrade kde runtime to 6.8
2024-11-12 00:30:46 -05:00
Amber Brault 1c4bfc35d9 Core: Store object name separately for symbols 2024-11-11 12:36:53 -05:00
OatmealDome 704c75a2f5 gitignore: Ignore flatpak-builder's cache directory 2024-11-11 12:17:53 -05:00
JMC47 80ea68b13c Merge pull request #13183 from Tilka/sync_on_fifo_reset
ProcessorInterface: sync GPU just before PI_FIFO_RESET
2024-11-11 00:38:26 -05:00
Tilka 375a990e41 Merge pull request #13185 from JosJuice/rvz-clarify-padding-none
docs: Clarify wia_except_list_t padding in uncompressed groups
2024-11-10 15:40:08 +00:00
LillyJadeKatrin 9b6555c49c Force NetPlay Clients to Host Hardcore Status
If the host is in hardcore mode, all joining players will be set to hardcore mode; if not, all joining players will be set to softcore. This ensures all players have the same settings and remain synchroized.
2024-11-10 09:40:47 -05:00
JosJuice 1c7d9ad300 docs: Clarify wia_except_list_t padding in uncompressed groups
https://bugs.dolphin-emu.org/issues/13671
2024-11-10 14:52:30 +01:00
LillyJadeKatrin ef71c75458 Add Config Changed Callback for Hardcore Mode 2024-11-10 08:38:00 -05:00
JosJuice d1ef4d5cc1 Translation resources sync with Transifex 2024-11-10 12:24:25 +01:00
Carles Pastor fe96bf4108 Flatpak: Upgrade kde runtime to 6.8
this version bundles SDL2-2.30.6, the temporary measure of building the
vendored version from exports is no longer necessary.
2024-11-10 12:06:06 +01:00
OatmealDome deee3ee410 Merge pull request #13184 from LillyJadeKatrin/retroachievements-forever-dim
Add Approved Patches - Eternal Darkness, Monster Hunter Tri
2024-11-09 00:29:52 -05:00
LillyJadeKatrin 60a0efc69c Add Approved Patches - Eternal Darkness, Monster Hunter Tri
The primary focus of this PR is the Eternal Darkness patch which fixes hanging at startup, which prior to this fix makes Eternal Darkness unplayable in hardcore. The MHTri patch was added as well simply because it could be.
2024-11-08 23:07:06 -05:00
Tillmann Karras fbce737415 ProcessorInterface: sync GPU just before PI_FIFO_RESET
GXAbortFrame() is problematic for Dolphin because it first writes
PI_FIFO_RESET (for which we discard our internal fifo), then disables CP
reads (for which we execute pending commands in the GP fifo in emulated
memory). I don't know whether there is a race condition on hardware, but
there is one for us. Avoid this by also doing a GPU sync here.
2024-11-09 03:29:05 +00:00
Tilka 4b0b9799a9 Merge pull request #13000 from tygyh/Simplify-type-specifiers
Remove redundant elaborated type specifiers
2024-11-08 23:59:08 +00:00
Tilka 97ea64164b Merge pull request #13182 from jordan-woyak/wiimote-speaker-remove-dumping-code
WiimoteEmu: Remove disabled and no-longer-compiling wav dumping code.
2024-11-08 22:53:56 +00:00
Jordan Woyak edb947df4f WiimoteEmu: Remove disabled and no-longer-compiling wav dumping code. 2024-11-08 15:38:05 -06:00
Dr. Dystopia 6d44afc7dd Replace 'reinterpret_cast' with 'static_cast' 2024-11-08 07:26:47 +01:00
Jordan Woyak 5078a63084 InputCommon: Add ternary conditional operator to input expressions. 2024-11-07 08:31:25 -06:00
TellowKrinkle 613c959bda CMake: Pass RESOLVED_USE_SYSTEM_<lib> as a parameter
Because we were setting it with a scope, it wasn't making its way into called functions that would try to inspect it.  Now it does.
2024-11-06 21:47:10 -06:00
TellowKrinkle 432d4a2a06 CMake: Properly abort when requested system lib is missing 2024-11-06 21:30:29 -06:00
JMC47 7e1074b140 Merge pull request #13172 from deReeperJosh/superchargersfix
IOS/USB: Reconnect HIDv4 Devices after shutdown
2024-11-05 15:02:22 -05:00
Jordan Woyak 83ed817ad2 ControllerInterface/SDL: Add Battery Input. 2024-11-04 22:24:42 -06:00
JMC47 29172fab9e Merge pull request #13173 from Tilka/elebits
DSPHLE/AXWii: fix Elebits sound
2024-11-04 22:36:12 -05:00
Tillmann Karras 0488ade1dc DSPHLE/AXWii: fix Elebits sound
Regressed in 37ebb13ece.
2024-11-04 20:47:55 +00:00
Joshua de Reeper 6dbffd1fee IOS/USB: Reconnect HIDv4 Devices after shutdown 2024-11-04 20:12:38 +00:00
Admiral H. Curtiss 59530966f9 Merge pull request #13164 from jordan-woyak/saveable-deduction
Config/IsSettingSaveable: Use class template argument deduction.
2024-11-04 11:05:28 +01:00
Admiral H. Curtiss b8823457c1 Merge pull request #13165 from jordan-woyak/FullAnalogSurface-rename
InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs.
2024-11-04 11:04:50 +01:00
Admiral H. Curtiss 6a59e83bbb Merge pull request #13168 from Dentomologist/generalwidget_recommend_default_video_backend
Generalwidget: Recommend default video backend
2024-11-04 10:57:24 +01:00
Jordan Woyak 346a9e0f97 InputCommon: Move FullAnalogSurface class definition out of header file. 2024-11-03 15:06:50 -06:00
Jordan Woyak 2f1390e9f9 InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs. 2024-11-03 15:06:50 -06:00
Dentomologist 47a86d920f GeneralWidget: Recommend default video backend in tooltip
Recommend the platform's default video backend in the Backend tooltip
instead of always recommending OpenGL.
2024-11-03 12:28:30 -08:00
Dentomologist 7b8610f4ea VideoBackendBase: Clarify function name
Rename GetDefaultBackendName to GetDefaultBackendConfigName to
distinguish it from the display name.
2024-11-03 12:26:57 -08:00
Admiral H. Curtiss 53ede795a2 Merge pull request #13167 from dreamsyntax/dualsense-player-led-disable
InputCommon: Disable Player LED for DualSense Controllers by default
2024-11-03 16:32:20 +01:00
dreamsyntax 2f38a00534 InputCommon: Disable DualSense Player LED 2024-11-02 16:49:36 -07:00
Sintendo a307d9d9b8 JitArm64_LoadStore: Optimize zero stores in stX
The value being stored must be loaded into a register. In the case of an
immediate value, this means it must be materialized. The value is
eventually byteswapped before performing the store.

This can be simplified for the value 0 for two reasons:
- ARM64 has a dedicated zero register, so does not need to be
  materialized.
- Byteswapping zero is still zero, so we can skip this step.

We could skip byteswapping for other values by immediately materializing
the byteswapped value in a register, but the benefits are not so clear
there (if the value needs to be materialized anyway, it is better to do
it up front).

Before:
0x5280001b   mov    w27, #0x0                 ; =0
0xb9404fba   ldr    w26, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020342   add    w2, w26, w2
0x5ac00b61   rev    w1, w27
0xb8226b81   str    w1, [x28, x2]

After:
0xb9404fbb   ldr    w27, [x29, #0x4c]
0x12881862   mov    w2, #-0x40c4              ; =-16580
0x0b020362   add    w2, w27, w2
0xb8226b9f   str    wzr, [x28, x2]
2024-11-02 23:15:22 +01:00
Jordan Woyak 0fd5e86677 Config/IsSettingSaveable: Remove unused includes. 2024-11-02 16:23:49 -05:00
Jordan Woyak 8da7a86b96 Config/IsSettingSaveable: Use class template argument deduction. 2024-11-02 16:22:54 -05:00
Tilka 97931a718f Merge pull request #13151 from mitaclaw/core-global-system-6
MainWindow: Avoid Global System Accessor
2024-11-02 12:04:28 +00:00
Tilka 466e8de62c Merge pull request #13163 from jordan-woyak/pragma-once-oopsie
Add include guard to QtUtils.h
2024-11-02 12:01:27 +00:00
JosJuice 980a726313 JitArm64: Drop GetCRFieldBit's negate parameter
No caller is using it anymore.
2024-11-02 10:51:48 +01:00
JosJuice 71e9766519 JitArm64: Use BIC/EON/ORN in crXXX
This lets us save an instruction in certain scenarios.
2024-11-02 10:51:38 +01:00
JosJuice 9246bcad55 JitArm64: Add negate parameter to SetCRFieldBit
Unlike on x64, inverting EQ or GT in SetCRFieldBit saves us one
instruction. Also unlike on x64, inverting SO or LT in GetCRFieldBit
requires an extra instruction (just like in SetCRFieldBit). Due to this,
replacing an invert in GetCRFieldBit with an invert in SetCRFieldBit
when possible is either equally good or better - never worse.
2024-11-02 10:48:27 +01:00
JosJuice 7fddd39d97 JitArm64: Port some crXXX optimizations from Jit64 2024-11-02 10:24:02 +01:00
JosJuice bbe271eec6 JitArm64: Refactor CR bit manipulation code
This brings JitArm64 more in line with Jit64, and makes the next commit
easier to implement. No functional change.
2024-11-02 10:19:31 +01:00
Jordan Woyak d920064779 Add include guard to QtUtils.h 2024-11-02 01:27:07 -05:00
JMC47 000e8fd83d Merge pull request #13157 from jordan-woyak/sdl-hotplug-fix
ControllerInterface/SDL: Fix device removal event processing.
2024-11-01 18:11:17 -04:00
JosJuice 54b37f6bc4 Translation resources sync with Transifex 2024-11-01 15:00:58 +01:00
JMC47 92608073ef Merge pull request #13159 from jordan-woyak/datetimeedit
DolphinQt: Ensure skylanders QDateTimeEdit shows a four digit year without forcing dd-mm-yyyy format.
2024-10-31 18:37:08 -04:00
Jordan Woyak d361d4ba6e ControllerInterface/SDL: Fix device removal event processing. 2024-10-31 14:11:27 -05:00
Jordan Woyak 149a3721ff DolphinQt: Ensure skylanders QDateTimeEdit shows a four digit year without forcing dd-mm-yyyy format. 2024-10-31 02:38:45 -05:00
Jordan Woyak bffc26da27 DolphinQt: Rename "GameCube Adapter for Wii U" to "GameCube Controller Adapter". 2024-10-31 01:25:36 -05:00
JMC47 e1f457a726 Merge pull request #13154 from Tilka/eternal
GameSettings: add patch to fix Eternal Darkness startup hang
2024-10-31 02:16:02 -04:00
Jordan Woyak 19c3b88e5a ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling. 2024-10-30 17:41:09 -05:00
Tillmann Karras 5adc1bdecd GameSettings: add patch to fix Eternal Darkness startup hang
The game calls GXSetDrawDone and then switches the GP fifo without first
waiting for the draw done interrupt to arrive. Before
e96960e2a6, Dolphin would not execute the
draw done command and potentially also skip other commands in the old GP
fifo. Since that commit, Dolphin executes the remaining commands on the
old GP fifo just before disabling reads for switching, but because
PixelEngineManager::RaiseEvent() enforces a minimum delay of 500 cycles
for the draw done interrupt, it arrives after the game has switched to
the new GP fifo which seems to trigger the deadlock.

This patch replaces the call to GXSetDrawDone by a call to GXDrawDone
which does the same but also waits for the interrupt.
2024-10-30 21:16:31 +00:00
JMC47 adafe1f347 Merge pull request #13147 from mitaclaw/jit-block-table-model-fix
JitBlockTableModel: Catch All Block Invalidating Events (I Hope)
2024-10-30 17:00:27 -04:00
JMC47 1ba3a141a2 Merge pull request #13143 from TellowKrinkle/PrimBreaking
VideoCommon: Implement primitive breaking for primitive lists
2024-10-30 12:15:11 -04:00
OatmealDome b9a99a7294 Merge pull request #13040 from cpba/add-flatpak
Add manifest for building as a flatpak
2024-10-30 01:13:59 -04:00
TellowKrinkle 5ef4fcb005 VideoCommon: Implement primitive breaking for primitive lists 2024-10-29 22:38:22 -05:00
Admiral H. Curtiss 2764a3dc44 Merge pull request #13136 from Tilka/startup_patch
Core: apply Dolphin OnFrame patches right after boot
2024-10-30 04:28:18 +01:00
JMC47 bab34ca060 Merge pull request #13140 from dreamsyntax/skip-efb-default-flip
GraphicsSettings: EFBAccessEnable=false by default
2024-10-28 18:58:37 -04:00
JMC47 1012803f2e Merge pull request #12954 from LillyJadeKatrin/retroachievements-confirm
Achievements Confirmation Dialogs
2024-10-28 12:54:37 -04:00
JMC47 aa8226fa88 Merge pull request #12744 from nlebeck/settingshandler-split-2
Split `SettingsHandler` into separate reader and writer classes
2024-10-27 19:23:05 -04:00
JMC47 96c9591b99 Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewrite
Ranges Algorithms Modernization - Rewrite
2024-10-27 19:17:01 -04:00
JMC47 1b13cc9ca4 Merge pull request #13139 from mbc07/docs/dolphin-device-ioctls
Migrate /dev/dolphin documentation to the repository
2024-10-27 19:14:47 -04:00
JosJuice b2f9e02b62 Translation resources sync with Transifex 2024-10-27 13:13:25 +01:00
JosJuice 92b8d57e6f Merge pull request #13144 from JosJuice/jitarm64-imm-stp
JitArm64: Allow ppcState STP optimization for imm
2024-10-27 10:59:00 +01:00
JosJuice d4e32ec691 Merge pull request #13089 from TellowKrinkle/NoSystemZNG
Remove option for shared zlib-ng
2024-10-26 19:58:48 +02:00
mitaclaw 12f8b11452 MainWindow: Avoid Global System Accessor 2024-10-24 21:41:35 -07:00
mitaclaw 0371b74ebf JitBlockTableModel: Update For Symbols Too
Flushing efficiency down the drain because I wrote unsafe code to achieve it... I hope I can recover this.
2024-10-24 18:10:52 -07:00
Admiral H. Curtiss 500728360c Merge pull request #13148 from JosJuice/i18n-2024-10-24
DolphinQt: Remove a stray period from the Audio tab
2024-10-24 23:20:17 +02:00
Sintendo e6fd843c0b JitArm64_LoadStore: Small dcbx optimization
MUL and SUB can be combined in one instruction.

Before:
0x1b1a7c01   mul    w1, w0, w26
0x4b010318   sub    w24, w24, w1

After:
0x1b1ae018   msub   w24, w0, w26, w24
2024-10-24 23:05:42 +02:00
JosJuice 5165ddea52 DolphinQt: Remove a stray period from the Audio tab 2024-10-24 21:24:40 +02:00
JosJuice c212c0d08e Merge pull request #12868 from Sintendo/scoped-reg
JitArm64: Release temporary regs with RAII
2024-10-24 21:01:53 +02:00
mitaclaw 5a95951751 DolphinQt: Signal Host::JitCacheInvalidation in more places 2024-10-23 23:43:25 -07:00
mitaclaw 3d9c728910 Host: Rename JitCacheInvalidation
There are two hard problems in computer science...
2024-10-23 23:43:24 -07:00
dreamsyntax 6022cca691 GameINI: Remove EFBAccessEnable=false overrides
Removes the EFBAccessEnable=false explicit game overrides for:
  GT6 (Terminator 3: The Redemption)
  GXB (SSX3) [deleted - no other configuration]
  RTH (Tony Hawk's Downhill Jam)
  SNC (SONIC COLOURS) [deleted - no other configuration]
2024-10-23 18:08:34 -07:00
JosJuice 8925ddf45f Merge pull request #13146 from AdmiralCurtiss/unit-test-compile-fix
Add missing algorithm header in SettingsHandlerTest.cpp
2024-10-23 18:11:21 +02:00
Mateus B. Cassiano 087b61103b Migrate /dev/dolphin documentation to the repository 2024-10-22 22:31:51 -04:00
Admiral H. Curtiss c13c11d230 Add missing algorithm header in SettingsHandlerTest.cpp 2024-10-22 23:48:43 +02:00
dreamsyntax 9dacefcbf1 GraphicsSettings: EFBAccessEnable=false by default
Makes Graphics -> Hacks -> Skip EFB Access from CPU enabled by default. Some GPU drivers stall when EFB access occurs in games where EFB is not used. Most games that require this setting set to 'true' already have this defined in their game inis.
2024-10-22 12:28:14 -07:00
Niel Lebeck 1d79991ec4 Split SettingsHandler into separate reader and writer classes 2024-10-21 20:20:15 -07:00
JosJuice 6fb3e9226b JitArm64: Use WZR for ppcState STP optimization with imm == 0 2024-10-21 21:53:21 +02:00
JosJuice 383cbffdec JitArm64: Allow ppcState STP optimization for imm 2024-10-21 21:51:48 +02:00
JMC47 f412e2488c Merge pull request #12714 from mitaclaw/jit-widget-refresh
DolphinQt: JIT Widget Refresh
2024-10-21 12:03:50 -04:00
Sintendo defb2d65a6 JitArm64_SystemRegisters: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo be2b466743 JitArm64_Paired: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo 3b251dbb2a JitArm64_LoadStorePaired: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo 23327064f6 JitArm64_LoadStoreFloating: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo 9420250046 JitArm64_LoadStore: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo ac3d3de66d JitArm64_FloatingPoint: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo 9805a8ac0a JitArm64_Branch: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo cb29a29866 JitArm64: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo c0a0746d65 JitArm64_Integer: Use ScopedARM64Reg 2024-10-21 08:33:05 +02:00
Sintendo 62e1d7ad99 JitArm64: Add ScopedARM64Reg 2024-10-21 08:23:23 +02:00
JosJuice 24e9fc120c Merge pull request #13066 from DacoTaco/feature/networking
IOS/Net: implement ioctlv that retrieves the network routing table that libogc now uses on network init
2024-10-20 14:14:24 +02:00
JMC47 da530a2eb9 Merge pull request #13141 from dreamsyntax/shadow-texturecache-change
GameINI: Shadow the Hedgehog texture cache default
2024-10-19 23:03:59 -04:00
dreamsyntax 0bde79a4ca GameINI: Shadow the Hedgehog texture cache default
Adjusts the Texture Cache settings/slider to 512 samples which equates
to the 'middle' option in the UI.

If using the 'Safe' Texture Cache Accuracy mode, the left screen will only render bloom in 2P modes.
If using the 'Fast' Texture Cache Accuracy mode, the Intro Movie will
drop frames near the end when the "Shadow the Hedgehog" game title
letters appear. This mode also can result in artifacts/bleed from bloom
effects in some situations.
2024-10-19 18:38:45 -07:00
mitaclaw c3bda2e875 Jit64: Make Furthest Exit Micro-Optimization More Correct 2024-10-19 18:19:17 -07:00
mitaclaw ff6845288e Simplify std::copy with fmt::format_to
Plus a few other memory allocation optimizations.
2024-10-19 12:18:16 -07:00
mitaclaw 4c064de235 Simplify std::copy with fmt::join 2024-10-19 12:18:16 -07:00
JMC47 05e3a52de0 Merge pull request #13135 from Tilka/warning
VideoCommon: fix -Wshadow-uncaptured-local warning and simplify
2024-10-19 15:12:25 -04:00
Tilka fed8220c39 Merge pull request #12712 from Dentomologist/remove_defined_out_code
Remove defined-out code
2024-10-19 19:36:19 +01:00
JMC47 88cf25e915 Merge pull request #13114 from TryTwo/PR_Turbo_Mutes_Audio
Audio: Add option to temporarily mute audio when using turbo
2024-10-19 13:11:05 -04:00
JMC47 e10821a847 Merge pull request #13104 from TellowKrinkle/MTLLogging
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-19 13:03:52 -04:00
mitaclaw a035bd95e4 JITs: Revamp LogGeneratedX86
Debug logging of recompiled code is now a feature of all three JITs.
2024-10-19 02:30:45 -07:00
mitaclaw 9afd09598c DolphinQt: JIT Widget Refresh
Fulfilling a certain six-year-old todo.
2024-10-19 02:30:44 -07:00
mitaclaw ca9222a16b Move UICommon/Disassembler to Common/HostDisassembler
A preliminary commit for a cleaner diff and an easier review
2024-10-19 00:14:54 -07:00
mitaclaw a0987829e5 JITs: Add GetMemoryStats Function
Using the updated rangeset library
2024-10-19 00:14:54 -07:00
mitaclaw 46f8fe0eaf JITs: Add EraseSingleBlock Function 2024-10-19 00:14:54 -07:00
mitaclaw d26dc1ba32 JITs: Outline FreeRanges Function
As I have done for Cached Interpreter 2.0
2024-10-19 00:14:54 -07:00
mitaclaw c431cd2e1e CachedInterpreter: Callback Disassembler 2024-10-19 00:14:53 -07:00
mitaclaw 1f30d05027 Externals: Update rangeset
I added a new `get_stats` member function to the upstream for use in the JIT Widget Refresh.
2024-10-18 23:50:26 -07:00
mitaclaw ff9be97ea1 JitCache: Add WipeBlockProfilingData Function
Accessible from DolphinQt and Android.
2024-10-18 23:50:26 -07:00
JMC47 9b8df48d84 Merge pull request #13138 from Pokechu22/remove-onload-patches
GameINI: Remove OnLoad sections
2024-10-18 13:00:42 -04:00
Pokechu22 e23a5adc87 GameINI: Remove OnLoad sections
These haven't worked since 2008 (0b5fed62c1).
2024-10-18 00:17:18 -07:00
Pokechu22 ce17dda1bf GameINI: Remove trailing space for 1080° Snowboarding 2024-10-18 00:09:47 -07:00
mitaclaw 3d0d03b871 Modernize std::partition with ranges
The new return value is `std::ranges::subrange`.
2024-10-17 18:39:13 -07:00
mitaclaw 5f3a8ff0de Modernize std::unique with ranges
The new return value is `std::ranges::subrange`.
2024-10-17 18:39:12 -07:00
mitaclaw be0b13da97 Simplify std::remove with std::erase
`std::erase` is a replacement for the remove-erase idiom.

Changes to `OpenModeToAndroid` inadvertently revealed that the prior implementation had UB (potentially deleting the end iterator). This is now fixed.
2024-10-17 18:38:34 -07:00
mitaclaw 4fde0f2868 Modernize std::search with ranges
The new return value is `std::ranges::subrange`.
2024-10-17 18:38:34 -07:00
mitaclaw 0352f24a8e Modernize std::mismatch with ranges
The new return value is `std::ranges::mismatch_result`, an alias for the pair-like type `std::ranges::in_in_result`.
2024-10-17 18:38:34 -07:00
JMC47 21f4319302 Merge pull request #13092 from mitaclaw/ranges-modernization-3-spaceship
Ranges Algorithms Modernization - Compare
2024-10-17 13:37:16 -04:00
JMC47 3d7ae07dbf Merge pull request #13112 from Tilka/ioslog
IOS: log cIOS device checks as warnings, not errors
2024-10-17 12:17:47 -04:00
Tillmann Karras 0e41adb7b7 VideoCommon: fix -Wshadow-uncaptured-local warning and simplify 2024-10-16 18:36:00 +01:00
OatmealDome 1b8cc19220 Merge pull request #13108 from Mrlinkwii/readme
Readme: specify  which windows 10 version is minimum
2024-10-16 13:07:55 -04:00
Tillmann Karras fd95607700 Core: apply Dolphin OnFrame patches right after boot 2024-10-16 02:58:03 +01:00
JMC47 904ac5592d Merge pull request #13102 from Tilka/ax3
DSPHLE/AXWii: fix wiimote audio in multiple games
2024-10-15 18:55:57 -04:00
Tillmann Karras 37ebb13ece DSPHLE/AXWii: fix wiimote audio in multiple games
Three bugs specific to older Wii games:
- The size difference between high-pass and biquad filter was not
  accounted for, causing wiimote related fields to be corrupted.
- Wiimote sample buffer pointers were advanced by 32 samples per
  millisecond instead of 6 samples. Usually hidden by the first bug.
- PB updates on Wii were being byte-swapped twice, but I've not actually
  found any Wii games that make use of PB updates.

This fixes wiimote audio in at least the following games:
- Excite Truck
- Ice Age 2: The Meltdown
- Kororinpa: Marble Mania
- Rapala Tournament Fishing
- Shrek the Third
- Super Monkey Ball: Banana Blitz
- Tiger Woods PGA Tour 07
- WarioWare: Smooth Moves (issue 11725)
- Wing Island
2024-10-15 18:54:41 +01:00
DacoTaco 386c2faa30 IOS/Net: implement ioctlv that retrieves the network routing table that libogc now uses on network init 2024-10-15 17:29:17 +02:00
JosJuice 07605bf67c Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
TryTwo a56a27a219 Audio: Add option to AudioPane to temporarily mute audio when emulation speed limit is disabled. 2024-10-15 03:05:19 -07:00
JMC47 ef8b753cd7 Merge pull request #13115 from Tilka/syncfifo
VideoCommon: fix common opcode decoding errors
2024-10-14 21:26:08 -04:00
JMC47 9fcc195384 Merge pull request #13133 from JosJuice/android-vsync-setting
Android: Add vsync setting
2024-10-14 14:32:09 -04:00
JosJuice 564e640acf Android: Add vsync setting
Recently we have been getting some requests to make the existing vsync
setting available in the Android GUI:

https://bugs.dolphin-emu.org/issues/13650
https://forums.dolphin-emu.org/Thread-vsync-toggle-for-android

I don't quite understand why enabling the vsync setting is helpful when
Android already enforces vsync, but I guess having the option available
doesn't hurt. I'm putting the setting under Advanced, unlike in
DolphinQt, since there's no clear reason why the typical user would want
to use this setting.
2024-10-14 12:20:15 +02:00
JMC47 8d5b6e8e86 Merge pull request #13069 from JosJuice/android-real-balance-board
Android: Add the "Real Balance Board" setting
2024-10-13 15:17:26 -04:00
JMC47 7e951aa2d4 Merge pull request #13128 from AGuy27/master
GameINI: Fix Transformers: Dark of the Moon hang on opening logos
2024-10-13 14:24:52 -04:00
JosJuice 8e619b7302 Merge pull request #13127 from Tilka/dol001
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
2024-10-12 22:05:21 +02:00
AGuy27 6b89ff4906 Create S7E.ini 2024-10-12 15:55:03 -04:00
AGuy27 4f3fc84f76 Create STZ.ini 2024-10-12 15:53:22 -04:00
Tilka d43c6dc555 Merge pull request #13074 from Pokechu22/normal-cache
Cache normals in addition to binormals and tangents
2024-10-12 19:49:48 +01:00
Pokechu22 937bb2aa2e Cache normals in addition to binormals and tangents
Fixes LIT (https://bugs.dolphin-emu.org/issues/13635). The text does not include normals, but has lighting enabled. With the previous default of (0, 0, 0), lighting was always black (as dot(X, (0, 0, 0)) is always 0). It seems like the normal from the map in the background (0, 0, 1) is re-used.

LIT also has the vertex color enabled while vertex color is not specified, the same as SMS's debug cubes; the default MissingColorValue GameINI value of solid white seems to work correctly in this case.
2024-10-12 10:32:41 -07:00
Tillmann Karras 09b163d814 Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
Checksum and descriptions from Redump.
2024-10-12 16:11:42 +01:00
Tilka 35ec2e97a8 Merge pull request #13079 from JosJuice/android-16k
Android: Add 16 KiB page size support
2024-10-12 10:11:33 +01:00
Tilka c5ce90b786 Merge pull request #13080 from JosJuice/androidx-edge-to-edge
Android: Use enableEdgeToEdge
2024-10-12 10:11:11 +01:00
Tilka 2024d9f8ff Merge pull request #13126 from jordan-woyak/no-big-banner
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-12 09:40:20 +01:00
Tilka f635c71f28 Merge pull request #13125 from jordan-woyak/mapping-tab-bar-auto-hide
DolphinQt: Auto hide the mapping window tab bar.
2024-10-12 09:36:19 +01:00
Tilka 9eb0429c2e Merge pull request #13124 from jordan-woyak/trigger-threshold-99
ControllerEmu: Change trigger threshold check to prevent user error.
2024-10-12 09:34:53 +01:00
Jordan Woyak 23ba1c9133 DolphinQt: Restrict size of banner image in game properties info tab. 2024-10-11 22:56:33 -05:00
Jordan Woyak 3d762c20ee DolphinQt: Auto hide the mapping window tab bar. 2024-10-11 22:03:05 -05:00
Jordan Woyak ccdce615ec ControllerEmu: Change trigger threshold check to >= instead of > and set minimum threshold in UI to 1% to prevent user error. 2024-10-11 19:38:38 -05:00
Tilka 67e8f37c5b Merge pull request #13123 from jordan-woyak/mapping-indicator-dark-theme-code-cleanup
DolphinQt/MappingIndicator: Use Settings::IsThemeDark instead of reimplementing it.
2024-10-12 01:24:43 +01:00
Jordan Woyak 863889a34e DolphinQt/MappingIndicator: Use Settings::IsThemeDark instead of reimplementing it. 2024-10-11 18:50:32 -05:00
Tilka d6e10e586a Merge pull request #13076 from robxnano/dbus-inhibit
Linux: Use D-Bus to inhibit screensaver
2024-10-12 00:31:58 +01:00
Tilka f4e0a42cfc Merge pull request #13075 from robxnano/qt-color-scheme
Remove unneeded Win32 code for color scheme
2024-10-11 22:20:42 +01:00
Tilka 8679d6c334 Merge pull request #13120 from Sintendo/mtspr
JitArm64: Optimize mtspr
2024-10-11 21:42:12 +01:00
Tilka d2a56b321f Merge pull request #13095 from mitaclaw/ranges-modernization-6-n
Ranges Algorithms Modernization - N
2024-10-11 20:28:06 +01:00
Tilka c1832d17f6 Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-find
Ranges Algorithms Modernization - Find
2024-10-11 20:27:18 +01:00
mitaclaw 203923b267 JitArm64_RegCache: Simplify std::find using ranges and projections 2024-10-11 12:09:00 -07:00
mitaclaw 8b1975ab18 GraphicsMod: Simplify std::sort using ranges and projections 2024-10-11 12:08:22 -07:00
mitaclaw 2edf6c6419 CoreTiming: Simplify algorithms using ranges and three-way comparison 2024-10-11 12:08:22 -07:00
Tilka d374284d92 Merge pull request #13119 from SuperSamus/skylanders-tt-gp-remove
Remove Bloom Definitions for Skylanders Trap Team
2024-10-11 19:35:14 +01:00
Tilka 696ff5baea Merge pull request #13121 from mitaclaw/synthesize-operator!=
C++20: Synthesize `operator!=` From `operator==`
2024-10-11 18:31:56 +01:00
mitaclaw e8d5fb89e4 C++20: Synthesize operator!= From operator==
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
mitaclaw d296b2613c Modernize std::adjacent_find with ranges 2024-10-10 15:28:11 -07:00
mitaclaw e4fb837f4b Modernize std::find_if with ranges
In BTEmu.cpp, `std::mem_fn` was not necessary for the predicate to compile.
2024-10-10 15:28:11 -07:00
mitaclaw 6ca7e2856b Modernize std::find with ranges 2024-10-10 15:28:11 -07:00
Sintendo a9a779a6b9 JitArm64_Integer: Use IsImm helper more 2024-10-10 22:21:31 +02:00
Sintendo 0d9984b299 JitArm64_SystemRegisters: Optimize mtspr
No need to materialize the immediate if it is zero, we can just use WZR.

Before:
mov    w27, #0x0                 ; =0
str    w27, [x29, #0x1178]

After:
str    wzr, [x29, #0x1178]
2024-10-10 22:16:28 +02:00
Sintendo 8304ae3361 JitArm64_RegCache: Add IsImm helper
Because checking if a register is a specific immediate is a rather
common operation.
2024-10-10 22:13:34 +02:00
Martino Fontana cb8b235a48 Remove Bloom Definitions for Skylanders Trap Team 2024-10-10 22:03:34 +02:00
Tilka b5f7a50874 Merge pull request #13118 from BobConanDev/master
Update Contributing.md
2024-10-10 20:35:13 +01:00
Bob Conan f5bc6f8bdb Update Contributing.md
fix typos
2024-10-10 14:03:49 -05:00
mitaclaw e572081ac3 Modernize std::min_element with ranges 2024-10-10 00:53:48 -07:00
mitaclaw c99a0c25e0 Modernize std::max_element with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 88a1a5b4f2 Modernize std::set_intersection with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 728663bdc0 Modernize std::binary_search with ranges
In VolumeVerifier.cpp, constructing a `std::string_view` of the volume's GameID is unnecessary, as `std::`(`ranges::`)`binary_search` supports heterogeneous lookup. The usage in GameFile.cpp is a perfect example.
2024-10-10 00:53:48 -07:00
mitaclaw 01d0bdf1bb Modernize std::is_sorted with ranges
In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
2024-10-10 00:53:48 -07:00
mitaclaw ebf7cebc32 Modernize std::sort with ranges 2024-10-10 00:53:48 -07:00
mitaclaw bcaf665d14 Modernize std::reverse_copy with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 78440ca335 Modernize std::reverse with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 9bd1dae41d Modernize std::fill with ranges
In DSPCore.cpp, there were two `std::fill` uses that could be simplified using `std::fill_n`. Due to their proximity with other `std::fill` algorithms being modernized with ranges, I chose to make these examples into the rare `std::ranges::fill_n`.
2024-10-10 00:53:48 -07:00
mitaclaw a7160c7b38 Modernize std::replace_if with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 0a80243a92 Modernize std::replace with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 72436a0d1f Modernize std::transform with ranges
In StringUtil.h, the lambdas wrapping `Common::ToLower(char)` and `Common::ToUpper(char)` were only necessary due to the function names being overloaded.
2024-10-10 00:53:48 -07:00
mitaclaw 7ce170f138 Modernize std::copy with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 249defa72b Modernize std::equal with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 4cc5e1972a Modernize std::count_if with ranges 2024-10-10 00:53:48 -07:00
mitaclaw c46060e298 Modernize std::count with ranges 2024-10-10 00:53:48 -07:00
mitaclaw ed5eb49d47 Modernize std::for_each with ranges 2024-10-10 00:53:48 -07:00
Tillmann Karras e96960e2a6 VideoCommon: fix common opcode decoding errors
Many games call GXSetGPFifo() without first waiting for the GP to finish
consuming outstanding commands in the previous GP fifo. Normally,
Dolphin runs OpcodeDecoding in 1000-cycle time slices. In that time
frame, GXSetGPFifo() has probably completed and the GP read pointer now
points to entirely new memory. If the last GP fifo copy ended in an
incomplete command, the new GP fifo would most likely desync for a
while. To avoid all this, give the GP a time slice right now to copy the
remaining data from the previous GP fifo.
2024-10-10 04:07:44 +01:00
mitaclaw 519da8297c Simplify std::stable_sort with std::ranges::stable_partition 2024-10-09 17:26:10 -07:00
mitaclaw e6f93efac4 Simplify std::transform with std::ranges::transform_view 2024-10-09 17:26:10 -07:00
mitaclaw 809766a439 Simplify std::fill with std::array::fill 2024-10-09 17:26:10 -07:00
Tillmann Karras 3c11360335 IOS: log cIOS device checks as warnings, not errors
Some games do this to detect piracy.
2024-10-09 21:18:36 +01:00
Jules Blok 7db13d23c9 Merge pull request #13086 from Tilka/gameini
GameSettings: safe texture cache for "Winter Sports 3: The Great Tournament"
2024-10-09 02:06:51 +02:00
mitaclaw b6ec8ddc20 Simplify std::fill with std::fill_n 2024-10-07 15:34:56 -07:00
mitaclaw 7c96762f5f Simplify std::copy with std::copy_n
+ a surprise `std::memcpy` in VolumeVerifier.cpp.
2024-10-07 15:34:56 -07:00
Tilka 2b22e6ffc9 Merge pull request #13109 from Pokechu22/fifo-player-wii-bats
FifoPlayer: Set up additional BATs in Wii mode
2024-10-07 17:42:54 +01:00
Tilka 3466f803b5 Merge pull request #13110 from Pokechu22/fifo-analyzer-xf-index-words
Fifo analyzer: Fix indexed XF loads showing "bytes" instead of "words"
2024-10-07 17:38:24 +01:00
Pokechu22 929bcbdde9 Fifo analyzer: Fix indexed XF loads showing "bytes" instead of "words"
Indexed XF loads specify the number of 32-bit words (generally floats, but light data has some integers) to load, not the number of bytes. This was only a mistake in the fifo analyzer text; the actual implementation already loaded words.
2024-10-06 21:56:48 -07:00
Pokechu22 de61430dae FifoPlayer: Set up additional BATs in Wii mode
The light LIT fifolog from https://bugs.dolphin-emu.org/issues/13635 has position data at physical address 11ae3180. This works fine when using the memory viewer in physical mode, but the corresponding virtual address (91ae3180) previously didn't show anything in effective mode. It works fine now though.

This shouldn't affect playback of fifologs as everything in there uses physical addresses; this only impacts the memory viewer.

This logic was copied from CBoot::SetupBAT.
2024-10-06 21:48:34 -07:00
Mrlinkwii f5a0b34718 Readme: specify which windows 10 version is minimum 2024-10-07 00:25:10 +01:00
JMC47 339f9311fb Merge pull request #12918 from JosJuice/revert-revert-audit-get-state
Partially revert "Revert "Audit uses of IsRunning and GetState""
2024-10-06 11:26:06 -04:00
JMC47 d78b76790d Merge pull request #13105 from lycheefox/skylanders
Skylanders: Fix Head Rush (Nitro)
2024-10-06 11:21:32 -04:00
TellowKrinkle 1454934a07 VideoBackends:Metal: Use standardized C++ features over clang builtins 2024-10-06 02:13:48 -05:00
TellowKrinkle 32fd10bd08 VideoBackends:Metal: Log file on failed pipeline compile 2024-10-06 02:13:48 -05:00
JMC47 3cb4c21d0b Merge pull request #13103 from TellowKrinkle/VMAVulkanVersion
VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
2024-10-06 01:57:51 -04:00
lycheefox ad1109e191 Skylanders: Fix Head Rush (Nitro) 2024-10-05 22:14:17 -04:00
TellowKrinkle 9244cded9f VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
We now use Vulkan 1.2 if available
2024-10-05 16:51:14 -05:00
Tilka d1ac40a72b Merge pull request #13101 from JosJuice/gametdbid-partition
Core: Include partition when calling GetGameTDBID for non-game partition
2024-10-05 22:31:58 +01:00
Jules Blok b191c0f7d8 Merge pull request #12208 from PatrickFerry/add-vertex-depth-range-case
Use Vertex Depth Range when zRange Exceeds farZ
2024-10-05 14:14:11 +02:00
JosJuice 6798f63a2e Core: Include partition when calling GetGameTDBID for non-game partition
This problem was introduced in 8842a0f402
and is likely a copy-paste error.

Fixes the problem mentioned in the issue comment
https://bugs.dolphin-emu.org/issues/13640#note-2.
2024-10-05 13:04:50 +02:00
JMC47 2d9f789940 Merge pull request #13050 from TellowKrinkle/HKIsNotMVK
Vulkan: Don't do MoltenVK things on Asahi Linux
2024-10-05 00:51:27 -04:00
OatmealDome ae14abb2fa Merge pull request #13088 from TellowKrinkle/iOSFixes
VideoBackends:Metal: Fix bbox on newer iOS devices
2024-10-04 17:32:44 -04:00
JMC47 e6f222c86b Merge pull request #13098 from SuperSamus/skylanders-ini
GameINI: Add Skylanders titles
2024-10-04 12:39:47 -04:00
JosJuice 6ca2da53e8 Partially revert "Revert "Audit uses of IsRunning and GetState""
This reverts the revert commit bc67fc97c3,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
2024-10-04 18:35:41 +02:00
JosJuice 2da3e49b1e Merge pull request #13078 from Dentomologist/videobackendbase_only_populate_backend_info_when_uninitialized
VideoBackendBase: Only populate backend info when uninitialized
2024-10-04 18:31:06 +02:00
Martino Fontana e57ee3c099 GameINI: Add Skylanders: Trap Team
`EFBEmulateFormatChanges = True` properly emulates the blur in the backgrounds.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs.
2024-10-03 19:41:46 +02:00
Martino Fontana b055965792 GameINI: Add Skylanders: Giants
`EFBEmulateFormatChanges = True` properly emulates the blur in the pause screen.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs and main menu.
2024-10-03 19:41:39 +02:00
Martino Fontana f3dd61ae89 GameINI: Add Skylanders: Spyro's Adventure
`EFBEmulateFormatChanges = True` properly emulates the blur in the pause screen.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs and main menu.
2024-10-03 19:41:32 +02:00
JosJuice 76287f3810 Merge pull request #13097 from Tilka/vidpid
Bluetooth: show vid:pid in error message
2024-10-03 19:05:56 +02:00
LillyJadeKatrin a36746a79a Turn off debug mode if hardcore is active on emulator start
Found this bug while testing; if I manually edit the config files while Dolphin is closed I was able to get debug and hardcore on at the same time, this resolves that.
2024-10-03 09:01:00 -04:00
LillyJadeKatrin 72f682ab13 Add Confirm Popups for Achievements Logout and Hardcore Off 2024-10-03 08:59:54 -04:00
LillyJadeKatrin 415fa3c6a5 Migrate Hardcore Toggle Code to Achievement Manager
AchievementManager::SetHardcoreMode now handles the (non-Qt) settings disabled by hardcore mode, instead of doing this on the Qt layer. Also ensured Init/Enable Achievements paths run this code, fixing the bug wherein the player can manipulate things when achievements are disabled that persist when turned back on.
2024-10-03 07:52:07 -04:00
JMC47 e259831bcf Merge pull request #13087 from TellowKrinkle/PresentSkip
VideoBackends:Vulkan: Prevent freezes during window resize on Linux
2024-10-02 21:09:25 -04:00
TellowKrinkle a267c56412 VideoBackends:Vulkan: Wait until we've confirmed a successful AcquireNextImage before marking semaphores used 2024-10-02 19:22:16 -05:00
TellowKrinkle 7e1a9490c0 VideoBackends:Vulkan: Don't try to present if swapchain acquire failed 2024-10-02 19:22:16 -05:00
Tillmann Karras e455833ea4 Bluetooth: show vid:pid in error message 2024-10-02 21:50:25 +01:00
JMC47 122bce08de Merge pull request #12953 from LillyJadeKatrin/retroachievements-fail-messaging
Achievements Fail Messaging
2024-10-02 14:50:21 -04:00
LillyJadeKatrin 2f40bc25ae Properly Notify when Achievements Login Fails 2024-10-01 18:03:46 -04:00
JMC47 808d11c434 Merge pull request #13081 from PatrickFerry/gameini_fixing_mistakes_part_2
GameINI: Fixing More Mistakes
2024-10-01 10:58:16 -04:00
JMC47 c88e48db19 Merge pull request #13085 from TellowKrinkle/AutoSizeEFBScale
VideoCommon: Dirty pixel shader manager on efb scale changes
2024-10-01 10:53:05 -04:00
TellowKrinkle 1cb6866de4 Revert "Allow shared zlib-ng"
This reverts commit 6dad8f8372.

Our bundled zlib-ng uses zlib compat mode, making it override system zlib.
System zlib-ng will not, and all its functions will be prefixed with zng_.
Therefore the two aren't actually compatible.
2024-10-01 00:47:05 -05:00
TellowKrinkle 70f69c3213 VideoBackends:Metal: subgroup_ops requires Apple7, not Apple6
SIMD-scoped permute operations are Apple6, but reduction operations are Apple7
2024-09-30 23:38:23 -05:00
Tillmann Karras 0323b30ed7 GameSettings: safe texture cache for "Winter Sports 3: The Great Tournament"
This is required to avoid glitches during Downhill Skiing.
2024-10-01 01:42:18 +01:00
Tillmann Karras a02cbc9b78 WII_IPC: rewrite multiply as 100_tbticks literal (NFC) 2024-10-01 01:42:16 +01:00
TellowKrinkle fd94ff252d VideoCommon: Dirty pixel shader manager on efb scale changes 2024-09-30 01:12:55 -05:00
TellowKrinkle 14feaf4ba8 VideoBackends:Metal: Use ios_use_simdgroup_functions with SPIRV-Cross
It defaults to trying to emulate simdgroup functions on iOS
2024-09-29 23:58:54 -05:00
Tilka c7cbac538a Merge pull request #13083 from Tilka/apploader
Boot: write Apploader version into memory
2024-09-29 14:40:43 +01:00
JosJuice 5b40a7ed17 Merge pull request #13084 from mitaclaw/static-assert-promote
VolumeVerifier: Promote `DEBUG_ASSERT` to `static_assert`
2024-09-29 09:56:42 +02:00
mitaclaw c60accc96d VolumeVerifier: Promote DEBUG_ASSERT to static_assert
This runtime assertion was added before `std::is_sorted` became constexpr in the codebase.
2024-09-28 23:12:12 -07:00
Tillmann Karras b168a8092f Boot: write Apploader version into memory
When HLE-ing the apploader, this is necessary to avoid "Error #002"
errors. Homebrew doesn't care.
2024-09-29 03:57:44 +01:00
Patrick Ferry eb07c832b9 GameINI: Set Texture Cache Accuracy to "Safe" for UFC Personal Trainer: The Ultimate Fitness System
SafeTextureCacheColorSamples is supposed to be for [Video_Settings], but also the medium setting isn't enough to display the missing text.
2024-09-29 00:35:34 +01:00
Patrick Ferry 1d8fef8649 GameINI: Disable AA in Sonic Heroes
The use of any anti-aliasing will cause graphical corruption, which occurs on the ground.

MaxAnisotropy is supposed to be for [Video_Enhancements], but also it doesn't cause any of the issues in game so it is being removed rather than set under the correct heading.

Added a comment on why these values are set.
2024-09-29 00:35:27 +01:00
Patrick Ferry a2fec747c6 GameINI: Rename INI for Naruto Collection (Demo)
The wrong filename was used so the settings weren't being applied.

(All it does is reset the Texture Cache Accuracy to the default setting.)
2024-09-29 00:35:12 +01:00
Patrick Ferry 5f49aa3afb GameINI: Remove Obsolete Setting in FaceBreaker K.O. Party
Hack is not a valid setting.

Also updated the GameID.
2024-09-29 00:34:55 +01:00
Patrick Ferry d86146af72 GameINI: Remove Obsolete Settings in Super Metroid Demo (Brawl VC)
Both UseXFB and UseRealXFB are obsolete since Hybrid XFB.
2024-09-29 00:34:40 +01:00
Patrick Ferry 576bae3ac8 GameINI: Fix Cheats for Conduit 2
These codes are actually Gecko codes so setting that correctly.

There were errors which pop up when running this game as the comments for AR codes need to be set with hash(#) instead of asterisk(*). I replaced those anyways.

Removed the url in the comment since it's inaccessible and not on wayback machine either.

Also corrected the GameID, the wrong one is listed.
2024-09-29 00:34:27 +01:00
JosJuice d0e6573ac7 Android: Use enableEdgeToEdge
Dolphin has been using edge-to-edge rendering for a little while now,
but it has required a bit of manual work. Now that edge-to-edge is
becoming something expected of apps in Android 15, there's a nicer API
we can use.

Tested on Android 8, 11 and 13, with no changes in behavior noted.
2024-09-28 18:20:31 +02:00
JosJuice 14a802b58b Android: Add 16 KiB page size support
So far, Dolphin hasn't been able to run on Android devices that use a
16 KiB page size. 16 KiB page sizes are a very new Android feature that
no phones have shipped with so far, so we're still compatible with the
phones that exist out there, but let's get this fixed before phones
start shipping with 16 KiB page sizes.

Because I couldn't get Android Studio's emulator to work, I haven't been
able to confirm that this change actually makes Dolphin fully compatible
with devices that use a 16 KiB page size. But I have confirmed that this
doesn't break anything on a regular 4 KiB page size device.
2024-09-28 13:43:49 +02:00
robxnano 2748771cb3 linux: Use D-Bus to inhibit screensaver 2024-09-27 21:22:57 +01:00
Dentomologist dc1b961c09 VideoBackendBase: Only populate backend info when uninitialized
Prevent potential issues when creating the Graphics window (and thus
calling PopulateBackendInfo) while the core state is Stopping, like we
already do while it's Starting or Running.
2024-09-27 12:20:48 -07:00
robxnano 5e8f5afb52 DolphinQt: Remove unneeded Win32 code
Dolphin already uses QStyleHints::colorScheme to detect dark mode,
so this code is now redundant.
2024-09-27 10:41:01 +01:00
Tilka 2cb124bd3a Merge pull request #13062 from Dentomologist/graphics_clarify_relationship_between_incompatible_settings
Graphics: Clarify relationship between incompatible settings
2024-09-27 05:40:30 +01:00
Tilka 61836e5d8e Merge pull request #13077 from Dentomologist/graphicswindow_fix_first_opening_during_emulation_startup_crash
GraphicsWindow: Fix crash when opening for the first time during emulation startup
2024-09-27 05:38:37 +01:00
Dentomologist 0a1084fad5 VideoBackendBase: Check Core state in PopulateBackendInfo
Remove the PopulateBackendInfoFromUI function, which had a single caller
(GraphicsWindow::OnBackendChanged) and checked that the core wasn't
running or starting before calling PopulateBackendInfo.

Move the core state check into PopulateBackendInfo and have
OnBackendChanged call that instead. This guarantees the check is
performed by all callers of PopulateBackendInfo, preventing
potential reintroduction of the crash fixed in 3d4ae63f if another call
to PopulateBackendInfo is added.

As of the previous commit the only other caller of PopulateBackendInfo
is Core::Init shortly before s_state is set to Starting, so it will
always pass the check and so maintain its current behavior.
2024-09-26 17:12:26 -07:00
Dentomologist 2b82c34ea8 Core: Remove redundant call to PopulateBackendInfo
Remove the second of two calls to PopulateBackendInfo during emulation
startup. This call was originally the only one, but b214e0e added an
earlier call to handle the backend being changed by the GameINI.

The PR discussion doesn't explain why the original call was left in; I
suspect it was just overlooked.

As a bonus, this removes one of the extra copies of the "Video Info" On
Screen Display message at startup when using OpenGL.
2024-09-26 17:12:26 -07:00
Dentomologist 91f7b776ca GraphicsWindow: Fix crash when opening during emulation startup
Fix a crash when opening the Graphics window for the first time during
emulation startup when the backend is Vulkan, D3D11, or D3D12.

Don't call PopulateBackendInfo() from the Host thread when the core is
starting up. First, the function has already been called in Core::Init()
so we don't need to again. More importantly, PopulateBackendInfo() calls
g_video_backend->InitBackendInfo(), and the Vulkan and D3D
implementations of those functions load and then unload libraries (and
their associated function pointers) which are potentially in use by
other threads.

This crash was reliably reproducible with the following steps:
1) Select an affected backend.
2) Enable "Compile Shaders Before Starting"
3) Delete the cached shaders (but not the .uidcache file) for the game
   you're testing.
4) Close and reopen Dolphin.
5) Start the game.
6) While the game is still booting or compiling shaders, open the
   Graphics window for the first time in that Dolphin session.

Fixes https://bugs.dolphin-emu.org/issues/13634.
2024-09-26 17:12:26 -07:00
JMC47 b1cd4a6690 Merge pull request #13068 from mitaclaw/redundant-case-insensitive
IniFile: Migrate `Common::CaseInsensitiveLess` to StringUtil
2024-09-26 18:24:36 -04:00
JMC47 d4d3acb796 Merge pull request #13065 from mitaclaw/ppc-breakpoints-signal
DolphinQt: A Ubiquitous Signal For When Breakpoints Change
2024-09-26 18:20:43 -04:00
JMC47 0d7e94e8b3 Merge pull request #13070 from mitaclaw/remove-join-strings
StringUtil: Remove `JoinStrings`
2024-09-26 18:20:14 -04:00
JMC47 4bc1546596 Merge pull request #13071 from Pokechu22/cheat-search-crash
Fix random crash when using the cheat search
2024-09-25 15:05:19 -04:00
JMC47 e9e4ae5a34 Merge pull request #13049 from PatrickFerry/gameini_remove_broken_cheat
GameINI: Remove Broken Cheat from "Paper Mario: The Thousand Year Door"
2024-09-25 14:18:30 -04:00
Tilka ec6f5e1104 Merge pull request #13072 from Tilka/videosw
VideoSoftware: small cleanup
2024-09-25 10:57:05 +01:00
Tillmann Karras 0a299a4e1e Sw/Tev: drop unused macro 2024-09-24 22:00:03 +01:00
Tillmann Karras 98add9faf0 Sw/Rasterizer: fix two elder typos, AD 2009 2024-09-24 22:00:03 +01:00
Pokechu22 b34b7f63ee Fix random crash when using the cheat search
Before, Dolphin would randomly crash when updating the cheat search when automatic refresh was enabled. (Having a large number of addresses listed, e.g. by starting with an "any value" search, may contribute). The crash was due to QTableWidget::item returning nullptr in RefreshGUICurrentValues, presumably due to the table being resized on the UI thread while the emulated CPU thread was updating the values. I've fixed this by pausing the CPU thread for the entirety of OnNextScanClicked; this eliminated crashes in my testing.
2024-09-23 22:47:44 -07:00
mitaclaw 5f90673686 StringUtil: Remove JoinStrings
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
2024-09-22 21:09:36 -07:00
JosJuice 0c1070a07b Android: Add the "Real Balance Board" setting 2024-09-22 21:51:12 +02:00
JosJuice de67c4c93b Merge pull request #13013 from duckymomo360/rgh-tattoos-fix
GameINI: Fix tattoo texture saving in Rabbids Go Home
2024-09-22 09:10:09 +02:00
mitaclaw 508ccc2054 IniFile: Migrate Common::CaseInsensitiveLess to StringUtil
Migrating `Common::CaseInsensitiveLess` to StringUtil.h will hopefully discourage rolling one's own solution in the future for case-insensitive associative containers when this (quite robust!) solution already exists.

`Common::CaseInsensitiveStringCompare::IsEqual` was removed in favor of using the `Common::CaseInsensitiveEquals` function.

The `a.size() != b.size()` condition in `Common::CaseInsensitiveEquals` can be removed, since `std::ranges::equal` already checks this condition (confirmed in libc++).
2024-09-21 23:15:42 -07:00
Tilka 067bdaa3dd Merge pull request #13067 from mitaclaw/dead-code-3
GeckoCode: Remove Dead Code
2024-09-22 05:00:26 +01:00
mitaclaw 671958f141 GeckoCode: Remove Dead Code 2024-09-21 15:33:40 -07:00
JMC47 3b9a70a435 Merge pull request #13053 from Dentomologist/texture_dumping_show_osd_on_startup_and_toggle
Texture Dumping: Show OSD message on startup and when toggled
2024-09-21 15:17:54 -04:00
JMC47 18ccd157cd Merge pull request #13058 from Dentomologist/gamesettings_disable_gpu_texture_decoding_when_needed
GameSettings: Disable GPU Texture Decoding when needed
2024-09-21 15:15:23 -04:00
mitaclaw 4f821f4332 BreakpointWidget: Update when Host::PPCSymbolsChanged
Otherwise, outdated symbol names will remain.
2024-09-20 18:39:20 -07:00
mitaclaw 7c2a39706e DolphinQt: A Ubiquitous Signal For When Breakpoints Change
There were three distinct mechanisms for signaling breakpoint changes in DolphinQt, and the wiring had room for improvement. The behavior of these signals has been consolidated into the new `Host::PPCBreakpointsChanged` signal, which can be emitted from anywhere in DolphinQt to properly update breakpoints everywhere in DolphinQt.

This improves a few things:
- For the `CodeViewWidget` and `MemoryViewWidget`, signals no longer need to propagate through the `CodeWidget` and `MemoryWidget` (respectively) to reach their destination (incoming or outgoing).
- For the `BreakpointWidget`, by self-triggering from its own signal, it no longer must manually call `Update()` after all of the emission sites.
- For the `BranchWatchDialog`, it now has one less thing it must go through the `CodeWidget` for, which is a plus.
2024-09-20 18:37:39 -07:00
Tilka 6851ed73f4 Merge pull request #13064 from PatrickFerry/gameini_fixing_mistakes
GameINI: Fixing Various Mistakes
2024-09-16 23:24:56 +01:00
Tilka af921685f7 Merge pull request #13035 from retroNUC/cheevo-hash
Add generation of rcheevos hash as an option in DolphinTool
2024-09-15 22:18:58 +01:00
Patrick Ferry 5dac174972 GameINI: Disable Broken Enhancements for Solvalou
The wrong filename was used so the settings weren't being applied.

The graphical issues reported were from enhancements that create graphical issues.

EFBToTextureEnable solves some graphical issues but those issues appear for only a few frames, the bulk of the game does not benefit while the setting while it is very sore on performance.
2024-09-15 21:49:06 +01:00
Patrick Ferry 8c24b4745a GameINI: Enable Vertex Rounding for "Teenage Mutant Ninja Turtles 3: Mutant Nightmare"
ImmediateXFBEnable was disabled originally when enabling VertexRounding was intended

https://bugs.dolphin-emu.org/issues/10186
2024-09-15 21:48:59 +01:00
Patrick Ferry a51d87bc3d GameINI: Enable Vertex Rounding for "Teenage Mutant Ninja Turtles 2: Battle Nexus"
ImmediateXFBEnable was disabled originally when enabling VertexRounding was intended

https://bugs.dolphin-emu.org/issues/10186
2024-09-15 21:48:44 +01:00
Patrick Ferry a5209738fe GameINI: Disable ICache for Happy Feet
The DisableICache setting is supposed to be for [Core]
2024-09-15 21:48:25 +01:00
retroNUC a74b2a4dde Add generation of rcheevos hash to DolphinTool
Fixed coding standards issue

CalculateHash return string instead of using char array param
2024-09-15 15:52:04 +01:00
Carles Pastor ce010a6560 Metainfo -- remove hash from version string
git describe --tags appends the short hash, this cleans up the output so
that we only print the actual version string.
2024-09-12 20:51:31 +02:00
Carles Pastor ef512aae6d Flatpak -- bump libevdev to 1.13.3
this matches the version currently being served on flathub
2024-09-12 19:39:56 +02:00
Carles Pastor 9d439f091a Add manifest for building as a flatpak
includes the following:

- org.DolphinEmu.dolphin-emu.metainfo.xml.in this file contains general
  information and metadata that is used by most linux based app stores
  (kde discover, gnome software, flathub.org, etc) to showcase dolphin.
- fill_release_node.sh a script to automatically fill in the release
  information in the metainfo file when building the flatpak.
- SDL2.json manifest to build the vendored version of SDL from the
  Exports directory, it's only temporarily needed until the kde runtime
  is updated with the current SDL2 version and should be deleted after.
- org.DolphinEmu.dolphin-emu.yml the manifest itself.
2024-09-11 19:22:36 +02:00
Dentomologist b1d54e416b GameSettings: Disable GPU Texture Decoding when needed
Arbitrary Mipmap Detection doesn't work when GPU Texture Decoding is
enabled, so disable GPU Texture Decoding for games where the .ini
enables Arbitrary Mipmap Detection.

Co-authored-by: jeremyie <73066289+McAchi@users.noreply.github.com>
2024-09-10 12:01:40 -07:00
Dentomologist 694f2ee995 Graphics: Clarify relationship between incompatible settings
Explicitly state that Manual Texture Sampling disables Anisotropic
Filtering and that GPU Texture Decoding disables Arbitrary Mipmap
Detection.
2024-09-10 11:35:15 -07:00
Tilka 5fe9e2f6ed Merge pull request #13057 from JosJuice/rvzpack-typo
DiscIO: Fix a typo in an RVZPack comment
2024-09-08 16:08:57 +01:00
JosJuice 4eec061824 Merge pull request #12813 from Geotale/interpreter-subnormal-rounding
Proper Subnormal Rounding When Interpreting
2024-09-08 14:22:02 +02:00
JosJuice e72b23df91 DiscIO: Fix a typo in an RVZPack comment 2024-09-08 12:38:10 +02:00
JosJuice 0c1cd13b23 Merge pull request #12981 from Geotale/proper-integer-rounding
Improve Integer Rounding Accuracy
2024-09-08 12:09:58 +02:00
JMC47 2c15d7af7f Merge pull request #12966 from Dentomologist/cheatsmanager_create_code_widgets_only_once
CheatsManager: Create Action Replay and Gecko code widgets only once
2024-09-07 15:13:18 -04:00
JosJuice f9f832fa88 Merge pull request #13051 from mitaclaw/dead-config-code-2
SI_Device: Remove Dead Config Code
2024-09-07 13:40:34 +02:00
Tilka 2417545b63 Merge pull request #13052 from Tilka/ax
DSPHLE/AX: fix low-pass/biquad clipping
2024-09-07 11:36:06 +01:00
Dentomologist c3d6d2189a Texture Dumping: Show OSD message on startup and when toggled
If texture dumping is enabled, notify the user on emulation startup
using an On Screen Display message.

Also notify the user when texture dumping is toggled.

Addresses https://bugs.dolphin-emu.org/issues/12445.
2024-09-06 13:00:25 -07:00
TellowKrinkle dc6ccfb2ab VideoBackends:Vulkan: Use Vulkan 1.2 driverID to detect MoltenVK
Previously we'd assume all Apple GPUs were MoltenVK, including those running on Asahi Linux with open source Honeykrisp drivers.
2024-09-05 22:15:30 -05:00
TellowKrinkle 1416dc7e6a VideoBackends:Vulkan: Consolidate feature checking into one struct 2024-09-05 22:15:29 -05:00
JMC47 efc395f7f4 Merge pull request #12977 from mitaclaw/branch-watch-tool-fixes-4
Branch Watch Tool: Refactors, Fixes, and Features
2024-09-04 19:36:24 -04:00
Tillmann Karras eb54721475 DSPHLE/AX: fix low-pass/biquad clipping
The low-pass and biquad filters run in set40 mode where accessing ac#.m
returns the value of ac#.hm clamped to 16 bits.

This fixes the crackling in "Need for Speed: Nitro" (issue 13610).

Also make the lower bound match hardware (-0x8000 instead of -0x7FFF).
2024-09-04 22:33:31 +01:00
OatmealDome 20f2320fcf Merge branch 'release-prep-2409' 2024-09-04 12:26:15 -04:00
mitaclaw e67e579b38 SI_Device: Remove Dead Config Code 2024-09-04 08:31:00 -07:00
Patrick Ferry 98fe7104a3 GameINI: Remove Broken Cheat from "Paper Mario: The Thousand Year Door"
This is causing graphical glitches on some sprites, specifically the partner character after loading a game.
2024-09-03 23:30:28 +01:00
Geotale ffa680b15c Proper Subnormal Rounding When Interpreting
During 25-bit rounding, subnormals are "normalized"
This would normally mean that the exponent needs to be able to be <-1023
Instead, you can modify at what bit you round and get the same results!
This is done by finding the highest bit and shifting right the round bit

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:33:32 -05:00
Geotale 2f45391ca5 Improve Integer Rounding Accuracy
Changes integer rounding to more closely meet the documentation
The documentation explains to round before doing any bounds checks
All this really does is make sure some exception bits won't be set wrong
This depends on the rounding mode, fixing cases such as:
- Round to even, (0x7fffffff, 0x7fffffff.8)
- Round to down, (0x7fffffff, 0x80000000)

This change also uses some standard functions for rounding
Previously using them was casting to an s32 directly, now keeps the f64
RoundToIntegerMode introduced due to roundeven not being part of C++17

Finally, it can change a >0x7fffffff to >=0x80000000, done because:
- It looks nicer now with integers (I liked 0s)
- It gives ever so slightly better codegen on Aarch64

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:17:24 -05:00
mitaclaw 2a20e6e3df Branch Watch Tool: Toolbar Visiblity Menu
Adds the ability to hide unneeded features of the controls toolbar.
2024-08-31 15:37:34 -07:00
mitaclaw 8f76a32be4 Branch Watch Tool: New Conditional Branch Inspection Tools
Invert conditions, invert decrement checks, and make conditional branches unconditional. USnapshotMetadata in prior versions of Dolphin is forward-compatible with these changes (tested on x86_64).
2024-08-31 15:37:34 -07:00
mitaclaw 8bdfdc88b2 Branch Watch Tool: Ignore Apploader Branch Hits Concurrency Fix
Also removed worthless `Start` and `Pause` helpers from `Core::BranchWatch`.
2024-08-31 15:37:34 -07:00
mitaclaw e4500b5798 BranchWatchDialog: Improve Branch Was/Not Overwritten Buttons
Giving a warning if these are used when not usable is bad UX.
2024-08-31 15:37:34 -07:00
mitaclaw f5e7b45773 BranchWatchDialog: Listen For clicked Signal Rather Than pressed
The latter signal was used by mistake, see PR #8263.
2024-08-31 15:37:24 -07:00
mitaclaw 0c889c715d BranchWatchDialog: Const Correctness
m_index_list_temp should not be imagined as a member of `BranchWatchDialog`, so it is now mutable to allow for more const member functions.
2024-08-31 15:31:26 -07:00
mitaclaw 7ce703a4a8 BranchWatchDialog: Refactor Context Menus
Instead of one wildly complex context menu constructed lazily, now three manageable context menus are constructed proactively.
2024-08-31 15:11:25 -07:00
mitaclaw 107c08b77f BranchWatchDialog: Clean Up Object Parenting and Prefer Auto
Objects which get parented automatically by later processing now pass a nullptr to the constructor to make the intent clearer. Also fixed "true" and "false" not being translatable strings.
2024-08-31 15:11:25 -07:00
mitaclaw f9f0806022 BranchWatchDialog: Disconnect Slots When Hidden 2024-08-31 15:11:24 -07:00
Dentomologist 9e6a4e9d35 ARCodeWidget: Remove unnecessary call to OnSelectionChanged
Before the call to OnSelectionChange, m_code_edit and m_code_remove are
disabled and UpdateList calls m_code_list->clear(), thereby deselecting
any selected items.

When no items are selected, OnSelectionChange disables m_code_edit and
m_code_remove and then returns. Since that was already done, the call
doesn't change anything and can be removed.
2024-08-25 23:44:17 -07:00
Dentomologist f4db168a8e CheatsManager: Create ARCodeWidget and GeckoCodeWidget only once.
Create ARCodeWidget and GeckoCodeWidget once on startup rather than
every time a game is launched or shutdown.

In addition to losing focus on the tab (since the previous widget and
tab no longer existed), the behavior prior to this commit could cause a
crash if the user initiated a game shutdown and then opened a code edit
window since the AR/GeckoCodeWidget would get deleted in the meantime.
2024-08-25 23:44:17 -07:00
Dentomologist 232d24109d Extract ARCodeWidget/GeckoCodeWidget code loading to functions 2024-08-25 23:44:17 -07:00
Dentomologist ee35aa49a2 ARWidget: Disable Edit and Remove buttons when no code is selected
Also some minor refactoring of nearby/related code:
* Make non-obvious variable types explicit instead of auto.
* Throw some consts around.
* Use setDisabled(empty) instead of setEnabled(!empty).
2024-08-25 23:44:17 -07:00
mitaclaw ffaba26830 BranchWatchDialog: Refactor For LoadQSettings / SaveQSettings 2024-08-24 00:29:53 -07:00
mitaclaw 7b89730daa BranchWatchDialog: Defer Layout Construction When Possible
The main layout, tool controls layout, and misc. controls layout all don't need the QLayout constructed so early.
2024-08-24 00:29:52 -07:00
mitaclaw 9eb79f1d28 BranchWatchDialog: De-lambda-ize Constructor 2024-08-24 00:29:52 -07:00
mitaclaw b6c20b715a BranchWatch: Don't Save Irrelevant Hits In Reduction Phase 2024-08-24 00:29:52 -07:00
JosJuice dcf8ab0189 Android: Wait for surface in Run
When we boot the core, it needs to have a valid surface to draw graphics
to. Our Kotlin code does wait for a valid surface to exist before it
calls NativeLibrary.Run, but there's a chance for the surface to be
deleted before Run locks s_surface_lock. If that happens, the core boots
without a valid surface, which presumably would cause a crash. (I
haven't been able to reproduce the problem myself.)
2024-08-21 20:36:46 +02:00
duckymomo360 6c980b659c GameINI: Fix tattoo texture saving in Rabbids Go Home 2024-08-16 00:02:33 -07:00
Dr. Dystopia 0aa8e0f477 Remove redundant elaborated type specifiers 2024-08-14 10:41:36 +02:00
LillyJadeKatrin 8fac6061ac Display Achievements Message for Old Version
With this change, a different message is displayed if starting a game with RetroAchievements fails due to the Dolphin version being blocked as opposed to failing because the game hash is unsupported.
2024-08-08 21:38:16 -04:00
JosJuice ea7928b3cd Android: Replace log type names map with array
Storing the log type names in a map results in them getting re-sorted by
their keys, which doesn't quite give us the sorting we want. In
particular, the Achievements category ended up being sorted at R (for
RetroAchivements) instead of at A. Every use of the map is just
iterating through it, so there's no real reason why it has to be a map
anyway.
2024-06-15 20:06:34 +02:00
JosJuice 2fdeb85f0e Android: Replace deprecated setSystemUiVisibility
No functional change.
2024-06-15 15:02:50 +02:00
JosJuice dc6e5e7ff6 JitArm64: Replace a comparison to SP
Comparing with an immediate 0 has the same effect but is much easier to
read.
2024-05-26 08:47:20 +02:00
Dentomologist dbaa844e57 Remove defined-out code 2024-04-15 12:17:35 -07:00
JosJuice f58abf59c0 Jit: Skip discarded registers when flushing for interpreter fallback
Normally, the asserts added in 34b0a6ea90 are only triggered when
something actually went wrong in Dolphin. But there is one exception:
In FallBackToInterpreter, we flush all registers regardless of whether
they're discarded. This is fine as long as none of the discarded
registers are inputs to the instruction that the interpreter will run.

To avoid false positive asserts, this change adds a parameter to Flush
that controls whether to skip the asserts for discarded registers.

Additionally, an assert for discarded registers is added to
Arm64FPRCache::Flush. (Previously JitArm64 asserted for GPRs (and CRs)
only, whereas Jit64 asserted both for GPRs and FPRs. I most likely
didn't think of FPRs when writing 34b0a6ea90.)
2024-04-01 16:24:26 +02:00
Patrick Ferry 9e950c6959 Use Vertex Depth Range when zRange Exceeds farZ
When the inverted depth range is unsupported and zRange is greater than farZ then min_depth becomes a negative value and far_depth will then exceed a depth of 1.0 (which is outside the scope of most backends and greater than GX_MAX_DEPTH of the console).

This happens when the backend supports depth clamping the min_depth is not clamped to zero.
2023-09-28 04:17:56 +01:00
2258 changed files with 142629 additions and 148220 deletions
+2
View File
@@ -41,3 +41,5 @@ CMakeLists.txt.user
.idea/
# Ignore Visual Studio Code's working dir
/.vscode/
# Ignore flatpak-builder's cache dir
.flatpak-builder
+6
View File
@@ -84,3 +84,9 @@
[submodule "Externals/Vulkan-Headers"]
path = Externals/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git
[submodule "Externals/SFML/SFML"]
path = Externals/SFML/SFML
url = https://github.com/SFML/SFML.git
[submodule "Externals/zstd/zstd"]
path = Externals/zstd/zstd
url = https://github.com/facebook/zstd.git
+3 -13
View File
@@ -57,13 +57,9 @@ DEFAULT_CONFIG = {
# SHA checksum to verify the integrity of the app. This doesn't
# protect against malicious actors, but it does protect against
# running corrupted binaries and allows for access to the extended
# permisions needed for ARM builds
# permissions needed for ARM builds
"codesign_identity": "-",
# Minimum macOS version for each architecture slice
"arm64_mac_os_deployment_target": "11.0.0",
"x86_64_mac_os_deployment_target": "10.15.0",
# CMake Generator to use for building
"generator": "Unix Makefiles",
"build_type": "Release",
@@ -77,7 +73,7 @@ DEFAULT_CONFIG = {
"distributor": "None"
}
# Architectures to build for. This is explicity left out of the command line
# Architectures to build for. This is explicitly left out of the command line
# config options for several reasons:
# 1) Adding new architectures will generally require more code changes
# 2) Single architecture builds should utilize the normal generated cmake
@@ -146,11 +142,6 @@ def parse_args(conf=DEFAULT_CONFIG):
help=f"Install path for {arch} qt5 libraries",
default=conf[arch+"_qt5_path"])
parser.add_argument(
f"--{arch}_mac_os_deployment_target",
help=f"Deployment architecture for {arch} slice",
default=conf[arch+"_mac_os_deployment_target"])
return vars(parser.parse_args())
@@ -297,8 +288,7 @@ def build(config):
"-DCMAKE_PREFIX_PATH="+prefix_path,
"-DCMAKE_SYSTEM_PROCESSOR="+arch,
"-DCMAKE_IGNORE_PATH="+ignore_path,
"-DCMAKE_OSX_DEPLOYMENT_TARGET="
+ config[arch+"_mac_os_deployment_target"],
"-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0.0",
"-DMACOS_CODE_SIGNING_IDENTITY="
+ config["codesign_identity"],
'-DMACOS_CODE_SIGNING="ON"',
+24
View File
@@ -0,0 +1,24 @@
function(dolphin_inject_version_info target)
set(INFO_PLIST_PATH "$<TARGET_BUNDLE_DIR:${target}>/Contents/Info.plist")
add_custom_command(TARGET ${target}
POST_BUILD
COMMAND /usr/libexec/PlistBuddy -c
"Delete :CFBundleShortVersionString"
"${INFO_PLIST_PATH}"
|| true
COMMAND /usr/libexec/PlistBuddy -c
"Delete :CFBundleLongVersionString"
"${INFO_PLIST_PATH}"
|| true
COMMAND /usr/libexec/PlistBuddy -c
"Delete :CFBundleVersion"
"${INFO_PLIST_PATH}"
|| true
COMMAND /usr/libexec/PlistBuddy -c
"Merge '${CMAKE_BINARY_DIR}/Source/Core/VersionInfo.plist'"
"${INFO_PLIST_PATH}")
endfunction()
+15 -16
View File
@@ -19,28 +19,27 @@ function(dolphin_make_imported_target_if_missing target lib)
endif()
endfunction()
function(dolphin_optional_system_library library)
function(dolphin_optional_system_library out_use_system library)
string(TOUPPER ${library} upperlib)
set(USE_SYSTEM_${upperlib} "" CACHE STRING "Use system ${library} instead of bundled. ON - Always use system and fail if unavailable, OFF - Always use bundled, AUTO - Use system if available, otherwise use bundled, blank - Delegate to USE_SYSTEM_LIBS. Default is blank.")
if("${USE_SYSTEM_${upperlib}}" STREQUAL "")
if(APPROVED_VENDORED_DEPENDENCIES)
string(TOLOWER ${library} lowerlib)
if(lowerlib IN_LIST APPROVED_VENDORED_DEPENDENCIES)
set(RESOLVED_USE_SYSTEM_${upperlib} AUTO PARENT_SCOPE)
set(${out_use_system} AUTO PARENT_SCOPE)
else()
set(RESOLVED_USE_SYSTEM_${upperlib} ON PARENT_SCOPE)
set(${out_use_system} ON PARENT_SCOPE)
endif()
else()
set(RESOLVED_USE_SYSTEM_${upperlib} ${USE_SYSTEM_LIBS} PARENT_SCOPE)
set(${out_use_system} ${USE_SYSTEM_LIBS} PARENT_SCOPE)
endif()
else()
set(RESOLVED_USE_SYSTEM_${upperlib} ${USE_SYSTEM_${upperlib}} PARENT_SCOPE)
set(${out_use_system} ${USE_SYSTEM_${upperlib}} PARENT_SCOPE)
endif()
endfunction()
function(dolphin_add_bundled_library library bundled_path)
string(TOUPPER ${library} upperlib)
if (${RESOLVED_USE_SYSTEM_${upperlib}} STREQUAL "AUTO")
function(dolphin_add_bundled_library library use_system bundled_path)
if (${use_system} STREQUAL "AUTO")
message(STATUS "No system ${library} was found. Using static ${library} from Externals.")
else()
message(STATUS "Using static ${library} from Externals")
@@ -52,9 +51,9 @@ function(dolphin_add_bundled_library library bundled_path)
endfunction()
function(dolphin_find_optional_system_library library bundled_path)
dolphin_optional_system_library(${library})
dolphin_optional_system_library(use_system ${library})
string(TOUPPER ${library} upperlib)
if(RESOLVED_USE_SYSTEM_${upperlib})
if(use_system)
find_package(${library} ${ARGN})
# Yay for cmake packages being inconsistent
if(DEFINED ${library}_FOUND)
@@ -62,7 +61,7 @@ function(dolphin_find_optional_system_library library bundled_path)
else()
set(prefix ${upperlib})
endif()
if((NOT ${found}) AND (NOT ${RESOLVED_USE_SYSTEM_${upperlib}} STREQUAL "AUTO"))
if((NOT ${prefix}_FOUND) AND (NOT ${use_system} STREQUAL "AUTO"))
message(FATAL_ERROR "No system ${library} was found. Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
endif()
endif()
@@ -70,17 +69,17 @@ function(dolphin_find_optional_system_library library bundled_path)
message(STATUS "Using system ${library}")
set(${prefix}_TYPE "System" PARENT_SCOPE)
else()
dolphin_add_bundled_library(${library} ${bundled_path})
dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
set(${prefix}_TYPE "Bundled" PARENT_SCOPE)
endif()
endfunction()
function(dolphin_find_optional_system_library_pkgconfig library search alias bundled_path)
dolphin_optional_system_library(${library})
dolphin_optional_system_library(use_system ${library})
string(TOUPPER ${library} upperlib)
if(RESOLVED_USE_SYSTEM_${upperlib})
if(use_system)
pkg_search_module(${library} ${search} ${ARGN} IMPORTED_TARGET)
if((NOT ${library}_FOUND) AND (NOT ${RESOLVED_USE_SYSTEM_${upperlib}} STREQUAL "AUTO"))
if((NOT ${library}_FOUND) AND (NOT ${use_system} STREQUAL "AUTO"))
message(FATAL_ERROR "No system ${library} was found. Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
endif()
endif()
@@ -89,7 +88,7 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
dolphin_alias_library(${alias} PkgConfig::${library})
set(${library}_TYPE "System" PARENT_SCOPE)
else()
dolphin_add_bundled_library(${library} ${bundled_path})
dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
set(${library}_TYPE "Bundled" PARENT_SCOPE)
endif()
endfunction()
+1 -1
View File
@@ -11,7 +11,7 @@
# FFmpeg_LIBRARIES: aggregate all the paths to the libraries
# FFmpeg_FOUND: True if all components have been found
#
# This module defines the following targets, which are prefered over variables:
# This module defines the following targets, which are preferred over variables:
#
# FFmpeg::<component>: Target to use <component> directly, with include path,
# library and dependencies set up. If you are using a static build, you are
+11 -6
View File
@@ -87,9 +87,10 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
endif()
FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
STRING(REGEX MATCH ".*#define SFML_VERSION_MAJOR ([0-9]+).*#define SFML_VERSION_MINOR ([0-9]+).*" SFML_CONFIG_HPP_CONTENTS "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX MATCH "#define SFML_VERSION_MAJOR[ \t]+([0-9]+)" SFML_VERSION_MAJOR_MATCH "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX MATCH "#define SFML_VERSION_MINOR[ \t]+([0-9]+)" SFML_VERSION_MINOR_MATCH "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE "#define SFML_VERSION_MAJOR[ \t]+([0-9]+)" "\\1" SFML_VERSION_MAJOR "${SFML_VERSION_MAJOR_MATCH}")
STRING(REGEX REPLACE "#define SFML_VERSION_MINOR[ \t]+([0-9]+)" "\\1" SFML_VERSION_MINOR "${SFML_VERSION_MINOR_MATCH}")
math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10 + ${SFML_FIND_VERSION_MINOR}")
# if we could extract them, compare with the requested version number
@@ -102,10 +103,14 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_VERSION_OK FALSE)
endif()
else()
# SFML version is < 2.0
if (SFML_REQUESTED_VERSION GREATER 19)
# SFML version is < 3.0
if (SFML_REQUESTED_VERSION GREATER 29)
set(SFML_VERSION_OK FALSE)
set(SFML_VERSION_MAJOR 1)
if (SFML_REQUESTED_VERSION GREATER 19)
set(SFML_VERSION_MAJOR 1)
else()
set(SFML_VERSION_MAJOR 2)
endif()
set(SFML_VERSION_MINOR x)
endif()
endif()
+8 -3
View File
@@ -30,8 +30,10 @@ if(GIT_FOUND)
ERROR_QUIET)
endif()
string(TIMESTAMP DOLPHIN_WC_BUILD_DATE "%Y-%m-%d" UTC)
# version number
set(DOLPHIN_VERSION_MAJOR "2409")
set(DOLPHIN_VERSION_MAJOR "2506")
set(DOLPHIN_VERSION_MINOR "0")
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
@@ -65,6 +67,9 @@ endfunction()
configure_source_file("Source/Core/Common/scmrev.h")
if(APPLE)
configure_source_file("Source/Core/DolphinQt/Info.plist")
configure_source_file("Source/Core/MacUpdater/Info.plist")
configure_source_file("Source/Core/VersionInfo.plist")
endif()
if(LINUX)
configure_source_file("Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml")
endif()
+36 -19
View File
@@ -24,7 +24,7 @@ endif()
# Minimum OS X version.
# This is inserted into the Info.plist as well.
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15.0" CACHE STRING "")
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0.0" CACHE STRING "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/CMake/FlagsOverride.cmake")
@@ -44,7 +44,7 @@ endif()
set(COMPILER ${CMAKE_CXX_COMPILER_ID})
if (COMPILER STREQUAL "GNU")
set(COMPILER "GCC") # perfer printing GCC instead of GNU
set(COMPILER "GCC") # prefer printing GCC instead of GNU
endif()
# Enforce minimum compiler versions that support the c++20 features we use
@@ -98,6 +98,7 @@ option(ENABLE_GENERIC "Enables generic build that should run on any little-endia
option(ENABLE_HEADLESS "Enables running Dolphin as a headless variant" OFF)
option(ENABLE_ALSA "Enables ALSA sound backend" ON)
option(ENABLE_PULSEAUDIO "Enables PulseAudio sound backend" ON)
option(ENABLE_CUBEB "Enables Cubeb sound backend" ON)
option(ENABLE_LLVM "Enables LLVM support, for disassembly" ON)
option(ENABLE_TESTS "Enables building the unit tests" ON)
option(ENABLE_VULKAN "Enables vulkan video backend" ON)
@@ -123,6 +124,11 @@ option(OPROFILING "Enable profiling" OFF)
# TODO: Add DSPSpy
option(DSPTOOL "Build dsptool" OFF)
# RetroAchievements developer tools require Windows hooks
if(WIN32)
option(RC_CLIENT_SUPPORTS_RAINTEGRATION "Enables RetroAchievements developer tools" ON)
endif()
# Enable SDL by default on operating systems that aren't Android.
if(NOT ANDROID)
option(ENABLE_SDL "Enables SDL as a generic controller backend" ON)
@@ -143,6 +149,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
option(ENABLE_VTUNE "Enable Intel VTune integration for JIT code." OFF)
if(NOT ANDROID)
option(ENABLE_HWDB "Enables the udev hardware database" ON)
option(ENABLE_EVDEV "Enables the evdev controller backend" ON)
endif()
endif()
@@ -406,7 +413,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14.0)
# Workaround: the llvm libc++ and versions of clang eariler than 14 have a bug with consteval
# Workaround: the llvm libc++ and versions of clang earlier than 14 have a bug with consteval
# so we define FMT_CONSTEVAL to blank to just disable consteval in fmt
add_definitions(-DFMT_CONSTEVAL=)
endif()
@@ -565,6 +572,16 @@ if(OPROFILING)
endif()
endif()
if(ENABLE_HWDB)
find_package(LIBUDEV REQUIRED)
if(LIBUDEV_FOUND)
message(STATUS "libudev found, enabling hardware database")
add_definitions(-DHAVE_LIBUDEV=1)
else()
message(FATAL_ERROR "Couldn't find libudev. Can't build hardware database.\nDisable ENABLE_HWDB if you wish to build without hardware database support")
endif()
endif()
if(ENABLE_EVDEV)
find_package(LIBUDEV REQUIRED)
find_package(LIBEVDEV REQUIRED)
@@ -585,7 +602,7 @@ if(UNIX)
endif()
if(ENABLE_SDL)
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.30.6)
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.30.9)
endif()
if(ENABLE_ANALYTICS)
@@ -672,7 +689,7 @@ dolphin_make_imported_target_if_missing(LibLZMA::LibLZMA LIBLZMA)
dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Externals/zstd)
dolphin_find_optional_system_library_pkgconfig(ZLIB zlib-ng ZLIB::ZLIB Externals/zlib-ng)
dolphin_find_optional_system_library_pkgconfig(ZLIB zlib>=1.3.1 ZLIB::ZLIB Externals/zlib-ng)
dolphin_find_optional_system_library_pkgconfig(MINIZIP
"minizip>=4.0.4" minizip::minizip Externals/minizip-ng
@@ -695,12 +712,10 @@ if (APPLE OR WIN32)
include_directories(Externals/ed25519)
endif()
# Using static soundtouch from Externals
# Unable to use system soundtouch library: We require shorts, not floats.
add_subdirectory(Externals/soundtouch)
include_directories(Externals/soundtouch)
dolphin_find_optional_system_library(CUBEB Externals/cubeb)
if(ENABLE_CUBEB)
dolphin_find_optional_system_library(CUBEB Externals/cubeb)
add_definitions(-DHAVE_CUBEB)
endif()
if(NOT ANDROID)
dolphin_find_optional_system_library_pkgconfig(
@@ -709,7 +724,7 @@ if(NOT ANDROID)
add_definitions(-D__LIBUSB__)
endif()
dolphin_find_optional_system_library(SFML Externals/SFML 2.1 COMPONENTS network system)
dolphin_find_optional_system_library(SFML Externals/SFML 3.0 COMPONENTS Network System)
if(USE_UPNP)
dolphin_find_optional_system_library(MINIUPNPC Externals/miniupnpc 1.6)
@@ -783,14 +798,16 @@ if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h)
endif()
if(APPLE)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/VersionInfo.plist)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/VersionInfo.plist)
endif()
endif()
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Flatpak)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml)
endif()
endif()
@@ -801,7 +818,7 @@ endif()
add_custom_target(
dolphin_scmrev
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DPROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} -DDISTRIBUTOR=${DISTRIBUTOR} -DDOLPHIN_DEFAULT_UPDATE_TRACK=${DOLPHIN_DEFAULT_UPDATE_TRACK} -DGIT_FOUND=${GIT_FOUND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DDOLPHIN_WC_REVISION=${DOLPHIN_WC_REVISION} -DDOLPHIN_WC_DESCRIBE=${DOLPHIN_WC_DESCRIBE} -DDOLPHIN_WC_BRANCH=${DOLPHIN_WC_BRANCH} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/ScmRevGen.cmake
BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist"
BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist" "${CMAKE_CURRENT_BINARY_DIR}/Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml"
VERBATIM
)
+6 -6
View File
@@ -35,11 +35,11 @@ Summary:
## <a name="intro-aims"></a>Aims
This guide is for developers who wish to contribute to the Dolphin codebase. It will detail how to properly style and format code to fit this project. This guide also offers suggestions on specific functions and other varia that may be used in code.
This guide is for developers who wish to contribute to the Dolphin codebase. It details how to properly style and format code for this project. This guide also offers suggestions on specific functions and other elements that may be used in code.
Following this guide and formatting your code as detailed will likely get your pull request merged much faster than if you don't (assuming the written code has no mistakes in itself).
Following this guide and formatting your code as detailed will likely get your pull request merged much faster than if you don't (assuming the code itself has no mistakes).
This project uses clang-format (stable branch) to check for common style issues. In case of conflicts between this guide and clang-format rules, the latter should be followed instead of this guide.
This project uses clang-format 19.1 to check for common style issues. In case of conflicts between this guide and clang-format rules, the latter should be followed instead of this guide.
## <a name="intro-formatting-issues"></a>Checking and fixing formatting issues
@@ -49,7 +49,7 @@ In most cases, clang-format can and **should** be used to automatically reformat
- To run clang-format on all staged files:
```
git diff --cached --name-only | egrep '[.](cpp|h|mm)$' | xargs clang-format -i
git diff --cached --name-only | grep -E '[.](cpp|h|mm)$' | xargs -I {} clang-format -i {}
```
- Formatting issues can be checked for before committing with a lint script that is included with the codebase. To enable it as a pre-commit hook (assuming you are in the repository root):
@@ -189,7 +189,7 @@ Summary:
## <a name="cpp-code-general"></a>General
- The codebase currently uses C++20, though not all compilers support all C++20 features.
- See CMakeLists.txt "Enforce minimium compiler versions" for the currently supported compilers.
- See CMakeLists.txt "Enforce minimum compiler versions" for the currently supported compilers.
- Use the [nullptr](https://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
- If a [range-based for loop](https://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
- Obviously, try not to use `goto` unless you have a *really* good reason for it.
@@ -227,7 +227,7 @@ Summary:
## <a name="cpp-code-functions"></a>Functions
- If a function parameter is a pointer or reference and its value or data isn't intended to be changed, please mark that parameter as `const`.
- Functions that specifically modify their parameters should have the respective parameter(s) marked as a pointer so that the variables being modified are syntaxically obvious.
- Functions that specifically modify their parameters should have the respective parameter(s) marked as a pointer so that the variables being modified are syntactically obvious.
- What not to do:
```c++
+749 -18
View File
@@ -3,6 +3,10 @@
"title": "ZELDA OCARINA MULTI PACK",
"CAB9CED2D904F12CCB21F5B1DE9B5433620C3E13": "loophack"
},
"DPOJ8P": {
"title": "PHANTASY STAR ONLINE EPISODE I&II TRIAL EDITION",
"90BA66E25640A538FEFA6693715718139079FA7B": "Bypass Modem Detection"
},
"G2BE5G": {
"title": "Black & Bruised",
"7FFF6BDD93713BEDFD23739C32B86153FA19AEA0": "Disable interlaced rendering"
@@ -11,22 +15,164 @@
"title": "Black & Bruised",
"56E85D7285F10348E1E5354E379918D07E79EDA9": "Disable interlaced rendering"
},
"G2VE08": {
"title": "Viewtiful Joe 2",
"3ED033396382424533A263A39687A0961EC994A6": "16:9 Widescreen"
},
"G2VP08": {
"title": "Viewtiful Joe 2",
"EEBC3C5F04BB70AFCA1A4C3D638335CDC9142BA2": "16:9 Widescreen"
},
"G3RP52": {
"title": "Shrek 2",
"7F6B7743F0DDD3704B15882330E490103AE24E36": "16:9 Widescreen",
"4C9A8572A35F1DB85BBB2F32ED34288A343F1FC0": "60fps"
},
"G3YP52": {
"title": "Shrek SuperSlam (PAL)",
"FD61581C593EA34DD358AE33819FAB310F2CE961": "Force PAL60",
"3D102AFEE2F4945894E74BB702ED3ED2294C6FEC": "16:9 Widescreen"
},
"G4AEE9": {
"title": "Harvest Moon: Magical Melody",
"8C2564CF47BB6A9B57D712C90E17F459B0BB6CCD": "16:9 Aspect Ratio Fix"
},
"G4ME69": {
"title": "The Sims: Bustin Out GameCube",
"6FC6E5D91693FAABE25CC721F2121CB0B5CA9D12": "16:9 Widescreen"
},
"G5SE7D": {
"title": "Spyro: A Hero's Tail",
"16119398BFE241A84151C046E0BC5BCF89D22049": "16:9 Widescreen",
"A5F2FB2B3BFF61F34F8AB1DD5A912A0FD8DFA720": "Remove Bloom"
},
"G5SP7D": {
"title": "Spyro: A Hero's Tail",
"718AA8BD831961C33114852FDA75BB58F768F46A": "16:9 Widescreen"
},
"G8ME01": {
"title": "Paper Mario",
"F6E8264CF14D0189219C1E2D20C4182F190F4B88": "16:9 Aspect Ratio Fix - Normal HUD",
"8C2FC3FC6F7766AA8E87425BF3BDD2E46E73DE71": "16:9 Aspect Ratio Fix - Centered HUD",
"8EA4C7B80ADE3E8FEC28EEFA3A046B6B04162E81": "16:9 Aspect Ratio Fix - Stretched HUD",
"AE3DBE2604CA0660165CA870C4B80E2B523C9475": "16:9 Aspect Ratio Fix - Centered HUD with letterboxing"
},
"G8MJ01": {
"title": "Paper Mario",
"631CE99BDE3F1475303C00C67E3C130D4EB2547B": "16:9 Aspect Ratio Fix - Normal HUD",
"B3181CA1AAB11EAE9132184DA48D76E775AC0A24": "16:9 Aspect Ratio Fix - Centered HUD",
"81F7AD591F12A01DE82850457ECF147998D1238F": "16:9 Aspect Ratio Fix - Stretched HUD",
"904C0EEEF16D761F7BDF7099DEB384DD9AB26E00": "16:9 Aspect Ratio Fix - Centered HUD with letterboxing"
},
"G8MP01": {
"title": "Paper Mario",
"FB26AA84B0CB787705E84E869B649307776A2839": "16:9 Aspect Ratio Fix - Normal HUD",
"75AF5D7FA49BE9C3C73EA1482B49CD9B36CE817E": "16:9 Aspect Ratio Fix - Centered HUD",
"C5F8A81520193418C07C7BC4881F02BE9C4DC9BC": "16:9 Aspect Ratio Fix - Stretched HUD",
"C2E5003E74551DF693A7CB814850CA51D77549EF": "16:9 Aspect Ratio Fix - Centered HUD with letterboxing"
},
"G9SE8P": {
"title": "Sonic Heroes",
"CD043229AC47AC93D537B6A0725A2D0BB6FEF4E8": "16:9 Widescreen"
},
"G9SJ8P": {
"title": "Sonic Heroes",
"C55EF90B542AA3973352A232629A828BC22A8509": "16:9 Widescreen"
},
"G9SP8P": {
"title": "Sonic Heroes",
"9521774ADEE769CFCCE86F8170FE626387E73019": "16:9 Widescreen"
},
"GAFE01": {
"title": "Animal Crossing",
"D24F6D9BE5D79D3C795C2844634A0214BB68B5DA": "16:9 Widescreen",
"F9A812FF62A20D5440CAB79DB6AFAE068457A10E": "Make Game Save Copyable (donny2112)"
},
"GAL": {
"title": "Super Smash Bros Melee",
"DBDB50216B22CDFFF77BDD80261CD0FF75803D3B": "Trophy Viewer"
},
"GALE01r0": {
"title": "Super Smash Bros. Melee",
"9DC8D90D986FAC175F45006AFF20CF00EDFBE053": "Normal C Stick Functionality in Singleplayer Modes",
"18B4159E77013EDFE499A33281B771C442970E3B": "Proper 16:9 Widescreen Support",
"DC2BCA7D99EBDE1DC7C68CA6AC7F543B93FD6A67": "Properly Display in 4:3"
},
"GALE01r1": {
"title": "Super Smash Bros. Melee",
"F6030959C1CAC92F37287D556F18B3C5298FAD5B": "Normal C Stick Functionality in Singleplayer Modes"
},
"GALE01r2": {
"title": "Super Smash Bros. Melee",
"CEDF18354CDCFC49398551C629E51B053331A55B": "Proper 16:9 Widescreen Support",
"6B92D95F0EEA165EA84FD753F74B0A9E2079C2D7": "PAL Stock Icons",
"BCD918A72368B2A30E797C76994E7539A1C0B5D9": "Normal C Stick Functionality in Singleplayer Modes [Zauron]",
"CFDEEA8AD2A99394BFFEA7211EF03394E7471FA9": "Disable Rumble",
"D32ED4CD685F3FF649F7E749E8C182C657013918": "Widescreen Support v1.2 [Dan Salvato]"
},
"GALP01": {
"title": "Super Smash Bros. Melee",
"BFCBE098FE8679B9140A48EA1D8620D5A369697C": "Proper 16:9 Widescreen Support",
"5BA2933B8365E21553AA273B91954A4C722B1035": "Properly Display in 4:3",
"4817F202678559291F9F76B46DC7561A45D00B77": "Normal C Stick Functionality in Singleplayer Modes"
},
"GAZE69": {
"title": "Harry Potter and the Prisoner of Azkaban",
"BC281053C5266B21FDDC6C8996A6021DEA03D459": "60FPS"
},
"GBLE52": {
"title": "BLOODY ROAR(R): PRIMAL FURY",
"C0F3AB3BBC9B21F4BF25F44E48CF1CD36D2B3F45": "16:9 Widescreen"
},
"GBLP52": {
"title": "BLOODY ROAR(R): PRIMAL FURY",
"797040CB097BFD369490A1BE29659929D76CE6F7": "16:9 Widescreen"
},
"GBRJ18": {
"title": "BLOODY ROAR(R): PRIMAL FURY",
"B3C867AB34D90E2E9C5B799D800F4C191DE279FA": "16:9 Widescreen"
},
"GBSE8P": {
"title": "BEACH SPIKERS",
"4148D453F61A5B81E53669335BC667E651865C76": "16:9 Widescreen"
},
"GBSP8P": {
"title": "BEACH SPIKERS",
"6CB029AE768BA5B9995D5F12C1EBB37B3D1FE242": "16:9 Widescreen"
},
"GC6E01": {
"title": "Pokémon Colosseum",
"2F64F98686E62B60E466E931A9EBCD19A750FF4E": "Allow Memory Card saving with Savestates"
"2F64F98686E62B60E466E931A9EBCD19A750FF4E": "Allow Memory Card saving with Savestates",
"DE932CCAD1B5EB1FAA8D08733BD0D3940C78382A": "16:9 Widescreen"
},
"GC6J01": {
"title": "ポケモンコロシアム",
"D8F327304A88FBC717BB1F775494C5F864B9E8D2": "Allow Memory Card saving with Savestates"
"D8F327304A88FBC717BB1F775494C5F864B9E8D2": "Allow Memory Card saving with Savestates",
"5CB4934396ABD43F7147EA13521C952728933874": "16:9 Widescreen"
},
"GC6P01": {
"title": "Pokémon Colosseum",
"EDEE0E28EEA1834868F2865336290FFBDFB9C6DA": "Allow Memory Card saving with Savestates"
"EDEE0E28EEA1834868F2865336290FFBDFB9C6DA": "Allow Memory Card saving with Savestates",
"05C9016BF58A628A3FD7B16E1B9BB0769A14846F": "16:9 Widescreen [Ralf]"
},
"GC8JA4": {
"title": "クラッシュ・バンディクー 爆走!ニトロカート",
"843297019804192AF1FC660BC85F4B10891D0BA3": "Fix C4 texture tiling (used for buttons and some character icons)"
},
"GCBE7D": {
"title": "Crash Bandicoot: The Wrath of Cortex",
"478DA1D596D8513C343850719155813CB61A56DD": "16:9 Widescreen"
},
"GCBP7D": {
"title": "Crash Bandicoot: The Wrath of Cortex",
"478DA1D596D8513C343850719155813CB61A56DD": "16:9 Widescreen",
"DF2C4DDF082C9E67919443C5ACC485AB2CF7F8D0": "60Hz"
},
"GCCE01": {
"title": "FINAL FANTASY Crystal Chronicles",
"6C107FEC15C76201233CA2645EB5FAB4FF9751CE": "Fix buffer overrun bug (crash at Goblin Wall)",
"483BDB94615C690045C3759795AF13CE76552286": "Fix GBA connections"
"483BDB94615C690045C3759795AF13CE76552286": "Fix GBA connections",
"BA0066518E7EA8599A81F8496BD39DE20CC369D6": "16:9 Widescreen"
},
"GCCJGC": {
"title": "FINAL FANTASY Crystal Chronicles",
@@ -34,7 +180,20 @@
},
"GCCP01": {
"title": "FINAL FANTASY Crystal Chronicles",
"2EAA60A8A115AD68A795109FB59E4A726D29016D": "Fix GBA connections"
"2EAA60A8A115AD68A795109FB59E4A726D29016D": "Fix GBA connections",
"2580E7379633CF4DE13B9EC945DB17543477828A": "16:9 Widescreen"
},
"GCN": {
"title": "Crash Nitro Kart",
"601FE183C9524ACCF068874DABD73921C86769CF": "Fix C4 texture tiling (used for buttons and some character icons)"
},
"GCVEEB": {
"title": "Cubivore",
"ADA686C90189D1D7D23E23E525EFC96EFA104BB9": "16:9 Widescreen"
},
"GD7E70": {
"title": "Dragon Ball Z: Budokai",
"95A17AFAAFD83E96CD1CC6242B8667F6A3DC8416": "Deinterlacing Fix"
},
"GDREAF": {
"title": "Dead to Rights",
@@ -44,6 +203,18 @@
"title": "Dead to Rights",
"E23D98B2CE185C3993A40F2495D37E41B971BF91": "Fix audio issues"
},
"GEDE01": {
"title": "Eternal Darkness",
"21068C3CE905FB0CFFAA7408A93154AF8A5295A2": "Fix startup hang"
},
"GEDJ01": {
"title": "Eternal Darkness",
"7061F3CF11BF64D3BA7F32CCF2BAC42FF3614AB6": "Fix startup hang"
},
"GEDP01": {
"title": "Eternal Darkness",
"6F1B00517CBA30BEB738EAA90E71221378CD570D": "Fix startup hang"
},
"GEME7F": {
"title": "Egg Mania: Eggstreme Madness",
"CB04E00918C9C0F161715D21D046ED6620F7ADEF": "Force Progressive Scan"
@@ -52,17 +223,61 @@
"title": "Egg Mania: Eggstreme Madness",
"CC2057185BB10DAD4A361412D024DFD586EE0130": "Force Progressive Scan"
},
"GEZE8P": {
"title": "BillyHatcher",
"5CEBCFBEA4E444495D2FD6D8B6607DFB2349CC1B": "16:9 Widescreen [gamemasterplc]"
},
"GF7E01": {
"title": "STARFOX ASSAULT",
"C59CCA3EF8A5E97B32EB64DB9AE80E652ED281C6": "16:9 Widescreen [gamemasterplc]"
},
"GF7P01": {
"title": "STARFOX ASSAULT",
"1230053B5C347B62E432EFD6635433A183D18619": "16:9 Widescreen [gamemasterplc]"
},
"GFQEA4": {
"title": "Frogger's Adventures: The Rescue",
"5CD9568CE58EF82EB371594667015C9B799454B9": "16:9 Widescreen"
},
"GFZJ01": {
"title": "F-Zero GX",
"F659D22CB1DFF15C3915D7630D838EED8DB0BA48": "Make Save Copyable"
},
"GFZP01": {
"title": "F-Zero GX",
"F659D22CB1DFF15C3915D7630D838EED8DB0BA48": "Make Save Copyable"
},
"GGTE01": {
"title": "ChibiRobo!",
"EF128E7A9C22676834F558BA0F0F7FD8B9028727": "16:9 Widescreen [darkludx]",
"5232A937D1D813FF58DD71D716284ED6AB535689": "Simple 60FPS",
"D40344111D989EA009901F8B1C45B5AC8D39E6D2": "Experimental 60fps"
},
"GGTJ01": {
"title": "ChibiRobo!",
"D62E777A2F019D7BD0AFFBCE876BD9AE408F1667": "Simple 60FPS",
"BEC2310911003AF9E4B984A4051E0F885B8CC825": "Experimental 60fps"
},
"GGTP01": {
"title": "ChibiRobo!",
"FA9CD330ECDA01275DA88BD0803DE47757D16A4E": "16:9 Widescreen",
"43FAD0DDD130BE1E4C8C7603EF6CA7DAA0DF5EE9": "Simple 60FPS",
"EB1ACD613BB432A3391CFFF1F0145A6ACE66B210": "Experimental 60fps"
},
"GGVD78": {
"title": "The SpongeBob SquarePants Movie",
"FE52240DF6D132C15A8324E8A477F2BF2250D208": "EFB Copy Fix"
"FE52240DF6D132C15A8324E8A477F2BF2250D208": "EFB Copy Fix",
"9D07DBB5EC2FAA47F2E4587FBD75FD6F3E7E91B0": "16:9 Widescreen"
},
"GGVE78": {
"title": "The SpongeBob SquarePants Movie",
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix"
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix",
"86E561452235BF88D41884558EF34F54CE0FEB48": "16:9 Widescreen"
},
"GGVP78": {
"title": "The SpongeBob SquarePants Movie",
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix"
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix",
"F9B2108D833084FA36A53E00F1647A9579F847D3": "16:9 Widescreen"
},
"GGVX78": {
"title": "The SpongeBob SquarePants Movie",
@@ -80,6 +295,27 @@
"title": "Resident Evil 2",
"BC7F3CFC97593AA2055C370C175950DC478D2709": "Fix audio issues"
},
"GHLE69": {
"title": "Harry Potter and the Sorcerer's Stone",
"742BFC79D8F0BA5D6215772B58F5A0EADD7BFAFF": "16:9 Widescreen"
},
"GHQE7D": {
"title": "The Simpsons: Hit & Run",
"520E5F718D3BD1291C55021776091E0DE0FB4822": "16:9 Widescreen"
},
"GHQP7D": {
"title": "The Simpsons: Hit & Run",
"AAE14CDC13A0C082A850DED85417100A8C8A0687": "16:9 Widescreen",
"884A33613AE8D916128E3FF39B3AA9F63DAADC58": "60Hz"
},
"GHSE69": {
"title": "Harry Potter and the Chamber of Secrets",
"3538CDBD13FA939B7BA5F0F82253401AFDD1E2CD": "16:9 Widescreen"
},
"GHSP69": {
"title": "Harry Potter and the Chamber of Secrets",
"409754E2EBB6F05DEE1AFC647E25B15D462638FF": "16:9 Widescreen"
},
"GICD78": {
"title": "The Incredibles",
"3A94591A149AE88C150AB3320BBC909FE54BAEA5": "EFB Copy Fix"
@@ -120,6 +356,52 @@
"title": "The Incredibles: Rise of the Underminer",
"485DA99FAB35646DAA2A138B0315361495ABE778": "EFB Copy Fix"
},
"GK2": {
"title": "Spider-Man 2",
"6B4C59C2A2C5D71C7A38C8513A76E6467E307A26": "16:9 Widescreen [Vague Rant]"
},
"GK2E52": {
"title": "Spider-Man 2",
"8F2397930A50C3C176188526EB9612578F9CBCE5": "60 FPS"
},
"GK4": {
"title": "Baten Kaitos Origins",
"4652969A4DA869FD28F2CAA3869A38F5C2AAFEB1": "16:9 Widescreen"
},
"GKB": {
"title": "Baten Kaitos Eternal Wings and the Lost Ocean",
"4652969A4DA869FD28F2CAA3869A38F5C2AAFEB1": "16:9 Widescreen Region-Free"
},
"GKBPAF": {
"title": "Baten Kaitos Eternal Wings and the Lost Ocean",
"8E4E0ABA0E6D102A33206F34F4DEE63159B3CB4F": "60Hz"
},
"GKDP01": {
"title": "Doshin the Giant",
"DF4657937DE730107B636C73E959277EB963D210": "16:9 Widescreen",
"6740D7B914CC897AF50798C0AB391965294FD1E1": "60Hz"
},
"GKWJ18": {
"title": "DreamMix TV World Fighters",
"696570101FA040778EAD310377C484C846D87430": "16:9 Widescreen"
},
"GKRPB2": {
"title": "Ribbit King",
"40D06A5C7A3D873ABC73DEDF573738C2E3E37FF0": "60Hz",
"69C01A4F91D991CF866237FED94A138308FC104F": "16:9 Widescreen"
},
"GKYE01": {
"title": "Kirby Air Ride",
"6520EF1B7D88F00747B120A3A010458602ED989D": "16:9 Widescreen"
},
"GKYJ01": {
"title": "Kirby Air Ride",
"47B8EF7D02831AA5C375C698797BF2D5475FEFF2": "16:9 Widescreen"
},
"GKYP01": {
"title": "Kirby Air Ride",
"69413C75036D2975716066E6574461B981FF0124": "16:9 Widescreen"
},
"GLEE08": {
"title": "Resident Evil 3: Nemesis",
"7355F358CAC6F418D37E4C23E64F7867D46E4FC9": "Fix audio issues"
@@ -146,12 +428,222 @@
},
"GLSP64": {
"title": "Gladius",
"3D0894616C9A7FA5ED91C1D2F461BF14DF47ECEC": "Fix freeze in opening cutscene"
"3D0894616C9A7FA5ED91C1D2F461BF14DF47ECEC": "Fix freeze in opening cutscene",
"8E7A544C10E7A5E2F0304A0D2586879627EF6586": "16:9 Widescreen",
"B67144E87B54246137142992A3BC83DC13BE68A7": "60Hz"
},
"GM4E01": {
"title": "Mario Kart: Double Dash!!",
"78BE50F93E81A1972CA31ABC318949E366E82BD0": "16:9 Widescreen v2",
"87D1A6A3E29ADA03B0D29C2F1841C18E62DB0A15": "16:9 Menu Backgrounds Add-On"
},
"GM4P01": {
"title": "Mario Kart: Double Dash!!",
"6D950B6EEFD6D304E1A424355B74A595D32BDF2F": "16:9 Widescreen v2",
"87D1A6A3E29ADA03B0D29C2F1841C18E62DB0A15": "16:9 Menu Backgrounds Add-On"
},
"GMBE8P": {
"title": "Super Monkey Ball",
"D12DE9E3941BCE6EB50B8DA92140E09AFC0104C8": "16:9 Widescreen",
"0151A6683E1FBFD20096807C54A6952C4A4BAD40": "NA Stretched HUD"
},
"GMBP8P": {
"title": "Super Monkey Ball",
"8A688981F33A2C53882EF08FCF20B88AD43EF417": "16:9 Widescreen"
},
"GMOP70": {
"title": "Micro Machines",
"CE4D298616BD42E4D8F8936B325CD1FD7F5B956B": "16:9 Widescreen",
"0CD2CC787A5FF551901E41C85C8AAC02017ECB89": "60Hz"
},
"GMPE01": {
"title": "Mario Party 4",
"D7249AC3C949FEB860CF4350C5B7B79AC16569F1": "QOL - Show Controller Port Number of Who Paused",
"E232B27564E9AA0C32DE163C9C056317A7B2B12E": "QOL - Allow Digital Presses for Map Screen",
"59607671BFC4717ACAF9807BB7EB0D9F982866D4": "QOL - Automatically Advance Text Boxes",
"CAEA37F3FEF89400513353EB85875F2A3AF4C03E": "QOL - Disable Advance on Results",
"F75FBBD838C5B84FF687962FBA9195B217DE132C": "QOL - Faster Boot Time",
"19F264DE7F07EAC9433CA4B591BEBA1EC976C9F1": "QOL - Increased Board Speed",
"C70391D4961A0E820DE40141C89341369A9F021B": "QOL - Increased Taunt Capabilities",
"F4E6913CF034E5778B9F9CA5FF448FF1B78B3333": "QOL - Instant Text Display",
"93621947019532F02C25937FD3EEEE21A788CB07": "QOL - Rumble Always Off",
"4F98592DB3DEE3857469A8D8605FAF4BD6F7C76D": "16:9 Widescreen"
},
"GMPJ01": {
"title": "Mario Party 4",
"A795811F2F0C92D9DCABDE97D9E39B47B1DBCEFD": "16:9 Widescreen"
},
"GMPP01": {
"title": "Mario Party 4",
"A795811F2F0C92D9DCABDE97D9E39B47B1DBCEFD": "16:9 Widescreen"
},
"GMSE01": {
"title": "Super Mario Sunshine",
"BD718F961DBA5372B1D0257D454D535746C453A0": "Widescreen",
"2805B1A0DD53EB64877D375D10F667700955720F": "60FPS"
},
"GMSJ01": {
"title": "Super Mario Sunshine",
"E8112A01040A06460E368F142C5D1FD0B4085D94": "16:9 Widescreen"
},
"GMSJ01r0": {
"title": "Super Mario Sunshine",
"9894B5B6B5215844D48411021FF8EECFE851D79D": "60FPS"
},
"GMSJ01r1": {
"title": "Super Mario Sunshine",
"2DB69DB7A3753D543CD85CA4C77B4EF0AED7486E": "60FPS"
},
"GMSP01": {
"title": "Super Mario Sunshine",
"0B7B89BF0868393076EF5F9DBD689DD0EDBCB84C": "Widescreen",
"D07009B710B3BBC6B12E54ED6A7969D58197EDAF": "60FPS"
},
"GNHE5d": {
"title": "NHL HITZ 2002",
"89393A24E2336841AA4CD0AD3BE1C9A66B89E9EF": "Nop Hack"
},
"GOCE5D": {
"title": "RoadKill",
"E4D800B90F16A15D9252EED1B2A23AEAF5CD230A": "16:9 Widescreen"
},
"GOME01": {
"title": "Mario Power Tennis",
"C33CBBF6F22195BF626104B4827200B3EE1CF30C": "16:9 Widescreen"
},
"GOMP01": {
"title": "Mario Power Tennis",
"874784CCD4AC3DC9C69654E471C18AD0F5E4D9AE": "16:9 Widescreen"
},
"GONE69": {
"title": "Medal of Honor: European Assault",
"6412A67E1C26E146A9526AFC9F0EE517B214069D": "Widescreen Hack Culling"
},
"GP4J18": {
"title": "Hudson Selection Vol. 3: Bonk's Adventure",
"BF4D2D6AF66F285E81173B3B20D5369DB6FB351B": "16:9 Widescreen"
},
"GP5E01": {
"title": "Mario Party 5",
"5BA3648D18346EDC97B23475D4748C637E6095A2": "QOL - Show Controller Port Number of Who Paused",
"41EF84663008668682BB75DC8B874E38669AE041": "QOL - Automatically Advance Text Boxes",
"6C36BEFE751131298BC8B39012892F6A6903CE60": "QOL - Disable Advance on Results",
"8E952E6E12639AC20F6F9FDD150C12F0C294DF43": "QOL - Faster Boot Time",
"4BD72B8ED75ED8EFB3329C104BAD114FDDB8AD2C": "QOL - Increased Board Speed",
"C5BA3C9D386D09DD6CB9242A12A0D041BEB93160": "QOL - Increased Capsule Throwing Speed",
"C360EBDDCB0237076052C983BD9719411CA67CDE": "QOL - Increased Taunt Capabilities",
"2CD4A06A3B9C18CC9EA2A2DEBD96E066CD1D700A": "QOL - Instant Text Display",
"5ED053787332DB5EEB8B963BA5DF197B58C6BB75": "16:9 Widescreen"
},
"GP5J01": {
"title": "Mario Party 5",
"81E69B6BEE85E06805EC24E1CFEA9405BF459DF8": "16:9 Widescreen"
},
"GP5P01": {
"title": "Mario Party 5",
"FD4FCCB97C06F0173A30D4CC9A99422B2C0ABA9B": "16:9 Widescreen"
},
"GP6E01": {
"title": "Mario Party 6",
"E645DF70CE0266D174D917A817A7FBEEE974A9F0": "QOL - Auto Advance Text Boxes",
"B089A3C80D5DA86ABF6258F8BFB1DC78BB54A973": "QOL - Faster Boot Time",
"798E566B621F6A32BF23C588E76EAC0776E2A8A3": "QOL - Disable Advance on Results",
"501C52ACF117950888A66DB2BEDBDFD7D9B20235": "QOL - Increased Board Speed",
"845F439278DA8CBC225658FF4E2F82D707422BFB": "QOL - Increased Orb Throwing Speed",
"0AED27341A06186AD92D5725C0B9693CA8F85B7B": "QOL - Increased Taunt Capabilities",
"5AAC4E21927D4AEE7AC329CE793D4CDAEDDF7A3F": "QOL - Instant Text Display",
"DF5D2F068D76ABF2B1C294D413B9154B8C356929": "QOL - Show Controller Port Number of Who Paused",
"B502AF0887792E9B140516D14BA75F99772C17BE": "16:9 Widescreen"
},
"GP6J01": {
"title": "Mario Party 6",
"88F50F8298F82E3E5C161277BD4A985CE893A9D0": "16:9 Widescreen"
},
"GP6P01": {
"title": "Mario Party 6",
"DCCE59CA987624C753F0A86BEBA4287635901C93": "16:9 Widescreen",
"138A86D43B5830BFE1926F58C0A4FBE2971BB02D": "Remove Black Bars"
},
"GP7E01": {
"title": "Mario Party 7",
"5E6F8C6C87D5944DB18A4E4F9A45F61EE87A4163": "QOL - Show Controller Port Number of Who Paused",
"82338AB5D82A7F398B4EB674CA4866DD1F4A1E65": "QOL - Auto Advance Text Boxes",
"D2F9CC0B9E52136E77187395FB7DA9B64B2C3B30": "QOL - Controller Options Always Acesssible",
"1939B5C575AE8FF6890BDDDD1B3FEA472D8CABA0": "QOL - Faster Boot Time",
"A644551162A61DE7997B2A84F5BFDEFFD3FC2FB5": "QOL - Disable Advance on Results",
"7E06A2EBCFECADB8074152B489984237A6FE9F21": "QOL - Increased Board Speed",
"6671BEE71920D6B845AE1257AFE3AB3B95CD6FBD": "QOL - Increased Orb Throwing Speed",
"9F60923F95FFE709CCD06966CD2DF743263934D1": "QOL - Increased Taunt Capabilities",
"48FA6002E42DA9BB83ABC980A32C60CE3B21C4FC": "QOL - Instant Text Display",
"87EBF72D90503EBC5CE9BC994795669E48A92A4A": "16:9 Widescreen"
},
"GP7J01": {
"title": "Mario Party 7",
"A081F0729068D233E99DC00C64E36CA33C945640": "16:9 Widescreen"
},
"GP7P01": {
"title": "Mario Party 7",
"75D6CDA4EA301A71F7701A0487544E79136850B9": "16:9 Widescreen",
"6D0D5B7CA58C38A3147F8ED981B5B21CC6C519CD": "60Hz"
},
"GPIE01": {
"title": "Pikmin v1.1 NTSC",
"A25CDDB79991F090BD7F12840AD06F13BD5CCF95": "No Blur"
},
"GPIE01r0": {
"title": "Pikmin v1.0 NTSC",
"2B58166A66644F984E64077A6245C94C79B51063": "16:9 Widescreen"
},
"GPIE01r1": {
"title": "Pikmin v1.1 NTSC",
"9A1545AB4E2B9216B95AFFA83420D723512DA8C8": "16:9 Widescreen",
"3337C767EAA21D30C6CFEAE9985FFCABFC63E2E3": "60FPS",
"CBD15E9104929F0631713AE482475CB2B90E71F2": "Disable Pikmin optimizations"
},
"GPIP01": {
"title": "Pikmin PAL",
"4ED79A548DBD7DBD35928A2F1138315FF103E260": "Turn off blur",
"5AE44D5B0E0D4C412B453B95CF5A41DBA4D685E6": "16:9 Widescreen",
"AE59FF751E167632AE283F38CC4B96BDF7B9B81F": "60Hz"
},
"GPNE08": {
"title": "P.N.03",
"ED3D9BB08C5F1D21BC8D5C73155C00E3C25C466F": "16:9 Widescreen [Ralf, darkludx]"
},
"GPNP08": {
"title": "P.N.03",
"469B18FE8219031D355557B836EF02B625040A4F": "16:9 Widescreen [Ralf]"
},
"GPOE8P": {
"title": "PHANTASY STAR ONLINE EPISODE I&II",
"17EB6CFB408EF27D44C053A1336C3B87B6A05018": "Save Validation Code v1.2/Plus",
"304DB311F2107E88EBCE058535B266F9263AA8E2": "Make Save Copyable NTSC Port - PLUS/1.2",
"9F6259132453DCC0607EAB35DB182C76818F2F9F": "Save Validation Code v 1.0/v1.1",
"7A4B3E596BA4FDA8F3FCF984079B3F44CB2D6AB3": "Make Save Copyable NTSC Port - 1.0/1.1"
},
"GPOE8Pr0": {
"title": "PHANTASY STAR ONLINE EPISODE I&II",
"99986BB1D4ABE45C429D48B01BFB578FEA69C14F": "16:9 Widescreen"
},
"GPOE8Pr1": {
"title": "PHANTASY STAR ONLINE EPISODE I&II",
"5563671A6702785FFE106DAB7EF3F4FE6D9F705B": "16:9 Widescreen (Plus) [Ralf]"
},
"GPOP8P": {
"title": "PHANTASY STAR ONLINE EPISODE I&II",
"40EC1590DB26C7C58D00E3065F1E404341EF0E73": "Game Save Valid",
"2F5FB98927DAFF141D1CCD1EACA8AF626397E284": "Game Save copyable",
"DF133C61C29D5CFA87A2A785C962C205F80E6D04": "16:9 Widescreen"
},
"GPVE01": {
"title": "PIKMIN 2 NTSC",
"E5B51080CFD518FE584CF3B61A1099CD032479D6": "16:9 Widescreen",
"271C40F5FC113896717DB0EEFED42E788CA3AC81": "60 FPS"
},
"GPVP01": {
"title": "PIKMIN 2 PAL",
"78F3C9A789827B063A6701987262276A66ABD82B": "16:9 Widescreen"
},
"GQPE78": {
"title": "SpongeBob SquarePants: Battle for Bikini Bottom",
"880B114E9A308084CAB92C004A9EE067B371C310": "EFB Copy Fix"
@@ -160,10 +652,117 @@
"title": "SpongeBob SquarePants: Battle for Bikini Bottom",
"5D9A14954AE8D639C9B254F3BA73A70F284BBC8D": "EFB Copy Fix"
},
"GQSDAF": {
"title": "TALES OF SYMPHONIA 1",
"CA82C44B2E8FC5C184E3FF935BC89661B7DB55D6": "16:9 Widescreen",
"952165FD78543EB6D2F5230F7570B0513773D332": "60Hz",
"DEB7DF358423F0EF30C9FD49F4F14590836D52A6": "No Blur"
},
"GQSEAF": {
"title": "TALES OF SYMPHONIA 1",
"EF448CF1FA6A15EB2661EA5338703C13D52EF65B": "Remove Blur",
"48AFE1D32843C6B5AD4337A49F15FD447DF2A752": "16:9 Widescreen"
},
"GQSFAF": {
"title": "TALES OF SYMPHONIA 1",
"76C30E1737CC5C3B5DE32532B5F9A5CD50B690F8": "16:9 Widescreen",
"986BAE5103CDE9286D2D34FD28FE2540D0759AAB": "No Blur"
},
"GR2E52": {
"title": "Lost Kingdoms II",
"5F55CE7DA7E1E3261CF2FF88F34CDA63BA511003": "16:9 Widescreen"
},
"GR2J52": {
"title": "Lost Kingdoms II",
"D3C6FA690BED07BFA65C2E1FCDE2FFA5AA0EEEE4": "16:9 Widescreen"
},
"GR2P52": {
"title": "Lost Kingdoms II",
"D7BCADD4E76B5E3F7D9D463F55A2777528E37E94": "16:9 Widescreen"
},
"GRNE52": {
"title": "LOST KINGDOMS",
"483D74C47AD1012606D591A226AB3144C7FB201C": "16:9 Widescreen"
},
"GRNJ52": {
"title": "LOST KINGDOMS",
"949281B7221B20680B7BC29E4754B73A326EBE85": "16:9 Widescreen"
},
"GRNP52": {
"title": "LOST KINGDOMS",
"11051B094FE5A8B2E73060BFF786C1588E36979A": "16:9 Widescreen"
},
"GROE5Z": {
"title": "Road Trip: The Arcade Edition",
"FADBAB5EC280CF8ED4C9536A33F4184BA210C9B0": "16:9 Widescreen"
},
"GRYE41": {
"title": "Rayman Arena",
"AF0A575EB6071EAC0D2EC3D2EA30A23EB05A4192": "Disable Culling to Fix Rise and Shrine Hang"
},
"GSAE01r0": {
"title": "Star Fox Adventures",
"0D529180B9B28BB06E21EDBDBA61C17EEF0FFB7F": "viWidth 704 Aspect Ratio Fix"
},
"GSAE01r1": {
"title": "Star Fox Adventures",
"CB15ED22625690A5DBE4607FE30160125421461D": "viWidth 704 Aspect Ratio Fix"
},
"GSAP01": {
"title": "Star Fox Adventures",
"749EDA62B1B73354599929F1B50E992E111C5493": "viWidth 704 Aspect Ratio Fix"
},
"GSNE8P": {
"title": "Sonic Adventure 2 Battle",
"D90F66C0D46D9BEF27C8E13BC8804DB1F382C8B1": "60Hz Aspect Ratio Fix",
"CFDF3FA5B48B347E49E8E521D7BE47FCC9A5CBF4": "16:9 Widescreen"
},
"GSNJ8P": {
"title": "Sonic Adventure 2 Battle",
"98DF9D67DE77F66A4B09F25C5621805DEB40865B": "60Hz Aspect Ratio Fix"
},
"GSNP8P": {
"title": "Sonic Adventure 2 Battle",
"D90F66C0D46D9BEF27C8E13BC8804DB1F382C8B1": "60Hz Aspect Ratio Fix"
},
"GSO": {
"title": "Sonic Mega Collection (US)",
"0D60D0593F6DA28B1236381B22082506B9533F0E": "16:9 Widescreen Region Free"
},
"GSPE69": {
"title": "The Simpsons: Road Rage",
"80E18A8963F4EFD3C03494C95934452FCB6E521B": "16:9 Widescreen"
},
"GSPP69": {
"title": "The Simpsons: Road Rage",
"162E87E9F5511CD82216811055836C11B374C45B": "16:9 Widescreen",
"E5DF2DF34D2F0BDEE4205C891576511EC572C5DC": "60Hz"
},
"GSWE64": {
"title": "Star Wars Rogue Squadron II: Rogue Leader",
"6480326CCA8FF64A4868EC6E9FDE9F38819A75A1": "16:9 Widescreen",
"85F65E4B627641862C1A6091D29A3BB0626B04C3": "Disable Dithering"
},
"GTEE01": {
"title": "1080: Avalanche",
"6B57EBCB9CC0ACE2EDA0F13E3F1F55F3FABC3A26": "16:9 Widescreen"
},
"GTEP01": {
"title": "1080: Avalanche",
"72785784363C46180AF8E388348FD77667E7D382": "16:9 Widescreen"
},
"GTOJAF": {
"title": "TALES OF SYMPHONIA 1",
"53A2EDF113F2ED7E54A16AA0E73FDB2C44C79DE5": "Remove Blur"
},
"GTZE41": {
"title": "Disney's Tarzan Untamed",
"ECCE87E0006475C73E7D936AA0150BD20166F9EF": "16:9 Widescreen"
},
"GTZP41": {
"title": "Disney's Tarzan Untamed",
"62D8F159B93167171E0860D96C4BB32A5BF5648B": "16:9 Widescreen"
},
"GU2D78": {
"title": "2 Games in 1: The Incredibles / Finding Nemo",
"CFF4C3F932B08732627572EDA1A0CD2D9C71AE0C": "EFB Copy Fix"
@@ -184,17 +783,82 @@
"title": "2 Games in 1: Nickelodeon SpongeBob Schwammkopf: Der Film + Nickelodeon SpongeBob Schwammkopf: Schlacht um Bikini Bottom",
"D54767785E139A8BC8C4B75573FBD5A0B686D8E3": "EFB Copy Fix"
},
"GUNE5Dr0": {
"title": "Gauntlet - Dark Legacy",
"C942EBCBE8A487C25E296EC1FAC2358DA1487DBD": "16:9 Widescreen",
"A441630EC5FF0EB74D2243A3092D22E69C6BEA02": "60Hz"
},
"GUNE5Dr1": {
"title": "Gauntlet - Dark Legacy",
"39BD84CBE2AFACFEDEC5E9020D1A8B0D36DD53F9": "16:9 Widescreen",
"05779F1A3D0C43305D52A95447D612CB424942C0": "60Hz"
},
"GUNP5D": {
"title": "Gauntlet - Dark Legacy",
"FE3BA1DAA1AF278A7839E27BF466B0BA0B390EC2": "16:9 Widescreen",
"3B20499A3F8D1D7CCA5B0015F2D80ECED25842A6": "50Hz"
},
"GV4E69": {
"title": "MVP Baseball 2005",
"8679891FCAA250FCFF670B26E0CB9875900D17FD": "Fix 2D Rendering"
},
"GVJE08": {
"title": "Viewtiful Joe",
"09EFDA75D876A675121C8344D8FDD09A70A1A846": "16:9 Widescreen"
},
"GVJP08": {
"title": "Viewtiful Joe",
"93938F4C6112C91549F2B52E6259170F7501EC07": "16:9 Widescreen"
},
"GVPE69": {
"title": "MVP Baseball 2004",
"3159CA79B0A890131763EA6CB163684BEE886E3F": "Fix 2D Rendering"
},
"GVSE8P": {
"title": "Virtua Striker 2002",
"4CE9C491160A4B631142EE9CE802C694163F1CA3": "16:9 Widescreen"
},
"GWRE01": {
"title": "WAVE RACE / BLUE STORM",
"AC42770B06662BE1DC863EC80F44B5E034C63664": "16:9 Widescreen"
},
"GWRP01": {
"title": "WAVE RACE / BLUE STORM",
"9DDDFAB28C4BD35CF64050E1EF684DC042B1AFFA": "16:9 Widescreen"
},
"GWWE01": {
"title": "WARIO WORLD",
"98B2E75D8E1CED4A964D3129A5DC10E30538CAA6": "16:9 Widescreen"
},
"GWWJ01": {
"title": "WARIO WORLD",
"2DAD9A5E2A140F02CCBA727C4BE7C74BAC156778": "16:9 Widescreen"
},
"GWWP01": {
"title": "WARIO WORLD",
"2DAD9A5E2A140F02CCBA727C4BE7C74BAC156778": "16:9 Widescreen"
},
"GWZE01": {
"title": "Dance Dance Revolution: Mario Mix",
"9EFC191DE6D21A1681FE241AB2EE4A131259F317": "16:9 Widescreen"
},
"GXCE01": {
"title": "Custom Robo",
"901A1E78A3A0124F55548507D3B3707125C64A8A": "16:9 Widescreen"
},
"GXSE8P": {
"title": "Sonic Adventure DX",
"4214C74DFB8A74FC3AA4A643E869BC4D9A38EDA0": "Aspect Ratio Fix",
"F50BBA440184FC77A4DFFAA58FF2BB888E2E072F": "16:9 Widescreen"
},
"GXSJ8P": {
"title": "Sonic Adventure DX",
"227909607984BBC3D36AAC7DB9DFE385F3363C49": "Aspect Ratio Fix"
},
"GXXE01": {
"title": "Pokémon XD: Gale of Darkness",
"64FAA15062F0D0C319F904BBDE9C4489A25D6369": "Allow Memory Card saving with Savestates"
"64FAA15062F0D0C319F904BBDE9C4489A25D6369": "Allow Memory Card saving with Savestates",
"2CA66DFAB3CC67D76AE06A378B1F0E9CBA5F3D68": "16:9 Widescreen"
},
"GXXJ01": {
"title": "ポケモンXD 闇の旋風ダーク・ルギア",
@@ -202,19 +866,63 @@
},
"GXXP01": {
"title": "Pokémon XD: Gale of Darkness",
"3CAFBC4AE6FC5CE9F53377F86AB5BD8F1BC8861A": "Allow Memory Card saving with Savestates"
"3CAFBC4AE6FC5CE9F53377F86AB5BD8F1BC8861A": "Allow Memory Card saving with Savestates",
"02716B2585BEE74F8FCDD97A78F6A0D3DC7F331B": "16:9 Widescreen"
},
"GYFPA4": {
"title": "Yu-Gi-Oh! The Falsebound Kingdom",
"402ED10AC842041AB4B39AE8F2D81B2D7AEF9CB4": "60Hz"
},
"GZ2E01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack"
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack",
"E7521ED27BFC972628906CBE8D5403ED57253BB8": "16:9 Widescreen v2"
},
"GZ2J01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack"
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack",
"F985A0A58D8E2B23E8A557FAFF8D367AFFEADD07": "16:9 Widescreen"
},
"GZ2P01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"0F63623D4D984B7706F718F57C0ABDB6DBADCF8D": "Hyrule Field Speed Hack"
"0F63623D4D984B7706F718F57C0ABDB6DBADCF8D": "Hyrule Field Speed Hack",
"CAC38B0D334B925A57AA3118D35932B8A185137E": "16:9 Widescreen v2"
},
"GZ3E70": {
"title": "Dragon Ball Z 2",
"167F9E9A9B372CB3A01F308B46FF1403F8599C51": "16:9 Widescreen",
"2E163CB5FE724EB49B31CF607E5B9AFDA031DDD5": "Deinterlacing Fix"
},
"GZDP70": {
"title": "Godzilla: Destroy All Monsters Melee",
"2E424E0BBAE6EF5D6A8FB4224EA1D0746BAC37D3": "16:9 Widescreen"
},
"GZLE01": {
"title": "The Legend of Zelda The Wind Waker",
"78EA34CEF8E01701491C280F155F1C12EC9BF1A2": "Remove Distance Blur",
"9FA864EE7DD8CE7FF538EB4E0243F20137430BD8": "16:9 Widescreen"
},
"GZLJ01": {
"title": "The Legend of Zelda The Wind Waker",
"E03B61989025CA33937E63A057E6E40A403811BC": "16:9 Widescreen"
},
"GZLP01": {
"title": "The Legend of Zelda The Wind Waker",
"14BECBEA4DD281EBD0F7FE7DEE8020B6F2418ACD": "Remove Distance Blur",
"3EFFF6C52B5633A1729FAA6883D8579E77F7D057": "16:9 Widescreen"
},
"GZPE70": {
"title": "Zapper: One Wicked Cricket",
"7142F2495507AC7136992128ED0FCA6BC72B61F4": "16:9 Widescreen"
},
"GZPP70": {
"title": "Zapper: One Wicked Cricket",
"591FD6C9668C79FF1CE8558EBED2486A7A327F05": "16:9 Widescreen",
"A59B84DB5486521AEE1C23B6C741ECD35216E5AD": "60Hz"
},
"GZSE70": {
"title": "Zoids: Battle Legends",
"8E86EAC7EA4F4D2854DD9020CD795630CA64C4EE": "16:9 Widescreen"
},
"HAF": {
"title": "Forecast Channel",
@@ -224,10 +932,6 @@
"title": "Region Select",
"AD12237401ABE9FE4A545AADB5C5AE10355E2076": "RSAPatch"
},
"RELJAB": {
"title": "SegaBoot",
"130F3594CAB57B85616F95C7126F4748AAC5867D": "DI Seed Blanker"
},
"RGQE70": {
"title": "Ghostbusters",
"5F4CF8D4DA19A0FF74FF9EB925AC0236069BFD59": "crashfix"
@@ -236,6 +940,33 @@
"title": "Ten Pin Alley 2",
"793642AC6862C2F3412035A9E3D7172CC4A1D5C7": "Fix crash on main menu"
},
"RM8E01": {
"title": "Mario Party 8",
"BCC4279F8B28636AD773F01540E78DF40EAD6087": "QOL - Faster Boot Time",
"B65AF1819966CD3435D88801E8C79704E3A52DB5": "QOL - Increased Board Speed",
"66495D7CB532FAE778AFC22CF45D17D0FFDE5310": "QOL - Increased Taunt Capabilities",
"B4186DDC54F33F4D6A22188EF50CEB43FB205673": "QOL - Increased Text Display",
"9D90A9C66AE8AD91B201B40C4145D1323B701A77": "QOL - Invert IR Stick for GameCube Mod",
"330DD53AB993A99576564FEFD222D7BD211B878F": "QOL - Remove Explanations",
"25223F9EFAABF601CAC7810004F124E4056598B1": "Extra - Disable Music",
"E61344EB1542A78D497981C307B6549985C7A05A": "16:9 Widescreen"
},
"RM8J01": {
"title": "Mario Party 8",
"A140BDCB8E1721CB6B4CD878E412113322258B57": "16:9 Widescreen"
},
"RM8P01": {
"title": "Mario Party 8",
"F664C32AFD3D785FC6E04D8990A3FA1C72A18C5C": "16:9 Widescreen"
},
"RMHE08": {
"title": "Monster Hunter Tri",
"CCF233DA57B3E75221870DE502955114B0D4E7FA": "Bloom OFF"
},
"RMHJ08": {
"title": "Monster Hunter Tri",
"29D3625B7ED577587E56AA07CB0EB8C47C97E823": "Bloom OFF"
},
"RMHP08": {
"title": "Monster Hunter Tri",
"1720C1173D4698167080DBFC4232F21757C4DA08": "Bloom OFF"
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -1,8 +1,5 @@
# D43E01 - Legend of Zelda, The - Ocarina of Time - Master Quest
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -1,8 +1,5 @@
# D43J01 - ZELDA OCARINA MULTI PACK
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
$loophack
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -5,9 +5,6 @@
FPRF = True
MMU = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -5,9 +5,6 @@
FPRF = True
MMU = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
FPRF = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
+5 -3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
@@ -18,3 +15,8 @@ EFBEmulateFormatChanges = True
[Video_Enhancements]
ArbitraryMipmapDetection = True
[Video_Settings]
# Allow the ArbitraryMipmapDetection setting to take effect.
EnableGPUTextureDecoding = False
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
MMU = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
+3 -3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
@@ -16,3 +13,6 @@ $Bypass Modem Detection
[Video_Settings]
SafeTextureCacheColorSamples = 512
[AR_RetroAchievements_Verified]
$Bypass Modem Detection
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
RealWiiRemoteRepeatReports = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -4,9 +4,6 @@
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
+22
View File
@@ -0,0 +1,22 @@
# E78JAF - Solvalou
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Hacks]
EFBEmulateFormatChanges = True
# Solves minor graphical issues when starting level and game over screen
#EFBToTextureEnable = False
[Video_Settings]
MSAA = 0
[Video_Enhancements]
ForceFiltering = False
ForceTrueColor = False
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -3,9 +3,6 @@
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
-3
View File
@@ -8,9 +8,6 @@ DSPHLE = False
# Values set here will override the Dolphin DSP settings.
EnableJIT = True
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.

Some files were not shown because too many files have changed in this diff Show More