Zach Hilman
0cfcb928ce
file_sys: Create ContentProvider interface and default implementations
2019-03-26 22:03:26 -04:00
Lioncash
ff47991967
core/cheat_engine: Make MemoryReadImpl and MemoryWriteImpl internally linked
...
These don't need to be visible outside of the translation unit, so they
can be enclosed within an anonymous namespace.
2019-03-24 18:34:42 -04:00
bunnei
3ee41ee7e2
Merge pull request #2221 from DarkLordZach/firmware-version
...
set_sys: Implement GetFirmwareVersion(2) for libnx hosversion
2019-03-23 13:48:29 -04:00
bunnei
a5edb8d391
Merge pull request #2280 from lioncash/nso
...
loader/nso: Minor refactoring
2019-03-23 13:46:09 -04:00
Lioncash
0d44c061fe
file_sys/cheat_engine: Silence truncation and sign-conversion warnings
2019-03-22 14:43:41 -04:00
Lioncash
b59b7084c7
file_sys/cheat_engine: Remove use of global system accessors
...
Instead, pass in the core timing instance and make the dependency
explicit in the interface.
2019-03-22 14:43:37 -04:00
Lioncash
be2b64e8bc
file_sys/patch_manager: Deduplicate NSO header
...
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-22 14:39:10 -04:00
Lioncash
782461221f
file_sys/patch_manager: Remove two magic values
...
These correspond to the NSOBuildHeader.
2019-03-22 14:17:50 -04:00
bunnei
92870ed060
Merge pull request #1933 from DarkLordZach/cheat-engine
...
file_sys: Implement parser and interpreter for game memory cheats
2019-03-21 21:41:59 -04:00
Lioncash
43fd362174
file_sys/content_archive: Amend name of Data_Unknown5 enum entry
...
While we're at it, give each entry some documentation.
2019-03-19 15:58:38 -04:00
Zach Hilman
03c5d788da
set_sys: Use official nintendo version string
2019-03-10 19:54:13 -04:00
Zach Hilman
d741f8ee90
system_version: Correct sizes on VectorVfsFile construction
2019-03-10 19:16:17 -04:00
Zach Hilman
d9ef55ed76
set_sys: Implement GetFirmwareVersion(2) for libnx hosversion
...
Uses the synthesized system archive 9 (SystemVersion) and reports v5.1.0-0.0
2019-03-10 16:51:42 -04:00
Zach Hilman
20c46b9242
vm_manager: Remove cheat-specific ranges from VMManager
2019-03-05 10:09:36 -05:00
Zach Hilman
b6ac32dc35
cheat_engine: Add parser and interpreter for game cheats
2019-03-04 18:39:58 -05:00
Zach Hilman
81302571bf
patch_manager: Display cheats in game list add-ons
2019-03-04 18:39:57 -05:00
Zach Hilman
57c6d77be0
patch_manager: Add support for loading cheats lists
...
Uses load/<title_id>/<mod_name>/cheats as root dir, file name is all upper or lower hex first 8 bytes build ID.
2019-03-04 18:39:57 -05:00
Frederic L
b0f1eaee7a
file_sys/vfs_vector: Fix ignored offset on Write
2019-02-25 00:27:49 +01:00
bunnei
531f203a9b
Merge pull request #2025 from DarkLordZach/loader-banner-logo
...
loader: Add getters for application banner and logo
2019-01-20 13:26:27 -05:00
Lioncash
a5d7387d47
file_sys/directory: Remove unused DirectoryBackend class
...
This isn't used at all, so we can just get rid of it.
2019-01-18 14:33:50 -05:00
Zach Hilman
fa4a624cc6
content_archive: Add getter for logo section of NCA
2019-01-15 16:00:29 -05:00
Zach Hilman
94149affe0
romfs: Add SingleDiscard extraction type
...
Needed for manual RomFS extraction, as Full generates an extra directory and Truncated generates variable results.
2018-12-28 15:30:36 -05:00
Lioncash
a72bda4ecc
file_sys/program_metadata: Print out more descriptive address space descriptions
...
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-27 19:16:45 -05:00
bunnei
25a218248a
Merge pull request #1928 from lioncash/caps
...
kernel: Handle kernel capability descriptors
2018-12-27 11:15:34 -05:00
Zach Hilman
9121887ae4
am: Implement GetSaveDataSize and ExtendSaveData
...
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
2018-12-27 00:18:00 -05:00
Zach Hilman
cfb21a8781
savedata_factory: Partially implement IVFC save sizes using files
...
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-27 00:18:00 -05:00
Zach Hilman
80ae27c5fc
control_metadata: Update NACP fields with latest Switchbrew data
2018-12-27 00:16:55 -05:00
Zach Hilman
8e1160d668
control_metadata: Use value member instead of unique_ptr to store struct
...
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
2018-12-27 00:16:55 -05:00
Zach Hilman
f6755b94db
vfs: Add reinterpret_casts to WriteArray and Object
...
Allows these functions to compile when T is not u8.
2018-12-27 00:16:55 -05:00
Lioncash
b221836d5d
kernel/process: Hook up the process capability parser to the process itself
...
While we're at it, we can also toss out the leftover capability parsing
from Citra.
2018-12-21 07:05:34 -05:00
David Marcec
1dfb0a513a
Fixed uninitialized memory due to missing returns in canary
...
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-19 12:52:32 +11:00
Lioncash
9cb11d1ae4
patch_manager: Prevent use of a dangling pointer within PatchRomFS
...
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-11 10:08:13 -05:00
bunnei
d2177aa20d
Merge pull request #1846 from lioncash/dir
...
file_sys/directory: Amend path buffer size for directory entries
2018-12-10 21:54:03 -05:00
bunnei
841d21795d
Merge pull request #1819 from DarkLordZach/disable-addons
...
patch_manager: Add support for disabling patches
2018-12-10 21:52:19 -05:00
bunnei
e6ee018d18
Merge pull request #1885 from lioncash/data_id
...
file_sys/save_data_factory: Update SaveDataSpaceId enum
2018-12-10 21:44:50 -05:00
Lioncash
e7d4f1aebc
file_sys/save_data_factory: Update SaveDataSpaceId enum
...
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-07 18:52:18 -05:00
Zach Hilman
e809d6c791
savedata_factory: Add support for CacheStorage
2018-12-07 08:47:32 -05:00
Zach Hilman
27b5ca24e8
savedata_factory: Delete TemporaryStorage on startup
...
Mimics hardware behavior.
2018-12-06 22:07:34 -05:00
Zach Hilman
1f604f5be3
system_archive: Implement open source NgWord2
2018-12-06 10:17:50 -05:00
Lioncash
4d5bca8e2d
ng_word: Deduplicate use of a constant value
...
We've already given the constant to the vector itself, so we don't need
to re-hardcode it in the array.
2018-12-05 02:36:45 -05:00
Lioncash
79627baf05
system_archive: Use a regular function pointer instead of std::function for 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-05 02:33:17 -05:00
bunnei
fe2a091cdf
Merge pull request #1704 from DarkLordZach/oss-sysarchive
...
file_sys: Implement open source system archives
2018-12-04 19:59:52 -05:00
bunnei
0a498c72d7
Merge pull request #1838 from lioncash/dedup
...
file_sys/registered_cache: Eliminate variable shadowing
2018-12-04 18:34:49 -05:00
Zach Hilman
1c3bade698
patch_manager: Obey disabled add-ons list when patching game
2018-12-03 17:21:25 -05:00
bunnei
21855362e2
Merge pull request #1835 from lioncash/cache-global
...
filesystem: De-globalize registered_cache_union
2018-12-03 17:11:26 -05:00
Lioncash
1207174abb
file_sys/directory: Amend path buffer size for directory entries
...
The path buffer is actually 0x301 (769) characters in length, with the
extra character being intended for the null-terminator.
2018-12-02 23:15:58 -05:00
Lioncash
24480be3da
file_sys/registered_cache: Eliminate variable shadowing
...
Also inverts if statements where applicable to allow unindenting code a
little bit.
2018-12-01 23:50:13 -05:00
Lioncash
de9051633c
filesystem: De-globalize registered_cache_union
...
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-12-01 23:43:23 -05:00
Lioncash
7a47740f52
file_sys: Override missing mutating functions to be stubbed out for ReadOnlyVfsDirectory by default
...
Ensures that read only indeed means read only.
2018-11-30 23:52:56 -05:00
Lioncash
9c56be6af9
service/fsp_srv: Implement CleanDirectoryRecursively
...
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-30 20:17:28 -05:00