| Age | Commit message (Collapse) | Author |
|
Untested with unencrypted Wii disc images, because I don't have any.
I tested that normal Wii disc images still work, though.
|
|
|
|
This simplifies FileMonitor a lot and also lets us
clean up FilesystemPanel.
|
|
This is a fairly common operation, so let's make a utility
function for it to cut down on code duplication.
|
|
|
|
Reorganize File namespace
|
|
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
These prefixes were inconsistent with the rest of Dolphin.
I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
|
|
|
|
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.
|
|
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.
|
|
Avoids unnecessary copies.
|
|
Prevents an implicit signed to unsigned conversion when assigning a
partition's group number.
|
|
|
|
|
|
|
|
Allows potential multiple scrubbers to run at once. Also gets rid of the
need to explicitly clean up resources.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Don't reserve space for directories when scrubbing
|
|
|
|
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.
|
|
IFileSystem::GetBootDOLSize acts the same. The only difference is that it
reads the DOL offset on its own, but this change makes that optional.
|
|
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.
|
|
|
|
|
|
Now that VS supports more printf specifiers, these aren't necessary
|
|
|
|
Avoid the consequences in the unlikely event the path includes a %.
|
|
Filesystem: Return file list reference instead of modifying argument
|
|
|
|
|
|
|
|
This is intended to make decryption look less implicit in the code.
|
|
This saves 6% time.
|
|
|
|
|
|
|
|
Technically this also simplifies on disc filename building in general.
|
|
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
|
|
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
|
|
detected by this change).
|
|
|