summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/submission_package.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: Remove unused includesameerj2021-11-041-1/+0
|
* file_sys: Support load game collection (#6582)Feng Chen2021-07-201-35/+36
| | | Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
* core: Make variable shadowing a compile-time errorLioncash2021-05-161-2/+2
| | | | | | Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
* file_sys: Resolve cases of variable shadowingLioncash2021-05-021-4/+4
| | | | Brings us closer to enabling -Wshadow as an error in the core code.
* core: loader: Implement support for loading indexed programs.bunnei2020-11-251-3/+3
|
* Merge pull request #3929 from FearlessTobi/ticket-keysbunnei2020-10-131-32/+29
|\ | | | | file_sys/nsp: Make SetTicketKeys actually do something
| * file_sys/nsp: Make SetTicketKeys actually do somethingFearlessTobi2020-07-181-32/+29
| | | | | | | | | | 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.
* | submission_package: Fix updates integrated into cartridge images.Morph2020-09-241-3/+22
| |
* | submission_package: Account for multi-content NSPsMorph2020-09-181-5/+5
| | | | | | | | | | | | | | Previously we assumed a submission package can only contain one Program NCA with a single TitleID. However, Super Mario 3D All-Stars contains four Program NCAs, each with their unique TitleIDs. This accounts for the existence of multi-content games such as this one. - Fixes booting Super Mario 3D All-Stars from the games list.
* | file_sys: Replace inclusions with forward declarations where applicableLioncash2020-08-231-1/+1
|/ | | | Same behavior, minus unnecessary inclusions where not necessary.
* key_manager: Correct casing of instance()Lioncash2020-07-011-1/+1
| | | | Our codebase uppercases member function names.
* crypto: Make KeyManager a singleton classFearlessTobi2020-05-201-2/+2
| | | | | | 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.
* submisson_package: Fix edge case with improperly sized filenamesZach Hilman2019-09-211-1/+2
| | | Prevents a crash if the filename is less than 9 characters long.
* Merge pull request #2576 from DarkLordZach/nsp-fix-1David2019-09-211-0/+26
|\ | | | | nsp: Fix various errors with loading and processing of extracted NSPs
| * nsp: Correct status codes for extracted NSPsZach Hilman2019-06-101-0/+5
| | | | | | | | Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
| * nsp: Use title ID from NPDM metadata for extracted type NSPsZach Hilman2019-06-101-0/+21
| | | | | | | | Avoids 0 being used as title ID for all extracted NSPs.
* | file_sys/submission_package: Don't warn about missing DeltaFragment NCAsBakugo2019-07-011-4/+7
| | | | | | | | DeltaFragments are not useful to us and are often not included in patch NSPs.
* | common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash2019-06-121-5/+8
|/ | | | | | 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.
* core: Port current uses of RegisteredCache to ContentProviderZach Hilman2019-03-271-6/+7
|
* file_sys: Use common KeyManager in NCA container typesZach Hilman2018-11-021-1/+1
| | | | Creates a single KeyManager for the entire container and then passes it into the NCA constructor, eliminating several unnecessary KeyManager reads.
* vfs: Remove InterpretAsDirectory and related functionsZach Hilman2018-10-191-4/+0
| | | | When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
* romfs_factory: Extract packed update setter to new functionZach Hilman2018-10-051-1/+4
|
* submission_package: Avoid dangling std::string_view within SetTicketKeys()Lioncash2018-10-031-2/+5
| | | | | | | | GetName() returns a std::string by value, not by reference, so after the std::string_view is constructed, it's not well defined to actually execute any member functions of std::string_view that attempt to access the data, as the std::string has already been destroyed. Instead, we can just use a std::string and erase the last four characters.
* submission_package: Correct location of null check within SetTicketKeys()Lioncash2018-10-031-3/+6
| | | | | If a ticket file was ever a null pointer, we'd cause a null pointer dereference, as we were calling GetExtension() on the pointer instance.
* submission_package: Use std::string's rfind() when looking for the extension in InitializeExeFSAndRomFS()Lioncash2018-10-031-1/+1
| | | | | | | When searching for a file extension, it's generally preferable to begin the search at the end of the string rather than the beginning, as the whole string isn't going to be walked just to check for something at the end of it.
* submission_package: Ensure the 'extracted' member variable is always initializedLioncash2018-10-031-2/+0
| | | | | | | | If an error occurs when constructing the PartitionFilesystem instance, the constructor would be exited early, which wouldn't initialize the extracted data member, making it possible for other code to perform an uninitialized read by calling the public IsExtractedType() member function. This prevents that.
* submission_package: Move ExeFS and RomFS initialization to its own functionLioncash2018-10-031-10/+17
| | | | | | | | | | Like the other two bits of factored out code, this can also be put within its own function. We can also modify the code so that it accepts a const reference to a std::vector of files, this way, we can deduplicate the file retrieval. Now the constructor for NSP isn't a combination of multiple behaviors in one spot. It's nice and separate.
* submission_package: Move NCA reading code to its own functionLioncash2018-10-031-43/+46
| | | | | | This too, is completely separate behavior from what is in the constructor, so we can move this to its own isolated function to keep everything self-contained.
* submission_package: Move ticket key setting to its own functionLioncash2018-10-031-21/+28
| | | | | This behavior is entirely independent of the surrounding code, so it can be put in its own function to keep the behavior separate.
* submission_package: Invert conditionals within NSP's constructor to reduce nestingLioncash2018-10-031-45/+49
| | | | We can use early continues here to reduce the amount of nesting.
* Merge pull request #1242 from lioncash/file-sysbunnei2018-09-061-3/+9
|\ | | | | file_sys/submission_package: Replace includes with forward declarations where applicable
| * file_sys/submission_package: Correct constructor initialization list orderLioncash2018-09-051-2/+2
| | | | | | | | | | Orders the elements in the sequence to match the order in which they'll actually be initialized in.
| * file_sys/submission_package: Replace includes with forward declarations where applicableLioncash2018-09-051-1/+7
| |
* | nsp: Fix error masking issue with XCI filesZach Hilman2018-09-041-1/+4
|/ | | | Now display correct error instead of catch-all MissingProgramNCA
* main: Only show DRD deprecation warning onceZach Hilman2018-09-041-0/+1
|
* nsp: Comply with style and performance guidelinesZach Hilman2018-09-041-24/+33
|
* file_sys: Add Nintendo Submission Package (NSP)Zach Hilman2018-09-041-0/+226