summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
AgeCommit message (Collapse)Author
2025-11-23DiscIO: Add CachedBlobReader which takes another BlobReader and reads it ↵Jordan Woyak
into memory in the background.
2025-11-21Common/Result: Swap order of template parameters to match C++26's ↵Jordan Woyak
std::expected, make all member functions constexpr, and add moving "unexpected" conversion constructor for consistency.
2025-11-19Merge pull request #13539 from tygyh/DiscIO-Remove-redundant-castsJordan Woyak
DiscIO: Remove redundant casts
2025-11-09DiscIO: Make all BlobReader implementations use DirectIOFile to make ↵Jordan Woyak
CopyReader functionality thread safe.
2025-10-08MMU: Use templates for Read/Write functionsMartino Fontana
2025-07-04WiiSaveBanner: fall back to $userdir/Load/WiiBannersTillmann Karras
Unlike custom banners which work as an override, this mechanism works as a fallback. The use case is if you have games you don't really play but want to keep around for testing purposes without filling up your NAND with lots of saves. For ease of use, the directory structure is the same but only title/$title_hi/$title_lo/data/banner.bin files are relevant.
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-07Merge pull request #13522 from ↵Jordan Woyak
tygyh/Enforce-overriding-destructor-style-Core&UnitTests Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-04DiscIO: Remove redundant castsDr. Dystopia
2025-06-04Merge pull request #13379 from JoshuaVandaele/system-ngJMC47
Use minizip-ng in non-compatibility mode
2025-05-25Hide DirectoryBlob header.bin files from game listJosJuice
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-22minizip-ng: Stop using compatibility modeJoshua Vandaële
2025-05-18DiscIO: Use views::keysDr. Dystopia
2025-05-16DiscIO: Make functions constantDr. Dystopia
2025-05-07Merge pull request #13542 from ↵Jordan Woyak
tygyh/DiscIO-Pass-parameters-by-constant-reference DiscIO: Pass parameters by constant reference
2025-05-01Merge pull request #13597 from JosJuice/hide-boot-binJMC47
Hide DirectoryBlob boot.bin files from game list
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-26Hide DirectoryBlob boot.bin files from game listJosJuice
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-23linter: Apply clang-format 19.1 formattingJoshua Vandaële
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-22Merge pull request #13540 from tygyh/DiscIO-Remove-redundant-qualifiersJordan Woyak
DiscIO: Remove redundant qualifiers
2025-04-22DiscIO: Remove redundant qualifiersDr. Dystopia
2025-04-21Implement Triforce ID parsingZopolis4
2025-04-21Add Triforce platform and preliminary boot.id parsingZopolis4
2025-04-21Merge pull request #13537 from tygyh/DiscIO-Make-variables-constexprTilka
DiscIO: Make variables constexpr
2025-04-20Merge pull request #13538 from ↵Tilka
tygyh/DiscIO-Use-default-to-define-a-trivial-destructor DiscIO: Use `= default` to define a trivial destructor
2025-04-20Merge pull request #13541 from ↵Tilka
tygyh/DiscIO-Remove-redundant-zero-initializers-in-aggregate-initializations DiscIO: Remove redundant zero initializers in aggregate initializations
2025-04-20DiscIO: Pass parameters by constant referenceDr. Dystopia
2025-04-19DiscIO: Remove redundant zero initializers in aggregate initializationsDr. Dystopia
2025-04-19DiscIO: Use `= default` to define a trivial destructorDr. Dystopia
2025-04-19DiscIO: Make variables constexprDr. Dystopia
2025-04-19DiscIO: Make classes finalDr. Dystopia
2025-04-15DiscIO/Volume: Fix Partition struct comparison operatorsDr. Dystopia
2025-03-29Merge pull request #13221 from mitaclaw/nrvo-fails-1JMC47
GCC: Remedy NRVO Fails
2025-03-10GCC: Remedy NRVO Failsmitaclaw
Using the `-Wnrvo` flag introduced by GCC 14, I identified a few places where NRVO was clearly intended, but is fumbled.
2025-03-09Modernize `std::stable_sort` with ranges and projectionsmitaclaw
2025-03-09Modernize `std::sort` with ranges and projectionsmitaclaw
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-09Simplify `std::find_if` with `std::ranges::find` and projectionsmitaclaw
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-01-19Fix build with minizip-ng 4.0.8Joshua Vandaële
2025-01-01Simplify `std::search` with `Common::ContainsSubrange`mitaclaw
2025-01-01Simplify `std::find` with `Common::Contains`mitaclaw
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.
2024-12-26Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-ofJMC47
Ranges Algorithms Modernization - Of
2024-12-15Modernize `std::any_of` with rangesmitaclaw
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-15Modernize `std::all_of` with rangesmitaclaw
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-15StringUtil: More Wrappers For <cctype>mitaclaw
`Common::IsLower(char)` was omitted as nothing needed it.
2024-10-17Modernize `std::search` with rangesmitaclaw
The new return value is `std::ranges::subrange`.
2024-10-15Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivialJosJuice
Ranges Algorithms Modernization - Trivial
2024-10-11DolphinQt: Restrict size of banner image in game properties info tab.Jordan Woyak
2024-10-11Merge pull request #13095 from mitaclaw/ranges-modernization-6-nTilka
Ranges Algorithms Modernization - N
2024-10-11Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-findTilka
Ranges Algorithms Modernization - Find
2024-10-10C++20: Synthesize `operator!=` From `operator==`mitaclaw
The inequality operator is automatically generated by the compiler if `operator==` is defined.