| Age | Commit message (Collapse) | Author |
|
process/vm_manager: Initial modifications to load NPDM metadata
|
|
Avoids making copies of large std::vector instances where it's trivially
avoidable to do so.
|
|
Theres no need to do explicit bitwise arithmetic here, when we have a
function that does this with a more descriptive name.
|
|
Avoids the need to nest code quite a bit by early-exiting in error
cases.
|
|
initializer list
Orders the initializer list members to be in the same order that they
would be initialized in. Avoids compiler warnings.
|
|
Cast where explicitly necessary and in other cases we can simply modify
the algorithm to accomodate larger data.
|
|
RomFSBuildFileContext and RomFSBuildDirectoryContext
There's no need to duplicate in-class initializers with a constructor
initializer list. std::strings also initialize to empty by default.
|
|
The std::vector instances are already initially allocated with all
entries having these values, there's no need to loop through and fill
them with it again when they aren't modified.
|
|
auto x = 0;
auto-deduces x to be an int. This is undesirable when working with
unsigned values. It also causes sign conversion warnings. Instead, we
can make it a proper unsigned value with the correct width that the
following expressions operate on.
|
|
Given we just recently had a patch backport this from citra, let's try
and keep the convention uniform.
|
|
Given these are only added to the class to allow those functions to
access the private constructor, it's a better approach to just make them
static functions in the interface, to make the dependency explicit.
|
|
This converts it into a regular constructor parameter. There's no need
to make this a template parameter on the class when it functions
perfectly well as a constructor argument.
This also reduces the amount of code bloat produced by the compiler, as
it doesn't need to generate the same code for multiple different
instantiations of the same class type, but with a different fill value.
|
|
Rather than hard-code the address range to be 36-bit, we can derive the
parameters from supplied NPDM metadata if the supplied exectuable
supports it. This is the bare minimum necessary for this to be possible.
The following commits will rework the memory code further to adjust to
this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reads multiple dirs through as if a waterfall.
|
|
Maps a vector into the VFS interface.
|
|
Always returns the template argument byte for all reads. Doesn't support writes.
|
|
|
|
Maps name string to directory or file.
|
|
file-sys: Default heavy-weight class destructors in the cpp file
|
|
savedata_factory: Add TemporaryStorage SaveDataType
|
|
control_metadata: Move language name array definition to the cpp file
|
|
Several classes have a lot of non-trivial members within them, or don't
but likely should have the destructor defaulted in the cpp file for
future-proofing/being more friendly to forward declarations.
Leaving the destructor unspecified allows the compiler to inline the
destruction code all over the place, which is generally undesirable from
a code bloat perspective.
|
|
There's no need to indent the code here, given the if case contains a
return statement at the end of it.
|
|
This was used in two different translation units
(deconstructed_rom_directory and patch_manager). This means we'd be
pointlessly duplicating the whole array twice due to it being defined
within the header.
|
|
These variables aren't used, which still has an impact, as std::vector
cannot be optimized away by the compiler (it's constructor and
destructor are both non-trivial), so this was just wasting memory.
|
|
std::shared_ptr isn't strictly necessary here and is only ever used in
contexts where the object doesn't depend on being shared. This also
makes the interface more flexible, as it's possible to create a
std::shared_ptr from a std::unique_ptr (std::shared_ptr has a
constructor that accepts a std::unique_ptr), but not the other way
around.
|
|
Ensures that the member always has a deterministic value.
|
|
Orders the initializer list in the same order the members would be
initialized. Avoids compiler warnings.
|
|
Seems to be used by NSO NES Emulator
|
|
|
|
Orders the elements in the initializer list in the order they're
specified in the class. This prevents compiler warnings about
initialization order.
|
|
romfs.h doesn't need to be included in the header, the only real
dependency here is common's swap.h that needs to be included.
|
|
These includes were previously being satisfied indirectly.
|
|
file_sys/submission_package: Replace includes with forward declarations where applicable
|
|
Orders the elements in the sequence to match the order in which they'll
actually be initialized in.
|
|
where applicable
|
|
|
|
|
|
Now display correct error instead of catch-all MissingProgramNCA
|
|
|
|
|
|
Fixes base game read errors
|
|
|