summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-10-06Merge pull request #1453 from FearlessTobi/port-4311bunnei
Port citra-emu/citra#4311: "Remove "#" in the version number"
2018-10-06Merge pull request #1451 from FearlessTobi/port-4140bunnei
Port citra-emu/citra#4140: "misc input tab improvements"
2018-10-06Merge pull request #1448 from ogniK5377/frontend-accessbunnei
Ported #4296 from citra
2018-10-06Merge pull request #1454 from ReinUsesLisp/fixup-drawMat M
gl_rasterizer: Fixup undefined behaviour in SetupDraw
2018-10-06gl_rasterizer: Fixup undefined behaviour in SetupDrawReinUsesLisp
2018-10-06Remove "#" in the version numberfearlessTobi
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06citra_qt/configuration: misc input tab improvementszhupengfei
* Added a context menu on the buttons including Clear & Restore Default * Allow clearing (unsetting) inputs. Added a Clear All button * Allow restoring a single input to default (instead of all)
2018-10-06Added forward define for ServerPortDavid Marcec
2018-10-06qt: Update telemetry linksLioncash
These were pointing to a non-existent webpage.
2018-10-06Ported #4296 from citraDavid Marcec
This will allow us to easily remove the use of "NFC" in "System"
2018-10-06Merge pull request #1332 from FearlessTobi/port-web-backendbunnei
Port web_service from Citra
2018-10-06kernel/mutex: Amend behavior of TransferMutexOwnership()Lioncash
This was the result of a typo accidentally introduced in e51d715700a35a8f14e5b804b6f7553c9a40888b. This restores the previous correct behavior. The behavior with the reference was incorrect and would cause some games to fail to boot.
2018-10-05Merge pull request #1440 from lioncash/arraybunnei
ui_settings: Place definition of the theme array within the cpp file
2018-10-05Merge pull request #1438 from ReinUsesLisp/quadsbunnei
gl_rasterizer: Implement quads topology
2018-10-05thread: Make the scheduler pointer a regular pointerbalika011
Conceptually, it doesn't make sense for a thread to be able to persist the lifetime of a scheduler. A scheduler should be taking care of the threads; the threads should not be taking care of the scheduler. If the threads outlive the scheduler (or we simply don't actually terminate/shutdown the threads), then it should be considered a bug that we need to fix. Attributing this to balika011, as they opened #1317 to attempt to fix this in a similar way, but my refactoring of the kernel code caused quite a few conflicts.
2018-10-05Merge pull request #1439 from lioncash/threadbunnei
kernel/thread: Make all instance variables private
2018-10-05Merge pull request #1442 from lioncash/formatbunnei
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
2018-10-04text_formatter: Avoid unnecessary string temporary creation in PrintMessage()Lioncash
operator+ for std::string creates an entirely new string, which is kind of unnecessary here if we just want to append a null terminator to the existing one. Reduces the total amount of potential allocations that need to be done in the logging path.
2018-10-04ui_settings: Place definition of the theme array within the cpp fileLioncash
Placing the array wholesale into the header places a copy of the whole array into every translation unit that uses the data, which is wasteful. Particularly given that this array is referenced from three different translation units. This also changes the array to contain pairs of const char*, rather than QString instances. This way, the string data is able to be fixed into the read-only segment of the program, as well as eliminate static constructors/heap allocation immediately on program start.
2018-10-04Merge pull request #1415 from DarkLordZach/ipsbunnei
file_sys: Add support for loading IPS patches
2018-10-04kernel/thread: Make all instance variables privateLioncash
Many of the member variables of the thread class aren't even used outside of the class itself, so there's no need to make those variables public. This change follows in the steps of the previous changes that made other kernel types' members private. The main motivation behind this is that the Thread class will likely change in the future as emulation becomes more accurate, and letting random bits of the emulator access data members of the Thread class directly makes it a pain to shuffle around and/or modify internals. Having all data members public like this also makes it difficult to reason about certain bits of behavior without first verifying what parts of the core actually use them. Everything being public also generally follows the tendency for changes to be introduced in completely different translation units that would otherwise be better introduced as an addition to the Thread class' public interface.
2018-10-04gl_rasterizer: Implement quads topologyReinUsesLisp
2018-10-03Merge pull request #1434 from DarkLordZach/dlc-edge-casebunnei
aoc_u: Fix edge case with DLC that causes breaks
2018-10-03Merge pull request #1428 from lioncash/qtbunnei
configure_graphics: Make functions internally linked where applicable
2018-10-03Merge pull request #1431 from lioncash/audiobunnei
configure_audio: Minor cleanup-related changes
2018-10-03Merge pull request #1433 from lioncash/fsbunnei
services/fsp_srv: Amend service function table
2018-10-03Merge pull request #1429 from lioncash/translatebunnei
configure_input: Make analog mapping strings translatable
2018-10-03Merge pull request #1436 from lioncash/viewbunnei
submission_package: Cleanup and bug fixes
2018-10-03Merge pull request #1432 from lioncash/lblbunnei
service/lbl: Update service function table
2018-10-03Merge pull request #1426 from FearlessTobi/port-4253bunnei
Port citra-emu/citra#4253: "common/string_util cleanup"
2018-10-03Merge pull request #1435 from lioncash/xcibunnei
card_image: Ensure program_nca_status is always initialized
2018-10-03submission_package: Avoid dangling std::string_view within SetTicketKeys()Lioncash
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.
2018-10-03submission_package: Correct location of null check within SetTicketKeys()Lioncash
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.
2018-10-03submission_package: Use std::string's rfind() when looking for the extension ↵Lioncash
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.
2018-10-03submission_package: Ensure the 'extracted' member variable is always initializedLioncash
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.
2018-10-03submission_package: Move ExeFS and RomFS initialization to its own functionLioncash
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.
2018-10-03submission_package: Move NCA reading code to its own functionLioncash
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.
2018-10-03submission_package: Move ticket key setting to its own functionLioncash
This behavior is entirely independent of the surrounding code, so it can be put in its own function to keep the behavior separate.
2018-10-03submission_package: Invert conditionals within NSP's constructor to reduce ↵Lioncash
nesting We can use early continues here to reduce the amount of nesting.
2018-10-02card_image: Ensure program_nca_status is always initializedLioncash
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.
2018-10-02aoc_u: Fix edge case with DLC that causes breaksZach Hilman
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.
2018-10-02services/fsp_srv: Amend service function tableLioncash
Adds new functions that have been given names to the table. Information is based off what is provided on Switchbrew.
2018-10-02service/lbl: Update service function tableLioncash
Amends the lbl service table to include new names of functions that were added to Switchbrew.
2018-10-02configure_input: Make analog mapping strings translatableLioncash
These strings are user-facing, so they should be specified as translatable with tr().
2018-10-02configure_audio: Move combo box index setting to their own functionsLioncash
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.
2018-10-02configure_audio: Use QString::fromStdString() for converting audio device namesLioncash
This ensures that the proper codec will always be used no matter what. It also avoids relying on ASCII conversions.
2018-10-02configure_audio: Add disambiguation comment for the volume percentage stringLioncash
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.
2018-10-02configure_graphics: Make functions internally linked where applicableLioncash
These aren't used outside of this translation unit, so they can be internally linked.
2018-10-02nso: Optimize loading of IPS patchesZach Hilman
Avoid resource-heavy classes and remove quasi-duplicated code.
2018-10-02string_util: unify UTF8<->UTF16 conversion to codecvtWeiyi Wang