aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys
AgeCommit message (Collapse)Author
2019-03-24core/cheat_engine: Make MemoryReadImpl and MemoryWriteImpl internally linkedLioncash
These don't need to be visible outside of the translation unit, so they can be enclosed within an anonymous namespace.
2019-03-23Merge pull request #2221 from DarkLordZach/firmware-versionbunnei
set_sys: Implement GetFirmwareVersion(2) for libnx hosversion
2019-03-23Merge pull request #2280 from lioncash/nsobunnei
loader/nso: Minor refactoring
2019-03-22file_sys/cheat_engine: Silence truncation and sign-conversion warningsLioncash
2019-03-22file_sys/cheat_engine: Remove use of global system accessorsLioncash
Instead, pass in the core timing instance and make the dependency explicit in the interface.
2019-03-22file_sys/patch_manager: Deduplicate NSO headerLioncash
This source file was utilizing its own version of the NSO header. Instead of keeping this around, we can have the patch manager also use the version of the header that we have defined in loader/nso.h
2019-03-22file_sys/patch_manager: Remove two magic valuesLioncash
These correspond to the NSOBuildHeader.
2019-03-21Merge pull request #1933 from DarkLordZach/cheat-enginebunnei
file_sys: Implement parser and interpreter for game memory cheats
2019-03-19file_sys/content_archive: Amend name of Data_Unknown5 enum entryLioncash
While we're at it, give each entry some documentation.
2019-03-10set_sys: Use official nintendo version stringZach Hilman
2019-03-10system_version: Correct sizes on VectorVfsFile constructionZach Hilman
2019-03-10set_sys: Implement GetFirmwareVersion(2) for libnx hosversionZach Hilman
Uses the synthesized system archive 9 (SystemVersion) and reports v5.1.0-0.0
2019-03-05vm_manager: Remove cheat-specific ranges from VMManagerZach Hilman
2019-03-04cheat_engine: Add parser and interpreter for game cheatsZach Hilman
2019-03-04patch_manager: Display cheats in game list add-onsZach Hilman
2019-03-04patch_manager: Add support for loading cheats listsZach Hilman
Uses load/<title_id>/<mod_name>/cheats as root dir, file name is all upper or lower hex first 8 bytes build ID.
2019-02-25file_sys/vfs_vector: Fix ignored offset on WriteFrederic L
2019-01-20Merge pull request #2025 from DarkLordZach/loader-banner-logobunnei
loader: Add getters for application banner and logo
2019-01-18file_sys/directory: Remove unused DirectoryBackend classLioncash
This isn't used at all, so we can just get rid of it.
2019-01-15content_archive: Add getter for logo section of NCAZach Hilman
2018-12-28romfs: Add SingleDiscard extraction typeZach Hilman
Needed for manual RomFS extraction, as Full generates an extra directory and Truncated generates variable results.
2018-12-27file_sys/program_metadata: Print out more descriptive address space descriptionsLioncash
Provides extra information that makes it easier to tell if an executable being run is using a 36-bit address space or a 39-bit address space. While we don't support AArch32 executables yet, this also puts in distinguishing information for the 32-bit address space types as well.
2018-12-27Merge pull request #1928 from lioncash/capsbunnei
kernel: Handle kernel capability descriptors
2018-12-27am: Implement GetSaveDataSize and ExtendSaveDataZach Hilman
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
2018-12-27savedata_factory: Partially implement IVFC save sizes using filesZach Hilman
This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.
2018-12-27control_metadata: Update NACP fields with latest Switchbrew dataZach Hilman
2018-12-27control_metadata: Use value member instead of unique_ptr to store structZach Hilman
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
2018-12-27vfs: Add reinterpret_casts to WriteArray and ObjectZach Hilman
Allows these functions to compile when T is not u8.
2018-12-21kernel/process: Hook up the process capability parser to the process itselfLioncash
While we're at it, we can also toss out the leftover capability parsing from Citra.
2018-12-19Fixed uninitialized memory due to missing returns in canaryDavid Marcec
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-11patch_manager: Prevent use of a dangling pointer within PatchRomFSLioncash
fmt::format() returns a std::string instance by value, so calling .c_str() on it here is equivalent to doing: auto* ptr = std::string{}.c_str(); The data being pointed to isn't guaranteed to actually be valid anymore after that expression ends. Instead, we can just take the string as is, and provide the necessary formatting parameters.
2018-12-10Merge pull request #1846 from lioncash/dirbunnei
file_sys/directory: Amend path buffer size for directory entries
2018-12-10Merge pull request #1819 from DarkLordZach/disable-addonsbunnei
patch_manager: Add support for disabling patches
2018-12-10Merge pull request #1885 from lioncash/data_idbunnei
file_sys/save_data_factory: Update SaveDataSpaceId enum
2018-12-07file_sys/save_data_factory: Update SaveDataSpaceId enumLioncash
Amends it with missing values deduced from RE (ProperSystem being from SwitchBrew for naming) (SdCardUser wasn't that difficult to discern given it's used alongside SdCardSystem when creating the save data indexer, based off the usage of the string "saveDataIxrDbSd" nearby).
2018-12-07savedata_factory: Add support for CacheStorageZach Hilman
2018-12-06savedata_factory: Delete TemporaryStorage on startupZach Hilman
Mimics hardware behavior.
2018-12-06system_archive: Implement open source NgWord2Zach Hilman
2018-12-05ng_word: Deduplicate use of a constant valueLioncash
We've already given the constant to the vector itself, so we don't need to re-hardcode it in the array.
2018-12-05system_archive: Use a regular function pointer instead of std::function for ↵Lioncash
file-scope system archive array This allows the array to be constexpr. std::function is also allowed to allocate memory, which makes its constructor non-trivial, we definitely don't want to have all of these execute at runtime, taking up time before the application can actually load.
2018-12-04Merge pull request #1704 from DarkLordZach/oss-sysarchivebunnei
file_sys: Implement open source system archives
2018-12-04Merge pull request #1838 from lioncash/dedupbunnei
file_sys/registered_cache: Eliminate variable shadowing
2018-12-03patch_manager: Obey disabled add-ons list when patching gameZach Hilman
2018-12-03Merge pull request #1835 from lioncash/cache-globalbunnei
filesystem: De-globalize registered_cache_union
2018-12-02file_sys/directory: Amend path buffer size for directory entriesLioncash
The path buffer is actually 0x301 (769) characters in length, with the extra character being intended for the null-terminator.
2018-12-01file_sys/registered_cache: Eliminate variable shadowingLioncash
Also inverts if statements where applicable to allow unindenting code a little bit.
2018-12-01filesystem: De-globalize registered_cache_unionLioncash
We can just return a new instance of this when it's requested. This only ever holds pointers to the existing registed caches, so it's not a large object. Plus, this also gets rid of the need to keep around a separate member function just to properly clear out the union. Gets rid of one of five globals in the filesystem code.
2018-11-30file_sys: Override missing mutating functions to be stubbed out for ↵Lioncash
ReadOnlyVfsDirectory by default Ensures that read only indeed means read only.
2018-11-30service/fsp_srv: Implement CleanDirectoryRecursivelyLioncash
This is the same behavior-wise as DeleteDirectoryRecursively, with the only difference being that it doesn't delete the top level directory in the hierarchy, so given: root_dir/ - some_dir/ - File.txt - OtherFile.txt The end result is just: root_dir/
2018-11-27Merge pull request #1814 from lioncash/ptrbunnei
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()