| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
|
| |
|
|
|
| |
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
|
| |
|
|
|
|
|
| |
Eliminates variable shadowing cases across all the loaders to bring us
closer to enabling variable shadowing as an error in core.
|
| |
|
|
|
|
|
|
|
| |
With this, only 19 usages of the global system instance remain within
the core library.
We're almost there.
|
|
|
|
|
|
|
|
|
| |
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
|
| |
|
| |
|
|
|
| |
Also cleanup of general stuff
|
|
|
|
|
|
|
|
|
| |
This gives us significantly more control over where in the
initialization process we start execution of the main process.
Previously we were running the main process before the CPU or GPU
threads were initialized (not good). This amends execution to start
after all of our threads are properly set up.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The only reason the getter existed was to check whether or not the
program NCA was null. Instead, we can just provide a function to query
for the existence of it, instead of exposing it entirely.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Neither of these functions require the use of shared ownership of the
returned pointer. This makes it more difficult to create reference
cycles with, and makes the interface more generic, as std::shared_ptr
instances can be created from a std::unique_ptr, but the vice-versa
isn't possible. This also alters relevant functions to take NCA
arguments by const reference rather than a const reference to a
std::shared_ptr. These functions don't alter the ownership of the memory
used by the NCA instance, so we can make the interface more generic by
not assuming anything about the type of smart pointer the NCA is
contained within and make it the caller's responsibility to ensure the
supplied NCA is valid.
|
| |
|
|
|
|
| |
Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
|
|
|
|
| |
Fixes errors with certain updates
|
|
|
|
|
|
|
|
| |
A process should never require being reference counted in this
situation. If the handle to a process is freed before this function is
called, it's definitely a bug with our lifetime management, so we can
put the requirement in place for the API that the process must be a
valid instance.
|
| |
|
| |
|
|
|
|
| |
Eliminated duplicate code and adds support for Rev1+ carts
|
|
|
|
| |
Prevents NCA-related errors from being masked into MissingProgramNCA or MissingKeyFile
|
|
|
|
|
|
|
|
| |
Many of these aren't necessary and will cause this file to be required
to be recompiled whenever any changes to those files are made, which
lengthens compile times for no reason.
This also removes an unused metadata variable from AppLoader_XCI
|
|
|
| |
Full list of new errors and descriptions in core/loader/loader.h
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|