summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
AgeCommit message (Collapse)Author
2026-02-24DiscIO: Only allow alphanumeric ASCII in game IDsJosJuice
We often use game IDs in paths, so we should try to make sure path traversal is impossible in game IDs. Admittedly, doing any kind of real attack using the six bytes available in game IDs is unrealistic, but no game ID should contain non-alphanumeric or non-ASCII characters anyway. Might also fix https://bugs.dolphin-emu.org/issues/13982 by skipping converting between encodings for game IDs.
2026-02-24DiscIO: Move DecodeString to Volume.cppJosJuice
This had to be in the header back when it was templated, but 083faa8b made it not templated.
2026-02-15Enums: Unhandled switch statementJoshua Vandaële
2026-02-15DiscIO: Add IsCached virtual function to BlobReader.Jordan Woyak
2026-02-15SI_DeviceAMBaseboard: Add missing bounds checksSepalani
VolumeDisc: Fix Triforce's GetGameID memcpy by checking MakerID's size
2026-02-15Triforce: Code fixes.crediar
Fixed a bug caused by static usage of Core::System::GetInstance() Removed unused headers Removed unneeded code Optimised code Added sanity checks Added SafeCopyFromEmu/SafeCopyToEmu Set Triforce buttons to be translatable
2026-02-15Triforce: Code cleanups.Jordan Woyak
2026-02-15DiscIO: Make Volume::DecodeString take a std::span so it can work with ↵Jordan Woyak
std::array.
2026-02-15Added Triforce supportcrediar
2026-02-06RiivolutionParser: Fix XML Param ParsingGabriela Orzechowska
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-24Common/FileSearch: Refactor DoFileSearchSintendo
2026-01-17Merge pull request #14267 from jordan-woyak/std-expectediwubcode
Common: Replace Result with std::expected.
2026-01-17Common: Replace Result with C++23's std::expected.Jordan Woyak
2026-01-17Fix various typos and spelling mistakesSintendo
2026-01-04VolumeFileBlobReader: Define default destructor in source fileDentomologist
Fix an error generated by Clang from the destructor of `std::unique_ptr<FileInfo> m_file_info` when setting the standard version to c++23: `invalid application of 'sizeof' to an incomplete type 'DiscIO::FileInfo'`
2026-01-02DiscIO/Volume: Fix CreateVolume for WiiWare.Jordan Woyak
2025-12-22Merge pull request #14174 from JoshuaVandaele/minizips-cmakeJMC47
Use minizip-ng's CMakeLists instead of relying on our own implementation
2025-12-22Merge pull request #14154 from jordan-woyak/result-parameter-orderJMC47
Common/Result: Swap order of template parameters to match C++26's std::expected.
2025-11-27Use minizip-ng's CMakeLists instead of relying on our own implementationJoshua Vandaële
This is a carry over from back when we used `minizip` and had our own CMakeLists for it.
2025-11-23Core/DiscIO: Add a setting to load the running game into memory via ↵Jordan Woyak
CachedBlobReader.
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-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