summaryrefslogtreecommitdiffstats
path: root/src/core/loader/nsp.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
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-04core: Remove unused includesameerj1-1/+0
2021-07-20file_sys: Support load game collection (#6582)Feng Chen1-2/+2
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-05-06hle: kernel: Rename Process to KProcess.bunnei1-1/+1
2021-04-27loader: Resolve instances of variable shadowingLioncash1-8/+10
Eliminates variable shadowing cases across all the loaders to bring us closer to enabling variable shadowing as an error in core.
2020-12-10vfs: Use existing type aliases consistentlyLioncash1-1/+1
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2020-11-25core: loader: Implement support for loading indexed programs.bunnei1-1/+2
2020-11-18patch_manager: Remove usages of the global system instanceLioncash1-5/+8
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 instanceLioncash1-1/+5
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-05-26loader: Move NSO module tracking to AppLoaderZach Hilman1-0/+2
Also cleanup of general stuff
2019-04-12core/core: Move process execution start to System's Load()Lioncash1-1/+1
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 Hilman1-0/+3
2018-12-29web_browser: Add bounds checking to applet interfaceZach Hilman1-1/+0
2018-12-28loader: Add accessor for Manual RomFSZach Hilman1-0/+2
2018-12-27loader: Add accessor for game control dataZach Hilman1-1/+1
2018-12-05loaders: Make GetFileType() a const qualified member functionLioncash1-1/+1
No implementations actually modify instance state (and it would be questionable to do that in the first place given the name), so we can make this a const member function.
2018-12-03loader: Add support for reading the name of game's developerZach Hilman1-0/+1
2018-10-09patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptrLioncash1-1/+1
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-05loader: Add getter for packed updateZach Hilman1-0/+1
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 Hilman1-1/+2
Fixes errors with certain updates
2018-09-29loader: Make the Load() function take a process as a regular reference, not a SharedPtrLioncash1-1/+1
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-04nsp: Comply with style and performance guidelinesZach Hilman1-1/+1
2018-09-04loader: Add AppLoader for NSP filesZach Hilman1-6/+7
2018-08-15loader/xci: Remove unnecessary includes and member variablesLioncash1-4/+8
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
2018-08-07loader: Add icon and title support to XCIZach Hilman1-0/+5
2018-08-01Add missing includes and use const where applicableZach Hilman1-0/+3
2018-08-01Make XCI comply to review and style guidelinesZach Hilman1-2/+1
2018-08-01Remove files that are not usedZach Hilman1-11/+9
2018-07-19Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman1-12/+7
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-08Revert "Virtual Filesystem (#597)"bunnei1-6/+13
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman1-13/+6
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
2018-06-21Add support for decrypted NCA files (#567)Zach Hilman1-6/+15
* Start to add NCA support in loader * More nca stuff * More changes to nca.cpp * Now identifies decrypted NCA cont. * Game list fixes and more structs and stuff * More updates to Nca class * Now reads ExeFs (i think) * ACTUALLY LOADS EXEFS! * RomFS loads and games execute * Cleanup and Finalize * plumbing, cleanup and testing * fix some things that i didnt think of before * Preliminary Review Changes * Review changes for bunnei and subv
2018-03-02Kernel: Store the program id in the Process class instead of the CodeSet class.Subv1-1/+1
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-02-25loader: Check error on NPDM load, use TID for CodeSetshinyquagsire231-1/+1
2018-01-20loader: Clean up ctors and includes.bunnei1-3/+1
2018-01-20loader: Refactor to also pass filepath into IdentifyType.bunnei1-4/+3
2018-01-20nso: Remove code specific to directory loading.bunnei1-1/+2
2018-01-17Remove relocation on NSO/NROgdkchan1-1/+1
2018-01-16clang-formatMerryMage1-2/+1
2018-01-13yuzu: Update license text to be consistent across project.bunnei1-1/+1
2017-10-10loader: Various improvements for NSO/NRO loaders.bunnei1-5/+3
2017-10-06loader: Add support for NRO, as well as various fixes and shared linker.bunnei1-18/+2
2017-10-04nso: Fixes to support homebrew NSOs without a MOD header.bunnei1-1/+1
2017-09-30nso: Refactor and allocate .bss section.bunnei1-1/+24
2017-09-30loader: Add support for loading an NSO.bunnei1-8/+7
2017-09-27Loaders: Don't automatically set the current process every time we load an application.Subv1-1/+1
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
2016-12-22loader: Remove duplicate docstrings.bunnei1-8/+0
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-1/+0
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-2/+1
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-1/+2
2016-05-21Loader: Add a GetFileType method to get the type of a loaded fileEmmanuel Gil Peyrot1-0/+8
2015-07-14Loader: Remove unnecessary pointer indirection to IOFileYuri Kunde Schlesner1-1/+1
2015-05-09Kernel: Introduce skeleton Process class to hold process dataYuri Kunde Schlesner1-1/+7
2015-01-15Loader: Guess filetype from the magic, or fallback to the extension.Emmanuel Gil Peyrot1-0/+7
2015-01-15Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times.Emmanuel Gil Peyrot1-6/+1
2015-01-15Loader: Never forget to change is_loaded.Emmanuel Gil Peyrot1-1/+1
2014-12-21License changepurpasmart961-2/+2
2014-07-05Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override".bunnei1-2/+2
2014-07-05Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final"bunnei1-1/+1
2014-06-25Loader: Refactored use of const.bunnei1-2/+2
2014-06-25Loader: Implemented AppLoader interface for abstracting application loading.bunnei1-214/+16
- Various cleanups/refactorings to Loader, ELF, and NCCH modules. - Added AppLoader interface to ELF and NCCH. - Updated Qt/GLFW frontends to check AppLoader ResultStatus. NCCH: Removed extra qualification typos. Loader: Removed unnecessary #include's. NCCH: Improved readability of memcmp statements. NCCH: Added missing space. Elf: Removed unnecessary usage of unique_ptr. Loader: Removed unnecessary usage of unique_ptr.
2014-06-17Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".bunnei1-117/+1
2014-06-17Loader: Cleaned up and removed unused code, refactored ELF namespace.bunnei1-0/+15
2014-06-17Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.bunnei1-91/+141
2014-06-17Loader: Moved elf and loader modules to a "loader" subdirectory.bunnei1-0/+0
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-03-25added Dolphin's ELF reader to the projectbunnei1-0/+281