| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
Port citra-emu/citra#4930: "Pause when in background"
|
| |
| |
| |
| | |
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
|
| | |
|
|\ \
| | |
| | | |
Silence miscellaneous warnings
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Port citra-emu/citra#4004: "qt_themes: add two colorful themes"
|
| | |
| | |
| | |
| | |
| | |
| | | |
These two colorful themes are based on the Default and Dark themes, and contain icons that are colored rather than black and white. These icons come from icons8.com and they have been slightly revised by me. I'm pretty sure I was licensed to use them for Citra.
Co-Authored-By: Pengfei Zhu <zhupengfei321@sina.cn>
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Also displays current events if boxcat is selected.
|
| |/
|/| |
|
|\ \
| | |
| | | |
am: Implement exit locking and self exit commands
|
| | | |
|
| |/ |
|
|/ |
|
|\
| |
| | |
core: Implement FileSystemController to deglobalize FS services
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Log the current title id and game name which is booting
|
| | |
|
| |
| |
| |
| | |
Spit out a LOG_INFO of the current game name and it's title id in the log. This helps to read log files and figure out which games have which issues
|
|\ \
| | |
| | | |
Port citra-emu/citra#4944: "Added Host CPU and OS to log"
|
| |/ |
|
|\ \
| | |
| | | |
Port citra-emu/citra#4882: "Add frametime logging for tracking performance over time"
|
| |/
| |
| |
| | |
Co-Authored-By: jroweboy <jroweboy@gmail.com>
|
|/ |
|
|\
| |
| | |
Port citra-emu/citra#4877: "citra_qt: on osx chdir to bundle dir to allow detection of user folder"
|
| | |
|
| |
| |
| |
| |
| | |
Fix compile error on Windows caused by #4877
Weird, I thought I saw this guard during the code review...
|
| | |
|
|\ \
| | |
| | | |
Port citra-emu/citra#4866: "configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text"
|
| |/
| |
| |
| | |
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
|
| |
| |
| |
| |
| |
| | |
The speed limiter being a frame limiter is an implmentation detail and can be changed in the future. What user care about is that it limit the emulation speed in genenral (not just graphics but also audio+input)
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
|
|\ \
| | |
| | | |
Port citra-emu/citra#4911: "Add cancel option to analog stick configuration"
|
| |/
| |
| |
| | |
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Ported from https://github.com/citra-emu/citra/pull/3617.
|
|\ \
| | |
| | | |
Port citra-emu/citra#4914: "Fix to Windows sleep issues"
|
| |/
| |
| |
| | |
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
|
|/
|
|
| |
I missed this in my original PR (https://github.com/yuzu-emu/yuzu/pull/1886).
|
| |
|
|\
| |
| | |
Port citra-emu/citra#4849: "Qt: Fixed behaviour of buttons by connecting functors to correct signals"
|
| |
| |
| |
| |
| |
| | |
Following screens got fixes:
- Configure/Debug
- Configure/Input
|
|\ \
| | |
| | | |
yuzu/CMakeLists: Remove qt5_wrap_ui macro usage
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can simply enable CMAKE_AUTOUIC and let CMake take care of handling
the UI code generation for targets.
As part of letting CMake automatically handle the header file parsing,
we must not name includes with "ui_*" unless they're related to the
output of the Qt UIC compiler. Because of this, we need to rename
ui_settings, given it would conflict with this restriction.
|
|\ \
| |/
|/| |
yuzu/main: Make error messages within OnCoreError more localization-friendly
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, a translated string was being appended onto another string
in a manner that doesn't allow the translator to control where the
appended text is placed. This can be a nuisance for languages where
grammar and text ordering differs from English.
We now append the strings via the format strings themselves, which
allows translators to reorder where the text will be placed.
|
|/
|
|
|
|
|
|
|
|
| |
The JIT is mature enough that this setting can be removed, falling back
to Unicorn only on unsupported architectures. Any missing features from
Unicorn (of which there are extremely few), are mostly
developer-oriented, which most users don't care about.
Features should be coordinated with the JIT, not the interpreter,
anyhow.
|
|\
| |
| | |
Implement a new Texture Cache
|
| | |
|
|\ \
| | |
| | | |
yuzu: Move CPU Jit setting to Debug tab
|
| | |
| | |
| | |
| | | |
A normal user shouldn't change this, as it will slow down the emulation and can lead to bugs or crashes. The renaming is done in order to prevent users from leaving this on without a way to turn it off from the UI.
|
|/ / |
|
| | |
|
| | |
|
| |
| |
| | |
This is more representative of what actually occurs, as web does support remote URLs which wouldn't need a romfs callback. This paves for easy future support of this with a call like 'OpenPageRemote' or similar.
|
|\ \
| | |
| | | |
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
|
| | | |
|
|\ \ \
| |_|/
|/| | |
core: Add detailed local reporting feature for development
|
| | |
| | |
| | | |
Also cleanup of general stuff
|
| | |
| | |
| | |
| | | |
Reports are unnecessary for normal users and this is to prevent 'power' users from enabling the feature by accident.
|
| | |
| | |
| | |
| | | |
Full enable/disable for all reports.
|
|\ \ \
| | | |
| | | | |
yuzu/configure_input: Add missing space in window title
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Added missing whitespace character between two words in the "Warning Missing Derivation Components" warning message box.
|
|\ \ \ \
| | | | |
| | | | | |
yuzu/configuration: Make all widgets and dialogs aware of language changes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To prepare for translation support, this makes all of the widgets
cognizant of the language change event that occurs whenever
installTranslator() is called and automatically retranslates their text
where necessary.
This is important as calling the backing UI's retranslateUi() is often
not enough, particularly in cases where we add our own strings that
aren't controlled by it. In that case we need to manually refresh the
strings ourselves.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
video_core: Drop OpenGL core in favor of OpenGL compatibility
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
yuzu/CMakeLists: Pass compilation flags that make it more difficult to cause bugs in Qt code
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Enforces the use of the proper URL resolution functions. e.g.
url = some_local_path_string;
should actually be:
url = QUrl::fromLocalPath(some_local_path_string);
etc.
This makes it harder to cause bugs when operating with both strings and
URLs at the same time.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Other overloads of start() are considerably much safer to use if we ever
need this in the future and need to pass arguments to the program, given
it contains separate parameters for the program path and the arguments
themselves, whereas this unsafe overload contains both as a single
string.
Given the alternatives are much safer, we can disable this.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Prevents hard-to-diagnose bugs from potentially occurring and requires
any type narrowing to be explicitly performed by our code.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
yuzu/configuration: Make function naming consistent
|
| |/ / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
core/telemetry_session: Remove usages of the global system accessor
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a hold-over from Citra and doesn't apply to yuzu.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
yuzu/{profile_select, software_keyboard}: Tidy up interface
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Like with the profile selection dialog, we can just use the result of
QDialog's exec() function to determine whether or not a dialog was
accepted.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This behavior is already provided by the built-in exec() function. We
just need to check the return value of it.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Qt uses a signed value to represent indices. We should follow this
convention where applicable to avoid unnecessary sign-conversion
warnings, as well as making it easier to interoperate with other aspects
of Qt.
While we're at it, we can also make a sign-conversion explicit.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
qt: Silence name collision warnings
|
| |/ / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
yuzu/configuration/configure_graphics: Eliminate type narrowing in a connect call
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
A checkbox is able to be tri-state, giving it three possible activity
types, so in the connect call here, it would actually be truncating an
int into a bool.
Instead, we can just listen on the toggled() signal, which passes along
a bool, not an int.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
game_list_worker: Use QFile over our own IOFile instance or std streams for the game list cache
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Stays consistent in our code with using Qt's provided mechanisms, and
also properly handles Unicode paths (which file streams on Windows don't
do very well).
|
| | |_|_|_|_|/
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is equivalent to specifying two separate functions, so we can just
do that.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
yuzu/bootmanager: Minor interface tidying
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We can make this message more meaningful by indicating the location the
screenshot has been saved to. We can also log out whenever a screenshot
could not be saved (e.g. due to filesystem permissions or some other
reason).
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Treating it as a u16 can result in a sign-conversion warning when
performing arithmetic with it, as u16 promotes to an int when aritmetic
is performed on it, not unsigned int.
This also makes the interface more uniform, as the layout interface now
operates on u32 across the board.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This class contains non-trivial members, so we should default the
destructor's definition within the cpp file.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Same thing (for platforms we support), less reading.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This function is defined as taking an int, not a bool.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We can just pass a pointer to GMainWindow directly and make it a
requirement of the interface. This makes the interface a little safer,
since this would technically otherwise allow any random QWidget to be
the parent of a render window, downcasting it to GMainWindow (which is
undefined behavior).
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We can just invoke these functions by qualifying the object name before
the function.
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
yuzu: Remove unused birthday setting
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Fixes #2522.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
mii: Implement MiiManager backend and several mii service commands
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
yuzu: Implement a caching mechanism for the game list
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | | |
Preserves list of add ons and the icon, which are the two costliest parts of game list population.
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
yuzu_cmd: Split emu_window OpenGL implementation into its own file
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There's no performance improvement in passing an unsigned pair by
reference.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Nothing from the hotkeys dialog relies on this call occurring, and is
already called from the dialog that calls applyConfiguration().
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Avoids mentioning the user and formalizes the error itself.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
critical() is intended for critical/fatal errors that threaten the
overall stability of an application. A user entering a conflicting key
sequence is neither of those.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We don't need to extract the entire set of hotkeys into a list and then
iterate through it. We can traverse the list and early-exit if we're
able to.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
1. This is something that should be solely emitted by the hotkey dialog
itself
2. This is functionally unused, given there's nothing listening for the
signal.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The previous code was all "smushed" together wasn't really grouped
together that well.
This spaces things out and separates them by relation to one another,
making it easier to visually parse the individual sections of code that
make up the constructor.
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
QDialogButtonBoxes are horizontal by default.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
yuzu/main: Specify string conversions explicitly
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Now that all of our code is compilable with implicit QString
conversions, we can enforce it at compile-time by disabling them.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This isn't actually used anywhere, so it can be removed.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Given the std::optional can contain an object type that heap allocates,
we can use std::move to avoid an unnecessary copy/allocation from
occurring.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Qt uses a signed value to represent container sizes, so this was causing
a sign mismatch warning.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allows the software keyboard applet code to compile with implicit string
conversions disabled.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allows the error applet to build successfully with implicit string
conversions disabled.
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
gl_shader_cache: Use shared contexts to build shaders in parallel at boot
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Given the array is a private static array, we can just make it
internally linked to hide it from external code. This also allows us to
remove an inclusion within the header.
|
|/ / /
| | |
| | |
| | |
| | | |
Allows the configuration code to build successfully with implicit string
conversions disabled.
|
|\ \ \
| | | |
| | | | |
configuration/config: Move config loading and saving to functions based off groups
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Over time our config values have grown quite numerous in size.
Unfortunately it also makes the single functions we have for loading and
saving values more error prone.
For example, we were loading the core settings twice when they only
should have been loaded once. In another section, a variable was
shadowing another variable used to load settings from a completely
different section.
Finally, in one other case, there was an extraneous endGroup() call used
that didn't need to be done. This was essentially dead code and also a
bug waiting to happen.
This separates the section loading code into its own separate functions.
This keeps variables only visible to the code that actually needs it,
and makes it much easier to visually see the end of each individual
configuration group. It also makes it much easier to visually catch bugs
during code review.
While we're at it, this also uses QStringLiteral instead of raw string
literals, which both avoids constructing a lot of QString instances, but
also makes it much easier to disable implicit ASCII to QString and
vice-versa in the future via setting QT_NO_CAST_FROM_ASCII and
QT_NO_CAST_TO_ASCII as compilation flags.
|
| | |
| | |
| | |
| | |
| | | |
Allows the game list code to compile successfully with implicit string
conversions disabled.
|
| | |
| | |
| | |
| | |
| | | |
Allows the game list worker code to compile successfully with implicit
string conversions disabled.
|
| | |
| | |
| | |
| | |
| | |
| | | |
SMDH is a metadata format used in some executable formats for the
Nintendo 3DS. Switch executables don't utilize this metadata format, so
this just a holdover from Citra and can be corrected.
|
| | |
| | |
| | |
| | |
| | | |
Allows the game list item code to build with implicit string conversions
disabled.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allows the loading screen code to compile with implicit string
conversions disabled.
While we're at it remove unnecessary const usages, and add it to nearby
variables where appropriate.
|
| | |
| | |
| | |
| | |
| | | |
Allows the bootmanager code to compile with implicit string conversions
disabled.
|
| | |
| | |
| | |
| | | |
Allows the util code to build with implicit string conversions disabled.
|
| | |
| | |
| | |
| | |
| | | |
Allows the web config code to compile with implicit string conversions
disabled. We can also deduplicate the calls to create the pixmap.
|
| | |
| | |
| | |
| | |
| | | |
Allows the system config code to build successfully with implicit string
conversions disabled.
|
| | |
| | |
| | |
| | | |
This is a user-facing string, so it should be marked as translatable.
|
| | |
| | |
| | |
| | |
| | | |
Allows the per-game configuration to be successfully built with implicit
string conversions disabled.
|
| | |
| | |
| | |
| | | |
Deduplicates array accesses and uses a named variable where appropriate.
|
| | |
| | |
| | |
| | |
| | | |
Allows the advanced mouse configuration code to build with implicit
string conversions disabled.
|
| | |
| | |
| | |
| | |
| | | |
Rather than repeatedly index arrays that have quite a large array index,
we can just use a named variable instead.
|
| | |
| | |
| | |
| | |
| | | |
Allows the player input configuration code to compile with implicit
string conversions disabled.
|
| | |
| | |
| | |
| | | |
These are user-facing strings, so they should be localizable.
|
| | |
| | |
| | |
| | |
| | | |
Allows the general configuration code to successfully compile with
implicit string conversions disabled.
|
| | |
| | |
| | |
| | |
| | | |
Allows the gamelist configuration code to compile with implicit string
conversions disabled.
|
| | |
| | |
| | |
| | |
| | | |
Avoids using the system accessor more than necessary, and ensures that
both dialog boxes see the same power on state.
|
| | |
| | |
| | |
| | | |
We can just use qOverload here to tidy up the function cast.
|
| | |
| | |
| | |
| | |
| | | |
Allows the audio configuration code to build with implicit string
conversions disabled.
|
|\ \ \
| | | |
| | | | |
yuzu: Remove explicit types from locks where applicable
|
| | | |
| | | |
| | | |
| | | |
| | | | |
With C++17's deduction guides, the type doesn't need to be explicitly
specified within locking primitives anymore.
|
|\ \ \ \
| | | | |
| | | | | |
yuzu/debugger: Specify string conversions explicitly
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Allows the graphics breakpoints to compile with implicit string
conversions disabled.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This allows the microprofile widget to compile with implicit string
conversions disabled.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Allows compiling the wait tree widget with implicit string conversions
disabled.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
core/kernel/object: Rename ResetType enum members for clarity
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Renames the members to more accurately indicate what they signify.
"OneShot" and "Sticky" are kind of ambiguous identifiers for the reset
types, and can be kind of misleading. Automatic and Manual communicate
the kind of reset type in a clearer manner. Either the event is
automatically reset, or it isn't and must be manually cleared.
The "OneShot" and "Sticky" terminology is just a hold-over from Citra
where the kernel had a third type of event reset type known as "Pulse".
Given the Switch kernel only has two forms of event reset types, we
don't need to keep the old terminology around anymore.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
yuzu/applets/profile_select: Mark header string as translatable
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
This is a user-facing string, so it should be marked as translatable.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
yuzu/bootmanager: Explicitly enable deprecated OpenGL features on compat
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Nvidia's proprietary driver creates a real OpenGL compatibility profile
without this option, meanwhile Intel (and probably AMD, I haven't tested
it) require that QSurfaceFormat::FormatOption::DeprecatedFunctions is
explicitly enabled.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | | |
This has been left unused since the removal of the vestigial surface
viewer. Given it has no uses left, this can be removed as well.
|
|\ \ \ \
| | | | |
| | | | | |
yuzu/{about_dialog, main}: Specify string conversions explicitly for SCM-related info
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
For similar reasons to the previous change, we move this to a single
function, so we don't need to duplicate the conversion logic in several
places within main.cpp.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Specifies the conversions explicitly to avoid implicit conversions from
const char* to QString. This makes it easier to disable implicit QString
conversions in the future.
In this case, the implicit conversion was technically wrong as well. The
implicit conversion treats the input strings as ASCII characters. This
would result in an incorrect conversion being performed in the rare case
a branch name was created with a non-ASCII Unicode character, likely
resulting in junk being displayed.
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Compatibility profile and the disk shader cache settings shouldn't
be changed at runtime. This aims to address that shadowing those
options.
|
|\ \ \
| | | |
| | | | |
yuzu/hotkeys: Remove unnecessary constructor
|
| |/ /
| | |
| | |
| | |
| | | |
The behavior of the Hotkey constructor is already accomplished via in-class member
initializers, so the constructor is superfluous here.
|
|\ \ \
| | | |
| | | | |
yuzu/compatdb: Remove unnecessary qualifiers
|
| |/ /
| | |
| | |
| | | |
Keeps the code consistent in regards to how the buttons are referred to.
|
|/ / |
|
|\ \
| | |
| | | |
kernel/svc: Clean up wait synchronization related functionality
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a holdover from Citra, where the 3DS has both
WaitSynchronization1 and WaitSynchronizationN. The switch only has one
form of wait synchronizing (literally WaitSynchonization). This allows
us to throw out code that doesn't apply at all to the Switch kernel.
Because of this unnecessary dichotomy within the wait synchronization
utilities, we were also neglecting to properly handle waiting on
multiple objects.
While we're at it, we can also scrub out any lingering references to
WaitSynchronization1/WaitSynchronizationN in comments, and change them
to WaitSynchronization (or remove them if the mention no longer
applies).
|
|\ \ \
| | | |
| | | | |
Allow picking a Compatibility Profile for OpenGL.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This option allows picking the compatibility profile since a lot of bugs
are fixed in it. We devs will use this option to easierly debug current
problems in our Core implementation.:wq
|
|\ \ \ \
| |/ / /
|/| | | |
applets: Add AppletManager and implement PhotoViewer and Error applets
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The default constructor will always run, even when not specified, so
this is redundant.
However, the context member can indeed be initialized in the constructor
initializer list.
|
| | |
| | |
| | |
| | | |
This include isn't used anymore so it can be removed.
|
|/ /
| |
| |
| |
| | |
Resolves -Wreorder warnings. These will automatically be initialized to
nullptr anyways, so these were redundant.
|
|\ \
| | |
| | | |
CMakeLists: Define QT_USE_QSTRINGBUILDER for the Qt target
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a compile definition introduced in Qt 4.8 for reducing the total
potential number of strings created when performing string
concatenation. This allows for less memory churn.
This can be read about here:
https://blog.qt.io/blog/2011/06/13/string-concatenation-with-qstringbuilder/
For a change that isn't source-compatible, we only had one occurrence
that actually need to have its type clarified, which is pretty good, as
far as transitioning goes.
|
|\ \ \
| |/ /
|/| | |
yuzu/configure_hotkey: Minor changes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without passing in a parent, this can result in focus being stolen from
the dialog in certain cases.
Example:
On Windows, if the logging window is left open, the logging Window will
potentially get focus over the hotkey dialog itself, since it brings all
open windows for the application into view. By specifying a parent, we
only bring windows for the parent into view (of which there are none,
aside from the hotkey dialog).
|
| | |
| | |
| | |
| | |
| | | |
Without a parent, this dialog won't have its memory freed when it
happens to get destroyed.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This is checking if an index is valid or not and returning early if it
isn't.
|
| | |
| | |
| | |
| | | |
Avoids a -Wreorder compiler warning.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids dumping all of the core settings machinery into whatever files
include this header. Nothing inside the header itself actually made use
of anything in settings.h anyways.
|
| | |
| | |
| | |
| | |
| | | |
This doesn't actually modify instance state of the dialog, so this can
be made const.
|
|\ \ \
| | | |
| | | | |
Add a toggle to force 30FPS mode
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Frontend: Migrate to QOpenGLWindow and support shared contexts
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While we are at it, remove nullptr checks for deletion, since the C++
standard defines that delete does it by its own
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the loading screen merged, we don't want to actually show at this
point, but it still needs to be shown to actually create the context.
Turns out you can just show and hide it immediately and it'll work.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
yuzu/debugger: Remove graphics surface viewer
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
This doesn't actually work anymore, and given how long it's been left in
that state, it's unlikely anyone actually seriously used it.
Generally it's preferable to use RenderDoc or Nsight to view surfaces.
|
|\ \ \ \
| | | | |
| | | | | |
file_sys: Provide generic interface for accessing game data
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Port citra-emu/citra#4437: "citra-qt: Make hotkeys configurable via the GUI (Attempt 2)"
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Adds a new Hotkeys tab in the Controls group.
* Double-click a Hotkey to rebind it.
|
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In our error console, when loading a game, the strings:
QString::arg: Argument missing: "Loading...", 0
QString::arg: Argument missing: "Launching...", 0
would occasionally pop up when the loading screen was running. This was
due to the strings being assumed to have formatting indicators in them,
however only two out of the four strings actually have them.
This only applies the arguments to the strings that have formatting
specifiers provided, which avoids these warnings from occurring.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Use QStringLiteral where applicable.
- Use const where applicable
- Remove unnecessary precondition check (we already assert the pixbuf
being non null)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We can utilize qOverload with the signal connections to make the
function deducing a little less ugly.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fills in the missing surface types that were marked as unknown. The
order corresponds with the TextureFormat enum within
video_core/texture.h.
We also don't need to all of these strings as translatable (only the
first string, as it's an English word).
|
|\ \ \ \ \
| | | | | |
| | | | | | |
yuzu/main: Minor adjustments to OnTransferableShaderCacheOpenFile()
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allows these strings to have no allocation cost when used at runtime.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Rather than scream that the file doesn't exist, we can clearly state
what specifically doesn't exist, to avoid ambiguity, and make it easier
to understand for non-primary English speakers/readers.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We can just make the trailing portion of the string part of the
formatting, getting rid of the need to make another temporary string.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Simplifies the amount of string conversions necessary. We also don't
need to log out what occurs here.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There's no need to construct a QFile instance just to check for its
existence.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
While we're at it, don't use <QtGui> and <QtWidgets> and instead include
exactly which headers we actually need.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
frontend: Open transferable shader cache for a selected game in the gamelist
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | | |
Co-Authored-By: FreddyFunk <frederic.laing.development@gmail.com>
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
yuzu/debugger/profiler: Remove unnecessary includes
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Moves includes into the cpp file where necessary. This way,
microprofile-related stuff isn't dumped into other UI-related code when
the dialog header gets included.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Like the previous change, this allows Qt to handle proper translations
of the UI buttons, rather than us needing to handle it.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Makes for shorter code, while also not requiring the buttons to be
directly translated, they'll be handled by Qt itself.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
core/yuzu: Remove enable_nfc setting
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
This was initially added to prevent problems from stubbed/not implemented NFC services, but as we never encountered such and as it's only used in a deprecated function anyway, I guess we can just remove it to prevent more clutter of the settings.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Kernel: Fixes to Arbitration and SignalProcessWideKey Management
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Port citra-emu/citra#4684: "frontend: qt: fix a freeze where if you click on entry in the game list too fast, citra will hang"
|
| | | | | | |
|
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
# Conflicts:
# src/video_core/engines/kepler_memory.cpp
# src/video_core/engines/maxwell_3d.cpp
# src/video_core/morton.cpp
# src/video_core/morton.h
# src/video_core/renderer_opengl/gl_global_cache.cpp
# src/video_core/renderer_opengl/gl_global_cache.h
# src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
|
|\ \ \ \ \
| |/ / / /
|/| | | /
| | |_|/
| |/| | |
Port citra-emu/citra#3924: "citra_qt: Settings (configuration) rework"
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Port various Citra changes to input_common, including deadzone support
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
|
|\ \ \ \ \
| | | | | |
| | | | | | |
web_browser: Add shortcut to Enter key to exit applet
|
| | | | | |
| | | | | |
| | | | | | |
Addresses issues where a user in fullscreen could not exit some web applets without leaving fullscreen.
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
yuzu: add a hotkey to switch between undocked and docked mode
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Asynchronous GPU command processing
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
core: Remove the global telemetry accessor function
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
In these cases the system object is nearby, and in the other, the
long-form of accessing the telemetry instance is already used, so we can
get rid of the use of the global accessor.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
We already have the thread instance that was created under the current
process, so we can just pass the handle table of it along to retrieve
the owner of the mutex.
|
|\ \ \ \
| |/ / /
|/| | | |
Port citra-emu/citra#4647: "citra_qt/main: make SPEED_LIMIT_STEP static constexpr"
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
MSVC does not seem to like using constexpr values in a lambda that were declared outside of it.
Previously on MSVC build the hotkeys to inc-/decrease the speed limit were not working correctly because in the lambda the SPEED_LIMIT_STEP had garbage values.
After googling around a bit I found: https://github.com/codeplaysoftware/computecpp-sdk/issues/95 which seems to be a similar issue.
Trying the suggested fix to make the variable static constexpr also fixes the bug here.
|
| | |
| | |
| | |
| | | |
Silences a compiler warning with clang.
|
|/ /
| |
| |
| |
| | |
These types are within the common library, so they should be using the
Common namespace.
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Port citra-emu/citra#4586: "Use QPixmap/QIcon for background color selection button"
|
| | | |
|
|\ \ \
| | | |
| | | | |
Port citra-emu/citra#4583: "citra_qt: Fix saving screenshot when no file extension is provided"
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
QT: Fix the loading screen 'H' switch logo to not glitch out
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A holdover from citra, the Horizon kernel on the switch has no
prominent kernel object that functions as a timer. At least not
to the degree of sophistication that this class provided.
As such, this can be removed entirely. This class also wasn't used at
all in any meaningful way within the core, so this was just code sitting
around doing nothing. This also allows removing a few things from the
main KernelCore class that allows it to use slightly less resources
overall (though very minor and not anything really noticeable).
|
|\ \
| | |
| | | |
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.
|
| | | |
|
|/ / |
|
|\ \
| |/
|/| |
yuzu/configuration: Remove unnecessary inclusions where applicable
|
| |
| |
| |
| |
| | |
Allows removing the inclusion of the main input common header from the
UI config header.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
QT Frontend: Add a Loading screen with progressbar
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With shader caches on the horizon, one requirement is to provide visible
feedback for the progress. The shader cache reportedly takes several
minutes to load for large caches that were invalidated, and as such we
should provide a loading screen with progress.
Adds a loading screen widget that will be shown until the first frame of
the game is swapped. This was chosen in case shader caches are not being
used, several games still take more than a few seconds to launch and
could benefit from a loading screen.
|
|\ \ \
| |/ /
|/| | |
yuzu/configuration/configure_web: Amend verification string
|
| | |
| | |
| | |
| | |
| | |
| | | |
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
|
| |/
| |
| |
| |
| | |
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is a function that definitely doesn't always have a non-modifying
behavior across all implementations, so this should be made non-const.
This gets rid of the need to mark data members as mutable to work around
the fact mutating data members needs to occur.
|
| |
| |
| |
| | |
Avoids the need to potentially reallocate the contained callbacks.
|
|/
|
|
|
| |
These currently aren't used by anything other than the QtWebBrowser
class itself, and can be made private.
|
|\
| |
| | |
game_list: Remove a reference of a reference
|
| | |
|
|\ \
| | |
| | | |
settings: Add support for setting the RTC manually
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
Stored as signed seconds since epoch.
|
|\ \ \
| |/ /
|/| | |
applets: Implement HLE web browser applet (LibAppletOff)
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Using a custom reimplementation of QWebEngineView and an injector script.
|
| | | |
|
| | |
| | |
| | |
| | | |
Pulse is considered a hack and nothing should be using it. We should completely remove it
|
|\ \ \
| | | |
| | | | |
qt: Add setting to prompt for user on game boot
|
| | | |
| | | |
| | | | |
Using the QtProfileSelectorDialog, this implementation is trivial. This mimics the real switch behavior of asking which user on every game boot, but it is default disabled as that might get inconvenient.
|
|\ \ \ \
| | | | |
| | | | | |
qt: Use ProfileSelectionDialog when selecting user for save data
|
| |/ / /
| | | |
| | | | |
This allows us to present a much nicer UI to the user over a simple combo box and is made easy with the modular nature of the profile-selection applet frontend.
|
|\ \ \ \
| | | | |
| | | | | |
Port citra-emu/citra#4187: "Qt/Configure: Use sidebar to divide tabs into smaller groups"
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
The QPixmap API expects an unsigned int.
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
This makes the naming more closely match its meaning. It's just a
preferred core, not a required default core. This also makes the usages
of this term consistent across the thread and process implementations.
|
| | |
| | |
| | | |
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
|
|\ \ \
| | | |
| | | | |
configure_per_general: Mark UI strings as translatable in the constructor
|
| | | |
| | | |
| | | |
| | | | |
These are user-facing strings, so they should be translatable.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Calling tr() from a file-scope array isn't advisable, since it can be
executed before the Qt libraries are even fully initialized, which can
lead to crashes.
Instead, the translatable strings should be annotated, and the tr()
function should be called at the string's usage site.
|
|\ \ \
| |/ /
|/| | |
svc: Implement SetThreadActivity (thread suspension)
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Port citra-emu/citra#4164: "citra_qt, video_core: Screenshot functionality"
|
| | | |
| | | |
| | | |
| | | | |
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
|
|\ \ \ \
| | | | |
| | | | | |
am: Implement HLE profile selector applet
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes bugs relating to signalling in software keyboard.
|
| | | | |
| | | | |
| | | | | |
Presents profiles in a list, similar to switch.
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
configure_input: Add Controller Setup Profiles and simplify input UI
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Greatly simplifies the current input UI, while still allowing power users to tweak advanced settings. Adds 'input profiles', which are easy autoconfigurations to make getting started easy and fast. Also has a custom option which brings up the current, full UI.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
audio_core: Make g_sink_details internally linked
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
patch_manager: Add support for disabling patches
|
| | | | | | |
|
| | | | | | |
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
loaders: Make GetFileType() a const qualified member function
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Similarly, here we can avoid doing unnecessary work twice by retrieving
the file type only once and comparing it against relevant operands,
avoiding potential unnecessary object construction/destruction.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
While GetFileType() is indeed a getter function, that doesn't mean it's
a trivial function, given some case require reading from the data or
constructing other objects in the background. Instead, only do necessary
work once.
|
|/ / /
| | |
| | |
| | | |
Avoids typing the same long accessor just to retrieve player attributes.
|
|\ \ \
| | | |
| | | | |
yuzu/game_list_worker: Minor cleanup and code deduplication
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Avoids potentially allocating a std::string instance when it isn't
needed.
|
| | | |
| | | |
| | | |
| | | | |
Avoids duplicating the same code twice verbatim.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't need to call out to our own file handling functions when we're
going to construct a QFileInfo instance right after it. We also don't
need to convert to a std::string again just to compare the file
extension.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Two kernel object should absolutely never have the same handle ID type.
This can cause incorrect behavior when it comes to retrieving object
types from the handle table. In this case it allows converting a
WritableEvent into a ReadableEvent and vice-versa, which is undefined
behavior, since the object types are not the same.
This also corrects ClearEvent() to check both kernel types like the
kernel itself does.
|
|\ \ \
| | | |
| | | | |
yuzu/configuration: Minor clean-up related changes
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.
This also removes redundant usages of the private access specifier.
|
| | | |
| | | |
| | | |
| | | | |
Resolves trivial compiler warnings.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.
Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
|
|\ \ \
| | | |
| | | | |
filesystem: De-globalize registered_cache_union
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can just return a new instance of this when it's requested. This only
ever holds pointers to the existing registed caches, so it's not a large
object. Plus, this also gets rid of the need to keep around a separate
member function just to properly clear out the union.
Gets rid of one of five globals in the filesystem code.
|
|\ \ \
| |_|/
|/| | |
kernel: Divide Event into ReadableEvent and WritableEvent
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
video_core: Minor style changes
|
| | | | |
|
| |_|/
|/| | |
|
| |/
|/| |
|
|\ \
| |/
|/| |
Uncheck automatically joycons docked when docked mode is enable
|
| | |
|
| |
| |
| | |
when docked mode is enable
|
|\ \
| | |
| | | |
file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These parameters don't need to utilize a shared lifecycle directly in
the interface. Instead, the caller should provide a regular reference
for the function to use. This also allows the type system to flag
attempts to pass nullptr and makes it more generic, since it can now be
used in contexts where a shared_ptr isn't being used (in other words, we
don't constrain the usage of the interface to a particular mode of
memory management).
|
| | |
| | |
| | |
| | |
| | |
| | | |
Prevents compiler warnings related to truncation when invoking the
dialog. It's also extremely suspect to use a u8 value here instead of a
more general type to begin with.
|
| | |
| | |
| | |
| | |
| | | |
This doesn't depend on any part of the private interface, so it can be
made a non-member internal function.
|
| | |
| | |
| | |
| | | |
std::bind is the pre-C++11 way of doing this.
|
| | |
| | |
| | |
| | |
| | | |
Orders the elements the way they would actually be initialized in.
Resolves compiler warnings with gcc and clang
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The common pattern is to put the data members after the function
interface where applicable.
|
|/ / |
|
|\ \
| | |
| | | |
Update OpenGL's backend version from 3.3 to 4.3
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Report resolution scaling support for vi and am
|
| | |
| | |
| | |
| | | |
Specifying an internal resolution in yuzu now will report the scaled changes to vi and am.
|
|\ \ \
| | | |
| | | | |
patch_manager: Add support for applying LayeredFS patches to ExeFS
|
| | | |
| | | |
| | | | |
The decision was made to name them LayeredExeFS instead of just LayeredFS to differentiate from normal RomFS-based mods. The name may be long/unweildy, but conveys the meaning well.
|
| | | |
| | | |
| | | |
| | | | |
When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Uses Qt's built-in interface instead of rolling our own separate one on
top of it. This also fixes a bug in reject() where we were calling
accept() instead of reject().
|
| | | |
| | | |
| | | |
| | | |
| | | | |
std::function instances can potentially allocate. std::moveing them
prevents an avoidable allocation in that case.
|
| |_|/
|/| |
| | |
| | | |
These aren't required to be public.
|
|\ \ \
| | | |
| | | | |
am: Implement HLE software keyboard applet
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
a
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Allows the game to verify and send a message to the frontend.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Allows using Qt provider over default.
|
| |/ /
| | |
| | | |
Implements all of the features of the keyboard, including length, default text, character validation, and UTF-16 character support.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Handles button configuration for all controller layouts and debug pads. Configurable at construction.
|
| | |
| | |
| | |
| | | |
This allows adjusting the finger, diameter, and angle of the emulated touchscreen. It also provides a warning to the user about what changing these parameters can do.
|
| | |
| | |
| | |
| | | |
Supports setting the five mouse buttons to any valid controller button/keyboard key (Left, Right, Middle, Foward, Back)
|
| | |
| | |
| | |
| | | |
This moves the actual button configuration to a separate dialog and only has the enabled and type controls in the tab.
|
| | |
| | |
| | |
| | | |
Defaults to full keyboard for keyboard -- It did not seem to be necessary to make the keyboard configurable (besides enabled/disabled).
|
|\ \ \
| |/ /
|/| | |
game_list: Only reload game list after relevant settings changed
|
| | |
| | |
| | | |
Prevents unnecessary reloads on every configuration operation.
|
|\ \ \
| | | |
| | | | |
Port citra-emu/citra#4387: "yuzu: Add hotkey for Amiibo loading"
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
game_list: Optimize game list refresh
|
| | | | |
| | | | |
| | | | |
| | | | | |
As the add-ons column takes the most processing time out of any (as it needs to search registration for updates/dlc, patch control NCAs, search for mods, etc.), an option was added to disable it. This does not affect the application of add-ons. In large game collections, this decreases game list refresh time by as much as 70%.
|
| |_|_|/
|/| | |
| | | |
| | | | |
The service manager seems to be a nullptr before a game boots
|
|\ \ \ \
| | | | |
| | | | | |
patch_manager: Add support for dumping uncompressed NSOs
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also adds UI option in Debug > Dump section, with the idea later things to be dumped (i.e. other game data or textures, etc) will use the same group box.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There's no need for translators to concern themselves with the
validation mask used by the entry field.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
svc: Use proper random entropy generation algorithm
|
| | | | | | |
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
csrng: Add config option to set RNG seed
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
yuzu/main: Fix compiler warning
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
configure_system: Fix compiler warning
|
| | |/ / /
| |/| | | |
|
| | | | | |
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | | |
Started implementation of the AM message queue mainly used in state getters. Added the ability to switch docked mode whilst in game without stopping emulation. Also removed some things which shouldn't be labelled as stubs as they're implemented correctly
|
|\ \ \ \
| | | | |
| | | | | |
logging: Add DebuggerBackend for logging to Visual Studio
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
qt: Add help option to open yuzu folder
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
Opens a new file manager window at the UserDir.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Implement ASTC Textures 5x5 and fix a bunch of ASTC texture problems
|
| | | | | | |
|
| | | | | | |
|
| |/ / / /
|/| | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
configure_system: Contrain profile usernames to 32 characters
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, we would let a user enter an unbounded name and then
silently truncate away characters that went over the 32-character limit.
This is kind of bad from the UX point of view, because we're essentially
not doing what the user intended in certain scenarios.
Instead, we clamp it to 32 characters and make that visually apparent in
the dialog box to provide a name for a user.
|
|\ \ \ \
| |_|_|/
|/| | | |
Port citra-emu/citra#4369: "compatdb: Use a seperate endpoint for testcase submission"
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
general: Remove unused boost inclusions where applicable
|
| | | | |
| | | | |
| | | | |
| | | | | |
Cleans up unused includes and trims off some dependencies on externals.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
configure_system: Fix compiler warning
|
| | |/ /
| |/| | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
|
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids the need to put the scaling parameters all over the place for the
common case. The only other time scaling is done is to generate the
smaller 48x48 image, so this is fine.
|
| | |
| | |
| | |
| | |
| | | |
Avoids the need to duplicate this all over the place, and makes it
translator-friendly across the board.
|
|/ /
| |
| |
| |
| | |
We should display an error to the user if setting a user image for an
account fails, rather than continuing onwards.
|
|\ \
| | |
| | | |
yuzu/main: Notify user of loading errors with Amiibo data
|
| | |
| | |
| | |
| | |
| | | |
We shouldn't silently continue if loading failed, since the general
assumption is that no messages showing up implicitly indicates success.
|
| | |
| | |
| | |
| | | |
This should be localizable, since it's user-facing text.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can just make the function accept an arbitrary ProfileManager
reference and operate on that instead of tying the function to the class
itself. This allows us to keep the function internal to the cpp file and
removes the need to forward declare the UUID struct.
|
| | |
| | |
| | |
| | |
| | |
| | | |
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
|
| | |
| | |
| | |
| | | |
This is a static function so we can just perform an assignment directly.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
|
|\ \ \
| | | |
| | | | |
game_list_worker: Use QString's formatting instead of fmt in FormatPatchNameVersions()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Using fmt here requires unnecessary string conversions back into
QString. Instead, we can just use QString's formatting and get the end
result of the formatting operation in the proper type.
|
|\ \ \ \
| | | | |
| | | | | |
profile_manager: Use std::optional instead of boost::optional
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Now that we can actually use std::optional on macOS, we don't need to
continue using boost::optional here.
|
|\ \ \ \
| | | | |
| | | | | |
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
|
| | | | |
| | | | |
| | | | |
| | | | | |
Same behavior, less code.
|
| | |/ /
| |/| |
| | | |
| | | | |
Makes the class layout consistent with the others.
|
|\ \ \ \
| | | | |
| | | | | |
graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
tr() will not function properly on static/global data like this, as the
object is only ever constructed once, so the strings won't translate if
the language is changed without restarting the program, which is
undesirable. Instead we can just turn the map into a plain old function
that maps the values to their equivalent strings. This is also lessens
the memory allocated, since it's only allocating memory for the strings
themselves, and not an encompassing map as well.
|
|\ \ \ \
| | | | |
| | | | | |
game_list: Use QFileInfo instead of common's file functions
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We can just use the facilities that Qt provides instead of pulling in
stuff from common. While we're at it, we can also simplify the nearby
logging statement's argument by just calling .toStdString()
|
|\ \ \ \ \
| | | | | |
| | | | | | |
game_list: Make game list column headers translatable
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
These are user-facing strings, so they should be marked as translatable
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
bootmanager: Use QStringLiteral instead of std::string to represent the window title.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This gets rid of an unnecessary type conversion. We can just use the
regular QStringLiteral to already format the string as the type
setWindowTitle accepts instead of converting from a std::string
instance.
|
| | | |
| | | |
| | | |
| | | | |
Prevents bug where old username would remain if the new username was shorter in length.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fixed conflict with nfp
* Few fixups for nfc
* Conflict 2
* Fixed AttachAvailabilityChangeEvent
* Conflict 3
* Fixed byte padding
* Refactored amiibo to not reside in "System"
* Removed remaining references of nfc from system
* used enum for Nfc GetStateOld
* Added missing newline
* Moved file operations to front end
* Conflict 4
* Amiibos now use structs and added mutexes
* Removed amiibo_path
|
|\ \ \
| | | |
| | | | |
patch_manager: Add support for LayeredFS on DLC RomFS
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
kernel/process: Make the handle table per-process
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In the kernel, there isn't a singular handle table that everything gets
tossed into or used, rather, each process gets its own handle table that
it uses. This currently isn't an issue for us, since we only execute one
process at the moment, but we may as well get this out of the way so
it's not a headache later on.
|
|\ \ \ \
| | | | |
| | | | | |
CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Keeps the definition constrained to the yuzu target and prevents
polluting anything else in the same directory (should that ever happen).
It also keeps it consistent with how the USE_DISCORD_PRESENCE definition
is introduced below it.
|
|/ / / |
|
|/ /
| |
| |
| | |
- This will be used as a catch-all for slow-but-accurate GPU emulation paths.
|
|\ \
| | |
| | | |
core: Convert shared_ptr instances into unique_ptr instances where applicable for System and Cpu
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The data retrieved in these cases are ultimately chiefly owned by either
the RegisteredCache instance itself, or the filesystem factories. Both
these should live throughout the use of their contained data. If they
don't, it should be considered an interface/design issue, and using
shared_ptr instances here would mask that, as the data would always be
prolonged after the main owner's lifetime ended.
This makes the lifetime of the data explicit and makes it harder to
accidentally create cyclic references. It also makes the interface
slightly more flexible than the previous API, as a shared_ptr can be
created from a unique_ptr, but not the other way around, so this allows
for that use-case if it ever becomes necessary in some form.
|
|\ \ \
| | | |
| | | | |
yuzu/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Depending on whether or not USE_DISCORD_PRESENCE is defined, the "state"
parameter can be used or unused. If USE_DISCORD_PRESENCE is not defined,
the parameter will be considered unused, which can lead to compiler
warnings. So, we can explicitly mark it with [[maybe_unused]] to inform
the compiler that this is intentional.
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
yuzu/main: Simplify OnMenuLoadFile()
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can utilize QStringList's join() function to perform all of the
appending in a single function call.
While we're at it, make the extension list a single translatable string
and add a disambiguation comment to explain to translators what %1
actually is.
|
|\ \ \
| | | |
| | | | |
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem by reference
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Neither of these functions alter the ownership of the provided pointer,
so we can simply make the parameters a reference rather than a direct
shared pointer alias. This way we also disallow passing incorrect memory values like
nullptr.
|
|/ / |
|
|\ \
| | |
| | | |
crypto: Add support for full key derivation
|
| | |
| | |
| | |
| | | |
x
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
patch_manager: Return a std::unique_ptr from ParseControlNCA() and 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.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ / |
|
|\ \
| | |
| | | |
loader: Add support for packed updates
|
| | | |
|
| | |
| | |
| | |
| | | |
Reads as Update (NSP) in add-ons
|
| | | |
|
|\ \ \
| | | |
| | | | |
gl_rasterizer: Implement accelerated Fermi2D copies.
|
| | |/
| |/| |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
* 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)
|
| |
| |
| |
| | |
These were pointing to a non-existent webpage.
|
|\ \
| | |
| | | |
Port web_service from Citra
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
ui_settings: Place definition of the theme array within the cpp file
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |_|/
|/| | |
kernel/thread: Make all instance variables private
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
file_sys: Add support for loading IPS patches
|
| |/ |
|
|\ \
| | |
| | | |
configure_graphics: Make functions internally linked where applicable
|
| |/
| |
| |
| |
| | |
These aren't used outside of this translation unit, so they can be
internally linked.
|
|\ \
| | |
| | | |
configure_audio: Minor cleanup-related changes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
This ensures that the proper codec will always be used no matter what.
It also avoids relying on ASCII conversions.
|
| |/
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
| |
These strings are user-facing, so they should be specified as
translatable with tr().
|
|\
| |
| | |
qt: Install System TitleTypes to System NAND
|
| |
| |
| | |
Fixes an issue where installed system archive NCAs would be installed to user NAND and not recognized by games.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Port citra-emu/citra#3979 game_list: move SearchField to game_list_p.h and fix untranslated text
|
| | |
| | |
| | |
| | | |
I have tested and made sure the text is translatable, but this would require a translation update to take effect.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
|/|
| |
| |
| | |
Given we just recently had a patch backport this from citra, let's try
and keep the convention uniform.
|
|\ \
| | |
| | | |
file_sys: Add support for LayeredFS mods
|
| | | |
|
| |/ |
|
|/ |
|
|\
| |
| | |
arm_interface: Replace kernel vm_manager include with a forward declaration
|
| |
| |
| |
| |
| |
| | |
Avoids an unnecessary inclusion and also uncovers three places where
indirect inclusions were relied upon, which allows us to also resolve
those.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|\
| |
| | |
Port #4182 from Citra: "Prefix all size_t with std::"
|
| | |
|
|\ \
| | |
| | | |
game_list_p: Take map iterator contents by const reference
|
| | |
| | |
| | |
| | | |
Adds a missing 'i' character that was missing in compatibility.
|
| | |
| | |
| | |
| | |
| | | |
We don't need to copy the whole struct in this instance, we can just
utilize a reference instead.
|
|\ \ \
| |_|/
|/| | |
yuzu/util: Antialias game list compatibility pixmaps
|
| |/
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* gl_rasterizer: use ARB_multi_bind for uniform buffers
* address feedback
|
|\
| |
| | |
yuzu/configure_gamelist: Mark combo-box strings as translatable
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Keeps the individual initialization of the combo boxes logically separate.
We also shouldn't be dumping this sort of thing in the constructor
directly.
|
|\ \
| | |
| | | |
audio_core: Add audio stretching support
|
| | | |
|
|\ \ \
| |_|/
|/| | |
game_list: Resolve variable shadowing within LoadCompatibilityList()
|
| | |
| | |
| | |
| | |
| | |
| | | |
"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.
|
| | |
| | |
| | |
| | | |
This way, we aren't constructing unnecessary QJsonValue instances.
|
|\ \ \
| | | |
| | | | |
Port Citra #4047 & #4052: add change background color support
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The compatibility list isn't modified within any of the slots connected
to this signal, so we can make it const to enforce immutability.
|
|/ /
| |
| |
| |
| |
| |
| | |
Lets us keep the generic portions of the compatibility list code
together, and allows us to introduce a type alias that makes it so we
don't need to type out a very long type declaration anymore, making the
immediate readability of some code better.
|
|/
|
| |
Previously the version number got hidden after starting a game.
|
|\
| |
| | |
gl_rasterizer: Use baseInstance instead of moving the buffer points.
|
| |
| |
| |
| |
| |
| |
| | |
This hopefully helps our cache not to redundant upload the vertex buffer.
# Conflicts:
# src/video_core/renderer_opengl/gl_rasterizer.cpp
|
|/
|
|
|
|
|
|
|
|
|
| |
This has gotten sufficiently large enough to warrant moving it to its
own source files. Especially given it dumps the file_sys headers around
code that doesn't use it for the most part.
This'll also make it easier to introduce a type alias for the
compatibility list, so a large unordered_map type declaration doesn't
need to be specified all the time (we don't want to propagate the
game_list_p.h include via the main game_list.h header).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Mainly, from control.nacp metadata instead of cnmt metadata
|
| |
|
| |
|
| |
|
|
|
|
| |
Reduces code
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
file_sys: Allow for custom NAND/SD directories
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Cuts down on include dependencies, resulting in less files that need to
be rebuilt when certain things are changed.
|
|/
|
|
|
|
| |
Eliminates the need to rebuild some source files if the file_util header
ever changes. This also uncovered some indirect inclusions, which have
also been fixed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which
replaces most of the includes in the core header with forward declarations.
This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.
This should make turnaround for changes much faster for developers.
|
|\
| |
| | |
yuzu: Show game compatibility in the game list (PR ported from Citra)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As means to pave the way for getting rid of global state within core,
This eliminates kernel global state by removing all globals. Instead
this introduces a KernelCore class which acts as a kernel instance. This
instance lives in the System class, which keeps its lifetime contained
to the lifetime of the System class.
This also forces the kernel types to actually interact with the main
kernel instance itself instead of having transient kernel state placed
all over several translation units, keeping everything together. It also
has a nice consequence of making dependencies much more explicit.
This also makes our initialization a tad bit more correct. Previously we
were creating a kernel process before the actual kernel was initialized,
which doesn't really make much sense.
The KernelCore class itself follows the PImpl idiom, which allows
keeping all the implementation details sealed away from everything else,
which forces the use of the exposed API and allows us to avoid any
unnecessary inclusions within the main kernel header.
|
|\ \
| |/
|/| |
gpu: Make memory_manager private
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Makes the class interface consistent and provides accessors for
obtaining a reference to the memory manager instance.
Given we also return references, this makes our more flimsy uses of
const apparent, given const doesn't propagate through pointers in the
way one would typically expect. This makes our mutable state more
apparent in some places.
|
|/ |
|
| |
|
|\
| |
| | |
debug_utils: Minor individual interface changes
|
| |
| |
| |
| |
| | |
Quite a bit of these aren't necessary directly within the debug_utils
header and can be removed or included where actually necessary.
|
|\ \
| | |
| | | |
file_sys: Add support for NAX archives
|
| | | |
|
| | |
| | |
| | |
| | | |
Helps with installed games by making the title not a hexadecimal id string, instead the name.
|
| | |
| | |
| | |
| | | |
Allows frontend to create registration caches for use before a game has booted.
|
|\ \ \
| |_|/
|/| | |
qt: Add filename and title id to window title while running
|
| |/ |
|
|/
|
|
|
|
| |
* Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup"
* Fix compilation
|
|
|
|
|
| |
* Swap "Plus" with "Minus" on the controller GUI
Major fix /s
|
| |
|
|\
| |
| | |
qt/main: Port part of citra(#3411), open savedata works
|
| | |
|
|\ \
| | |
| | | |
Port #3353 from Citra: "citra-qt: Add customizable speed limit target "
|
| | | |
|
|\ \ \
| | | |
| | | | |
Port #3902 from Citra: "Add restart hotkey & menu option"
|
| | |/
| |/| |
|
|/ / |
|
|/
|
|
|
|
|
|
| |
Avoids the need to rebuild multiple source files if the filesystem code
headers change.
This also gets rid of a few instances of indirect inclusions being
relied upon
|
|
|
|
|
| |
Avoids potentially leaving this variable uninitialized based off the
loader failing to retrieve the ID value.
|
| |
|
|
|
|
|
| |
We can change this into an early-return if the filename is empty.
There's no need to include all of the code within the if statement.
|
|
|
|
| |
This is user-facing text, so it should be marked as translatable by Qt.
|
|
|
|
|
| |
Gets rid of truncation warnings about conversion to int. While we're at
it, we can also de-hardcode the buffer size being used.
|
|\
| |
| | |
file_sys: Add support for registration format
|
| | |
|
| |
| |
| |
| | |
Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Prompts for title type on NCA files.
|
| | |
|
|/
|
|
|
|
|
|
|
| |
We can make the enum class type compatible with fmt by providing an
overload of operator<<.
While we're at it, perform proper bounds checking. If something exceeds
the array, it should be a hard fail, because it's, without a doubt, a
programmer error in this case.
|
|
|
|
| |
Gets the class out of the global namespace.
|
|\
| |
| | |
loader: Add more descriptive errors
|
| |
| |
| |
| | |
clang-format fix
|
| |
| |
| | |
Full list of new errors and descriptions in core/loader/loader.h
|
| |
| |
| |
| | |
Silences a warning about truncating from size_t to u32
|
| |
| |
| |
| |
| | |
We don't need to use a heap-allocated std::vector here, given we
explicitly know the bounds.
|
| |
| |
| |
| | |
This is called automatically anyways.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Add Icons and Metadata Support
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
| |
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.
This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
|
|\
| |
| | |
game_list: Use QString::fromStdString() where applicable instead of c_str()
|
| |
| |
| |
| |
| | |
We can just use the file interfaces that Qt provides to prevent needing
to convert to std::string.
|
| |
| |
| |
| |
| |
| | |
The codec used by Qt for const char* and std::string don't necessarily
have to be the same depending on locale. Therefore, we should be using
the correct functions to do the conversions.
|
| |
| |
| |
| |
| |
| | |
* GDBStub works with both Unicorn and Dynarmic now
* Tidy up
|
|\ \
| | |
| | | |
game_list: Join declarations and assignments in onTextChanged()
|
| |/
| |
| |
| | |
There's no need to keep these separate from one another.
|
|\ \
| | |
| | | |
qt/main: Collapse if statement in UpdateRecentFiles()
|
| | |
| | |
| | |
| | |
| | | |
This was intermixing signed and unsigned values when they could all just
be signed.
|
| |/
| |
| |
| |
| | |
Given the function accepts a boolean, we don't need to use an if
statement here and repeat ourselves.
|
|\ \
| | |
| | | |
qt: Don't show error dialog when canceling the Load Folder dialog
|
| |/
| |
| |
| |
| |
| |
| | |
Previously, when canceling out of the Load Folder dialog, a user would
get an error dialog about the selected folder not containing a main
file, however, by canceling out of the dialog, no selection was actually
made.
|
|\ \
| | |
| | | |
qt: Minor cleanup-related changes
|
| | |
| | |
| | |
| | |
| | | |
These occur automatically without the need to call them. While we're at
it, also std::move the QString instance into its member variable.
|
| | | |
|
| |/
| |
| |
| |
| | |
Makes code consistent with our style of defaulting special member
functions where applicable.
|
|\ \
| | |
| | | |
kernel/event: Make data members private
|
| |/
| |
| |
| |
| | |
Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In OnMenuRecentFile() we don't need to construct a QFileInfo instance
just to check if a file exists, we can just use the static member
function to do that (which Qt's documentation also notes as quicker than
constructing an instance).
In UpdateUITheme(), we just want to try and open the file and check the
success of that operation. Technically speaking, between the existence
check and the open call, the file can be deleted or moved, but still
appear to succeed in code. i.e.
1. Existence check -> Returns true
2. File is moved/deleted
3. Open is called, the return value of which isn't checked
4. Nonsense behavior
This way we combine the existence check and the open into one.
|
|\
| |
| | |
video_core: Eliminate the g_renderer global variable
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
|
|\ \
| |/
|/| |
XCI and Encrypted NCA Support
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
video_core: Make global EmuWindow instance part of the base renderer …
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.
This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
|
|\ \
| | |
| | | |
kernel: Move object class to its own source files
|
| |/
| |
| |
| |
| |
| | |
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
|
|/
|
|
| |
Makes the signal/slot connections type-safe instead of string-based.
|
| |
|
|\
| |
| | |
Port #3837 from Citra: "citra-qt: Add build date in about dialog"
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Port #3911 from Citra: "citra-qt: optimize settings application"
|
| |/ |
|
|/ |
|
|\
| |
| | |
Port #3594 from Citra: "citra_qt: Add Continue/Pause & Toggle Speed Limit hotkeys"
|
| | |
|
|\ \
| | |
| | | |
kernel/timer: Make data members private where applicable
|
| |/
| |
| |
| |
| | |
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
|
|/ |
|
|
|
|
| |
We were missing the enum entry for WaitIPC
|
|
|
|
|
| |
If code execution hits this spot, something has gone very wrong, so mark
the path as unreachable. This silences a warning on MSVC.
|
| |
|
|
|
|
|
| |
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
|
|
|
|
| |
This makes it match its const qualified equivalent.
|
|
|
|
|
| |
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
|
|\
| |
| | |
game_list: Make ContainsAllWords an internally linked non-member function
|
| |
| |
| |
| |
| | |
This function actually depends on no internal class state, so it doesn't
even need to be a part of the class interface.
|
|/
|
|
|
|
|
|
|
|
| |
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
|
|\
| |
| | |
game_list: Make containsAllWords a const member function
|
| |
| |
| |
| |
| | |
This makes it consistent with most of the other private utility
functions.
|
| |
| |
| |
| |
| |
| | |
This doesn't actually modify the internal class state, so it can be a
const member function. While we're at it, amend the function to take
its arguments by const reference.
|
|\ \
| | |
| | | |
game_list: Remove unnecessary QString initialization in KeyReleaseEater
|
| |/
| |
| |
| |
| |
| | |
QString initializes to an empty string by default, so this does nothing
meaningful. While we're at it, use a constructor initializer list for
initializing the gamelist member variable.
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
Port #3505 from Citra: Fix QGLWidget viewport resize on macOS
|
| | |
|
|/
|
|
| |
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add VfsFile and VfsDirectory classes
* Finish abstract Vfs classes
* Implement RealVfsFile (computer fs backend)
* Finish RealVfsFile and RealVfsDirectory
* Finished OffsetVfsFile
* More changes
* Fix import paths
* Major refactor
* Remove double const
* Use experimental/filesystem or filesystem depending on compiler
* Port partition_filesystem
* More changes
* More Overhaul
* FSP_SRV fixes
* Fixes and testing
* Try to get filesystem to compile
* Filesystem on linux
* Remove std::filesystem and document/test
* Compile fixes
* Missing include
* Bug fixes
* Fixes
* Rename v_file and v_dir
* clang-format fix
* Rename NGLOG_* to LOG_*
* Most review changes
* Fix TODO
* Guess 'main' to be Directory by filename
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
svc: Fully implement svcSignalToAddress and svcWaitForAddress
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Start to add NCA support in loader
* More nca stuff
* More changes to nca.cpp
* Now identifies decrypted NCA cont.
* Game list fixes and more structs and stuff
* More updates to Nca class
* Now reads ExeFs (i think)
* ACTUALLY LOADS EXEFS!
* RomFS loads and games execute
* Cleanup and Finalize
* plumbing, cleanup and testing
* fix some things that i didnt think of before
* Preliminary Review Changes
* Review changes for bunnei and subv
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It was crashing and nobody actually uses this.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
|
| |
|
| |
|
| |
|
|\
| |
| | |
Kernel: Reworked the new kernel synchronization primitives.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
* Port 3528: use nvidia graphics automatically on laptops with optimus
* Force dedicated AMD Card for switchable Graphics
* Ran clang-format
|
| |
|
| |
|
|
|
|
|
|
| |
* core, main.h: Abort on 32Bit ROMs
* main.cpp: Fix Grammar
|
|\
| |
| | |
Logging: Add fmtlib-based macros
|
| |
| |
| |
| | |
Just as a proof that it works
|
|\ \
| | |
| | | |
Update Dialog from citra to yuzu
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
configure_general.ui: Add UI Option for Themes
config.cpp: Save Theme Settings
|
|\ \ \
| | | |
| | | | |
main.h: Add pragma once, remove ifndef
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / / |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Make Dynarmic the default CPU core
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
* Removes the use of QKeySequence::Cancel to remove issues while running make
* Corrects characters in a line for travis failure
* Corrects space in a line for travis failure
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
Port citra #3336
|
| | |
|
| | |
|
|/
|
|
|
|
| |
* Rename verticalLayout_25 to verticalLayout_23.
* Rename almost all classes.
|
|\
| |
| | |
CMakeLists: Derive the source directory grouping from targets themselves
|
| |
| |
| |
| |
| | |
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
|
|\ \
| | |
| | | |
hotkeys: Add missing <QTreeWidgetItem> include
|
| |/ |
|
|\ \
| | |
| | | |
game_list: Add missing override specifier for KeyReleaseEater's eventFilter function
|
| |/ |
|
|\ \
| | |
| | | |
game_list: Amend doxygen parameter identifiers
|
| |/ |
|
|/
|
|
| |
Moved over from #3266 in citra.
|
|
|
|
|
|
| |
* Update bootmanager.cpp
* This *should* fix the clang error
|
|\
| |
| | |
Implement Pull #3295 from citra: citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
|
| | |
|
|\ \
| | |
| | | |
Fix non translated string (same as Citra PR 2949)
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Implement Pull #3030 from Citra: Rename derivative class name
|
| |/
| |
| | |
citra-qt: Rename derivative class name
|
|\ \
| | |
| | | |
Implement Pull #3052 from citra: Correct spelling of searchfield in comment
|
| |/ |
|
|\ \
| | |
| | | |
Implement Pull #3240 from Citra: Add button labels for sdl joystick mappings
|
| | | |
|
| | | |
|
| |/ |
|
|/ |
|
| |
|
|\
| |
| | |
Adding meumart's Citra SDL Joystick support. Citra PR #3116
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
Various fixes
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Fixes #6.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|