Zach Hilman
4a2e1c6ae6
bis_factory: Add getters for NAND partition sizes
7 years ago
Zach Hilman
91d032d433
submisson_package: Fix edge case with improperly sized filenames
Prevents a crash if the filename is less than 9 characters long.
7 years ago
Zach Hilman
915ea374f8
sdmc_factory: Add accessor for SDMC Album directory
7 years ago
Zach Hilman
3c2e2156e0
sdmc_factory: Add accessor for SDMC PlaceholderCache
7 years ago
Zach Hilman
147fa325d9
sdmc_factory: Add accessor for content directory
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Zach Hilman
ae762910b1
registered_cache: Process *.cnmt.nca files
Needed to use the RegisteredCache/PlaceholderCache on gamecards.
7 years ago
Zach Hilman
24ae0aacbc
registered_cache: Implement PlaceholderCache to manage placeholder and installing content
7 years ago
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
7 years ago
Zach Hilman
8660185e63
bis_factory: Add accessors for BIS placeholder caches
7 years ago
Zach Hilman
af109c066e
bis_factory: Add accessor for NAND Image Directory
7 years ago
Zach Hilman
2146600c38
bis_factory: Add accessors for BIS content directories
7 years ago
Zach Hilman
17c5f05179
bis_factory: Add accessors for BIS partitions
7 years ago
Zach Hilman
f458590c85
system_archive: Add open-source reimplementation of MiiModel data
7 years ago
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.
7 years ago
Bakugo
81c1c139fe
file_sys: Rename other ContentRecordType members
7 years ago
Bakugo
e377bcd699
file_sys/registered_cache: Improve missing metadata error
This can happen when installing NSPs too, not just XCIs.
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Zach Hilman
12105d8909
glue: Correct missing bytes in ApplicationLaunchParameter
7 years ago
Zach Hilman
fb8b87dbaf
registered_cache: Add getter to determine source slot in content provider union
Used to determine StorageId source for application data.
7 years ago
Zach Hilman
7891b418d4
patch_manager: Add getter for title version
7 years ago
jonsn0w
cbb3371437
Update content_archive.cpp
log clutter in debug logs when theres really no need
7 years ago
David Marcec
7b451419b4
Addressed issues
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Lioncash
14aca37172
file_sys/card_image: Remove obsolete TODO
We already support Rev 1+.
7 years ago
Lioncash
348c03b1bd
file_sys/nca_metadata: Update CNMT structures
Names a few more entries in relevant structures. Information based off
SwitchBrew and my own RE.
7 years ago
Lioncash
c45be86d6e
file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
Makes for nicer reading.
7 years ago
Lioncash
f5f9c52900
file_sys/card_image: Make bracing consistent
Makes for more consistent reading.
7 years ago
Lioncash
8bfb8e3dce
file_sys/card_image: Assign collapsed NCA contents directly to ncas member
Same thing, significantly less noisy.
7 years ago
Lioncash
907c499608
file_sys/card_image: Deduplicate type cast
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
7 years ago
Lioncash
c305601f9b
file_sys/card_image: Get rid of a magic number
We can just use the size of the array to dehardcode it.
7 years ago
Lioncash
bfafb5f7d1
file_sys/card_image: Use std::array deduction guides
Same thing, less code.
7 years ago
Zach Hilman
e62e715ac2
nsp: Correct status codes for extracted NSPs
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
7 years ago
Zach Hilman
5231fb95e6
nsp: Use title ID from NPDM metadata for extracted type NSPs
Avoids 0 being used as title ID for all extracted NSPs.
7 years ago
Zach Hilman
ae00309771
kernel_executable: Optimize BLZ decompression
7 years ago
Zach Hilman
5f6dba8ece
game_list: Accept *.kip as a file extension of executables
7 years ago
Zach Hilman
04a69eb6c7
program_metadata: Add function to load meta from raw parameters
Needed for KIP loading as KIPs do not have an NPDM but do have the essential parts of the data within.
7 years ago
Zach Hilman
48bb330ad1
file_sys: Add classes to parse KIP1 and INI1 files
7 years ago
Michael Scire
e417da5070
Implement IApplicationFunctions::GetDesiredLanguage
7 years ago
Lioncash
633d55d503
file_sys/program_metadata: Remove obsolete TODOs
BitField has been trivially copyable since
b20657a36f , so we can eliminate these
TODO comments and use ReadObject() directly instead of memcpying the
data.
7 years ago
Lioncash
0359cba0f3
file_sys/nca_metadata: Remove unnecessary comparison operators for TitleType
enum class elements from the same enum can already be compared against
one another without the need for explicitly defined comparison
operators.
7 years ago
Lioncash
d7f670204b
file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash()
The given string instance doesn't need to be copied entirely, we can
just use a view instead.
7 years ago
Lioncash
7d93ed3f70
service/fsp_srv: Don't pass SaveDataDescriptor instances by value.
Passing around a 64 byte data struct by value is kind of wasteful,
instead pass a reference to the struct.
7 years ago
Lioncash
90abd76bd9
service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs
I realized that I updated the documentation on SwitchBrew a while ago,
but never actually updated the structs within yuzu.
7 years ago