Commit Graph

1276 Commits

Author SHA1 Message Date
Admiral H. Curtiss ec3cfc01c1
DiscIO/DirectoryBlob: Add callback to modify sys files before they're added to the disc. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss cc315cb7af
DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss f5c132580c
DiscIO/DirectoryBlob: Add ContentSource that stores data locally in std::vector. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss 9e5bc98496
DiscIO/RiivolutionPatcher: Skip main.dol patches if no main.dol was given. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss 10407cc8c1
DiscIO/VolumeVerifier: Don't try to verify data that would read out of bounds. 2022-07-13 13:35:18 +02:00
JMC47 431d757151
Merge pull request #10743 from tellowkrinkle/LargeBlockRVZ
Fix creation of rvz with > 2mb chunk size
2022-06-14 16:17:24 -04:00
TellowKrinkle 26fc167a44 DiscIO: Fix creation of rvz with > 2mb chunk size 2022-06-11 16:10:32 -05:00
Tillmann Karras 79a7bf02eb
CMake: rename minizip to minizip-ng
minizip-ng is the new name used by the upstream project as well as all
distros other than Fedora (but it looks like it will be renamed there).
2022-06-06 14:21:43 +02:00
Admiral H. Curtiss 580c721c82
cmake: Don't use PCH with Qt6. 2022-05-22 01:19:44 +02:00
Admiral H. Curtiss 57d8f2112c
Merge pull request #10514 from JosJuice/datel-no-gametdb
DiscIO: Don't return GameTDB ID for any Datel disc
2022-03-26 03:38:57 +01:00
Admiral H. Curtiss 7b0d5f2df3
Merge pull request #10491 from Minty-Meeo/dolphin-tool-more-stuff
More dolphin-tool features and options
2022-03-20 05:43:53 +01:00
Minty-Meeo deba9ce256 Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool
New dolphin-tool command: "header"
-b / --block_size
-c / --compression
-l / --compression_level

Informative RVZ/WIA header2 value "compression_level" is now a s32 instead of a u32, because negative compression is a thing.

Speaking of, it is now possible to use negative compression levels in dolphin-tool's convert command (not the GUI, though).
2022-03-19 17:13:28 -05:00
JosJuice 479489c999 DiscIO: Don't return GameTDB ID for any Datel disc
DTLX01 can be either a Freeloader or Action Replay, so it's
inappropriate to always use the same title and cover for it.
2022-03-15 18:56:49 +01:00
JosJuice 41adf3cd53 DiscIO: Treat game ID DTLX01 as a Datel disc
Needed for the disc mentioned in the previous commit.
2022-03-12 22:27:58 +01:00
JosJuice 6d1a344aab VolumeVerifier: Skip "lacks some data" check for Datel discs
Turns out there's some Freeloader disc for the GC that triggers this
despite being a good dump. This warning is mostly intended to catch
Wii games that have been truncated at the 4.00 GiB or 4.38 GiB mark
anyway, and if someone does have a Datel dump that has been truncated,
they'll still get the "unusual size" warning.
2022-03-12 22:24:38 +01:00
Starsam80 41a3368889
NANDImporter: Only read the AES key once
There is no need to constantly reset the key for every file entry.
2022-03-01 19:24:59 -07:00
Starsam80 80012ae253
NANDImporter: Make superblocks less magical
Create a struct describing the superblock layout and use it directly
without needing to specify offsets and such.
2022-03-01 19:24:59 -07:00
Starsam80 73151a5753
NANDImporter: Don't pass paths if we don't need to 2022-03-01 19:24:59 -07:00
Starsam80 6758c77c39
NANDImporter: Reduce recursion in `ProcessEntry`
It also simplifies the code flow, as it no longer goes backwards
through the filesystem chain.
2022-03-01 19:24:59 -07:00
Starsam80 2ccd974471
NANDImporter: Improve NANDFSTEntry
`uid` is a u32, not a u16. Also, everything is big endian, so we
can simplify the code a little bit.
2022-03-01 19:24:59 -07:00
Starsam80 643057fea2
NANDImporter: Make a class variable for the NAND root 2022-03-01 15:07:59 -07:00
Pokechu22 50d9349926 Fix integer sign difference comparison warnings 2022-02-13 14:38:59 -08:00
Admiral H. Curtiss a336c4386c
IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
Admiral H. Curtiss 36cfcb530f
IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
JosJuice ff5b323a56 DiscIO: Delete an unused function declaration 2022-01-23 22:15:56 +01:00
JosJuice 7b8e846d0a
Merge pull request #10367 from Pokechu22/fmt-8.1.1
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00
Pokechu22 6e5f4125e3 Use Common::ToLower and Common::ToUpper 2022-01-16 17:00:12 -08:00
Pokechu22 7935e614d1 CMakeLists: Change DiscIO dependency from common to core
DiscIO depends on some IOS functions and other functions, which are in Core and not Common.  This results in link errors if using DiscIO on its own (which is why DolphinTool had a listed dependency on videocommon; videocommon has a dependency on core so adding that made things build).
2022-01-16 13:29:51 -08:00
Léo Lam 83c5446d85
Fix static initialisation order fiasco issue for Version variables
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)

By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
Pokechu22 29d6dd609c Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
Léo Lam 7abb501e0a
Merge pull request #10334 from AdmiralCurtiss/json-maker
Core: Add a Maker field for GameModDescriptors.
2022-01-03 01:43:02 +01:00
Admiral H. Curtiss 2906889804
Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
Pokechu22 0c19f895d3 Replace remaining uses of zlib crc32 with Common/Hash.h 2022-01-01 10:36:38 -08:00
Admiral H. Curtiss e54657254a
Core: Make format of D_WIIROOT_IDX consistent with the rest of the user directories. 2021-12-25 20:21:32 +01:00
Léo Lam 185475fe03
Merge pull request #10187 from AdmiralCurtiss/json-gamelist
Support for GameModDescriptor files in Game List.
2021-12-14 11:08:38 +01:00
Admiral H. Curtiss a2a39cfcfb
Core: Add ability to serialize a GameModDescriptor to json. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss da161faff4
GameList: Show game mod descriptor .json files in game list. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss b50861ea44
Core: Require game mod descriptor json to self-identify as one. 2021-12-12 21:26:09 +01:00
Admiral H. Curtiss ea17dd8dba
RiivolutionParser: Create config xml directory if it does not exist yet. 2021-12-12 21:24:36 +01:00
Pokechu22 2025763420 Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
ssdsnake 1aa8a4d46f DolphinTool: CLI utility interface and disc image tools 2021-12-03 15:40:19 -06:00
Admiral H. Curtiss 0fc563ee2e
RiivolutionPatcher: Use case-insensitive filename comparison when searching for files in a folder patch. 2021-11-20 01:15:18 +01:00
JosJuice 96a6d6fd95
Merge pull request #10184 from JosJuice/android-riivolution
Android: Allow starting game with Riivolution patches from the GUI
2021-10-31 23:44:54 +01:00
Léo Lam fb8b9f3251
Merge pull request #10194 from AdmiralCurtiss/riivolution-edge-cases
Fix some Riivolution file patching edge cases.
2021-10-31 21:24:03 +01:00
Sepalani e51119c4ce HLE: Fix hooks overlapping Riivolution patches 2021-11-01 00:07:14 +04:00
Admiral H. Curtiss e91e04fe1e
RiivolutionPatcher: More closely match behavior of filename searching file patches to actual Riivolution. 2021-10-31 05:47:39 +01:00
Admiral H. Curtiss 335a1b5cb5
RiivolutionPatcher: More closely match behavior of folder patches to actual Riivolution. 2021-10-31 05:47:39 +01:00
JosJuice 34021b5ebc Android: Allow starting game with Riivolution patches from the GUI 2021-10-30 23:24:36 +02:00
Admiral H. Curtiss 4f82810845
RiivolutionPatcher: Use FileInfo instead of IOFile when only checking for filesize. 2021-10-24 00:09:09 +02:00
Admiral H. Curtiss fe7f3a6f26
RiivolutionPatcher: Protect against three or more dots in path traversal. 2021-10-24 00:09:09 +02:00