Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
400 commits
Select commit Hold shift + click to select a range
55f0715
c++23: Replace Common::ToUnderlying with std::to_underlying
JoshuaVandaele Jan 9, 2026
e065b34
Merge pull request #14272 from OatmealDome/liquid-glass-begone
OatmealDome Jan 10, 2026
283218b
x64Emitter: Reduce padding in OpArg
JosJuice Jan 11, 2026
3ea3661
Jit64: Make TrampolineInfo smaller
JosJuice Jan 11, 2026
c54dc9d
JitRegister: Check IsEnabled before constructing string
JosJuice Jan 11, 2026
3c771ad
HotkeyManager: Don't allocate heap memory in GetInput
JosJuice Jan 11, 2026
79255f5
Merge pull request #14275 from JosJuice/hotkey-vector
JMC47 Jan 11, 2026
28a8fa5
Merge pull request #14229 from JoshuaVandaele/zlib-ng
JMC47 Jan 11, 2026
823d111
Merge pull request #14255 from JoshuaVandaele/bsd-fix
JMC47 Jan 11, 2026
79a4034
Merge pull request #14251 from JoshuaVandaele/cmake-editorconfig
JMC47 Jan 11, 2026
d74c6b5
CCache: Add support for Objective-C/Objective-C++
JoshuaVandaele Jan 8, 2026
dc8f299
Merge pull request #14273 from JosJuice/x64-oparg-padding
jordan-woyak Jan 11, 2026
5162608
Revert "Externals: Update zlib-ng to v2.3.2"
jordan-woyak Jan 12, 2026
03422d3
Merge pull request #14277 from jordan-woyak/revert-zlib-ng
JMC47 Jan 12, 2026
2aee998
Merge pull request #14199 from JosJuice/jit64-rcoparg-isimm
JMC47 Jan 12, 2026
a807341
Merge pull request #14244 from LeddaZ/kotlin-compilerdsl
JosJuice Jan 14, 2026
01b4f8b
Merge pull request #14245 from LeddaZ/android-materialyou-fix
JosJuice Jan 14, 2026
4c7cb26
Merge pull request #14246 from LeddaZ/android-gitignore
JosJuice Jan 14, 2026
7535373
GameINI: Enable EFB Access for PES 2009-2013
SuperSamus Jan 15, 2026
0e348ee
MenuBar: Add entries to open the config and cache folders
JoshuaVandaele Jan 15, 2026
a88c27d
Merge pull request #14284 from JoshuaVandaele/menubar-folder
jordan-woyak Jan 15, 2026
c7e063b
Merge pull request #14283 from SuperSamus/pes-gameini
JMC47 Jan 16, 2026
faa977f
LogitechMicWindow: Fix compilation when cubeb is disabled
sepalani Jan 16, 2026
9ec1d70
Merge pull request #14285 from sepalani/logitech-cubeb-fix
JMC47 Jan 16, 2026
f7b4d27
VideoCommon: Don't create mipmap vector in TextureInfo
JosJuice Jan 17, 2026
eedee51
Fix MacUpdater build on CMake 3.31+
Sintendo Jan 17, 2026
1e0473e
Fix various typos and spelling mistakes
Sintendo Jan 17, 2026
3042918
Merge pull request #14213 from cscd98/readvalue
Dentomologist Jan 17, 2026
7ec5b06
Merge pull request #14287 from Sintendo/mac-cmake-fix
OatmealDome Jan 17, 2026
8a606fc
Merge pull request #14286 from JosJuice/textureinfo-vector
JMC47 Jan 17, 2026
b556bd9
Merge pull request #14268 from JoshuaVandaele/std-tounderlying
iwubcode Jan 17, 2026
e822cc3
c++23: Replace Common::Unreachable with std::unreachable
JoshuaVandaele Jan 8, 2026
dffc7a6
Common: Replace Result with C++23's std::expected.
jordan-woyak Jan 8, 2026
581bef6
Merge pull request #14250 from jordan-woyak/wmreal-bb-no-pool
JMC47 Jan 17, 2026
a7b695b
Merge pull request #14168 from jordan-woyak/kirby-wii-allow-immxfb
JMC47 Jan 17, 2026
663f71b
Merge pull request #14170 from jordan-woyak/gameini-immxfb-updates
JMC47 Jan 17, 2026
9e8e644
Merge pull request #14193 from jordan-woyak/budokaiprogressive
JMC47 Jan 17, 2026
a5b34d4
Merge pull request #14215 from Tilka/disasm
JMC47 Jan 17, 2026
d32db5e
Merge pull request #14256 from Tilka/we_cheer
JMC47 Jan 17, 2026
cffa442
Merge pull request #14258 from JoshuaVandaele/dinput-unconditional-mo…
JMC47 Jan 17, 2026
d098f2b
Merge pull request #14274 from JosJuice/jitregister-check-enabled
JMC47 Jan 17, 2026
0afdfd9
GMSE01: Added author credits for Gecko Codes
droidpeti Jan 17, 2026
035bcff
Merge pull request #14289 from Sintendo/typos
JMC47 Jan 18, 2026
3424983
JitRegister: Remove redundant check for open file
Dentomologist Jan 17, 2026
6d40f4e
Merge pull request #14265 from JoshuaVandaele/std-unreachable
iwubcode Jan 18, 2026
373e35e
Merge pull request #14267 from jordan-woyak/std-expected
iwubcode Jan 18, 2026
362d359
ARDecrypt: Code modernization.
jordan-woyak Dec 30, 2025
addeded
JitArm64: Always use double precision for inaccurate FMA
JosJuice Sep 28, 2025
7566660
Jit64: Add fres unit test
JosJuice Nov 2, 2025
fb07406
VideoCommon: Defer creating TextureInfo
JosJuice Jan 18, 2026
d8e123a
Merge pull request #14241 from jordan-woyak/ar-decode-cleanups
iwubcode Jan 18, 2026
f8b47c0
Merge pull request #14291 from JosJuice/defer-textureinfo
JMC47 Jan 18, 2026
fe668eb
Merge pull request #14033 from JosJuice/jitarm64-inaccurate-fma-double
JMC47 Jan 18, 2026
ff82ae3
Merge pull request #14064 from JosJuice/jit64-fres-unit-test
JMC47 Jan 18, 2026
84261cf
Arm64Emitter: Fix Q bit of vector SHL/URSHR encoding
JosJuice Aug 24, 2025
caad84c
JitArm64: Reduce register pressure for inaccurate FMA with accurate NaNs
JosJuice Aug 16, 2025
d5067b6
Jit64: Replace MOVSD with MOVAPD in software FMA
JosJuice Sep 28, 2025
6ac7ffc
Jit64: Return FixupBranch from HandleNaNs
JosJuice Aug 23, 2025
58487f1
Jit: Implement error-free transformation for single-precision FMA
JosJuice Aug 23, 2025
3b1a473
JitArm64: Special-case fmadds with single-precision inputs
JosJuice Oct 3, 2025
7109051
Merge pull request #14290 from Dentomologist/jitregister_remove_redun…
AdmiralCurtiss Jan 19, 2026
935f537
JitRegister: Fix IsEnabled when using VTune without perf
Dentomologist Jan 18, 2026
7490dea
JitRegister: Verify IOFile IsGood
Dentomologist Jan 18, 2026
f4b88af
JitRegister: Check Open return code
Dentomologist Jan 18, 2026
b07c78a
VideoCommon: Move TextureInfo getters to header
JosJuice Jan 19, 2026
bd96de5
Merge pull request #14292 from Dentomologist/jitregister_fix_isenable…
JosJuice Jan 19, 2026
2a77193
Merge pull request #14294 from JosJuice/textureinfo-getters-header
jordan-woyak Jan 19, 2026
9656332
Core: add game id to fifo logs, this makes it easier to test graphica…
iwubcode Dec 12, 2025
0ba32f7
Android: Detect when native code should flush unsaved data
JosJuice Apr 26, 2025
b065292
Core: Add a HookableEvent for UICommon::FlushUnsavedData.
jordan-woyak Apr 26, 2025
1d9e475
Common: Add TransferableSharedMutex class and unit tests.
jordan-woyak Oct 20, 2025
2322437
State: Simplify interthread communication and cleanups. Save/Load cal…
jordan-woyak Nov 3, 2025
67f27cb
Make WIL a submodule and update it
JoshuaVandaele Nov 26, 2025
009c53a
Merge pull request #14146 from jordan-woyak/cached-interp-fix-functio…
Dentomologist Jan 21, 2026
4dae6bf
Merge pull request #14173 from JoshuaVandaele/WIL-submodule
iwubcode Jan 22, 2026
39ecd27
GameSettings: Wall-E: Disable ImmediateXFBEnable to avoid stuck FMVs …
jordan-woyak Jan 23, 2026
b18abc4
Merge pull request #14296 from jordan-woyak/wall-e-disable-immxfb
JMC47 Jan 23, 2026
eec35a2
CMakeLists: Use `CMAKE_INTERPROCEDURAL_OPTIMIZATION` for LTO
SuperSamus Jan 23, 2026
3221e98
Merge pull request #13900 from JosJuice/jit-fma-double-rounding
JosJuice Jan 23, 2026
ad505b8
GameSettings: Add patches to limit framerate in 007 Quantum of Solace…
jordan-woyak Jan 22, 2026
f2e1c71
Common/FileSearch: Refactor DoFileSearch
Sintendo Dec 24, 2025
972ec95
Clean includes
Sintendo Dec 24, 2025
60ca062
Remove VectorToJStringArray
Sintendo Dec 26, 2025
c0e75f2
Core/ConfigLoaders: Refactor GetGameIniFilenames
Sintendo Jan 24, 2026
bc4b977
Core/AchievementManager: Refactor IsApprovedCode and users
Sintendo Jan 24, 2026
8e6d95a
Core/ConfigManager: Refactor LoadGameIni and friends
Sintendo Jan 24, 2026
b135537
Core/NetPlayServer: Pass game ID as string_view
Sintendo Jan 24, 2026
1ef7502
Merge pull request #14216 from iwubcode/gameid_fifo_log
JMC47 Jan 24, 2026
169f99c
DX, OGL: fix assert
oltolm Jan 24, 2026
388b1e8
Merge pull request #14230 from Sintendo/file-search
JosJuice Jan 24, 2026
38566eb
Merge pull request #14300 from jordan-woyak/speedhack-007qos
JMC47 Jan 24, 2026
533fd18
Merge pull request #14303 from Sintendo/game-ini
JMC47 Jan 24, 2026
cdbea88
Merge pull request #14225 from matellush/master
jordan-woyak Jan 25, 2026
e5b7f82
GameINI: Add patch to limit internal framerate of 4x4 Evo 2.
JMC47 Jan 22, 2026
a14c88b
Remove unused imports
SuperSamus Jan 23, 2026
5bedfe7
Merge pull request #14304 from SuperSamus/header-cleanup
OatmealDome Jan 26, 2026
168dbb0
Merge pull request #14302 from oltolm/opengl_assert
OatmealDome Jan 26, 2026
1b6a45d
Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-impro…
Dentomologist Jan 26, 2026
30cc4b3
Merge pull request #14264 from JoshuaVandaele/ccache-sdl
OatmealDome Jan 26, 2026
6e183e4
Merge pull request #14262 from JoshuaVandaele/ccache-objc
OatmealDome Jan 26, 2026
74ff1f7
Merge pull request #14299 from SuperSamus/cmake-ipo-modern
OatmealDome Jan 26, 2026
164110d
Merge pull request #14036 from TellowKrinkle/SkipPostprocess
OatmealDome Jan 26, 2026
c4c2aa8
Merge pull request #14253 from JosJuice/dsp-hle-memory
OatmealDome Jan 26, 2026
e28cb4b
CMake: Apply implot fix on Windows with non-VS generators
JoshuaVandaele Jan 26, 2026
8f662f7
InputConfig: Remove unused local variables
Dentomologist Jan 26, 2026
01cbed6
Merge pull request #14306 from Dentomologist/inputconfig_remove_unuse…
OatmealDome Jan 26, 2026
d474ae9
Merge pull request #14295 from JMC47/evoframerate
JMC47 Jan 27, 2026
4d2917d
Merge pull request #14305 from JoshuaVandaele/implot-ninja-win
OatmealDome Jan 27, 2026
8541dfa
GameSettings: Add patches to limit framerate in Dark Summit and menti…
jordan-woyak Jan 24, 2026
10b9da8
Merge pull request #14301 from jordan-woyak/speedhack-dark-summit
JMC47 Jan 27, 2026
bb7e011
Merge pull request #14254 from droidpeti/master
jordan-woyak Jan 27, 2026
51c8f18
feat: Add an option to preserve audio pitch when emulation speed chan…
Sam-Belliveau Jan 27, 2026
b102018
Merge pull request #14307 from Sam-Belliveau/granular-audio-stretching
JMC47 Jan 30, 2026
18f8ed6
RetroAchievements - Fix Aliases
LillyJadeKatrin Jan 28, 2026
e6bc8fb
WGL: Correctly load wglDestroyPbufferARB extension
JoshuaVandaele Jan 31, 2026
1627692
Merge pull request #14312 from JoshuaVandaele/wglDestroyPbufferARB
jordan-woyak Jan 31, 2026
6711d77
Merge pull request #14204 from Geotale/update-comment
Dentomologist Jan 31, 2026
ac19ef5
GameINI: Force Safe Texture Cache to Samurai Shodown Anthology
JMC47 Feb 1, 2026
183e12b
Common/MemArena: Add function for getting page size
JosJuice Dec 29, 2023
0888474
Core: Detect SR updates
JosJuice Jun 20, 2025
d3ec630
Core: Pre-shift pagetable_hashmask left by 6
JosJuice Jan 3, 2026
d87e8ab
ResourcePack: Fix loading resource packs
JoshuaVandaele Feb 2, 2026
c7de916
Merge pull request #14316 from JoshuaVandaele/resourcefix
JMC47 Feb 2, 2026
eac7b29
Merge pull request #14314 from JMC47/shodown
jordan-woyak Feb 3, 2026
dd2b94c
Merge pull request #13594 from jordan-woyak/state-cleanups
jordan-woyak Feb 3, 2026
201aa65
Core: Make RunOnCPUThread always non-blocking.
jordan-woyak Feb 3, 2026
64d4031
Merge pull request #14318 from jordan-woyak/RunOnCPUThread-always-non…
jordan-woyak Feb 4, 2026
083f3a7
Core: Create fastmem mappings for page address translation
JosJuice Jun 20, 2025
7b885b8
Core: Postpone page table updates when DR is unset
JosJuice Jun 20, 2025
9462e9d
Core: Update page table mappings incrementally
JosJuice Jun 20, 2025
0ce9529
Core: Don't create page table mappings before R/C bits are set
JosJuice Aug 2, 2025
b0e2a28
Core: Combine guest pages into host pages larger than 4K
JosJuice Dec 28, 2025
94283c9
Core: Don't call InitMMIO from MemoryManager::Init
JosJuice Dec 31, 2025
35ce08f
UnitTests: Add PageTableHostMappingTest
JosJuice Jan 3, 2026
c4b913d
Merge pull request #13768 from JosJuice/page-table-fastmem-2
JMC47 Feb 4, 2026
998de8a
WiiSpeakWindow: Add missing Dolphin icon
sepalani Feb 6, 2026
b4a6735
RiivolutionParser: Fix XML Param Parsing
Gabriela-Orzechowska Feb 1, 2026
b4cc818
Merge pull request #14315 from Gabriela-Orzechowska/fix_riivo_params
AdmiralCurtiss Feb 6, 2026
c792454
Merge pull request #14326 from sepalani/ico-wii-speak
JMC47 Feb 6, 2026
a8fbe8f
Merge pull request #14311 from LillyJadeKatrin/retroachievements-aliases
Dentomologist Feb 6, 2026
60351c1
Misc: fix compiler warning: implicit declaration of function
oltolm Feb 4, 2026
bd92388
Android: Rework input device hotplug
JosJuice Feb 7, 2026
0bc5a8a
Gecko/AR - Widescreen Fix for Mega Man X - Command Mission
ElTioRata Feb 8, 2026
ebc8c9d
Merge pull request #14330 from oltolm/static
JosJuice Feb 8, 2026
f84cb40
Revert "Disable Deferred EFB Copies on Mario kart Wii"
SuperSamus Feb 9, 2026
7e60de1
Merge pull request #14337 from SuperSamus/revert-7694-MKWDeferred
JMC47 Feb 9, 2026
2ba9af9
ChunkFile: Prevent PointerWrap::Do(T&) from compiling with pointers.
jordan-woyak Feb 10, 2026
fe517e2
Merge pull request #14339 from jordan-woyak/pointer-wrap-no-do-pointer
Dentomologist Feb 11, 2026
ddcf041
EXI_Device: Add missing include for PanicAlertFmtT
sepalani Feb 11, 2026
6f3282e
IOS/USB: Add missing vector header in Emulated/Microphone.h
sepalani Feb 11, 2026
59d255e
Merge pull request #14332 from ElTioRata/megaman-ws
Dentomologist Feb 11, 2026
112fcc9
Merge pull request #14341 from sepalani/hdr-exi
JosJuice Feb 11, 2026
ea80945
Merge pull request #14342 from sepalani/hdr-mic
JosJuice Feb 11, 2026
d8ca279
GameINI: Formatting updates to Super Monkey Ball Adventure
Windsurf7 Feb 13, 2026
7d92548
GameINI: Formatting updates to Super Monkey Ball on wii
Windsurf7 Feb 13, 2026
e1e1485
Qt/Android: CPU Clock Override max to 500%
dreamsyntax Feb 13, 2026
3ea6a26
GameINI: Formatting updates to Wario World
Windsurf7 Feb 13, 2026
5c879a4
GameINI: Formatting updates to The Legend of Zelda Twilight Princess
Windsurf7 Feb 13, 2026
2c2a8c5
GameINI: Formatting updates to The Legend of Zelda Four Swords Advent…
Windsurf7 Feb 13, 2026
1a0cbe2
Merge pull request #14375 from Windsurf7/loztp-gameini
JMC47 Feb 13, 2026
5440c77
Explicitly transfer control of SYSCONF to emulated system
JosJuice Jul 6, 2024
1cc9e83
Merge pull request #14329 from JosJuice/android-hotplug
JosJuice Feb 14, 2026
b398dc3
Merge pull request #12917 from JosJuice/transfer-sysconf-control
Dentomologist Feb 14, 2026
e387fa3
Merge pull request #14385 from dreamsyntax/cpu-clock-max
JMC47 Feb 15, 2026
bbd275c
Merge pull request #14377 from Windsurf7/lozfsa-gameini
JMC47 Feb 15, 2026
93afe08
Merge pull request #14370 from Windsurf7/warioworld-gameini
JMC47 Feb 15, 2026
cbcaba1
Merge pull request #14360 from Windsurf7/monkeyballadv-gameini
JMC47 Feb 15, 2026
4e0a4fe
Merge pull request #14361 from Windsurf7/monkeyballbanana-gameini
JMC47 Feb 15, 2026
c9457cf
Jit: Emit Branch Watch code only if it's enabled
SuperSamus Feb 8, 2026
5aacc1c
Merge pull request #13991 from SuperSamus/branch-watch-optional-emit
JosJuice Feb 15, 2026
c08db74
Add classic controller support code for RUUE01 - Animal Crossing: Cit…
spaceage64 Jan 14, 2026
d6b5af5
Merge pull request #14281 from spaceage64/add-classic-controller-codes
JMC47 Feb 15, 2026
2c62214
Added Triforce support
Jul 16, 2025
083faa8
DiscIO: Make Volume::DecodeString take a std::span so it can work wit…
jordan-woyak Oct 27, 2025
be2da8d
Triforce: Code cleanups.
jordan-woyak Oct 27, 2025
ce802f1
Triforce: Optimized code
Nov 6, 2025
56ed781
Triforce: Code fixes.
Nov 12, 2025
95442a2
Triforce: Warning silencing and other minor cleanups.
jordan-woyak Jan 19, 2026
a5eca09
AMMediaboard: Add NetworkCMDBufferCheck calls for reading of timeout …
jordan-woyak Jan 19, 2026
2d9d7e4
AMMediaboard: Replace magic number 15 with a MAX_IPV4_STRING_LENGTH c…
jordan-woyak Jan 19, 2026
71ef512
Triforce: Minor cleanups related to coding style and documentation
sepalani Jan 21, 2026
8570789
Triforce: Address some logging and error checks
sepalani Jan 21, 2026
fcb4d27
AMBaseboard: Convert union ICCommand into struct
sepalani Jan 21, 2026
77cb653
SI_DeviceAMBaseboard: Add validate_data_in_out helper
sepalani Jan 21, 2026
1c54e41
SI_DeviceAMBaseboard: Improve logging and validation edge cases
sepalani Jan 22, 2026
bfd83f3
SI_DeviceAMBaseboard: Add validate_jvs_io helper
sepalani Jan 25, 2026
f3321b2
SI_DeviceAMBaseboard: Improve bounds checking
sepalani Jan 26, 2026
355a4d8
AMMediaboard: Fix several warnings
sepalani Jan 26, 2026
0acb614
Triforce: Fix remaining issues
sepalani Jan 31, 2026
cbc7c2d
SI_DeviceAMBaseboard: Add missing bounds checks
sepalani Feb 2, 2026
2ffa7ce
SI_DeviceAMBaseboard: Fix log issues related to GeneralDriverOutput
sepalani Feb 4, 2026
5d2e93f
Common: Add SetPlatformSocketOptions function and SEND_FLAGS constant…
jordan-woyak Feb 5, 2026
f4b3f3c
AMMediaboard: Use SetPlatformSocketOptions and SEND_FLAGS.
jordan-woyak Feb 5, 2026
12df15e
AMMediaboard: Fix value in s_mediaboard_ranges array.
jordan-woyak Feb 5, 2026
cda3443
Common/BitUtils: Make SetBit constexpr.
jordan-woyak Feb 6, 2026
6940309
AMMediaboard: Translate between guest and host FDs to fix AMMBCommand…
jordan-woyak Feb 5, 2026
65def4e
AMMediaboard: Deduplicate code into AMMBCommandSetSockOpt.
jordan-woyak Feb 5, 2026
69c143d
AMMediaboard: Deduplicate code into AMMBCommandSocket.
jordan-woyak Feb 5, 2026
f7ff93b
AMMediaboard: Deduplicate code into AMMBCommandSend.
jordan-woyak Feb 5, 2026
ce85c4d
AMMediaboard: Deduplicate code into AMMBCommandRecv.
jordan-woyak Feb 5, 2026
0713045
AMMediaboard: Deduplicate code into AMMBCommandModifyMyIPaddr.
jordan-woyak Feb 5, 2026
f25c467
Common/UnixUtil: Only define CreateEventFD on Linux.
jordan-woyak Feb 6, 2026
5f6cd84
AMMediaboard: Emulate AMMBCommandSelect using poll/WSAPoll.
jordan-woyak Feb 5, 2026
587c825
AMMediaboard: Clean up and make a function for AMMBCommandAccept.
jordan-woyak Feb 6, 2026
4c61b9e
AMMediaboard: Replace select() with PlatformPoll in NetDIMMConnect.
jordan-woyak Feb 6, 2026
6a53c8f
AMMediaboard: Make timeout 0ms in NetDIMMAccept to improve performance.
jordan-woyak Feb 6, 2026
b15c593
BootManager: Automatically attach Triforce Baseboard hardware.
jordan-woyak Feb 6, 2026
17027f0
MainWindow: Remove the check preventing Triforce volumes from booting…
jordan-woyak Feb 6, 2026
84b136c
BootManager: Fix "enumeration value not handled in switch" warning.
jordan-woyak Feb 6, 2026
97ad5ad
StringUtil: Add SplitStringIntoArray function template.
jordan-woyak Feb 7, 2026
5545798
Common/Network: Add structs: IPv4Port, IPv4PortRange and functions: I…
jordan-woyak Feb 7, 2026
3e2b7fe
AMMediaboard: Allow IP address overrides to be configured.
jordan-woyak Feb 7, 2026
7ab2672
DolphinQt: Add user interface for Triforce IP address overrides.
jordan-woyak Feb 7, 2026
a876529
AMMediaboard: Minor adjustments to logging.
jordan-woyak Feb 7, 2026
0075313
AMMediaboard: Don't swap32 the IPv4 result in AMMBCommand::InetAddr.
jordan-woyak Feb 7, 2026
f8f74b5
AMMediaboard: Clean up AMMBCommandModifyMyIPaddr.
jordan-woyak Feb 7, 2026
af5e90a
AMMediaboard: Introduce GuestSocketAddress to fix bad sin_family values.
jordan-woyak Feb 7, 2026
0d7aef2
AMMediaboard: Increase size of NetworkBufferAddress3 area to fix Mari…
jordan-woyak Feb 8, 2026
bd3739c
AMMediaboard: Flatten the NetDIMMConnect function.
jordan-woyak Feb 8, 2026
63dc3b1
AMMediaboard: Adjust the verbosity of many LOG entries.
jordan-woyak Feb 8, 2026
aaa7094
Triforce: Implement save states.
jordan-woyak Feb 8, 2026
3681cad
DiscIO: Add IsCached virtual function to BlobReader.
jordan-woyak Feb 8, 2026
a4fd5f8
Triforce: Lazily load the game into memory using CachedBlobReader.
jordan-woyak Feb 8, 2026
32e4d88
AMMediaboard: Improve connect() and bind() logging.
jordan-woyak Feb 8, 2026
e14a58c
AMMediaboard: Make AMMBCommandSocket determine socket protocol from d…
jordan-woyak Feb 8, 2026
535c81c
Triforce: Automatically set SuggestedAspectRatio as ForceStandard to …
jordan-woyak Feb 8, 2026
2c2bfc1
Enums: Unhandled switch statement
JoshuaVandaele Feb 8, 2026
7b0ee77
SI_DeviceAMBaseboard: Comparing an unsigned int and an int
JoshuaVandaele Feb 8, 2026
b2bbbb6
SI_DeviceAMBaseboard: Fix signed/unsigned comparison.
jordan-woyak Feb 9, 2026
dc4645d
SI_DeviceAMBaseboard: Shadowed variable "command"
JoshuaVandaele Feb 8, 2026
93565eb
AMMediaboard: Save the IP from AMMBCommandModifyMyIPaddr for later use.
jordan-woyak Feb 8, 2026
cf85734
AMMediaboard: Clean up the defined memory ranges.
jordan-woyak Feb 9, 2026
d893565
AMMediaboard: IP override improvements and other cleanups.
jordan-woyak Feb 8, 2026
f657b32
HW: Rewrite MagCard features of SI_DeviceAMBaseboard in new MagneticC…
jordan-woyak Feb 10, 2026
2d9b3c4
Debugger/NetworkWidget: Add Triforce support
sepalani Feb 9, 2026
0fc8f46
DolphinQt/Debugger/NetworkWidget: Minor cleanups.
jordan-woyak Feb 14, 2026
f00b1c5
DolphinQt: Add Triforce tab to main settings window.
jordan-woyak Feb 13, 2026
282e14c
AMMediaboard: Move things from global namespace to AMMediaboard names…
jordan-woyak Feb 14, 2026
0ff8fb7
Triforce: Minor cleanups.
jordan-woyak Feb 14, 2026
cbd4391
Network: Improve IPv4PortRange::ToString to support CIDR notation and…
jordan-woyak Feb 14, 2026
c28ec7a
Triforce: Rename IPOverrides to IPRedirections.
jordan-woyak Feb 14, 2026
0511337
Android: Add Triforce Baseboard
JosJuice Feb 7, 2026
bc0c3d9
HW/GCPad: Make Android default to shaking the device for Triforce coi…
jordan-woyak Feb 14, 2026
23f5d09
Merge pull request #13844 from crediar/master
JosJuice Feb 16, 2026
9674b1f
MagneticCardReader: Automatically insert a blank card when Command_A0…
jordan-woyak Feb 17, 2026
9323074
Merge pull request #14390 from jordan-woyak/triforce-mag-card-cleaning
JMC47 Feb 17, 2026
4b5b433
Merge in upstream/master into libretro
cscd98 Feb 19, 2026
c951def
CMakeLists: increase fmt dependency version to 11.0
cscd98 Feb 19, 2026
124df7f
libretro: rebase compile fixes
cscd98 Feb 19, 2026
5954b91
libretro: triforce support
cscd98 Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ insert_final_newline = true
max_line_length = 100

[{CMakeLists.txt,*.cmake}]
indent_style = tab
indent_style = space
insert_final_newline = true

[.editorconfig]
insert_final_newline = true
Expand Down
2 changes: 2 additions & 0 deletions BuildMacOSUniversalBinary.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,8 @@ def build(config):
"-DENABLE_AUTOUPDATE="
+ python_to_cmake_bool(config["autoupdate"]),
'-DDISTRIBUTOR=' + config['distributor'],
# Distributable bundles need to be postprocessed to embed dependencies
"-DPOSTPROCESS_BUNDLE=ON",
# Always use libraries from Externals to prevent any libraries
# installed by Homebrew from leaking in to the app
"-DUSE_SYSTEM_LIBS=OFF",
Expand Down
18 changes: 7 additions & 11 deletions CMake/CCache.cmake
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
find_program(CCACHE_BIN NAMES ccache sccache)
if(CCACHE_BIN)
# Official ccache recommendation is to set CMAKE_C(XX)_COMPILER_LAUNCHER
if (NOT CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_C_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
set(_CCACHE_SUPPORTED_LAUCHERS C CXX OBJC OBJCXX)
foreach(LAUNCHER ${_CCACHE_SUPPORTED_LAUCHERS})
if (NOT CMAKE_${LAUNCHER}_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_${LAUNCHER}_COMPILER_LAUNCHER 0 ${CCACHE_BIN})
endif()

if (NOT CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_CXX_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
endif()

# ccache uses -I when compiling without preprocessor, which makes clang complain.
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
if("${CMAKE_${LAUNCHER}_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_${LAUNCHER}_FLAGS "${CMAKE_${LAUNCHER}_FLAGS} -Qunused-arguments -fcolor-diagnostics")
endif()
endforeach()
endif()
96 changes: 48 additions & 48 deletions CMake/CheckLib.cmake
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
find_package(PkgConfig)

macro(_internal_message msg)
if(NOT ${_is_quiet})
message(STATUS "${msg}")
endif()
if(NOT ${_is_quiet})
message(STATUS "${msg}")
endif()
endmacro()

macro(check_lib var pc lib)
set(_is_required 0)
set(_is_quiet 0)
set(_arg_list ${ARGN})
foreach(_arg ${ARGN})
if(_arg STREQUAL "REQUIRED")
list(REMOVE_ITEM _arg_list "REQUIRED")
set(_is_required 1)
endif()
if(_arg STREQUAL "QUIET")
list(REMOVE_ITEM _arg_list "QUIET")
set(_is_quiet 1)
endif()
endforeach()
set(_is_required 0)
set(_is_quiet 0)
set(_arg_list ${ARGN})
foreach(_arg ${ARGN})
if(_arg STREQUAL "REQUIRED")
list(REMOVE_ITEM _arg_list "REQUIRED")
set(_is_required 1)
endif()
if(_arg STREQUAL "QUIET")
list(REMOVE_ITEM _arg_list "QUIET")
set(_is_quiet 1)
endif()
endforeach()

if(PKG_CONFIG_FOUND AND NOT ${var}_FOUND)
pkg_search_module(${var} QUIET ${pc})
endif()
if(PKG_CONFIG_FOUND AND NOT ${var}_FOUND)
pkg_search_module(${var} QUIET ${pc})
endif()

if(${var}_FOUND)
if(${var}_INCLUDE_DIRS)
include_directories(${${var}_INCLUDE_DIRS})
endif()
# Make sure include directories for headers found using find_path below
# are re-added when reconfiguring
if(${var}_INCLUDE)
include_directories(${${var}_INCLUDE})
endif()
_internal_message("${lib} found")
else()
find_library(${var} ${lib})
if(_arg_list)
find_path(${var}_INCLUDE ${_arg_list})
else()
set(${var}_INCLUDE FALSE)
endif()
if(${var} AND ${var}_INCLUDE)
include_directories(${${var}_INCLUDE})
_internal_message("${lib} found")
set(${var}_FOUND 1 CACHE INTERNAL "")
else()
if(_is_required)
message(FATAL_ERROR "${lib} is required but not found")
else()
_internal_message("${lib} not found")
endif()
endif()
endif()
if(${var}_FOUND)
if(${var}_INCLUDE_DIRS)
include_directories(${${var}_INCLUDE_DIRS})
endif()
# Make sure include directories for headers found using find_path below
# are re-added when reconfiguring
if(${var}_INCLUDE)
include_directories(${${var}_INCLUDE})
endif()
_internal_message("${lib} found")
else()
find_library(${var} ${lib})
if(_arg_list)
find_path(${var}_INCLUDE ${_arg_list})
else()
set(${var}_INCLUDE FALSE)
endif()
if(${var} AND ${var}_INCLUDE)
include_directories(${${var}_INCLUDE})
_internal_message("${lib} found")
set(${var}_FOUND 1 CACHE INTERNAL "")
else()
if(_is_required)
message(FATAL_ERROR "${lib} is required but not found")
else()
_internal_message("${lib} not found")
endif()
endif()
endif()
endmacro()

24 changes: 12 additions & 12 deletions CMake/DolphinPostprocessBundle.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
# module as a post-build step.

if(CMAKE_GENERATOR)
# Being called as include(DolphinPostprocessBundle), so define a helper function.
set(_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION "${CMAKE_CURRENT_LIST_FILE}")
function(dolphin_postprocess_bundle target)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} "-D" "DOLPHIN_BUNDLE_PATH=$<TARGET_BUNDLE_DIR:${target}>"
-P "${_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION}"
)
endfunction()
return()
# Being called as include(DolphinPostprocessBundle), so define a helper function.
set(_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION "${CMAKE_CURRENT_LIST_FILE}")
function(dolphin_postprocess_bundle target)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} "-D" "DOLPHIN_BUNDLE_PATH=$<TARGET_BUNDLE_DIR:${target}>"
-P "${_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION}"
)
endfunction()
return()
endif()

message(STATUS "Fixing up application bundle: ${DOLPHIN_BUNDLE_PATH}")
Expand All @@ -35,9 +35,9 @@ set(extra_dirs "/usr/local/lib" "/lib" "/usr/lib")

# BundleUtilities is overly verbose, so disable most of its messages
function(message)
if(NOT ARGV MATCHES "^STATUS;")
_message(${ARGV})
endif()
if(NOT ARGV MATCHES "^STATUS;")
_message(${ARGV})
endif()
endfunction()

include(BundleUtilities)
Expand Down
2 changes: 1 addition & 1 deletion CMake/FindCUBEB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mark_as_advanced(CUBEB_INCLUDE_DIR CUBEB_LIBRARY)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CUBEB DEFAULT_MSG
CUBEB_INCLUDE_DIR CUBEB_LIBRARY)
CUBEB_INCLUDE_DIR CUBEB_LIBRARY)

if(CUBEB_FOUND AND NOT TARGET cubeb::cubeb)
add_library(cubeb::cubeb UNKNOWN IMPORTED)
Expand Down
6 changes: 3 additions & 3 deletions CMake/FindEGL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ find_package(PkgConfig)
pkg_check_modules(PC_EGL egl)

if (PC_EGL_FOUND)
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
endif ()

find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
)

set(EGL_NAMES ${EGL_NAMES} egl EGL)
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
)

include(FindPackageHandleStandardArgs)
Expand Down
10 changes: 5 additions & 5 deletions CMake/FindHIDAPI.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(HIDAPI DEFAULT_MSG HIDAPI_LIBRARY HIDAPI_INCLUDE_DIR)

if(HIDAPI_FOUND AND NOT TARGET Hidapi::Hidapi)
add_library(Hidapi::Hidapi UNKNOWN IMPORTED)
set_target_properties(Hidapi::Hidapi PROPERTIES
IMPORTED_LOCATION ${HIDAPI_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES ${HIDAPI_INCLUDE_DIRS}
)
add_library(Hidapi::Hidapi UNKNOWN IMPORTED)
set_target_properties(Hidapi::Hidapi PROPERTIES
IMPORTED_LOCATION ${HIDAPI_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES ${HIDAPI_INCLUDE_DIRS}
)
endif()

mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBRARY)
20 changes: 10 additions & 10 deletions CMake/FindLIBEVDEV.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ find_package(PkgConfig)
pkg_check_modules(PC_LIBEVDEV QUIET libevdev)

FIND_PATH(
LIBEVDEV_INCLUDE_DIR libevdev/libevdev.h
HINTS ${PC_LIBEVDEV_INCLUDEDIR} ${PC_LIBEVDEV_INCLUDE_DIRS}
/usr/include
/usr/local/include
${LIBEVDEV_PATH_INCLUDES}
LIBEVDEV_INCLUDE_DIR libevdev/libevdev.h
HINTS ${PC_LIBEVDEV_INCLUDEDIR} ${PC_LIBEVDEV_INCLUDE_DIRS}
/usr/include
/usr/local/include
${LIBEVDEV_PATH_INCLUDES}
)

FIND_LIBRARY(
LIBEVDEV_LIBRARY
NAMES evdev libevdev
HINTS ${PC_LIBEVDEV_LIBDIR} ${PC_LIBEVDEV_LIBRARY_DIRS}
PATHS ${ADDITIONAL_LIBRARY_PATHS}
${LIBEVDEV_PATH_LIB}
LIBEVDEV_LIBRARY
NAMES evdev libevdev
HINTS ${PC_LIBEVDEV_LIBDIR} ${PC_LIBEVDEV_LIBRARY_DIRS}
PATHS ${ADDITIONAL_LIBRARY_PATHS}
${LIBEVDEV_PATH_LIB}
)

set(LIBEVDEV_LIBRARIES ${LIBEVDEV_LIBRARY} )
Expand Down
2 changes: 1 addition & 1 deletion CMake/FindLIBMGBA.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mark_as_advanced(LIBMGBA_INCLUDE_DIR LIBMGBA_LIBRARY)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBMGBA DEFAULT_MSG
LIBMGBA_INCLUDE_DIR LIBMGBA_LIBRARY)
LIBMGBA_INCLUDE_DIR LIBMGBA_LIBRARY)

if(LIBMGBA_FOUND AND NOT mGBA::mgba)
add_library(mGBA::mgba UNKNOWN IMPORTED)
Expand Down
16 changes: 8 additions & 8 deletions CMake/FindLIBUDEV.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@
# LIBUDEV_LIBRARIES - The libraries needed to use LIBUDEV

FIND_PATH(
LIBUDEV_INCLUDE_DIR libudev.h
/usr/include
/usr/local/include
${LIBUDEV_PATH_INCLUDES}
LIBUDEV_INCLUDE_DIR libudev.h
/usr/include
/usr/local/include
${LIBUDEV_PATH_INCLUDES}
)

FIND_LIBRARY(
LIBUDEV_LIBRARY
NAMES udev libudev
PATHS ${ADDITIONAL_LIBRARY_PATHS}
${LIBUDEV_PATH_LIB}
LIBUDEV_LIBRARY
NAMES udev libudev
PATHS ${ADDITIONAL_LIBRARY_PATHS}
${LIBUDEV_PATH_LIB}
)

set(LIBUDEV_LIBRARIES ${LIBUDEV_LIBRARY} )
Expand Down
2 changes: 1 addition & 1 deletion CMake/FindLZO.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mark_as_advanced(LZO_INCLUDE_DIR LZO_LIBRARY)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LZO DEFAULT_MSG
LZO_INCLUDE_DIR LZO_LIBRARY)
LZO_INCLUDE_DIR LZO_LIBRARY)

if(LZO_FOUND AND NOT TARGET LZO::LZO)
add_library(LZO::LZO UNKNOWN IMPORTED)
Expand Down
60 changes: 30 additions & 30 deletions CMake/FindLibUSB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,42 +9,42 @@
# vim: expandtab sw=4 ts=4 sts=4:

if(ANDROID)
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
elseif (NOT LIBUSB_FOUND)
pkg_check_modules (LIBUSB_PKG libusb-1.0)
pkg_check_modules (LIBUSB_PKG libusb-1.0)

find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h
PATHS
${LIBUSB_PKG_INCLUDE_DIRS}
/usr/include/libusb-1.0
/usr/include
/usr/local/include/libusb-1.0
/usr/local/include
)
find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h
PATHS
${LIBUSB_PKG_INCLUDE_DIRS}
/usr/include/libusb-1.0
/usr/include
/usr/local/include/libusb-1.0
/usr/local/include
)

find_library(LIBUSB_LIBRARIES NAMES usb-1.0 usb
PATHS
${LIBUSB_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)
find_library(LIBUSB_LIBRARIES NAMES usb-1.0 usb
PATHS
${LIBUSB_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)

if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND TRUE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "Found libusb-1.0: ${LIBUSB_INCLUDE_DIR}, ${LIBUSB_LIBRARIES}")
else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND TRUE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "Found libusb-1.0: ${LIBUSB_INCLUDE_DIR}, ${LIBUSB_LIBRARIES}")
else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found")
message(STATUS "libusb-1.0 not found.")
endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)

mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)
endif ()
if(LIBUSB_FOUND AND NOT TARGET LibUSB::LibUSB)
add_library(LibUSB::LibUSB UNKNOWN IMPORTED)
set_target_properties(LibUSB::LibUSB PROPERTIES
IMPORTED_LOCATION "${LIBUSB_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDE_DIR}"
)
add_library(LibUSB::LibUSB UNKNOWN IMPORTED)
set_target_properties(LibUSB::LibUSB PROPERTIES
IMPORTED_LOCATION "${LIBUSB_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDE_DIR}"
)
endif()

Loading
Loading