summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/partition_filesystem.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pfs: Fix reading filenames past the buffer endrkfg2023-09-211-0/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-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.
* common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph2021-05-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* file_sys: Replace inclusions with forward declarations where applicableLioncash2020-08-231-4/+4
| | | | Same behavior, minus unnecessary inclusions where not necessary.
* card_image: Implement system update commands in XCIZach Hilman2019-10-131-2/+2
|
* pfs: Provide accessors for file sizes and offsetsZach Hilman2019-09-231-0/+11
|
* vfs: Remove InterpretAsDirectory and related functionsZach Hilman2018-10-191-15/+1
| | | | When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
* file-sys: Default heavy-weight class destructors in the cpp fileLioncash2018-09-201-0/+2
| | | | | | | | | | Several classes have a lot of non-trivial members within them, or don't but likely should have the destructor defaulted in the cpp file for future-proofing/being more friendly to forward declarations. Leaving the destructor unspecified allows the compiler to inline the destruction code all over the place, which is generally undesirable from a code bloat perspective.
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-5/+5
|
* loader: Add more descriptive errorsZach Hilman2018-08-101-4/+4
| | | Full list of new errors and descriptions in core/loader/loader.h
* partition_filesystem: Remove dynamic_cast in PrintDebugInfo()Lioncash2018-07-291-3/+2
| | | | | | | We shouldn't be upcasting our file instances. Given a PartitionFilesystem is currently designed to accept any arbitrary VfsFile instances, casting to a more specific type than that is just bad design, and shows an interface design issue.
* partition_filesystem: Use std::move where applicableLioncash2018-07-241-3/+3
| | | | | Avoids copying a std::string instance and avoids unnecessary atomic reference count incrementing and decrementing.
* partition_filesystem, vfs_real: Add missing standard includesLioncash2018-07-211-0/+3
|
* partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicableLioncash2018-07-211-1/+1
| | | | Avoids unnecessary atomic increment and decrement operations.
* partition_filesystem, vfs_real: Use std::distance() instead of subtractionLioncash2018-07-211-2/+5
| | | | This is a little bit more self-documenting on what is being done here.
* partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()Lioncash2018-07-201-1/+1
| | | | | This should be returned here, otherwise pfs_dirs is effectively only ever added to, but never read.
* partition_filesystem: Ensure all class members of PartitionFilesystem are initializedLioncash2018-07-191-20/+9
| | | | | | | | | Previously is_hfs and pfs_header members wouldn't be initialized in the constructor, as they were stored in locals instead. This would result in things like GetName() and PrintDebugInfo() behaving incorrectly. While we're at it, initialize the members to deterministic values as well, in case loading ever fails.
* Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman2018-07-191-74/+62
| | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
* Revert "Virtual Filesystem (#597)"bunnei2018-07-081-62/+74
| | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-74/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Update clang formatJames Rowe2018-07-031-2/+2
|
* Rename logging macro back to LOG_*James Rowe2018-07-031-4/+4
|
* Add support for decrypted NCA files (#567)Zach Hilman2018-06-211-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Build: Fixed some MSVC warnings in various parts of the code.Subv2018-06-201-3/+3
|
* file-sys: Move logging macros over to the new fmt-capable onesLioncash2018-04-251-2/+1
|
* file_sys: Use NGLOGshinyquagsire232018-04-171-5/+5
|
* file_sys: tweaksshinyquagsire232018-04-161-4/+5
|
* file_sys: Add HFS/PFS helper componentshinyquagsire232018-04-161-0/+124