summaryrefslogtreecommitdiff
path: root/src/core/loader/loader.h
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-25vfs: Move vfs files to their own directoryFearlessTobi
2023-09-06core: implement basic integrity verificationLiam
2023-08-15vfs: expand support for NCA readingLiam
2023-07-12file_sys/content_archive: Detect compressed NCAs (#11047)Tobias
2022-08-01core/loader: remove ELF loaderLiam
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.
2022-02-02general: Replace NonCopyable struct with equivalentsLioncash
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-16core: Make variable shadowing a compile-time errorLioncash
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
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.
2021-01-03main: Resolve error string not displayingLioncash
During the transition to make the error dialog translatable, I accidentally got rid of the conversion to ResultStatus, which prevented operator<< from being invoked during formatting. This adds a function to directly retrieve the result status string instead so that it displays again.
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-06-21Merge pull request #2546 from DarkLordZach/kipsbunnei
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21Merge pull request #2482 from DarkLordZach/prepobunnei
core: Add detailed local reporting feature for development
2019-06-05loader: Add recognition for KIP file typeZach Hilman
2019-06-05loader: Add KIP and INI file parser-specific errorsZach Hilman
2019-05-28core/loader: Remove LoadKernelSystemModeLioncash
This is a hold-over from Citra and doesn't apply to yuzu.
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-27Merge pull request #1928 from lioncash/capsbunnei
kernel: Handle kernel capability descriptors
2018-12-27loader: Add accessor for game control dataZach Hilman
2018-12-21kernel/process: Hook up the process capability parser to the process itselfLioncash
While we're at it, we can also toss out the leftover capability parsing from Citra.
2018-12-10Merge pull request #1819 from DarkLordZach/disable-addonsbunnei
patch_manager: Add support for disabling patches
2018-12-05loaders: Make GetFileType() a const qualified member functionLioncash
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 Hilman
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-10-15nso: Return an optional address from LoadModuleLioncash
If a malformed NSO is attempted to be loaded, we shouldn't continue onwards. We should be reporting an error and bailing out.
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-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-04bktr: Implement IVFC offset shiftingZach Hilman
Fixes base game read errors
2018-09-04bktr: Fix missing includes and optimize styleZach Hilman
2018-09-04loader: Add BKTR-specific error messages and codesZach Hilman
2018-09-04loader: Add NSP file type and NSP-specific errorsZach Hilman
2018-09-02vfs_real: Forward declare IOFileLioncash
Eliminates the need to rebuild some source files if the file_util header ever changes. This also uncovered some indirect inclusions, which have also been fixed.
2018-08-23loader: Add new NAX-specific errors and messagesZach Hilman
2018-08-23nax: Add AppLoader_NAX and update loader to support itZach Hilman
2018-08-15loader: Make ResultStatus directly compatible with fmtLioncash
We can make the enum class type compatible with fmt by providing an overload of operator<<. While we're at it, perform proper bounds checking. If something exceeds the array, it should be a hard fail, because it's, without a doubt, a programmer error in this case.
2018-08-14loader: Remove address mapping remnants from citraLioncash
These mappings are leftovers from citra and don't apply to the Switch.
2018-08-12made ResultStatus a u16David Marcec
2018-08-09loader: Add more descriptive errorsZach Hilman
Full list of new errors and descriptions in core/loader/loader.h
2018-08-08loader: Remove unused IdentifyFile overloadZach Hilman
2018-08-06Avoid parsing RomFS to directory in NCAZach Hilman
2018-08-04Merge pull request #849 from DarkLordZach/xcibunnei
XCI and Encrypted NCA Support