summaryrefslogtreecommitdiff
path: root/src/core/loader/nsp.cpp
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- 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.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-01-23loader: also register fs process for raw exefs partitionLiam
2024-01-11fsp-srv: use program registry for SetCurrentProcessLiam
2023-09-14core: improve debug workflowLiam
2023-09-06core: implement basic integrity verificationLiam
2023-08-15vfs: expand support for NCA readingLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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.
2021-11-03core: Remove unused includesameerj
2021-07-20file_sys: Support load game collection (#6582)Feng Chen
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-04-27loader: Resolve instances of variable shadowingLioncash
Eliminates variable shadowing cases across all the loaders to bring us closer to enabling variable shadowing as an error in core.
2020-11-24core: loader: Implement support for loading indexed programs.bunnei
2020-11-18patch_manager: Remove usages of the global system instanceLioncash
With this, only 19 usages of the global system instance remain within the core library. We're almost there.
2020-09-16core/loader: Remove dependencies on the global system instanceLioncash
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.
2019-09-21yuzu: Port old usages of Filesystem namespace to FilesystemControllerZach Hilman
2019-09-21Merge pull request #2576 from DarkLordZach/nsp-fix-1David
nsp: Fix various errors with loading and processing of extracted NSPs
2019-07-02file_sys: Rename other ContentRecordType membersBakugo
2019-06-10nsp: Correct status codes for extracted NSPsZach Hilman
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
2019-06-10nsp: Use title ID from NPDM metadata for extracted type NSPsZach Hilman
Avoids 0 being used as title ID for all extracted NSPs.
2019-05-26loader: Move NSO module tracking to AppLoaderZach Hilman
Also cleanup of general stuff
2019-04-11core/core: Move process execution start to System's Load()Lioncash
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.
2019-01-15loader: Propagate NCA logo section to ReadBanner and ReadLogoZach Hilman
2018-12-28loader: Add accessor for Manual RomFSZach Hilman
2018-12-27loader: Add accessor for game control dataZach Hilman
2018-12-03loader: Add support for reading the name of game's developerZach Hilman
2018-10-27loader/nsp: Move secondary loader initialization to constructorZach Hilman
Prevents nullptr bug when trying to dump the RomFS of an NSP resulting from secondary_loader not being initialized.
2018-10-09patch_manager: Return a std::unique_ptr from ParseControlNCA() and ↵Lioncash
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.
2018-10-05romfs_factory: Extract packed update setter to new functionZach Hilman
2018-10-05loader: Add getter for packed updateZach Hilman
Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
2018-10-05loader: Add ReadRomFSIVFCOffset to NSP, XCI, and NAX loadersZach Hilman
Fixes errors with certain updates
2018-09-29loader: Make the Load() function take a process as a regular reference, not ↵Lioncash
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.
2018-09-04patch_manager: Centralize Control-type NCA parsingZach Hilman
2018-09-04main: Only show DRD deprecation warning onceZach Hilman
2018-09-04nsp: Comply with style and performance guidelinesZach Hilman
2018-09-04loader: Add AppLoader for NSP filesZach Hilman