summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/DiscScrubber.cpp
AgeCommit message (Collapse)Author
2018-09-20Fix scrubbing unencrypted Wii disc imagesJosJuice
Untested with unencrypted Wii disc images, because I don't have any. I tested that normal Wii disc images still work, though.
2018-09-20Refactor DiscScrubber::MarkAsUsedEJosJuice
2017-09-15DiscIO: Use Common::Lazy for loading filesystemsJosJuice
This simplifies FileMonitor a lot and also lets us clean up FilesystemPanel.
2017-08-02DiscIO: Add a Volume::ReadSwappedAndShifted functionJosJuice
This is a fairly common operation, so let's make a utility function for it to cut down on code duplication.
2017-06-28DiscIO: Move parts of Filesystem to the new file DiscExtractorJosJuice
2017-06-15Merge pull request #5611 from JosJuice/reorganize-file-namespaceLeo Lam
Reorganize File namespace
2017-06-15Move IOFile to a separate fileJosJuice
Reduces the number of files that need to be recompiled when making changes to FileUtil.h.
2017-06-14Filesystem: Replace GetFileList()JosJuice
Instead of expecting callers to know how the size of directory file infos relates to which files are in which directories, filesystems now offer a GetRoot() method, and file infos offer a way to get their children. As a bonus, m_FileInfoVector no longer has to be created and kept around in RAM. Only the file info objects that actually are used are created.
2017-06-13Filesystem: Replace file info's full path with nameJosJuice
Some callers (i.e. ISOProperties) don't want the full path, so giving them it is unnecessary. Those that do want it can use GetPathFromFSTOffset. Not storing full paths everywhere also saves a small bit of RAM and is necessary for a later commit. The code isn't especially pretty right now (callers need to use FST offsets...) but it'll become better later.
2017-06-13Filesystem: Replace FileInfo struct with interfaceJosJuice
GC/Wii filesystem internals shouldn't be exposed to other classes. This change isn't especially useful by itself, but it opens up the way for some neat stuff in the following commits.
2017-06-13DiscScrubber: Use FileInfo::IsDirectory instead of bit magicJosJuice
2017-06-06DiscIO: Remove C/I/S prefixes from class namesJosJuice
These prefixes were inconsistent with the rest of Dolphin. I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-05DiscIO: Use std::optional in Volume and BlobJosJuice
2017-05-19DiscIO: Remove VolumeCreatorJosJuice
This file is pretty small now that it doesn't handle Wii partitions anymore, so let's move its contents to Volume.cpp. This is also more consistent with how blob creation works.
2017-05-16VolumeWiiCrypted: Replace ChangePartition with a partition parameterJosJuice
By removing mutable state in VolumeWiiCrypted, this change makes partition-related code simpler. It also gets rid of other ugly things, like ISOProperties's "over 9000" loop that creates a list of partitions by trying possible combinations, and DiscScrubber's volume swapping that recreates the entire volume when it needs to change partition.
2017-01-04DiscScrubber: Don't take SFileInfo instances by valueLioncash
Avoids unnecessary copies.
2017-01-04DiscScrubber: Use an unsigned loop index in ParseDiscLioncash
Prevents an implicit signed to unsigned conversion when assigning a partition's group number.
2017-01-04DiscScrubber: Correct printf specifiersLioncash
2017-01-04DiscScrubber: Convert a #define into a typed constantLioncash
2017-01-04DiscScrubber: Make struct and variable names conformant to the coding styleLioncash
2017-01-04DiscScrubber: Convert into a classLioncash
Allows potential multiple scrubbers to run at once. Also gets rid of the need to explicitly clean up resources.
2016-07-11DiscScrubber: Fix issue 9356JosJuice
2016-07-07DiscScrubber: Replace unused blocks with 0x00 instead of 0xFFJosJuice
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-12-14DiscIO: Improve DiscScrubber::ReadFromVolume error handlingJosJuice
2015-12-07DiscIO: Make factory methods return unique_ptrsLioncash
Rather than rely on the developer to do the right thing, just make the default behavior safely deallocate resources. If shared semantics are ever needed in the future, the constructor that takes a unique_ptr for shared_ptr can be used.
2015-11-17Merge pull request #3181 from JosJuice/scrub-directoriesScott Mansell
Don't reserve space for directories when scrubbing
2015-11-01DiscScrubber: Add another nullptr checkJosJuice
2015-10-18Remove length parameter from DiscScrubber::ReadFromVolumeJosJuice
The function only makes sense when the length is 4. All current callers use the length 4, so this change doesn't affect any behavior.
2015-10-17Remove DiscScrubber::GetDOLSize in favor of IFileSystem::GetBootDOLSizeJosJuice
IFileSystem::GetBootDOLSize acts the same. The only difference is that it reads the DOL offset on its own, but this change makes that optional.
2015-10-17Don't reserve space for directories when scrubbingJosJuice
The offset in a directory FileInfo is an FST offset, not a disc offset. Treating it as a disc offset doesn't make sense. Directories don't take up space outside of the FST, so they don't need to be marked as used. The old behavior may have prevented some scrubbable areas from being scrubbed.
2015-09-26Common: Remove other Common prefixed headers from Common.hLioncash
2015-09-11Partially revert "General: Toss out PRI macro usage"Lioncash
2015-09-05General: Toss out PRI macro usageLioncash
Now that VS supports more printf specifiers, these aren't necessary
2015-07-02DiscIO: Check if m_Disc is null in ParsePartitionData()Trace Bullet
2015-06-14Reinstate format string.yerejm
Avoid the consequences in the unlikely event the path includes a %.
2015-06-02Merge pull request #2338 from JosJuice/getfilelist-returncomex
Filesystem: Return file list reference instead of modifying argument
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-04-28Filesystem: Return file list reference instead of modifying argumentJosJuice
2014-12-28DiscIO: Replace "raw" functions with "decrypt" parametersJosJuice
This is intended to make decryption look less implicit in the code.
2014-11-27DiscIO: Avoid zeroing buffer when compressing gcz.Unknown W. Brackets
This saves 6% time.
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-08-31DiscIO: Move some raw pointers over to unique_ptrLioncash
2014-07-11mark all local variables as staticdegasus
2014-03-16Simplify file tree building for the filesystem view.Lioncash
Technically this also simplifies on disc filename building in general.
2014-03-14Kill off some usages of c_str.Lioncash
Also changes some function params, but this is ok. Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-02-22Make DiscIO/ mostly IWYU clean (and fix errors in rest of the project ↵Pierre Bourdon
detected by this change).
2014-02-18Convert all includes to relative paths.Lioncash