Lioncash
6711031e7d
cheat_engine: Remove unnecessary system argument to CheatParser's Parse function
...
This isn't used within the function at all in any implementations, so we
can remove it entirely.
2020-09-15 03:20:40 -04:00
Lioncash
5c77fffc80
patch_manager: Resolve implicit truncations in FormatTitleVersion()
...
We make it explicit that we're truncating arithmetic here to resolve
compiler warnings (even if the sizes weren't u32/u64 arithmetic
generally promotes to int :<)
2020-09-14 19:19:59 -04:00
Lioncash
7abb47303e
patch_manager: Make use of type aliases
...
We can use these to avoid typing the same type redundantly. This way, if
these ever change, only a single location needs to be modified.
2020-09-14 19:17:50 -04:00
Lioncash
e8092e4099
patch_manager: Make a few functions internally linked
...
These functions are only used within this translation unit, so we can
make them internally linked.
2020-09-14 19:04:51 -04:00
ReinUsesLisp
5bccefe24c
file_sys/patch_manager: Add missing include
...
Fixes build issues
2020-09-03 04:51:49 -03:00
bunnei
40d236b401
Merge pull request #4564 from lioncash/file-include
...
file_sys: Replace inclusions with forward declarations where applicable
2020-09-02 23:06:38 -04:00
bunnei
e0b4361aaf
Merge pull request #4563 from lioncash/rcache
...
registered_cache: Make use of designated initializers
2020-08-25 10:07:33 -04:00
Lioncash
da15e9f8a7
file_sys: Replace inclusions with forward declarations where applicable
...
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-23 17:02:55 -04:00
Lioncash
942badd1e7
registered_cache: Make use of ends_with for string suffix checking
...
Simplifies code.
2020-08-23 11:25:45 -04:00
Lioncash
a185b6cf21
registered_cache: Make use of designated initializers
...
Removes the need for comments to indicate the fields being assigned.
2020-08-23 10:26:20 -04:00
Lioncash
d9fc3abc1f
vfs_real: Resolve sign conversion warnings
2020-08-18 14:58:33 -04:00
Lioncash
182739ce1b
vfs_real: Avoid redundant map lookups
...
Avoids some trivially avoidable map lookups by keeping the result of
find operations around and querying them.
2020-08-18 14:58:29 -04:00
Lioncash
a87209e09d
common/fileutil: Convert namespace to Common::FS
...
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
2020-08-16 06:52:40 -04:00
Lioncash
78ddcbe3ba
General: Tidy up clang-format warnings part 2
2020-08-13 14:19:08 -04:00
bunnei
51bfe3397f
Merge pull request #4488 from lioncash/file
...
vfs_vector: Make creation of array vfs files less verbose
2020-08-09 17:19:34 -04:00
bunnei
7f6689983f
Merge pull request #4484 from lioncash/aesutil
...
aes_util: Allow SetIV() to be non-allocating
2020-08-05 22:35:41 -04:00
Lioncash
42c79b8507
vfs_vector: Make creation of array vfs files less verbose
...
We can add a helper function to make creation of these files nicer.
While we're at it, we can eliminate an unnecessary std::array copy in
the constructor. This makes the overhead on some of these functions way
less intensive, given some arrays were quite large.
e.g. The timezone location names are 9633 bytes in size.
2020-08-05 12:37:00 -04:00
bunnei
460d686bbd
Merge pull request #4476 from lioncash/tz
...
time_zone_binary: Make use of designated initializers
2020-08-04 18:56:28 -04:00
David
614476af30
Merge pull request #4470 from lioncash/qualifier
...
patch_manager: Resolve -Wignored-qualifier warnings
2020-08-04 14:09:48 +10:00
bunnei
cf35405a71
Merge pull request #4456 from Morph1984/stub-really-long-fs-func
...
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
2020-08-03 18:06:48 -07:00
Lioncash
c28e7f51f3
aes_util: Allow SetIV to be non-allocating
...
In a few places, the data to be set as the IV is already within an array.
We shouldn't require this data to be heap-allocated if it doesn't need
to be. This allows certain callers to reduce heap churn.
2020-08-03 14:29:58 -04:00
bunnei
70a59da903
Merge pull request #4468 from lioncash/regcache
...
registered_cache: Resolve -Wmaybe_uninitialized warnings
2020-08-03 11:26:45 -07:00
bunnei
be05759325
Merge pull request #4467 from lioncash/mode
...
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
2020-08-03 08:07:56 -07:00
Lioncash
607a02edda
time_zone_binary: Make use of designated initializers
2020-08-03 10:42:38 -04:00
Lioncash
2fa750dd6b
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
...
Same behavior, minus a hand-rolled operator.
2020-08-03 07:52:36 -04:00
Lioncash
39ac833461
patch_manager: Resolve -Wignored-qualifier warnings
...
Top level const will always be ignored in this case, so it can be
removed.
2020-08-03 07:42:56 -04:00
Lioncash
872200c7a9
registered_cache: Resolve -Wmaybe_uninitialized warnings
...
While we're at it, we can avoid a redundant map lookup.
2020-08-03 07:34:46 -04:00
Morph
06adef078c
fs: Rename SaveDataDescriptor to SaveDataAttribute
2020-07-30 15:29:39 -04:00
Morph
4a6d4ab839
xts_archive: Check if the file is nullptr prior to parsing
...
Fixes an access violation where the file no longer exists at the specified path while being parsed.
2020-07-29 06:50:30 -04:00
Morph
0724e89467
registered_cache: Add support for removing folder ncas
2020-07-29 06:50:30 -04:00
FearlessTobi
f7cf5430b0
file_sys/nsp: Make SetTicketKeys actually do something
...
Previously, the method wasn't modifying any class state and therefore not having any effects when called.
Since this has been the case for a very long time now, I'm not sure if we couldn't just remove this method altogether.
2020-07-18 02:02:39 +02:00
bunnei
ad5d8431f5
Merge pull request #4309 from Morph1984/fix-romfs-bug
...
fs: Fix RomFS building when zero byte files are present
2020-07-17 17:01:20 -04:00
Morph
5a7b65b6d5
Check for empty section0 and CNMT prior to install
2020-07-16 05:22:51 -04:00
Morph
63f16db2e6
clang format
2020-07-15 13:27:04 -04:00
Morph
9dc8b2f03c
Use proper install result when overwriting files
2020-07-15 13:27:04 -04:00
Morph
c530630c1c
Remove global system instance and address feedback
2020-07-15 13:27:04 -04:00
Morph
5054a6c429
registered_cache: Remove previous update/dlc if it exists on install
...
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
2020-07-15 13:27:04 -04:00
bunnei
f1b2cb5eec
Merge pull request #4282 from Morph1984/fs-size
...
filesystem: Set various NAND partition sizes to their defaults
2020-07-14 12:16:42 -04:00
Morph
e01424699b
fs: Fix RomFS building when zero byte files are present
...
When zero byte files are present, the key (offset) for that file is identical to the file right after. A std::map isn't able to fit key-value pairs with identical keys (offsets), therefore, the solution is to use std::multimap which permits multiple entries with the same key.
This most prominently fixes Pokemon Sword and Shield weather with any RomFS mod applied.
2020-07-12 04:33:35 -04:00
Morph
ef6946bf66
vfs_real: Fix MoveFile
...
The file wasn't closed prior to being renamed / moved, throwing an error that states "The process cannot access the file because it is being used by another process." Fix this by closing the file prior to a rename / move operation.
Fixes saving in Luigi's Mansion 3 and KATANA KAMI: A Way of the Samurai Story.
2020-07-10 00:39:23 -04:00
Morph
9108fb8dd1
bis_factory: Set User NAND free space to be 1 MiB less than total.
2020-07-10 00:37:39 -04:00
Morph
bc260d4b5b
sdmc_factory: Set the SDMC total size to 1 TiB
...
We should not be limited by the SDMC's partition size, set this to 1 TiB. Hardware is limited to the max allowed by the MBR partition table which is 2 TiB.
2020-07-10 00:37:39 -04:00
Morph
d378516007
bis_factory: Use hardware default NAND partition sizes
...
Sets the total space of user and system partitions to their hardware defaults.
Furthermore, return the total space as free space for the user partition to prevent it from reaching zero.
Some games like Bioshock 2 check for the available free space prior to save creation, and we should not be limited by arbitrary limits.
2020-07-10 00:37:39 -04:00
Lioncash
1e362da176
key_manager: Correct casing of instance()
...
Our codebase uppercases member function names.
2020-07-01 00:28:50 -04:00
David
9d2a0f5f1a
Merge pull request #3967 from FearlessTobi/keys-singleton
...
crypto: Make KeyManager a singleton class
2020-07-01 14:16:26 +10:00
bunnei
7612c56cff
Merge pull request #4099 from MerryMage/macOS-build
...
Fix compilation on macOS
2020-06-19 23:31:04 -04:00
MerryMage
b8983782ca
mii_model: Remove redundant std::move
...
Named return value optimization automatically applies here.
2020-06-19 14:29:09 +01:00
MerryMage
042bb8824b
shared_font: Service::NS::EncryptSharedFont takes a size_t&
2020-06-18 15:47:44 +01:00
lat9nq
9d08039623
Make copying directory string more concise
2020-05-28 13:33:50 -04:00
lat9nq
2ad3571453
Address requested changes
2020-05-28 13:30:22 -04:00
lat9nq
2adc5f524d
*nix systems can read any-case patch directories
...
Changes many patch_manager functions to use a case-less variant of
GetSubdirectory. Fixes patches not showing up on *nix systems when
patch directories are named with odd cases, i.e. `exeFS'.
2020-05-27 23:12:56 -04:00
bunnei
9d095bbb06
Merge pull request #3946 from ogniK5377/sysverdat-10-0-2
...
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-20 19:21:27 -04:00
FearlessTobi
5e9e8073a0
crypto: Make KeyManager a singleton class
...
Previously, we were reading the keys everytime a KeyManager object was created, causing yuzu to reread the keys file multiple hundreds of times when loading the game list.
With this change, it is only loaded once.
On my system, this decreased game list loading times by a factor of 20.
2020-05-20 21:28:16 +02:00
David Marcec
d50dd8f7a0
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-16 13:56:06 +10:00
bunnei
97e2eb439c
file_sys: savefata_factory: Update to support DeviceSaveData.
2020-05-11 12:54:30 -04:00
bunnei
f870a935d4
file_sys: control_metadata: Expose device_save_data_size.
2020-05-11 12:54:30 -04:00
bunnei
4dbf21a6cf
file_sys: program_metadata: Add a helper function for generating reasonable default metadata.
...
- We need this for homebrew process initialization.
2020-04-20 18:19:45 -04:00
bunnei
5b9e69e7fe
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
Lioncash
02e095313a
CMakeLists: Specify -Wextra on linux builds
...
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00
bunnei
72c1dd467d
file_sys: patch_manager: Return early when there are no layers to apply.
2020-04-14 16:25:55 -04:00
enler
d7dc7964f1
file_sys: fix LayeredFS error when loading some games made with… ( #3602 )
...
* fix LayeredFS error when loading some games made with the Unity
2020-04-07 02:03:32 +02:00
bunnei
72a8ed19c3
Revert "system_archive: Fix Korean and Chinese fonts"
2020-01-30 22:02:15 -05:00
bunnei
40a54f6de7
Merge pull request #3151 from FearlessTobi/fix-korean
...
system_archive: Fix Korean and Chinese fonts
2020-01-30 15:09:55 -05:00
FearlessTobi
40c05f9028
Disable clang-format for font files
2020-01-24 23:54:19 +01:00
FearlessTobi
6df85b466d
system_archive: Fix Chinese font
...
Adds the proper OSS font for the Chinese language.
2020-01-19 15:09:53 +01:00
FearlessTobi
4be062de19
system_archive: Fix Korean font
...
Fixes Korean fonts when using Open-source system archives.
2020-01-19 15:09:50 +01:00
bunnei
756c19b448
system_archive: Add a basic HLE implementation for time zone binary.
2020-01-04 13:48:29 -05:00
bunnei
5a1be49f6e
Merge pull request #3171 from lioncash/internal-link
...
filesys/romfs: Make ProcessFile and ProcessDirectory internally linked
2019-11-28 01:18:10 -05:00
Morph
2b0823df12
patch_manager: Adds check for disabled cheats to prevent them from being enabled ( #3178 )
...
* Adds check for disabled cheats to prevent them from being added to the CheatList
* Address feedback
2019-11-28 01:17:17 -05:00
Lioncash
0da88a9876
filesys/romfs: Remove unused includes
...
These inclusions aren't used at all within the public interface, so they
can be removed.
2019-11-27 05:29:52 -05:00
Lioncash
eada47f40f
filesys/romfs: Make ProcessFile and ProcessDirectory internally linked
...
These functions aren't used outside of this file, so we can place them
within an anonymous namespace.
2019-11-27 05:26:35 -05:00
Lioncash
a56ce41cc2
file_sys/directory: Make EntryType an enum class
...
This can trivially be an enum class rather than a regular enum, making
it more strongly typed.
2019-11-27 05:11:02 -05:00
bunnei
5897348571
Merge pull request #3091 from lioncash/core-conversion
...
core: Make most implicit type conversion warnings errors on MSVC
2019-11-15 12:08:50 -05:00
bunnei
9364f4d30c
Merge pull request #3093 from lioncash/mbedtls
...
core: Migrate off deprecated mbedtls functions
2019-11-14 13:47:23 -05:00
Lioncash
fd6e676326
xts_archive: Remove redundant std::string constructor
...
We can just call the .data() member of path instead of constructing a
completely new string.
2019-11-13 10:02:10 -05:00
Lioncash
4c6cd8b9e8
core: Migrate off deprecated mbedtls functions
...
These functions are marked for deprecation and it's recommended that the
*_ret variants be used instead.
2019-11-12 08:45:56 -05:00
Lioncash
93dd86b390
loader; Resolve sign conversion/truncation errors
2019-11-12 07:55:39 -05:00
Lioncash
e7f1a6b096
file_sys: Resolve sign conversion warnings
...
Resolves a few trivial sign conversion/mismatch errors.
2019-11-12 07:55:39 -05:00
bunnei
fe02b9f968
common_func: Use std::array for INSERT_PADDING_* macros.
...
- Zero initialization here is useful for determinism.
2019-11-03 22:22:41 -05:00
Zach Hilman
d5f1f99d99
savedata_factory: Automatically create certain savedata
...
After further hardware investigation, it appears that some games, perhaps those more lazily coded, will not call EnsureSaveData, meaning that they expect the normal (current) save to be automatically made. Additionally, some games do not create a cache or temporary save before use.
In these 3 specific instances, the save is created automatically for the game if it doesn't exist.
2019-10-22 15:47:38 -04:00
bunnei
09223fe372
Merge pull request #2897 from DarkLordZach/oss-ext-fonts-1
...
pl_u: Move open source font archives and fix NAND error
2019-10-14 15:13:41 -04:00
bunnei
d3f4d79642
Merge pull request #2930 from DarkLordZach/gamecard-partitions
...
file_sys: Add code to access raw gamecard partitions and lazily load them
2019-10-14 10:29:10 -04:00
Zach Hilman
fd66788be4
card_image: Implement system update commands in XCI
2019-10-13 14:18:45 -04:00
Zach Hilman
8d904c20be
pl_u: Fix mismatched rebase size error in font encryption
2019-10-13 13:46:27 -04:00
Zach Hilman
1dcc71fc9c
pl_u: Use kernel physical memory
2019-10-13 13:46:27 -04:00
Zach Hilman
d37be63099
pl_u: Use OSS system archives if real archives don't exist
2019-10-13 13:46:27 -04:00
Zach Hilman
612b086bd4
system_archive: Synthesize shared fonts system archives
2019-10-13 13:46:10 -04:00
Zach Hilman
cd8c6a4afd
externals: Move OSS font data to file_sys in core
2019-10-13 13:46:10 -04:00
Lioncash
922799f1d5
core: Remove Core::CurrentProcess()
...
This only encourages the use of the global system instance (which will
be phased out long-term). Instead, we use the direct system function
call directly to remove the appealing but discouraged short-hand.
2019-10-06 13:53:12 -04:00
Lioncash
e4e4af80e8
hle/service: Replace global system instance calls with instance-based ones
...
Migrates the HLE service code off the use of directly accessing the
global system instance where trivially able to do so.
This removes all usages of Core::CurrentProcess from the service code,
only 8 occurrences of this function exist elsewhere. There's still quite
a bit of "System::GetInstance()" being used, however this was able to
replace a few instances.
2019-10-06 13:42:23 -04:00
Zach Hilman
098f7e89fd
bcat: Implement DeliveryCacheProgressImpl structure
...
Huge thanks to lioncash for re-ing this for me.
2019-09-30 17:27:23 -04:00
Zach Hilman
9f3dfba950
boxcat: Use Etag header names for file digest
2019-09-30 17:27:23 -04:00
Zach Hilman
010cc6e4f4
filesystem: Add getter for BCAT temporary directory
2019-09-30 17:20:49 -04:00
Zach Hilman
82f636f1ed
vfs: Add function to extract ZIP file into virtual filesystem
2019-09-30 17:18:38 -04:00
Zach Hilman
30eb8fa105
card_image: Add accessors for raw partitions in XCI
2019-09-22 21:51:46 -04:00
Zach Hilman
2e7ba9d78f
card_image: Lazily load partitions in XCI
2019-09-22 21:50:29 -04:00
Zach Hilman
7e56536d35
pfs: Provide accessors for file sizes and offsets
2019-09-22 21:44:36 -04:00
David Marcec
f35665aa28
Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"
...
This reverts commit 66d80be727 , reversing
changes made to 43decd1681 .
2019-09-22 17:47:25 +10:00
David
b890029175
Merge pull request #2535 from DarkLordZach/cheat-v2
...
cheat_engine: Use Atmosphere's Cheat VM and fix cheat crash
2019-09-22 16:24:42 +10:00
David
66d80be727
Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1
...
system_archive: Move shared font data to system_archive and fix extended font data
2019-09-22 16:09:22 +10:00
Zach Hilman
949a913356
pl_u: Use kernel physical memory
2019-09-21 23:00:22 -04:00
Zach Hilman
bcac1b8ff5
dmnt_cheat_vm: Default initialize structure values
2019-09-21 22:43:49 -04:00
Zach Hilman
977d27ed15
pl_u: Use OSS system archives if real archives don't exist
2019-09-21 21:50:41 -04:00
Zach Hilman
2b944e0d70
patch_manager: Update cheat parsing for new VM
2019-09-21 21:45:05 -04:00
Zach Hilman
deacc2bb25
cheat_engine: Move to memory and strip VM
...
This is to go with the Atmosphere VM port, now it just contains the callbacks needed for the interface between DmntCheatVm and yuzu, along with the cheat parsers.
2019-09-21 21:44:22 -04:00
Zach Hilman
f005898fb4
system_archive: Synthesize shared fonts system archives
2019-09-21 19:21:58 -04:00
Zach Hilman
896045aa4f
externals: Move OSS font data to file_sys in core
2019-09-21 19:21:22 -04:00
Zach Hilman
04078a2139
configure_debug: Move reporting option to logging
2019-09-21 18:43:20 -04:00
Zach Hilman
541bf1b996
filesystem: Add const qualification to various accessors
2019-09-21 16:50:39 -04:00
Zach Hilman
c3ad37b707
yuzu: Port old usages of Filesystem namespace to FilesystemController
2019-09-21 16:43:10 -04:00
Zach Hilman
c094f75276
card_image: Add accessors for gamecard certificate
...
Used by fsp-srv/IDeviceOperator
2019-09-21 16:43:10 -04:00
Zach Hilman
58dba10b63
card_image: Add functions to query gamecard update partition
...
Includes version and meta title ID, used by fsp-srv/IDeviceOperator
2019-09-21 16:43:10 -04:00
Zach Hilman
8dcda218d8
content_archive: Add accessors for Rights ID and SDK Version
2019-09-21 16:43:10 -04:00
Zach Hilman
a4b2e1c5ce
sdmc_factory: Add SD Card size getters
2019-09-21 16:43:10 -04:00
Zach Hilman
4a2e1c6ae6
bis_factory: Add getters for NAND partition sizes
2019-09-21 16:43:10 -04:00
Zach Hilman
91d032d433
submisson_package: Fix edge case with improperly sized filenames
...
Prevents a crash if the filename is less than 9 characters long.
2019-09-21 16:43:10 -04:00
Zach Hilman
915ea374f8
sdmc_factory: Add accessor for SDMC Album directory
2019-09-21 16:43:10 -04:00
Zach Hilman
3c2e2156e0
sdmc_factory: Add accessor for SDMC PlaceholderCache
2019-09-21 16:43:10 -04:00
Zach Hilman
147fa325d9
sdmc_factory: Add accessor for content directory
2019-09-21 16:43:10 -04:00
Zach Hilman
85ae125737
savedata_factory: Implement savedata creation and don't create dir on open
...
Matches hardware behavior and eliminates some nasty behavior we were doing that wasn't hw-accurate at all.
2019-09-21 16:43:10 -04:00
Zach Hilman
1d342149cd
patch_manager: Add short-circuit edge-case to GetPatchVersionNames
...
If title ID is 0, there are no add ons, prevents wasting time looking for them.
2019-09-21 16:43:10 -04:00
Zach Hilman
e4336e33d6
patch_manager: Add error checking to load dir to prevent crashes
...
Prevents a crash if the load dir would be nullptr, instead logs an error and returns appropriately.
2019-09-21 16:43:10 -04:00
Zach Hilman
ae762910b1
registered_cache: Process *.cnmt.nca files
...
Needed to use the RegisteredCache/PlaceholderCache on gamecards.
2019-09-21 16:43:10 -04:00
Zach Hilman
24ae0aacbc
registered_cache: Implement PlaceholderCache to manage placeholder and installing content
2019-09-21 16:43:10 -04:00
Zach Hilman
9cef1068c5
bis_factory: Fix mod loader edge-case with homebrew title IDs
...
Fixes a bug where homebrew that has a title ID with the update bit set can cause issues with the PatchManager
2019-09-21 16:43:10 -04:00
Zach Hilman
8660185e63
bis_factory: Add accessors for BIS placeholder caches
2019-09-21 16:43:10 -04:00
Zach Hilman
af109c066e
bis_factory: Add accessor for NAND Image Directory
2019-09-21 16:43:10 -04:00
Zach Hilman
2146600c38
bis_factory: Add accessors for BIS content directories
2019-09-21 16:43:10 -04:00
Zach Hilman
17c5f05179
bis_factory: Add accessors for BIS partitions
2019-09-21 16:43:10 -04:00
David
95f4d78e87
Merge pull request #2576 from DarkLordZach/nsp-fix-1
...
nsp: Fix various errors with loading and processing of extracted NSPs
2019-09-21 20:05:24 +10:00
David
ea025af713
Merge pull request #2707 from DarkLordZach/oss-miimodel
...
system_archive: Add open-source reimplementation of MiiModel data
2019-09-05 10:56:32 +10:00
Zach Hilman
f458590c85
system_archive: Add open-source reimplementation of MiiModel data
2019-07-10 07:21:36 -04:00
Michael Scire
6a33b060b7
Implement MapPhysicalMemory/UnmapPhysicalMemory
...
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu,
which can be used to map memory at a desired address by games since
3.0.0.
It also properly parses SystemResourceSize from NPDM, and makes
information available via svcGetInfo.
This is needed for games like Super Smash Bros. and Diablo 3 -- this
PR's implementation does not run into the "ASCII reads" issue mentioned
in the comments of #2626 , which was caused by the following bugs in
Yuzu's memory management that this PR also addresses:
* Yuzu's memory coalescing does not properly merge blocks. This results
in a polluted address space/svcQueryMemory results that would be
impossible to replicate on hardware, which can lead to game code making
the wrong assumptions about memory layout.
* This implements better merging for AllocatedMemoryBlocks.
* Yuzu's implementation of svcMirrorMemory unprotected the entire
virtual memory range containing the range being mirrored. This could
lead to games attempting to map data at that unprotected
range/attempting to access that range after yuzu improperly unmapped
it.
* This PR fixes it by simply calling ReprotectRange instead of
Reprotect.
2019-07-07 11:45:53 -07:00
Bakugo
81c1c139fe
file_sys: Rename other ContentRecordType members
2019-07-02 00:57:23 +01:00
Bakugo
e377bcd699
file_sys/registered_cache: Improve missing metadata error
...
This can happen when installing NSPs too, not just XCIs.
2019-07-01 07:31:32 +01:00
Bakugo
d046ef7112
file_sys/submission_package: Don't warn about missing DeltaFragment NCAs
...
DeltaFragments are not useful to us and are often not included in patch NSPs.
2019-07-01 06:46:05 +01:00
Bakugo
88a70b40ba
file_sys/registered_cache: Ignore DeltaFragment NCAs during installation
...
DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
2019-07-01 06:37:22 +01:00
Bakugo
29f1d01c06
file_sys: Rename ContentRecordType::Patch to DeltaFragment
...
Avoids potential confusion, since patches and DeltaFragments are not the same thing. Actual full patches are listed under the Program type.
2019-07-01 06:32:13 +01:00
Zach Hilman
12105d8909
glue: Correct missing bytes in ApplicationLaunchParameter
2019-06-25 22:25:10 -04:00
Zach Hilman
fb8b87dbaf
registered_cache: Add getter to determine source slot in content provider union
...
Used to determine StorageId source for application data.
2019-06-24 19:10:17 -04:00
Zach Hilman
7891b418d4
patch_manager: Add getter for title version
2019-06-24 19:05:50 -04:00
bunnei
a43061206c
Merge pull request #2546 from DarkLordZach/kips
...
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21 14:28:18 -04:00
jonsn0w
cbb3371437
Update content_archive.cpp
...
log clutter in debug logs when theres really no need
2019-06-19 22:01:41 -04:00
David Marcec
7b451419b4
Addressed issues
2019-06-17 08:17:26 +10:00
David Marcec
5f5f8c6341
Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
...
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
2019-06-16 19:06:33 +10:00
Zach Hilman
aca05af798
Merge pull request #2581 from lioncash/hex
...
common/hex_util: Combine HexVectorToString() and HexArrayToString()
2019-06-15 16:47:13 -04:00
bunnei
6507034f95
Merge pull request #2582 from lioncash/reserved
...
file_sys/ips_layer: Remove unnecessary reserve() call
2019-06-14 11:24:18 -04:00
Zach Hilman
3cf9150679
Merge pull request #2577 from lioncash/fs
...
file_sys/card_image: Minor cleanup
2019-06-12 19:23:33 -04:00
Lioncash
af914546f2
file_sys/ips_layer: Remove unnecessary reserve() call
...
Given 'replace' is assigned to on the following line, this isn't
necessary, given the underlying data is going to be overwritten
entirely.
2019-06-12 18:12:45 -04:00
Lioncash
59d55c8137
common/hex_util: Combine HexVectorToString() and HexArrayToString()
...
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
2019-06-12 17:54:05 -04:00