aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys
AgeCommit message (Collapse)Author
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
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
2021-05-16Merge pull request #6319 from Morph1984/no-install-basebunnei
main: Prevent installing base titles into NAND
2021-05-16main: Prevent installing base titles into NANDMorph
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
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-05-02Merge pull request #6269 from lioncash/file-shadowbunnei
file_sys: Resolve cases of variable shadowing
2021-05-02file_sys: Resolve cases of variable shadowingLioncash
Brings us closer to enabling -Wshadow as an error in the core code.
2021-05-01service: filesystem: Return proper error codes for CreateFileMorph
This improves the accuracy of CreateFile by returning the correct error codes on certain conditions (parent directory does not exist, path already exists). This fixes saving and the loading of existing saves in New Pokemon Snap
2021-04-24Merge pull request #6230 from Morph1984/default-resource-sizebunnei
program_metadata: Set a default resource size when a NPDM is not present
2021-04-23program_metadata: Set a default resource size when a NPDM is not presentMorph
Sets a default size of 0x1FE00000 bytes (510 MiB) for the system_resource_size when a NPDM is not present.
2021-04-23program_metadata: Explicitly specify copy/move functionsLioncash
The generation of the copy assignment operators are deprecated on being generated when a user-provided destructor is present. We can explicitly specify that we desire this behavior to keep the class forward compatible with future standards.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-03-27pctl: Rework how pctl works to be more accurateChloe Marcec
Introduces the usage of compatibilities to allow it the module to be closer to how it works on hardware.
2021-03-16Merge pull request #6070 from Morph1984/sysver-11.0.1bunnei
system_version: Update to 11.0.1
2021-03-14system_version: Update to 11.0.1Morph
2021-03-14system_archive: Update NgWord archive versionMorph
2021-01-23vfs_real: When moving files or directories, don't assume file opening will ↵comex
succeed Found this via a warning, but it's a substantive fix. Since this is only for a cache, it should be safe to silently drop the entry if opening fails. I think.
2021-01-15core: Silence Wclass-memaccess warningsReinUsesLisp
This requires making several types trivial and properly initialize them whenever they are called.
2021-01-15common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-09file_sys/registered_cache: Silence virtual functions without override warningsReinUsesLisp
2021-01-05core: Silence warnings when compiling without assertsReinUsesLisp
2020-12-18system_archive: Add + and - buttons to the Nintendo Extended OSS fontMorph
2020-12-17system_archive: Update Nintendo Extended OSS fontMorph
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-12-15Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindexbunnei
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-12Merge pull request #5183 from lioncash/alias2bunnei
vfs: Use existing type aliases consistently
2020-12-11Revert "Merge pull request #5176 from Morph1984/fix-createfile"Morph
This reverts commit 6d6115475b4edccdf1bb4e96ecc3d3b1be319e76, reversing changes made to 5fe55b16a11d9ec607fb8a3fdddc77a4393cd96a.
2020-12-10vfs: Use existing type aliases consistentlyLioncash
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2020-12-09vfs_real: Fix CreateFile for files without a file extensionMorph
2020-12-08fsp_srv: Implement OpenDataStorageWithProgramIndexMorph
- Used by RollerCoaster Tycoon 3: Complete Edition
2020-12-08file_sys: Consolidate common Title ID operationsMorph
2020-12-07core: Remove unnecessary enum casts in log callsLioncash
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-12-05system_version: Update to 11.0.0Chloe Marcec
2020-11-27savedata_factory: Eliminate usage of the global system instanceLioncash
Now there's only two meaningful instances left 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-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-10-12Merge pull request #3929 from FearlessTobi/ticket-keysbunnei
file_sys/nsp: Make SetTicketKeys actually do something
2020-09-24submission_package: Fix updates integrated into cartridge images.Morph
2020-09-22General: Make use of std::nullopt where applicableLioncash
Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
2020-09-22ips_layer: Eliminate a redundant copy in Parse()Lioncash
Prevents unnecessary copying of the line being parsed.
2020-09-21Merge pull request #4675 from Morph1984/fix-boot-multicontentbunnei
submission_package: Account for multi-content NSPs
2020-09-17submission_package: Account for multi-content NSPsMorph
Previously we assumed a submission package can only contain one Program NCA with a single TitleID. However, Super Mario 3D All-Stars contains four Program NCAs, each with their unique TitleIDs. This accounts for the existence of multi-content games such as this one. - Fixes booting Super Mario 3D All-Stars from the games list.
2020-09-17control_metadata: Resolve typo in Portuguese language nameLioncash
This isn't used anywhere, so this is a trivial fix.
2020-09-16file_sys/romfs_factory: Eliminate usage of the global system accessorLioncash
2020-09-16file_sys/bis_factory: Eliminate usage of the global system accessorLioncash
2020-09-16Merge pull request #4658 from lioncash/copy3Rodrigo Locatti
nca_patch: Reduce stack usage size within SearchBucketEntry()
2020-09-15nca_patch: Significantly reduce the stack usage size within SearchBucketEntry()Lioncash
Previously this function was using ~16KB of stack (16528 bytes), which was caused by the function arguments being taken by value rather than by reference. We can make this significantly lighter on the stack by taking them by reference.