summaryrefslogtreecommitdiff
path: root/src/core/loader/loader.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: implement basic integrity verificationGravatar Liam2023-09-061-1/+3
|
* vfs: expand support for NCA readingGravatar Liam2023-08-151-2/+2
|
* core/loader: Return nullptr if file is nullptrGravatar Merry2022-09-251-0/+4
|
* core/loader: remove ELF loaderGravatar Liam2022-08-011-11/+0
|
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-231-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.
* loader: log the type of mismatching file-extensionGravatar BytesGalore2022-03-031-1/+2
|
* file_sys: Support load game collection (#6582)Gravatar Feng Chen2021-07-201-5/+8
| | | Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
* common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* core: Make variable shadowing a compile-time errorGravatar Lioncash2021-05-161-1/+1
| | | | | | 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.
* hle: kernel: Rename Process to KProcess.Gravatar bunnei2021-05-051-1/+1
|
* main: Resolve error string not displayingGravatar Lioncash2021-01-031-0/+4
| | | | | | | | | 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.
* core: loader: Implement support for loading indexed programs.Gravatar bunnei2020-11-241-5/+7
|
* patch_manager: Remove usages of the global system instanceGravatar Lioncash2020-11-181-12/+15
| | | | | | | With this, only 19 usages of the global system instance remain within the core library. We're almost there.
* common/fileutil: Convert namespace to Common::FSGravatar Lioncash2020-08-161-1/+1
| | | | | | | | | | | | Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
* common/concepts: Rename IsBaseOf to DerivedFromGravatar Lioncash2020-08-071-1/+1
| | | | | | | | This makes it more inline with its currently unavailable standardized analogue std::derived_from. While we're at it, we can also make the template match the requirements of the standardized variant as well.
* Place in anonymous namespaceGravatar David Marcec2020-08-031-0/+4
|
* loader: Make IdentifyFile typesafeGravatar David Marcec2020-08-031-20/+32
| | | | Relies on #4465 for concept.h Common::IsBaseOf
* loader: Add recognition for KIP file typeGravatar Zach Hilman2019-06-051-0/+10
|
* loader: Add KIP and INI file parser-specific errorsGravatar Zach Hilman2019-06-051-1/+5
|
* kernel/process: Hook up the process capability parser to the process itselfGravatar Lioncash2018-12-211-1/+3
| | | | | While we're at it, we can also toss out the leftover capability parsing from Citra.
* nso: Return an optional address from LoadModuleGravatar Lioncash2018-10-151-1/+2
| | | | | If a malformed NSO is attempted to be loaded, we shouldn't continue onwards. We should be reporting an error and bailing out.
* loader: Add getter for packed updateGravatar Zach Hilman2018-10-051-1/+2
| | | | Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
* Port #4182 from Citra: "Prefix all size_t with std::"Gravatar fearlessTobi2018-09-151-1/+1
|
* bktr: Fix bucket overlap errorGravatar Zach Hilman2018-09-041-2/+2
|
* loader: Add BKTR-specific error messages and codesGravatar Zach Hilman2018-09-041-1/+10
|
* loader: Add NSP file type and NSP-specific errorsGravatar Zach Hilman2018-09-041-2/+12
|
* vfs_real: Forward declare IOFileGravatar Lioncash2018-09-021-1/+4
| | | | | | 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.
* loader: Add new NAX-specific errors and messagesGravatar Zach Hilman2018-08-231-1/+14
|
* nax: Add AppLoader_NAX and update loader to support itGravatar Zach Hilman2018-08-231-2/+12
|
* Merge pull request #1005 from DarkLordZach/registered-fmtGravatar bunnei2018-08-151-0/+2
|\ | | | | file_sys: Add support for registration format
| * loader: Recognize filename '00' as NCAGravatar Zach Hilman2018-08-111-0/+2
| | | | | | | | Needed to avoid mismatch filetype warnings on split NAND NCAs
* | loader: Make ResultStatus directly compatible with fmtGravatar Lioncash2018-08-151-8/+4
| | | | | | | | | | | | | | | | | | 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.
* | loader: Remove address mapping remnants from citraGravatar Lioncash2018-08-141-6/+0
| | | | | | | | These mappings are leftovers from citra and don't apply to the Switch.
* | Fixed invalid cast in loaderGravatar David Marcec2018-08-121-1/+1
|/ | | | GetMessageForResultStatus takes a u16, not a size_t.
* loader: Add more descriptive errorsGravatar Zach Hilman2018-08-091-0/+49
| | | Full list of new errors and descriptions in core/loader/loader.h
* loader: Remove unused IdentifyFile overloadGravatar Zach Hilman2018-08-081-4/+0
|
* Avoid parsing RomFS to directory in NCAGravatar Zach Hilman2018-08-061-1/+1
|
* Remove files that are not usedGravatar Zach Hilman2018-08-011-0/+9
|
* loader: Remove unnecessary constructor call in IdentifyFile()Gravatar Lioncash2018-07-231-1/+1
| | | | | | RealVfsFile inherits from VfsFile, the instance from std::make_shared is already compatible with the function argument type, making the copy constructor call unnecessary.
* file_util, vfs: Use std::string_view where applicableGravatar Lioncash2018-07-221-1/+2
| | | | | Avoids unnecessary construction of std::string instances where applicable.
* loader: Amend Doxygen commentsGravatar Lioncash2018-07-191-2/+2
| | | | These weren't adjusted when VFS was introduced
* Virtual Filesystem 2: Electric Boogaloo (#676)Gravatar Zach Hilman2018-07-181-38/+25
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"Gravatar bunnei2018-07-071-25/+38
| | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
* Virtual Filesystem (#597)Gravatar Zach Hilman2018-07-061-38/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Rename logging macro back to LOG_*Gravatar James Rowe2018-07-021-4/+4
|
* Add support for decrypted NCA files (#567)Gravatar Zach Hilman2018-06-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* loader: Move old logging macros over to new fmt-capable onesGravatar Lioncash2018-04-241-4/+4
|
* loader: Clean up ctors and includes.Gravatar bunnei2018-01-201-3/+1
|
* loader: Add DeconstructedRomDirectory for game dumps.Gravatar bunnei2018-01-201-0/+8
|
* loader: Refactor to also pass filepath into IdentifyType.Gravatar bunnei2018-01-201-5/+5
|