- 07 Oct, 2018 3 commits
-
-
David Marcec authored
-
David Marcec authored
Softlock explanation: after effects are initialized in smo, nothing actually changes the state. It expects the state to always be initialized. With the previous testing, updating the states much like how we handle the memory pools continue to have the softlock(which is why I said it probably wasn't effects) after further examination it seems like effects need to be initialized but the state remains unchanged until further notice. For now, assertions are added for the aux buffers to see if they update, unable to check as I haven't gotten smo to actually update them yet.
-
David Marcec authored
-
- 06 Oct, 2018 10 commits
-
-
Mat M authored
Port citra-emu/citra#4313: "CONTRIBUTING.md - remove note about casting numeric types"
-
NeatNit authored
Apparently it's not true: https://github.com/citra-emu/citra/pull/4310#discussion_r223174725
-
bunnei authored
qt: Update telemetry links
-
Lioncash authored
These were pointing to a non-existent webpage.
-
bunnei authored
Port web_service from Citra
-
bunnei authored
kernel/mutex: Amend behavior of TransferMutexOwnership()
-
bunnei authored
ui_settings: Place definition of the theme array within the cpp file
-
bunnei authored
gl_rasterizer: Implement quads topology
-
bunnei authored
thread: Make the scheduler pointer a regular pointer
-
- 05 Oct, 2018 4 commits
-
-
balika011 authored
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.
-
bunnei authored
kernel/thread: Make all instance variables private
-
bunnei authored
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
-
Lioncash authored
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.
-
- 04 Oct, 2018 6 commits
-
-
Lioncash authored
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.
-
bunnei authored
file_sys: Add support for loading IPS patches
-
Lioncash authored
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.
-
ReinUsesLisp authored
-
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 17 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.
-