Commit Graph

779 Commits

Author SHA1 Message Date
c4ca802b9d FS: Added an SDMC archive factory and registered it to the SDMC archive on startup. 2018-03-19 21:17:15 -05:00
7d6653268f core: Move process creation out of global state. 2018-03-14 18:42:19 -04:00
84e1c0a430 FS: Use the correct error code when trying to open files that don't exist. 2018-03-04 14:34:48 -05:00
0eefe6e4d1 FS: Make EnsureSaveData create the savedata folder when called for the first time. 2018-03-04 14:30:07 -05:00
3209cff530 SaveData: Use the current titleid when opening the savedata archive. 2018-03-01 19:03:54 -05:00
d140c8ecf7 Filesystem: Added a SaveData Factory and associated Disk_FileSystem. 2018-03-01 19:03:52 -05:00
e29710818f file_sys: Style tweaks
Asdf
2018-02-25 16:34:29 -07:00
2b28fd7809 file_sys: Add support for parsing NPDM files 2018-02-25 07:02:39 -07:00
5035d18baa file_sys: Clang format fixes. 2018-01-21 15:51:45 -05:00
00851a5ef4 file_sys: Cleanup to better match Switch file system constructs.
file_sys: Add factory class for RomFS file system.
2018-01-21 15:39:26 -05:00
1c06c918af file_sys: Remove disk_archive, savedata_archive, and title_metadata. 2018-01-21 15:39:23 -05:00
7988f02489 archive_backend: Minor changes to match Switch IFileSystem. 2018-01-21 15:39:20 -05:00
2f71a32363 file_sys: Repurpose 3DS IVFC code for Switch ROMFS. 2018-01-21 15:39:18 -05:00
096be16636 Format: Run the new clang format on everything 2018-01-20 16:45:11 -07:00
66388f7576 Update title_metadata.h 2018-01-17 18:20:52 +01:00
8e51c61dbc core: Gut out cryptop, since it doesn't compile with C++17. 2018-01-12 19:36:41 -05:00
34571f4d2e hle: Use Switch formatted result codes. 2017-10-31 19:26:11 -04:00
746c2a3ae7 core: Refactor MakeMagic usage and remove dead code. 2017-10-15 00:11:38 -04:00
72b03025ac Remove lots more 3DS-specific code. 2017-10-12 21:21:49 -04:00
b1d5db1cf6 Merge remote-tracking branch 'upstream/master' into nx
# 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
2017-10-09 23:56:20 -04:00
4887d18591 file_sys, loader: add support for reading TMDs to determine app paths 2017-10-01 10:54:02 -06:00
8e10c9bb2e file_sys: add class for Title Metadata (TMD) 2017-10-01 10:53:45 -06:00
e21f2348e7 file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumps 2017-10-01 10:53:18 -06:00
c93e5ecfe6 file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files 2017-10-01 10:53:04 -06:00
8c92435ded nso: Refactor and allocate .bss section. 2017-09-30 14:33:58 -04:00
774e7deae8 HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.
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.
2017-09-25 09:45:02 -05:00
c91ccbd0ba Loader/NCCH: Add support for loading application updates (#2927)
* 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
2017-09-25 08:17:38 +02:00
65f19b51c4 Warnings: Add UNREACHABLE macros to switches that contemplate all possible values. 2017-08-21 08:34:28 -05:00
941a722ff1 Handle invalid filenames when renaming files/directories 2017-07-31 17:11:53 +10:00
f008b22e3b Addressed Bunnei's review comments, and made some other tweaks:
- 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.
2017-06-02 18:40:39 -04:00
59de38b965 Switched to the ERROR_NOT_FOUND constant from errors.h. 2017-06-02 18:40:39 -04:00
cea19fd659 Moved whitelist checks from FS_User to the Archive_NCCH handler. 2017-06-02 18:40:27 -04:00
37bec598ea Made some changes from review comments:
- 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.
2017-06-02 18:28:14 -04:00
92be29adba FileSys: Move all result description to errors.h 2017-05-24 21:06:00 -07:00
047a1586fe file_sys: lower log level for setting host path 2017-03-08 17:47:24 +02:00
0cb52ee74a Doxygen: Amend minor issues (#2593)
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.
2017-02-26 17:58:51 -08:00
20544977da loader: use self NCCH archive 2017-02-13 13:57:38 +02:00
a0df747325 file_sys: add Self NCCH archive 2017-02-13 13:57:38 +02:00
f352a741d3 core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX 2017-01-29 21:50:25 +01:00
c4f9cd3559 core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX 2017-01-29 21:49:36 +01:00
f14a53abd0 core: fix archive_extsavedata.cpp warning on OSX 2017-01-29 21:48:40 +01:00
5ac5cbeab7 Address clang-format issues. 2016-12-21 23:48:14 -05:00
4fc8b8229e core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
40b0ea1086 archive_source_sd_savedata: Add static method to get a specific save data path 2016-12-15 09:59:41 +00:00
5e9f1ec096 file_sys: Make a few single-argument constructors explicit
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
589b642790 FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
5af117e00c FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
d7d6975af0 FileSys: rename SaveDataCheck archive to NCCH archive
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
f775a3781b FileSys: remove unused DiskArchive
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
0647f86649 FileSys: w->rw permission lift only happens in SDMC archive 2016-11-19 18:55:34 +02:00