summaryrefslogtreecommitdiff
path: root/src/yuzu
AgeCommit message (Collapse)Author
2018-10-12Merge pull request #1409 from DarkLordZach/key-derivationbunnei
crypto: Add support for full key derivation
2018-10-09Merge pull request #1464 from lioncash/uniquebunnei
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
2018-10-09patch_manager: Return a std::unique_ptr from ParseControlNCA() and ↵Lioncash
GetControlMetadata() instead of a std::shared_ptr Neither of these functions require the use of shared ownership of the returned pointer. This makes it more difficult to create reference cycles with, and makes the interface more generic, as std::shared_ptr instances can be created from a std::unique_ptr, but the vice-versa isn't possible. This also alters relevant functions to take NCA arguments by const reference rather than a const reference to a std::shared_ptr. These functions don't alter the ownership of the memory used by the NCA instance, so we can make the interface more generic by not assuming anything about the type of smart pointer the NCA is contained within and make it the caller's responsibility to ensure the supplied NCA is valid.
2018-10-09implemented touch in Qt and SDLNeatNit
change TouchToPixelPos to return std::pair<int, int> static_cast (SDL) various minor style and code improvements style - PascalCase for function names made touch events private const pointer arg in touch events make TouchToPixelPos a const member function did I do this right? braces on barely-multiline if remove question comment (confirmed in Discord) fixed consts remove unused parameter from TouchEndEvent DRY - High-DPI scaled touch put in separate function also fixes a bug where if you start touching (with either mouse or touchscreen) and drag the mouse to the LEFT of the emulator window, the touch point jumps to the RIGHT side of the touchscreen; draggin to above the window would make it jump to the bottom. implicit conversion from QPoint to QPointF, apparently I have no idea what const even means but I'll put it here anyway remove unused or used-once variables make touch scaling functions const, and put their implementations together removed unused FingerID parameters QTouchEvent forward declaration; add comment to TouchBegin that was lost in an edit better DRY in SDL To do -> TODO(NeatNit) remove unused include
2018-10-07qt: Add UI option to configure argumentsZach Hilman
2018-10-07partition_data_manager: Rename system files for hekateZach Hilman
x
2018-10-07qt: Add rederive keyset menu optionZach Hilman
2018-10-07qt: Add key derivation progress bar on initial setupZach Hilman
2018-10-06Merge pull request #1396 from DarkLordZach/packed-updatesbunnei
loader: Add support for packed updates
2018-10-06Merge pull request #1446 from bunnei/fast_fermi_copybunnei
gl_rasterizer: Implement accelerated Fermi2D copies.
2018-10-06yuzu/yuzu_cmd: Add checks for required extension ARB_copy_image.bunnei
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-06qt: Update telemetry linksLioncash
These were pointing to a non-existent webpage.
2018-10-06Merge pull request #1332 from FearlessTobi/port-web-backendbunnei
Port web_service from Citra
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 #1439 from lioncash/threadbunnei
kernel/thread: Make all instance variables private
2018-10-05romfs_factory: Extract packed update setter to new functionZach Hilman
2018-10-05patch_manager: Add support for NSP packed updatesZach Hilman
Reads as Update (NSP) in add-ons
2018-10-05game_list: Add XCI update versioning to game listZach Hilman
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-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-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-02Review comments - part 5fearlessTobi
2018-10-02Review comments -part 4fearlessTobi
2018-10-02Review comments - part 3fearlessTobi
2018-10-02Address a bunch of review commentsfearlessTobi
2018-10-02Port web_service from CitrafearlessTobi
2018-10-01patch_manager: Use strings for patch type instead of enumZach Hilman
2018-09-30Merge pull request #1403 from DarkLordZach/install-sysnandbunnei
qt: Install System TitleTypes to System NAND
2018-09-30kernel/process: Make data member variables privateLioncash
Makes the public interface consistent in terms of how accesses are done on a process object. It also makes it slightly nicer to reason about the logic of the process class, as we don't want to expose everything to external code.
2018-09-27Merge pull request #1360 from FearlessTobi/port-3979bunnei
Port citra-emu/citra#3979 game_list: move SearchField to game_list_p.h and fix untranslated text
2018-09-27qt: Install System TitleTypes to System NANDZach Hilman
Fixes an issue where installed system archive NCAs would be installed to user NAND and not recognized by games.
2018-09-25yuzu/main: Resolve precedence bug within CalculateRomFSEntrySize()Lioncash
Ternary operators have a lower precedence than arithmetic operators, so what was actually occurring here is "return (out + full) ? x : y" which most definitely isn't intended, given we calculate out recursively above. We were essentially doing a lot of work for nothing.
2018-09-25yuzu/main: Move functions stored into static std::function instances out of ↵Lioncash
OnGameListDumpRomFS() This can cause warnings about static constructors, and is also not ideal performance-wise due to the indirection through std::function. This also keeps the behavior itself separate from the surrounding code, which can make it nicer to read, due to the size of the code.
2018-09-25vfs/etc: Append std:: to size_t usagesLioncash
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
2018-09-25Merge pull request #1365 from DarkLordZach/lfsbunnei
file_sys: Add support for LayeredFS mods
2018-09-23fsmitm: Cleanup and modernize fsmitm portZach Hilman
2018-09-21game_list: Add Qt SmoothTransformation to picture scalingZach Hilman
2018-09-21qt: Add UI elements for LayeredFS and related toolsZach Hilman
2018-09-21game_list: move SearchField to game_list_p.h and fix untranslated textzhupengfei
I have tested and made sure the text is translatable, but this would require a translation update to take effect.
2018-09-20Merge pull request #1371 from lioncash/fwd-armbunnei
arm_interface: Replace kernel vm_manager include with a forward declaration
2018-09-20arm_interface: Replace kernel vm_manager include with a forward declarationLioncash
Avoids an unnecessary inclusion and also uncovers three places where indirect inclusions were relied upon, which allows us to also resolve those.
2018-09-20game_list: Handle plurals within setFilterResult() betterLioncash
Qt provides an overload of tr() that operates on quantities in relation to pluralization. This also allows the translation to adapt based on the target language rules better. For example, the previous code would result in an incorrect translation for the French language (which doesn't use the pluralized version of "result" in the case of a total of zero. While in English it's correct to use the pluralized version of "result", that is, "results" --- For example: English: "0 results" French: "0 résultat" (uses the singular form) In French, the noun being counted is singular if the quantity is 0 or 1. In English, on the other hand, if the noun being counted has a quantity of 0 or N > 1, then the noun is pluralized. --- For another example in a language that has different counting methods than the above, consider English and Irish. Irish has a special form of of a grammatical number called a dual. Which alters how a word is written when N of something is 2. This won't appear in this case with a direct number "2", but it would change if we ever used "Two" to refer to two of something. For example: English: "Zero results" Irish: "Toradh ar bith" English: "One result" Irish: "Toradh amháin" English: "Two results" Irish: "Dhá thorthaí" <- Dual case Which is an important distinction to make between singular and plural, because in other situations, "two" on its own would be written as "dó" in Irish. There's also a few other cases where the order the words are placed *and* whether or not the plural or singular variant of the word is used *and* whether or not the word is placed after or between a set of numbers can vary. Counting in Irish also differs depending on whether or not you're counting things (like above) or counting people, in which case an entirely different set of numbers are used. It's not important for this case, but it's provided as an example as to why one should never assume the placement of values in text will be like that of English or other languages. Some languages have very different ways to represent counting, and breaking up the translated string like this isn't advisable because it makes it extremely difficult to get right depending on what language a translator is translating text into due to the ambiguity of the strings being presented for translation. In this case a translator would see three fragmented strings on Transifex (and not necessarily grouped beside one another, but even then, it would still be annoying to decipher): - "of" - "result" - "results" There is no way a translator is going to know what those sets of words are actually used for unless they look at the code to see what is being done with them (which they shouldn't have to do).