Age | Commit message (Collapse) | Author |
|
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was
updated to include "Citron Homebrew Project" across multiple files, regardless
of whether any contributions were made.
- This commit removes the incorrect attribution and reverts the copyright header
to its previous state.
- Copyright attribution should only be added when meaningful contributions have
been made to the file.
- This commit ensures proper compliance with copyright standards and maintains
correct attribution to the respective contributors.
- Special thanks to Tachi for pointing out the need for these corrections and
ensuring that proper attribution practices are followed.
|
|
- Replaced all references to the old project name with Citron.
- Added Citron copyright information alongside existing notices in all files.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
nsp: Fix various errors with loading and processing of extracted NSPs
|
|
|
|
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
|
|
Avoids 0 being used as title ID for all extracted NSPs.
|
|
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.
|
|
|
|
|
|
|
|
|
|
Prevents nullptr bug when trying to dump the RomFS of an NSP resulting from secondary_loader not being initialized.
|
|
GetControlMetadata() instead of a std::shared_ptr
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 SharedPtr
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.
|
|
|
|
|
|
|
|
|