- 04 Oct, 2018 6 commits
-
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
-
bunnei authored
file_sys: Add support for loading IPS patches
-
bunnei authored
aoc_u: Fix edge case with DLC that causes breaks
-
bunnei authored
configure_graphics: Make functions internally linked where applicable
-
- 03 Oct, 2018 21 commits
-
-
bunnei authored
configure_audio: Minor cleanup-related changes
-
bunnei authored
services/fsp_srv: Amend service function table
-
bunnei authored
configure_input: Make analog mapping strings translatable
-
bunnei authored
submission_package: Cleanup and bug fixes
-
bunnei authored
service/lbl: Update service function table
-
bunnei authored
Port citra-emu/citra#4253: "common/string_util cleanup"
-
bunnei authored
card_image: Ensure program_nca_status is always initialized
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
submission_package: Use std::string's rfind() when looking for the extension in InitializeExeFSAndRomFS() 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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
This behavior is entirely independent of the surrounding code, so it can be put in its own function to keep the behavior separate.
-
Lioncash authored
We can use early continues here to reduce the amount of nesting.
-
Lioncash authored
If any of the error paths before the NCA retrieval are taken, it'll result in program_nca_status being left in an inconsistent state. So we initialize it by default with a value indicating an error.
-
Zach Hilman authored
In some games (Splatoon 2 and Splatoon 2 Splatfest World Premiere, notably), pass offset=0 and count=2047 into the ListAddOnContent method which should return all DLCs for the current title. The (presumably) intended behavior is to successfully return a empty array but because of a < v. <= in an if statement, a failure error code was returned causing these games to svcBreak. This fixes that if statement.
-
Lioncash authored
Adds new functions that have been given names to the table. Information is based off what is provided on Switchbrew.
-
Lioncash authored
Amends the lbl service table to include new names of functions that were added to Switchbrew.
-
Lioncash authored
These strings are user-facing, so they should be specified as translatable with tr().
-
Lioncash authored
Keeps the individual behaviors in their own functions, and cleanly separate. We can also do a little better by converting the relevant IDs within the core to a QString only once, instead of converting every string into a std::string.
-
- 02 Oct, 2018 7 commits
-
-
Lioncash authored
This ensures that the proper codec will always be used no matter what. It also avoids relying on ASCII conversions.
-
Lioncash authored
Disambiguates what the string represents to help translators more easily understand what it is that they're translating. While we're at it, we can move the code to its own function, so that we don't need to specify the same string twice.
-
Lioncash authored
These aren't used outside of this translation unit, so they can be internally linked.
-
Zach Hilman authored
Avoid resource-heavy classes and remove quasi-duplicated code.
-
Weiyi Wang authored
-
Weiyi Wang authored
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
-
Weiyi Wang authored
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
-
- 01 Oct, 2018 6 commits
-
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
While PatchExeFS operated on the entire directory, this function operates on the uncompressed NSO. Avoids copying decompression code to PatchManager.
-
Zach Hilman authored
-
Zach Hilman authored
-
Zach Hilman authored
-