aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys
AgeCommit message (Collapse)Author
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-07-12content_archive: Remove unnecessary include to <ranges>ReinUsesLisp
Fixes build issues on clang.
2021-06-28patch_manager: Do not apply LayeredFS mods when dumpingMorph
We should not apply any mods when dumping a game's RomFS.
2021-06-28filesystem: Open a read-only directory for SDMC modsMorph
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28core: Simplify SDMC mod loadinglat9nq
If someone else wants to support other mod formats in the SDMC directory, that can be added later. For now, just allow RomFS modding here and force people to do other types of mods the old way. Addresses review comments. Co-authored-by: LC <mathew1800@gmail.com>
2021-06-28core: Support LayeredFS mod from SDMC directorylat9nq
Enables loading a mod directly from `[yuzu data directory]/sdmc/atmosphere/contents/[title_id]`. For use with some homebrew mod managers.
2021-06-23General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableLioncash
Also removes some deprecated API usages.
2021-06-22Merge pull request #6493 from Morph1984/fs-nodiscardbunnei
common: fs: Miscellaneous changes
2021-06-22vfs_real: Fix Mode to FileAccessMode conversionMorph
These enforce requiring the file to exist prior to opening.
2021-06-16hle: api_version: Add HLE API version constantsMorph
2021-06-13general: Remove extraneous includesMorph
2021-06-10Fix GCC undefined behavior sanitizer.Markus Wick
* Wrong alignment in u64 LOG_DEBUG -> memcpy. * Huge shift exponent in stride calculation for linear buffer, unused result -> skipped. * Large shift in buffer cache if word = 0, skip checking for set bits. Non of those were critical, so this should not change any behavior. At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-02fspsrv: Implement DisableAutoSaveDataCreation (#6355)Chloe
- Used by Mii Edit
2021-06-02general: Replace RESULT_UNKNOWN with ResultUnknownMorph
Transition to PascalCase for result names.
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.