Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | content_archive: Add support for titlekey cryptography | Zach Hilman | 2018-08-04 | 2 | -7/+39 |
| | |||||
* | Merge pull request #849 from DarkLordZach/xci | bunnei | 2018-08-04 | 6 | -44/+446 |
|\ | | | | | XCI and Encrypted NCA Support | ||||
| * | Add missing parameter to files.push_back() | Zach Hilman | 2018-08-01 | 1 | -5/+5 |
| | | |||||
| * | Use more descriptive error codes and messages | Zach Hilman | 2018-08-01 | 1 | -2/+8 |
| | | |||||
| * | Use ErrorEncrypted where applicable and fix no keys crash | Zach Hilman | 2018-08-01 | 3 | -17/+33 |
| | | |||||
| * | Add missing includes and use const where applicable | Zach Hilman | 2018-08-01 | 4 | -9/+14 |
| | | |||||
| * | Make XCI comply to review and style guidelines | Zach Hilman | 2018-08-01 | 4 | -45/+30 |
| | | |||||
| * | Extract mbedtls to cpp file | Zach Hilman | 2018-08-01 | 1 | -1/+2 |
| | | |||||
| * | Remove files that are not used | Zach Hilman | 2018-08-01 | 6 | -36/+425 |
| | | |||||
* | | vfs_vector: Remove unused variable in FindAndRemoveVectorElement() | Lioncash | 2018-08-02 | 1 | -2/+2 |
| | | | | | | | | This wasn't being used for anything, so it can be removed. | ||||
* | | vfs_vector: Avoid unnecessary copies where applicable | Lioncash | 2018-08-02 | 1 | -2/+5 |
|/ | | | | | The lambda elements should be taken by const reference here, and we can move the virtual directory passed to ReplaceFileWithSubdirectory() | ||||
* | partition_filesystem: Remove dynamic_cast in PrintDebugInfo() | Lioncash | 2018-07-29 | 1 | -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. | ||||
* | RomFS Extraction | Zach Hilman | 2018-07-28 | 11 | -20/+347 |
| | |||||
* | Merge pull request #785 from lioncash/fs | bunnei | 2018-07-24 | 1 | -3/+3 |
|\ | | | | | partition_filesystem: Use std::move where applicable | ||||
| * | partition_filesystem: Use std::move where applicable | Lioncash | 2018-07-24 | 1 | -3/+3 |
| | | | | | | | | | | Avoids copying a std::string instance and avoids unnecessary atomic reference count incrementing and decrementing. | ||||
* | | VFS Regression and Accuracy Fixes (#776) | Zach Hilman | 2018-07-24 | 2 | -20/+33 |
|/ | | | | | | | | | | | | | | | | * Regression and Mode Fixes * Review Fixes * string_view correction * Add operator& for FileSys::Mode * Return std::string from SanitizePath * Farming Simulator Fix * Use != With mode operator& | ||||
* | NRO Assets and NACP file format | Zach Hilman | 2018-07-23 | 2 | -0/+123 |
| | | | | | | Cleanup Review fixes | ||||
* | vfs: Correct file_p variable usage within InterpretAsDirectory() | Lioncash | 2018-07-22 | 1 | -2/+5 |
| | | | | | | | | | ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but it was being passed a string as one of its arguments. The only reason this never caused issues is because this template isn't instantiated anywhere yet. This corrects an issue before it occurs. | ||||
* | file_util, vfs: Use std::string_view where applicable | Lioncash | 2018-07-22 | 6 | -89/+150 |
| | | | | | Avoids unnecessary construction of std::string instances where applicable. | ||||
* | file_util: Use a u64 to represent number of entries | Lioncash | 2018-07-22 | 1 | -3/+3 |
| | | | | | This avoids a truncating cast on size. I doubt we'd ever traverse a directory this large, however we also shouldn't truncate sizes away. | ||||
* | Merge pull request #754 from lioncash/part | bunnei | 2018-07-21 | 2 | -8/+20 |
|\ | | | | | partition_filesystem, vfs_real: Minor changes | ||||
| * | vfs_real: Remove redundant copying of std::vector instances in GetFiles() and GetSubdirectories() | Lioncash | 2018-07-21 | 1 | -2/+3 |
| | | | | | | | | | | We already return by value, so we don't explicitly need to make the copy. | ||||
| * | partition_filesystem, vfs_real: Add missing standard includes | Lioncash | 2018-07-21 | 2 | -0/+4 |
| | | |||||
| * | partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicable | Lioncash | 2018-07-21 | 2 | -2/+3 |
| | | | | | | | | Avoids unnecessary atomic increment and decrement operations. | ||||
| * | partition_filesystem, vfs_real: Use std::distance() instead of subtraction | Lioncash | 2018-07-21 | 2 | -4/+10 |
| | | | | | | | | This is a little bit more self-documenting on what is being done here. | ||||
* | | Merge pull request #755 from lioncash/ctor | bunnei | 2018-07-21 | 1 | -8/+8 |
|\ \ | | | | | | | file_sys/errors: Remove redundant object constructor calls | ||||
| * | | file_sys/errors: Remove redundant object constructor calls | Lioncash | 2018-07-21 | 1 | -8/+8 |
| |/ | | | | | | | | | Given we're already constructing the error code, we don't need to call the constructor inside of it. | ||||
* | | vfs_offset: Simplify TrimToFit() | Lioncash | 2018-07-21 | 1 | -1/+2 |
| | | | | | | | | | | We can simply use std::clamp() here, instead of using an equivalent with std::max() and std::min(). | ||||
* | | vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const reference | Lioncash | 2018-07-21 | 4 | -4/+4 |
| | | | | | | | | | | Given the data is intended to be directly written, there's no need to take the std::vector by value and copy the data. | ||||
* | | vfs: Use variable template variants of std::is_trivially_copyable | Lioncash | 2018-07-21 | 1 | -13/+6 |
| | | | | | | | | Provides the same behavior, but with less writing | ||||
* | | vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member functions to be const qualified | Lioncash | 2018-07-21 | 1 | -3/+3 |
|/ | | | | | These functions don't modify the data being pointed to, so these can be pointers to const data | ||||
* | Merge pull request #737 from lioncash/move | bunnei | 2018-07-20 | 2 | -3/+5 |
|\ | | | | | filesys/loader: std::move VirtualFile instances in constructors where applicable | ||||
| * | vfs_offset: std::move file and name parameters of OffsetVfsFile | Lioncash | 2018-07-20 | 2 | -3/+5 |
| | | | | | | | | | | Avoids potentially unnecessary atomic reference count incrementing and decrementing, as well as string copying. | ||||
* | | partition_filesystem: Return pfs_dirs member variable within GetSubdirectories() | Lioncash | 2018-07-20 | 1 | -1/+1 |
|/ | | | | | This should be returned here, otherwise pfs_dirs is effectively only ever added to, but never read. | ||||
* | Merge pull request #703 from lioncash/const | bunnei | 2018-07-19 | 2 | -2/+2 |
|\ | | | | | savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function | ||||
| * | savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function | Lioncash | 2018-07-19 | 2 | -2/+2 |
| | | | | | | | | This function doesn't alter class state. | ||||
* | | Merge pull request #702 from lioncash/initialize | bunnei | 2018-07-19 | 2 | -24/+15 |
|\ \ | | | | | | | partition_filesystem: Ensure all class members of PartitionFilesystem are initialized | ||||
| * | | partition_filesystem: Ensure all class members of PartitionFilesystem are initialized | Lioncash | 2018-07-19 | 2 | -24/+15 |
| |/ | | | | | | | | | | | | | | | | | 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. | ||||
* | | Merge pull request #701 from lioncash/moving | bunnei | 2018-07-19 | 2 | -2/+10 |
|\ \ | | | | | | | content_archive: Minor changes | ||||
| * | | content_archive: Make IsDirectoryExeFS() take a shared_ptr as a const reference | Lioncash | 2018-07-19 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | There's no need to take this by value when it's possible to avoid unnecessary copies entirely like this. | ||||
| * | | content_archive: Add missing standard includes | Lioncash | 2018-07-19 | 1 | -0/+5 |
| | | | |||||
| * | | content_archive: std::move VirtualFile in NCA's constructor | Lioncash | 2018-07-19 | 1 | -1/+4 |
| |/ | | | | | | | | | Gets rid of unnecessary atomic reference count incrementing and decrementing. | ||||
* / | vfs: Deduplicate accumulation code in VfsDirectory's GetSize() | Lioncash | 2018-07-19 | 1 | -6/+6 |
|/ | | | | We can just use a generic lambda to avoid writing the same thing twice. | ||||
* | Virtual Filesystem 2: Electric Boogaloo (#676) | Zach Hilman | 2018-07-19 | 30 | -1211/+1267 |
| | | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression | ||||
* | General Filesystem and Save Data Fixes (#670) | Zach Hilman | 2018-07-17 | 8 | -106/+123 |
| | |||||
* | FileSys: Append the requested path to the filesystem base path in DeleteFile. | Subv | 2018-07-14 | 1 | -2/+4 |
| | | | | We were trying to delete things in the current directory instead of the actual filesystem directory. This may fix some savedata issues in some games. | ||||
* | Merge pull request #559 from Subv/mount_savedata | bunnei | 2018-07-12 | 1 | -0/+1 |
|\ | | | | | Services/FS: Return the correct error code when trying to mount a nonexistent savedata. | ||||
| * | Services/FS: Return the correct error code when trying to mount a nonexistent savedata. | Subv | 2018-06-19 | 1 | -0/+1 |
| | | |||||
* | | savedata_factory: Always create a save directory for games. | bunnei | 2018-07-08 | 1 | -0/+9 |
| | | |||||
* | | Revert "Virtual Filesystem (#597)" | bunnei | 2018-07-08 | 23 | -1127/+996 |
| | | | | | | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2. | ||||
* | | Virtual Filesystem (#597) | Zach Hilman | 2018-07-06 | 23 | -996/+1127 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 format | James Rowe | 2018-07-03 | 3 | -10/+8 |
| | | |||||
* | | Rename logging macro back to LOG_* | James Rowe | 2018-07-03 | 8 | -55/+55 |
| | | |||||
* | | Add support for decrypted NCA files (#567) | Zach Hilman | 2018-06-21 | 2 | -4/+16 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. | Subv | 2018-06-20 | 2 | -6/+6 |
|/ | |||||
* | general: Make formatting of logged hex values more straightforward | Lioncash | 2018-05-02 | 1 | -9/+9 |
| | | | | | | This makes the formatting expectations more obvious (e.g. any zero padding specified is padding that's entirely dedicated to the value being printed, not any pretty-printing that also gets tacked on). | ||||
* | file-sys: convert a StringFromFormat call into fmt::format in GetFullPath() | Lioncash | 2018-04-25 | 1 | -4/+1 |
| | | | | | Lessens the amount to read and gets rid of the PRIX64 macro, allowing us to use a single string for the whole path, making it easier to read. | ||||
* | file-sys: Move logging macros over to the new fmt-capable ones | Lioncash | 2018-04-25 | 8 | -64/+58 |
| | |||||
* | Service/FS: implement IFileSystem::RenameFile | mailwl | 2018-04-24 | 5 | -7/+15 |
| | |||||
* | disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory | Lioncash | 2018-04-20 | 1 | -1/+0 |
| | |||||
* | disk_filesystem: Remove redundant initializer in Disk_Directory's constructor | Lioncash | 2018-04-20 | 1 | -1/+1 |
| | |||||
* | disk_filesystem: Make constructors explicit where applicable | Lioncash | 2018-04-20 | 1 | -2/+2 |
| | |||||
* | file_sys: Use NGLOG | shinyquagsire23 | 2018-04-17 | 1 | -5/+5 |
| | |||||
* | file_sys: tweaks | shinyquagsire23 | 2018-04-16 | 2 | -6/+7 |
| | |||||
* | file_sys: Add HFS/PFS helper component | shinyquagsire23 | 2018-04-16 | 2 | -0/+211 |
| | |||||
* | fsp_srv: Implement DeleteFile. | bunnei | 2018-04-15 | 5 | -8/+12 |
| | | | | - Used by Binding of Isaac. | ||||
* | fsp_srv: Implement GetSize and SetSize. | bunnei | 2018-03-31 | 1 | -2/+3 |
| | |||||
* | FS: Move the file open mode calculation to a separate function. | Subv | 2018-03-23 | 1 | -7/+14 |
| | |||||
* | FS: Implemented IFileSystem::CreateDirectory. | Subv | 2018-03-21 | 5 | -7/+14 |
| | |||||
* | FS: Implement DiskFileSystem's OpenDirectory interface. | Subv | 2018-03-20 | 5 | -6/+19 |
| | |||||
* | FS: Implement DiskFileSystem::GetEntryType for existing files/directories. | Subv | 2018-03-20 | 1 | -2/+4 |
| | |||||
* | FS: Updated the Directory Entry structure to match the Switch. | Subv | 2018-03-20 | 5 | -30/+84 |
| | |||||
* | FS: Support the file Append open mode. | Subv | 2018-03-20 | 2 | -2/+23 |
| | |||||
* | FS: Added an SDMC archive factory and registered it to the SDMC archive on startup. | Subv | 2018-03-20 | 2 | -0/+71 |
| | |||||
* | core: Move process creation out of global state. | bunnei | 2018-03-14 | 1 | -1/+2 |
| | |||||
* | FS: Use the correct error code when trying to open files that don't exist. | Subv | 2018-03-04 | 2 | -26/+6 |
| | |||||
* | FS: Make EnsureSaveData create the savedata folder when called for the first time. | Subv | 2018-03-04 | 5 | -15/+30 |
| | |||||
* | SaveData: Use the current titleid when opening the savedata archive. | Subv | 2018-03-02 | 1 | -2/+3 |
| | |||||
* | Filesystem: Added a SaveData Factory and associated Disk_FileSystem. | Subv | 2018-03-02 | 7 | -14/+315 |
| | |||||
* | file_sys: Style tweaks | shinyquagsire23 | 2018-02-26 | 2 | -11/+5 |
| | | | | Asdf | ||||
* | file_sys: Add support for parsing NPDM files | shinyquagsire23 | 2018-02-25 | 2 | -0/+274 |
| | |||||
* | file_sys: Clang format fixes. | bunnei | 2018-01-21 | 3 | -4/+4 |
| | |||||
* | file_sys: Cleanup to better match Switch file system constructs. | bunnei | 2018-01-21 | 9 | -57/+128 |
| | | | | file_sys: Add factory class for RomFS file system. | ||||
* | file_sys: Remove disk_archive, savedata_archive, and title_metadata. | bunnei | 2018-01-21 | 6 | -829/+0 |
| | |||||
* | archive_backend: Minor changes to match Switch IFileSystem. | bunnei | 2018-01-21 | 5 | -26/+26 |
| | |||||
* | file_sys: Repurpose 3DS IVFC code for Switch ROMFS. | bunnei | 2018-01-21 | 2 | -49/+41 |
| | |||||
* | Format: Run the new clang format on everything | James Rowe | 2018-01-21 | 1 | -1/+1 |
| | |||||
* | Update title_metadata.h | N00byKing | 2018-01-17 | 1 | -0/+1 |
| | |||||
* | core: Gut out cryptop, since it doesn't compile with C++17. | bunnei | 2018-01-13 | 1 | -50/+1 |
| | |||||
* | hle: Use Switch formatted result codes. | bunnei | 2017-11-01 | 3 | -74/+24 |
| | |||||
* | core: Refactor MakeMagic usage and remove dead code. | bunnei | 2017-10-15 | 2 | -697/+0 |
| | |||||
* | Remove lots more 3DS-specific code. | bunnei | 2017-10-13 | 18 | -1935/+0 |
| | |||||
* | Merge remote-tracking branch 'upstream/master' into nx | bunnei | 2017-10-10 | 10 | -22/+1198 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h | ||||
| * | file_sys, loader: add support for reading TMDs to determine app paths | shinyquagsire23 | 2017-10-01 | 1 | -2/+13 |
| | | |||||
| * | file_sys: add class for Title Metadata (TMD) | shinyquagsire23 | 2017-10-01 | 2 | -0/+337 |
| | | |||||
| * | file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumps | shinyquagsire23 | 2017-10-01 | 2 | -69/+206 |
| | | |||||
| * | file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files | shinyquagsire23 | 2017-10-01 | 1 | -6/+12 |
| | | |||||
| * | HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently. | Subv | 2017-09-25 | 2 | -13/+39 |
| | | | | | | | | | | | | | | | | The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time. | ||||
| * | Loader/NCCH: Add support for loading application updates (#2927) | Max Thomas | 2017-09-25 | 4 | -5/+587 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * loader/ncch: split NCCH parsing into its own file * loader/ncch: add support for loading update NCCHs from the SD card * loader/ncch: fix formatting * file_sys/ncch_container: Return a value for OpenFile * loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch * file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked * file_sys/ncch_container: pass filepath as a const reference | ||||
| * | Warnings: Add UNREACHABLE macros to switches that contemplate all possible values. | Subv | 2017-08-21 | 1 | -0/+2 |
| | | |||||
| * | Handle invalid filenames when renaming files/directories | James | 2017-07-31 | 2 | -4/+78 |
| | | |||||
* | | nso: Refactor and allocate .bss section. | bunnei | 2017-09-30 | 1 | -3/+6 |
|/ | |||||
* | Addressed Bunnei's review comments, and made some other tweaks: | TheKoopaKingdom | 2017-06-03 | 1 | -6/+6 |
| | | | | | - Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped. | ||||
* | Switched to the ERROR_NOT_FOUND constant from errors.h. | TheKoopaKingdom | 2017-06-03 | 1 | -2/+2 |
| | |||||
* | Moved whitelist checks from FS_User to the Archive_NCCH handler. | TheKoopaKingdom | 2017-06-03 | 1 | -1/+35 |
| | |||||
* | Made some changes from review comments: | TheKoopaKingdom | 2017-06-03 | 1 | -1/+2 |
| | | | | | | | | - Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff. | ||||
* | FileSys: Move all result description to errors.h | Yuri Kunde Schlesner | 2017-05-25 | 5 | -61/+96 |
| | |||||
* | file_sys: lower log level for setting host path | wwylele | 2017-03-08 | 4 | -4/+4 |
| | |||||
* | Doxygen: Amend minor issues (#2593) | Mat M | 2017-02-27 | 1 | -1/+1 |
| | | | | | | | | | Corrects a few issues with regards to Doxygen documentation, for example: - Incorrect parameter referencing. - Missing @param tags. - Typos in @param tags. and a few minor other issues. | ||||
* | loader: use self NCCH archive | wwylele | 2017-02-13 | 2 | -81/+0 |
| | |||||
* | file_sys: add Self NCCH archive | wwylele | 2017-02-13 | 3 | -0/+312 |
| | |||||
* | core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX | Kloen | 2017-01-29 | 1 | -0/+12 |
| | |||||
* | core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX | Kloen | 2017-01-29 | 1 | -0/+12 |
| | |||||
* | core: fix archive_extsavedata.cpp warning on OSX | Kloen | 2017-01-29 | 1 | -0/+2 |
| | |||||
* | Address clang-format issues. | bunnei | 2016-12-22 | 1 | -4/+3 |
| | |||||
* | core: Remove HLE module, consolidate code & various cleanups. | bunnei | 2016-12-22 | 4 | -5/+5 |
| | |||||
* | archive_source_sd_savedata: Add static method to get a specific save data path | MerryMage | 2016-12-15 | 2 | -0/+7 |
| | |||||
* | file_sys: Make a few single-argument constructors explicit | Lioncash | 2016-12-07 | 8 | -10/+10 |
| | | | | Prevents implicit conversions. | ||||
* | FileSys: Implement OtherSaveData | wwylele | 2016-11-29 | 3 | -0/+200 |
| | |||||
* | FileSys: abstract SD save data archive source | wwylele | 2016-11-29 | 4 | -78/+132 |
| | |||||
* | FileSys: rename SaveDataCheck archive to NCCH archive | wwylele | 2016-11-19 | 2 | -15/+15 |
| | | | | According to the observation from game and 3dbrew "Used for accessing general NCCH data" | ||||
* | FileSys: remove unused DiskArchive | wwylele | 2016-11-19 | 2 | -179/+0 |
| | | | | All "subclasses" of DiskArchive are splitted out. This class is useless | ||||
* | FileSys: w->rw permission lift only happens in SDMC archive | wwylele | 2016-11-19 | 4 | -2/+14 |
| | |||||
* | FileSys: add SDMCWriteOnlyArchive | wwylele | 2016-11-19 | 3 | -0/+129 |
| | |||||
* | FileSys: add SDMCArchive | wwylele | 2016-11-19 | 3 | -1/+301 |
| | | | | Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive" | ||||
* | FileSys: add ExtSaveDataArchive | wwylele | 2016-11-19 | 1 | -1/+114 |
| | | | | ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData | ||||
* | FileSys: add SaveDataArchive | wwylele | 2016-11-19 | 5 | -4/+359 |
| | | | | The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive. | ||||
* | FileSys: remove Open from FileBackend | wwylele | 2016-11-19 | 4 | -64/+44 |
| | | | | Same as directory, file shouldn't expose Open either. | ||||
* | FileSys: remove Open from DirectoryBackend | wwylele | 2016-11-19 | 4 | -25/+5 |
| | | | | Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service | ||||
* | FileSys: add PathParser | wwylele | 2016-11-19 | 2 | -0/+159 |
| | |||||
* | FileSys: make Archive interfaces return error code | wwylele | 2016-11-01 | 5 | -55/+82 |
| | | | | and make the mode parameter a reference since it is a BitField union | ||||
* | fs: implement DeleteDirectoryRecursively | wwylele | 2016-10-02 | 5 | -0/+19 |
| | |||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 9 | -9/+9 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 20 | -44/+9 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 2016-09-19 | 8 | -43/+30 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 20 | -136/+217 |
| | |||||
* | FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock | MerryMage | 2016-05-21 | 1 | -6/+6 |
| | |||||
* | Merge pull request #1643 from MerryMage/make_unique | Mathew Maidment | 2016-04-06 | 8 | -19/+17 |
|\ | | | | | Common: Remove Common::make_unique, use std::make_unique | ||||
| * | Common: Remove Common::make_unique, use std::make_unique | MerryMage | 2016-04-05 | 8 | -19/+17 |
| | | |||||
* | | archive_extsavedata: Fix member initialization order | Lioncash | 2016-03-21 | 1 | -1/+2 |
|/ | | | | shared appears in the initializer list before mount_point | ||||
* | HLE/FS: Change the error code returned when an ExtSaveData archive is not found. | Subv | 2016-03-20 | 4 | -29/+37 |
| | | | | This allows Fire Emblem to boot again. | ||||
* | HLE/FS: Corrected some style concerns. | Subv | 2016-03-20 | 4 | -8/+8 |
| | |||||
* | HLE/FS: Implemented GetFormatInfo | Subv | 2016-03-20 | 13 | -14/+130 |
| | | | | Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive. | ||||
* | HLE/FS: Return the proper error codes when opening files. | Subv | 2016-03-20 | 6 | -25/+39 |
| | |||||
* | HLE/FS: Return the proper error codes on file Read/Write operations. | Subv | 2016-03-20 | 5 | -16/+24 |
| | | | | These operations are limited by the open flags specified while opening the file. | ||||
* | HLE/FS: Corrected the error codes for DeleteFile | Subv | 2016-03-20 | 5 | -8/+21 |
| | |||||
* | HLE/FS: Corrected the error codes for CreateFile | Subv | 2016-03-20 | 1 | -1/+4 |
| | |||||
* | HLE/FS: FS::CreateFile takes an u64 for the file size. | Subv | 2016-03-20 | 5 | -5/+5 |
| | |||||
* | Merge pull request #1297 from Subv/saves | bunnei | 2016-03-01 | 1 | -2/+4 |
|\ | | | | | DiskDirectory: Initialize the directory member with valid info. | ||||
| * | DiskDirectory: Initialize the directory member with valid info. | Subv | 2016-01-16 | 1 | -2/+4 |
| | | |||||
* | | archive_backend: Remove unnecessary const from return types | Lioncash | 2016-01-25 | 2 | -8/+8 |
|/ | | | | This doesn't return by reference so const isn't really necessary | ||||
* | Implement FS_User::GetFreeBytes | archshift | 2015-10-28 | 5 | -0/+18 |
| | |||||
* | ivfc_archive: Fix a printf specifier | Lioncash | 2015-09-30 | 1 | -1/+1 |
| | |||||
* | disk_archive: Remove unimplemented constructor declarations | Lioncash | 2015-09-10 | 1 | -2/+0 |
| | |||||
* | Services/FS: Correctly tell the guest app whether a file was correctly opened or not. | Subv | 2015-08-29 | 1 | -1/+1 |
| | | | | Closes #1067 | ||||
* | Archive: Correct a few incorrect types in function signatures | Yuri Kunde Schlesner | 2015-07-14 | 5 | -21/+21 |
| | | | | Buffer lengths should be size_t, and file offsets should be u64. | ||||
* | Loader: Remove unnecessary pointer indirection to IOFile | Yuri Kunde Schlesner | 2015-07-14 | 2 | -2/+2 |
| | |||||
* | FS: Stream RomFS from file instead of loading all of it to memory | condut | 2015-07-14 | 5 | -23/+27 |
| | |||||
* | Core: Properly configure address space when loading a binary | Yuri Kunde Schlesner | 2015-07-12 | 1 | -2/+2 |
| | | | | | | The code now properly configures the process image to match the loaded binary segments (code, rodata, data) instead of just blindly allocating a large chunk of dummy memory. | ||||
* | Core: Cleanup file_sys includes. | Emmanuel Gil Peyrot | 2015-06-28 | 17 | -30/+52 |
| | |||||
* | CitraQt: Cleanup includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -0/+1 |
| | |||||
* | Common: Cleanup memory and misc includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -0/+2 |
| | |||||
* | Common: Fix FileUtil includes, and everything relying on those. | Emmanuel Gil Peyrot | 2015-06-28 | 4 | -0/+4 |
| | |||||
* | ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder. | Subv | 2015-06-02 | 1 | -3/+6 |
| | | | | Organize the ExtSaveData folders as they are stored in the console. | ||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 3 | -5/+5 |
| | |||||
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+1 |
| | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | Kernel: Remove g_program_id | Yuri Kunde Schlesner | 2015-05-09 | 1 | -2/+3 |
| | | | | This has been obsoleted by the field in Process. | ||||
* | Common: Remove common.h | Yuri Kunde Schlesner | 2015-05-07 | 8 | -1/+7 |
| | |||||
* | Clean-up includes | Yuri Kunde Schlesner | 2015-05-07 | 2 | -4/+2 |
| | |||||
* | FileSys: De-inline Path members | Yuri Kunde Schlesner | 2015-05-07 | 2 | -125/+136 |
| | |||||
* | FileSys: Clean-up includes, de-inline destructors | Yuri Kunde Schlesner | 2015-05-07 | 3 | -7/+14 |
| | |||||
* | Headers: Add some forgotten overrides, thanks clang! | Emmanuel Gil Peyrot | 2015-04-14 | 1 | -1/+1 |
| | |||||
* | Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveData | Subv | 2015-03-14 | 4 | -2/+76 |
| | | | | Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory. | ||||
* | Archives: Properly implemented the SystemSaveData archive. | Subv | 2015-02-26 | 2 | -19/+28 |
| | | | | Ported to the new factory pattern we have for archives. | ||||
* | FS: Allow multiple instances of the same archive type to be open at once | Yuri Kunde Schlesner | 2015-02-10 | 15 | -129/+163 |
| | |||||
* | Services: Stubbed more services. | Subv | 2015-01-24 | 2 | -2/+19 |
| | | | | Implemented FSUser::CreateExtSaveData | ||||
* | Merge pull request #376 from Subv/arc_reorder | bunnei | 2015-01-07 | 7 | -16/+50 |
|\ | | | | | Archives: Change the folder layout of some archives. | ||||
| * | Archives/Exdata: Don't set concrete_mount_point in the ctor | Subv | 2015-01-06 | 1 | -1/+1 |
| | | |||||
| * | Archives: Addressed some comments | Subv | 2015-01-06 | 4 | -13/+13 |
| | | |||||
| * | SaveDataCheck: Fixed a typo | Subv | 2015-01-05 | 1 | -1/+1 |
| | | |||||
| * | Archives: Make SYSTEM_ID and SDCARD_ID strings | Subv | 2015-01-04 | 4 | -5/+7 |
| | | |||||
| * | Archives: Changed the way paths are built for the archives. | Subv | 2015-01-04 | 6 | -12/+44 |
| | | | | | | | | Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout | ||||
| * | SaveDataCheck: Move the files to nand/title | Subv | 2015-01-04 | 1 | -1/+2 |
| | | | | | | | | under /nand/title/high/low/content/00000000.app.romfs | ||||
| * | Archives: Change the folder layout of some archives. | Subv | 2015-01-03 | 1 | -2/+1 |
| | | | | | | | | This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW | ||||
* | | FileSys: Fix crash bug in DiskFile exposed by #400 | Yuri Kunde Schlesner | 2015-01-03 | 1 | -4/+0 |
| | | |||||
* | | FileSys: Fix a few memory leaks | Yuri Kunde Schlesner | 2015-01-03 | 2 | -6/+7 |
|/ | |||||
* | IVFCArchive: Use a critical log to notify of invalid operations. | Subv | 2015-01-03 | 1 | -9/+9 |
| | |||||
* | SaveDataCheck: Remove unneeded constructor from a class | Subv | 2015-01-03 | 1 | -2/+0 |
| | |||||
* | Archives: Added some documentation to IVFCArchive | Subv | 2015-01-03 | 1 | -0/+5 |
| | |||||
* | Archives: Reduced duplicate code in RomFS and SaveCheck. | Subv | 2015-01-03 | 11 | -333/+229 |
| | | | | Fixed a few warnings and cleaned up the code | ||||
* | SaveDataCheck: Preliminary work in this archive. | Subv | 2015-01-03 | 2 | -4/+28 |
| | | | | | | This allows Steel Diver to boot further, some files are needed. This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives) | ||||
* | Archives: Implemented ExtSaveData and SharedExtSaveData | Subv | 2014-12-30 | 8 | -15/+168 |
| | | | | | | | | They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively. Also redirect some APT_A functions to their APT_U equivalents. Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module. Implemented formatting the savegame. Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded. | ||||
* | FileSys: Clean up according to the coding style, and remove redundant namespaced names. | Emmanuel Gil Peyrot | 2014-12-24 | 9 | -169/+97 |
| | |||||
* | CFG: Create a new subfolder cfg inside service to handle cfg | Subv | 2014-12-21 | 1 | -0/+1 |
| | | | | Moved most of the shared CFG code there, implemented a few CFG:I functions | ||||
* | Style: Addressed some comments | Subv | 2014-12-21 | 1 | -2/+7 |
| | |||||
* | CFG: Refactored how the config file works. | Subv | 2014-12-21 | 1 | -1/+1 |
| | | | | It is now kept in memory as per 3dbrew, all updates happen on memory, then they can be saved using UpdateConfigNANDSavegame. | ||||
* | CFG: Implemented the GetConfigInfoBlk2 function. | Subv | 2014-12-21 | 3 | -3/+9 |
| | | | | | | Added a "config" file to the CFG process service (CFG:U), and added a few default blocks to it. Implemented GetSystemModel and GetModelNintendo2DS | ||||
* | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 17 | -17/+17 |
|\ | | | | | License change | ||||
| * | License change | purpasmart96 | 2014-12-21 | 17 | -17/+17 |
| | | |||||
* | | Merge pull request #271 from archshift/createf | bunnei | 2014-12-21 | 5 | -0/+44 |
|\ \ | | | | | | | Added CreateFile to the FS_USER service | ||||
| * | | Added CreateFile to the FS_USER service | archshift | 2014-12-21 | 5 | -0/+44 |
| | | | | | | | | | | | | Tested with hwtests. | ||||
* | | | Merge pull request #315 from chinhodado/master | bunnei | 2014-12-20 | 1 | -1/+10 |
|\ \ \ | |/ / |/| | | Clean up some warnings | ||||
| * | | Clean up some warnings | Chin | 2014-12-20 | 1 | -1/+10 |
| |/ | |||||
* / | Common: Add a clone of std::make_unique | Yuri Kunde Schlesner | 2014-12-20 | 1 | -2/+3 |
|/ | |||||
* | SystemSaveData: Added a TODO to move it to the NAND. | Subv | 2014-12-18 | 1 | -1/+3 |
| | | | | Maybe sometime when we actually implement that | ||||
* | SaveData: Implemented the SystemSaveData archive. | Subv | 2014-12-18 | 3 | -2/+65 |
| | | | | It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service. | ||||
* | Filesystem/Archives: Implemented the SaveData archive | Subv | 2014-12-18 | 12 | -473/+344 |
| | | | | | | | | | | The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information Got rid of the code duplication in File and Directory Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive. FS_U: Use the correct error code when a file wasn't found | ||||
* | FS.Archive: Clean up treatment of archives and their handles | Yuri Kunde Schlesner | 2014-12-16 | 7 | -190/+21 |
| | | | | | | | - Refactor FS::Archive internals to make Archive creation and lifetime management clearer. - Remove the "Archive as a File" hack. - Implement 64-bit Archive handles. | ||||
* | Service.FS: Rename FileSys::File to FileBackend | Yuri Kunde Schlesner | 2014-12-16 | 8 | -15/+15 |
| | |||||
* | Service.FS: Rename FileSys::Directory to DirectoryBackend | Yuri Kunde Schlesner | 2014-12-16 | 8 | -15/+15 |
| | |||||
* | Service.FS: Rename FileSys::Archive to ArchiveBackend | Yuri Kunde Schlesner | 2014-12-16 | 3 | -6/+6 |
| | |||||
* | Service.FS: Do archive registration using IdCode instead of name | Yuri Kunde Schlesner | 2014-12-16 | 3 | -25/+4 |
| | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 5 | -24/+28 |
| | |||||
* | Merge pull request #264 from Subv/files | bunnei | 2014-12-09 | 1 | -3/+6 |
|\ | | | | | Kernel/File: Fixed file read/write hwtests | ||||
| * | Kernel/File: Fixed file read/write hwtests | Subv | 2014-12-08 | 1 | -3/+6 |
| | | | | | | | | | | | | The 3DS allows the user to read from files opened with the Write access modifier, even if he did not specify the Read access modifier. Open the files in binary mode so that we can prevent CR/LF problems in Windows, where a line-end is replaced by these two bytes instead of just 0xA, this was causing problems with the GetSize test | ||||
* | | Make OpenDirectory fail if the directory doesn't exist | archshift | 2014-12-07 | 6 | -3/+35 |
|/ | | | | | | | This is in line with what the hardware itself does. It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails. Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code . | ||||
* | Merge pull request #222 from archshift/renamexyz | bunnei | 2014-12-05 | 5 | -0/+66 |
|\ | | | | | Implemented RenameFile and RenameDirectory in FS:USER | ||||
| * | Updated archive.cpp functions for proper error handling | archshift | 2014-12-04 | 2 | -24/+0 |
| | | |||||
| * | Implemented RenameDirectory in FS:USER | archshift | 2014-11-25 | 5 | -0/+45 |
| | | |||||
| * | Implemented RenameFile in FS:USER | archshift | 2014-11-25 | 5 | -0/+45 |
| | | |||||
* | | Fixed formatting and switch statement warnings | vaguilar | 2014-11-27 | 2 | -1/+3 |
|/ | |||||
* | Merge pull request #191 from archshift/deletexyz | bunnei | 2014-11-24 | 5 | -0/+80 |
|\ | | | | | Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. | ||||
| * | Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. | archshift | 2014-11-23 | 5 | -0/+80 |
| | | |||||
* | | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 2014-11-19 | 2 | -2/+2 |
| | | |||||
* | | Merge pull request #209 from lioncash/warn | Tony Wasserka | 2014-11-18 | 1 | -1/+1 |
|\ \ | | | | | | | directory_sdmc: Fix a signed/unsigned mismatch comparison | ||||
| * | | directory_sdmc: Fix a signed/unsigned mismatch comparison | Lioncash | 2014-11-18 | 1 | -1/+1 |
| |/ | |||||
* / | Remove extraneous semicolons | Lioncash | 2014-11-18 | 3 | -3/+3 |
|/ | |||||
* | FileSys: Updated backend code to use FileSys::Path instead of string for paths. | bunnei | 2014-11-18 | 9 | -24/+24 |
| | |||||
* | FileSys: Added DebugStr method to Path class. | bunnei | 2014-11-18 | 1 | -0/+29 |
| | |||||
* | Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functions | archshift | 2014-11-13 | 1 | -0/+99 |
| | |||||
* | Added CreateDirectory function to service/fs.cpp, and in Archive. | archshift | 2014-11-02 | 5 | -0/+40 |
| | |||||
* | Fix some warnings | Sean | 2014-10-30 | 2 | -2/+2 |
| | |||||
* | Use config files to store whether SDMC is enabled or not | archshift | 2014-10-23 | 1 | -2/+8 |
| | | | | Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs). | ||||
* | Common: Add a helper function to generate a 8.3 filename from a long one. | Emmanuel Gil Peyrot | 2014-10-06 | 3 | -29/+27 |
| | | | | Core: Fix the SDMC Directory implementation to make blargSnes work. | ||||
* | FileSys: Add static asserts for the Directory struct, and fix its fields position. | Emmanuel Gil Peyrot | 2014-10-06 | 1 | -2/+8 |
| | |||||
* | FileSys: split the constructor into an Open method, in order to notify the opener something went wrong. | Emmanuel Gil Peyrot | 2014-10-06 | 6 | -14/+54 |
| | | | | Kernel: Return an invalid handle to OpenFile when it failed to open. | ||||
* | FileSys/Kernel: Implement SetSize service call for File objects. | Emmanuel Gil Peyrot | 2014-10-06 | 5 | -0/+41 |
| | |||||
* | FileSys: Add forgotten docstrings. | Emmanuel Gil Peyrot | 2014-10-06 | 7 | -4/+35 |
| | |||||
* | Fix warnings in core and common | Lioncash | 2014-09-28 | 1 | -1/+1 |
| | |||||
* | Core: Add a method to obtain a Directory from an Archive. | Emmanuel Gil Peyrot | 2014-09-17 | 5 | -0/+44 |
| | |||||
* | Core: Add a Directory object, with both a stub and a passthrough implementations. | Emmanuel Gil Peyrot | 2014-09-17 | 5 | -0/+259 |
| | |||||
* | Core: Add a passthrough backend for the filesystem, exposed as SDMC. | Emmanuel Gil Peyrot | 2014-09-17 | 4 | -0/+298 |
| | |||||
* | Core: Add a new File class, obtainable from an Archive, and a stub implementation. | Emmanuel Gil Peyrot | 2014-09-17 | 6 | -0/+205 |
| | |||||
* | Added FS functions to Archive and Archive_RomFS | archshift | 2014-08-23 | 3 | -8/+57 |
| | |||||
* | Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override". | bunnei | 2014-07-05 | 1 | -4/+4 |
| | |||||
* | Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final" | bunnei | 2014-07-05 | 1 | -1/+1 |
| | |||||
* | Loader: Updated read methods to be const | bunnei | 2014-07-05 | 2 | -2/+2 |
| | | | | - Required "file" handle to be made local and explicitly opened/closed as needed | ||||
* | FileSys: Added preliminary support for applications reading the RomFS archive. | bunnei | 2014-07-05 | 4 | -138/+150 |
| | | | | | | | | | | Archive: Fixed brace ugliness for neobrain :) FS: Commented out unused local variables to prevent warnings. ...But keeping them here for future use. archive_romfs: Removed unused #include. | ||||
* | Core: Removed unused directory_file_system and meta_file_system modules. | bunnei | 2014-06-27 | 4 | -1453/+0 |
| | | | | Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules. | ||||
* | fixes to build on linux | bunnei | 2014-04-23 | 2 | -22/+22 |
| | |||||
* | fixed project includes to use new directory structure | bunnei | 2014-04-09 | 5 | -20/+15 |
| | |||||
* | got rid of 'src' folders in each sub-project | bunnei | 2014-04-09 | 5 | -0/+1596 |