summaryrefslogtreecommitdiff
path: root/src/yuzu
AgeCommit message (Collapse)Author
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-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-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).
2018-09-17Merge pull request #1326 from FearlessTobi/port-4182bunnei
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-17Merge pull request #1335 from lioncash/copybunnei
game_list_p: Take map iterator contents by const reference
2018-09-17Merge pull request #1336 from lioncash/antialiasbunnei
yuzu/util: Antialias game list compatibility pixmaps
2018-09-17yuzu/util: Antialias game list compatibility pixmapsLioncash
We pass a hint to the QPainter instance that we want anti-aliasing on the compatibility icons, which prevents the circles from looking fairly jagged, and actually makes them look circular.
2018-09-17game_list_p: Amend typo in GameListItemCompat's constructor parameterLioncash
Adds a missing 'i' character that was missing in compatibility.
2018-09-17game_list_p: Take map iterator contents by const referenceLioncash
We don't need to copy the whole struct in this instance, we can just utilize a reference instead.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-13kernel/thread: Include thread-related enums within the kernel namespaceLioncash
Previously, these were sitting outside of the Kernel namespace, which doesn't really make sense, given they're related to the Thread class which is within the Kernel namespace.
2018-09-12Use ARB_multi_bind for uniform buffers (#1287)ReinUsesLisp
* gl_rasterizer: use ARB_multi_bind for uniform buffers * address feedback
2018-09-12Merge pull request #1302 from lioncash/configbunnei
yuzu/configure_gamelist: Mark combo-box strings as translatable
2018-09-12Merge pull request #1163 from FearlessTobi/add-audio-stretchingbunnei
audio_core: Add audio stretching support
2018-09-12yuzu/configure_gamelist: Make combo box strings translatableLioncash
Given these are shown to the user, they should be translatable. While we're at it, also set up the dialog to automatically retranslate the dialog along with the combo boxes if it receives a LanguageChange event.
2018-09-12yuzu/configure_gamelist: Use std::array instead of std::vector for ↵Lioncash
translatable strings We don't need to use an allocating container for these, given we know the fixed amount of strings being used. This is just a waste of memory.
2018-09-12yuzu/configure_gamelist: Move combo box initializtion to their own functionsLioncash
Keeps the individual initialization of the combo boxes logically separate. We also shouldn't be dumping this sort of thing in the constructor directly.
2018-09-11Merge pull request #1301 from lioncash/qtbunnei
game_list: Resolve variable shadowing within LoadCompatibilityList()
2018-09-11Merge pull request #1278 from tech4me/bg-color-fixbunnei
Port Citra #4047 & #4052: add change background color support
2018-09-11game_list: Resolve variable shadowing within LoadCompatibilityList()Lioncash
"value" is already a used variable name within the outermost ranged-for loop, so this variable was shadowing the outer one. This isn't a bug, but it will get rid of a -Wshadow warning.
2018-09-11game_list: Use QJsonValueRef() within LoadCompatibilityList()Lioncash
This way, we aren't constructing unnecessary QJsonValue instances.
2018-09-11gl_rasterizer: Use ARB_texture_storage.Markus Wick
It allows us to use texture views and it reduces the overhead within the GPU driver. But it disallows us to reallocate the texture, but we don't do so anyways. In the end, it is the new way to allocate textures, so there is no need to use the old way.
2018-09-10Port #4141 from citra: Joystick hotplug support (#1275)Tobias
* Joystick hotplug support (#4141) * use SDL_PollEvent instead of SDL_JoystickUpdate Register hot plugged controller by GUID if they were configured in a previous session * Move SDL_PollEvent into its own thread * Don't store SDLJoystick pointer in Input Device; Get pointer on each GetStatus call * Fix that joystick_list gets cleared after SDL_Quit * Add VirtualJoystick for InputDevices thats never nullptr * fixup! Add VirtualJoystick for InputDevices thats never nullptr * fixup! fixup! Add VirtualJoystick for InputDevices thats never nullptr * Remove SDL_GameController, make SDL_Joystick* unique_ptr * fixup! Remove SDL_GameController, make SDL_Joystick* unique_ptr * Adressed feedback; fixed handling of same guid reconnects * fixup! Adressed feedback; fixed handling of same guid reconnects * merge the two joystick_lists into one * make SDLJoystick a member of VirtualJoystick * fixup! make SDLJoystick a member of VirtualJoystick * fixup! make SDLJoystick a member of VirtualJoystick * fixup! fixup! make SDLJoystick a member of VirtualJoystick * SDLJoystick: Addressed review comments * Address one missed review comment
2018-09-10Remove multicore configure_general.uiMysticExile
2018-09-10remove multicore in configure_general.cppMysticExile