aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/filesystem
AgeCommit message (Collapse)Author
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-16fsp_srv: Fix filesystem access loggingMorph
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard. Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-02fsp-srv: Replace one last instance of RESULT_SUCCESSMorph
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-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
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-05hle: kernel: Rename Process to KProcess.bunnei
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-26service: Eliminate cases of member shadowingLioncash
Resolves a few localized instances of member variable shadowing. Brings us a little closer to turning shadowing warnings into errors.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-04-07IFile: Update to 12.xMorph
2021-04-07fsp-srv: Update to 12.xMorph
2020-12-15Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindexbunnei
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-08fsp_srv: Implement OpenDataStorageWithProgramIndexMorph
- Used by RollerCoaster Tycoon 3: Complete Edition
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-11-27savedata_factory: Eliminate usage of the global system instanceLioncash
Now there's only two meaningful instances left in core.
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
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-20Merge pull request #4796 from lioncash/clangLC
core: Fix clang build
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-13filesystem: Fix CreateDirectory and DeleteFileMorph
Add a check if dir is nullptr (does not exist) Fixes save game creation in Hades
2020-09-16file_sys/bis_factory: Eliminate usage of the global system accessorLioncash
2020-08-23fsp_srv: Resolve -Wunused-but-set-variable warningLioncash
We can just log out the parameters in the meantime.
2020-08-23fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem()Lioncash
Initialize id to a deterministic value and also mark the unreachable cases in the switch with UNREACHABLE().
2020-08-16common/fileutil: Convert namespace to Common::FSLioncash
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.
2020-07-31minor nitsMorph
2020-07-30fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttributeMorph
Stub these 2 service commands required for Animal Crossing: New Horizons Update 1.4.0
2020-07-30fs: Rename SaveDataDescriptor to SaveDataAttributeMorph
2020-07-16Add comment to clarify the nullptr checkMorph
2020-07-16filesystem: Create subdirectories prior to creating a fileMorph
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within. This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
2020-05-11service: fsp_srv: Stub implementation of OpenMultiCommitManager.bunnei
2020-04-30fs-srv: GetFreeSpaceSize & GetTotalSpaceSizeDavid Marcec
Closes #3533 Turns out the functions were already implemented but just never added
2020-04-20service: Update function tablesLioncash
Keeps the service function tables up to date. Updated based off information on SwitchBrew.
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-07hle: services: Use std::shared_ptr instead of copy by value.bunnei
2019-11-28Merge pull request #3169 from lioncash/memorybunnei
core/memory: Deglobalize memory management code
2019-11-27file_sys/directory: Make EntryType an enum classLioncash
This can trivially be an enum class rather than a regular enum, making it more strongly typed.
2019-11-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-24Merge pull request #3094 from lioncash/tablesbunnei
service: Update function tables
2019-11-12service: Update function tablesLioncash
Keeps the function tables up to date. Updated based off information from Switchbrew.
2019-11-12service: Resolve sign conversion errorsLioncash
These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
2019-10-06hle/service: Replace global system instance calls with instance-based onesLioncash
Migrates the HLE service code off the use of directly accessing the global system instance where trivially able to do so. This removes all usages of Core::CurrentProcess from the service code, only 8 occurrences of this function exist elsewhere. There's still quite a bit of "System::GetInstance()" being used, however this was able to replace a few instances.
2019-10-04service/filesystem: Silence -Wunused-variableReinUsesLisp
2019-10-01bcat: Add FSC accessors for BCAT dataZach Hilman
Ports BCAT to use FSC interface
2019-09-30filesystem: Add getter for BCAT temporary directoryZach Hilman
2019-09-21configure_debug: Move reporting option to loggingZach Hilman