GreemDev
11ea020092
UI: Change the github button in the About window to a gitlab one
2025-03-14 23:42:57 -05:00
Evan Husted
05b4bd8c61
UI: Use a new repo for amiibo stuff specifically
2025-03-12 14:17:14 -05:00
Evan Husted
0db85d0aa9
HLE: optional hack: disable IsAnyInternetRequestAccepted
2025-03-05 23:57:48 -06:00
Evan Husted
551d2c1134
misc: chore: add/remove event handler as window is opened/closed
2025-03-05 23:01:37 -06:00
Evan Husted
638c616ab7
misc: Move systems-like classes out of the base of the Ryujinx project and into Ryujinx.Ava.Systems
2025-03-05 22:27:37 -06:00
Evan Husted
109f0fc659
misc: chore: Cleanup unused using directives
2025-03-05 22:21:05 -06:00
Evan Husted
dfcb8a7fc0
misc: chore: Use RyujinxControl<T> in more places
2025-03-05 22:18:13 -06:00
Evan Husted
f3a9cecf72
UI: Rename Show Title Bar + Revamp for global settings window
2025-03-05 18:39:42 -06:00
Evan Husted
2b06826922
UI: Rework the compatibility list into a Window
2025-03-05 02:08:36 -06:00
Evan Husted
2317c06364
misc: small Avalonia project restructure
...
Moved AppLibrary, Configuration, and PlayReport namespaces to Ryujinx.Systems, add the compat list stuff in the base Ryujinx.Systems namespace.
Moved the compatibility UI stuff to the proper UI view/viewmodel folders.
2025-03-04 18:01:48 -06:00
Evan Husted
da3f4e1d3a
misc: Created generic type RyujinxControl to allow for more unified control view model definitions
2025-03-02 21:24:39 -06:00
Evan Husted
c3af1dbf1a
Stick Visualizer ( #579 )
...

---------
Co-authored-by: MutantAura <domw0401@gmail.com>
2025-03-02 20:43:31 -06:00
Evan Husted
e294a79975
UI: dev: [ci skip] Add Avalonia DevTools support to all Windows defined by Ryujinx, accessible via Ctrl + F12 when running in Debug.
2025-02-25 23:12:57 -06:00
Vladimir Sokolov
2e4de17472
Custom configuration for each game ( #632 )
...


Now you can make a separate configuration (independent file) for each
game. All emulator settings are available except for some UI functionality ones.
The configuration file can be changed and deleted from a separate menu. The
user configuration menu is available through the context menu on a given application.
---------
Co-authored-by: Evan Husted <greem@greemdev.net>
2025-02-25 21:11:20 -06:00
Evan Husted
fe1617ffea
Revert the Metal Experiment ( #701 )
...
Metal sounded like a good idea to get in the emulator but frankly I
underestimated just how experimental and not ready it was.
From my write up in the Discord:
```
As is, Metal supports only a few games.
The games it does support freeze on first use of not playing them via Vulkan, because shader translation is broken.
So you need to use a dirty hack to not delete all your shaders.
Not to mention it breaks many games via MoltenVK because of changes to the shared GPU code.
Merging Metal seemed like a great idea, because of the few games it does support.
But I don't think it's worth it. Many of the games it breaks via MoltenVK *don't work via Metal*.
Which effectively makes current Ryubing worse for Mac users than Ryujinx 1.1.1403.
I think what I'm gonna do is revert Metal, and reopen it as a PR. That way, you can still take advantage of the Metal backend as is, but without making other games worse with no solution.
```
For what it's worth, the shader translation part could at least be
"fixed" by always applying a 30ms delay for shader translation to Metal.
That being said, that solution sucks ass.
The MoltenVK regressions are even worse.
I hope this is not a let down to the Mac users. I hope you realize I'm
reverting this because you're actively getting a worse experience with
it in the emulator.
2025-02-22 21:26:46 -06:00
Evan Husted
c2ed0fd5fd
UI: --install-firmware startup flag.
...
Has the normal UI flow, this is just for systems where the file picker doesn't show up.
2025-02-19 23:07:50 -06:00
Evan Husted
0d7d0e8092
UI: Add descriptions of what each dynamic RPC formatter actually shows when hovering whether it has support in the game info popup
2025-02-15 20:45:27 -06:00
Evan Husted
aa2178dbe5
UI: Button to open screenshots folder in File menu
2025-02-15 20:25:17 -06:00
Evan Husted
7d59ada798
misc: chore: rename IgnoreApplet to IgnoreControllerApplet
2025-02-15 00:25:28 -06:00
Evan Husted
a4b5304935
UI: Refresh game list when emulated Switch language is changed (to show different logos/names)
2025-02-15 00:20:01 -06:00
Evan Husted
17e8ae1d9a
UI: More advanced customization for what happens when Ryujinx loses focus
2025-02-13 01:57:08 -06:00
Evan Husted
501b199e24
UI: setting: Disable Input when Out of Focus
2025-02-11 22:12:05 -06:00
Evan Husted
d3f84a1305
misc: chore: Rename UserSelectorDialog to ProfileSelectorDialog
2025-02-11 20:50:06 -06:00
Evan Husted
e8e1dc6619
misc: chore: this isn't even bound to a XAML element, why was this an async void
2025-02-11 20:30:46 -06:00
Evan Husted
43f7b000ca
misc: chore: Optimize AboutWindowViewModel resource disposal
2025-02-11 20:08:38 -06:00
Evan Husted
30fef8e96e
misc: chore: Use UpdateCommand instance for the normal Check for Updates button
2025-02-11 00:47:39 -06:00
Evan Husted
1024aa8757
UI: Change the background updater notification to a persistent button on the status bar when not in a game
2025-02-10 22:13:58 -06:00
Evan Husted
fe9fe2a10f
UI: Added option to check for updates in the background
2025-02-10 19:28:46 -06:00
Evan Husted
f3cf03495d
misc: add the ability to ignore UI logs when using trace & debug log levels
2025-02-10 14:25:47 -06:00
Evan Husted
7bce8206d5
misc: chore: small cleanups
2025-02-10 13:59:25 -06:00
Evan Husted
a4211fec33
UI: Properly space the play time & last play date in the game info popup
2025-02-06 22:56:25 -06:00
Evan Husted
45cec4e7cf
UI: In-app Configuration resetting
2025-02-05 01:42:27 -06:00
Evan Husted
3ecc7819cc
UI: Fix the app list sort types using the newly changed localization keys
2025-02-04 23:47:24 -06:00
Evan Husted
717851985e
UI: Reorganize Game Info dialog popup + localization
2025-02-04 23:28:37 -06:00
Evan Husted
bd08a111a8
UI: Show what each value is in the Game Info dialog, add game icon
2025-02-04 22:47:12 -06:00
Evan Husted
222ceb818b
misc: chore: Use ApplicationLibrary helpers for getting DLCs & Updates for a game
2025-02-04 18:21:49 -06:00
Evan Husted
b0fcc5bee1
misc: chore: Simplify HasCompatibilityEntry
...
(Totally didn't realize that SelectedApplication is already an ApplicationData)
2025-02-04 18:21:24 -06:00
Evan Husted
e8a7d5b0b7
UI: Only show DLC RomFS button under Extract Data when DLCs are available.
...
Also convert the constructor of DlcSelectViewModel to expect a normal title id and not one already converted to the base ID.
2025-02-04 17:21:54 -06:00
Evan Husted
df9e6e4812
UI: Added the ability to view Compat information on right click, and on clicking the status itself like the title ID button.
2025-02-04 15:51:27 -06:00
Evan Husted
774edb7b29
UI: Match System Time is now an active setting which you can toggle on/off.
2025-02-02 23:46:55 -06:00
Evan Husted
38ef65aae0
misc: chore: Move all GeneratedRegex methods into one static class with static instance accessors.
2025-02-01 14:07:32 -06:00
Evan Husted
ff05e03cc8
misc: chore: Remove unused using directives across entire solution.
2025-01-30 20:27:17 -06:00
Evan Husted
796674d9cf
UI: Allow more freedom changing the Speed value & clamp the visible number to a sane amount of trailing digits
2025-01-30 03:30:50 -06:00
Evan Husted
1a42d1396c
UI: Rainbow cycling speed settings
...
Note: this setting is global, even though it appears in the settings for the individual gamepad. This is simply for consistency; you access all the rainbow stuff in one place.
2025-01-30 03:18:34 -06:00
Evan Husted
71d8cfd232
misc: chore: Pass rainbow color by reference in the event instead of passing around a packed int.
2025-01-29 20:51:55 -06:00
Evan Husted
023bd5f00f
UI: Enable Rainbow cycling in the Settings window
2025-01-29 20:27:01 -06:00
Evan Husted
a624fe64b9
UI: Scanning for mods on DLC content
2025-01-29 13:33:34 -06:00
Evan Husted
f3942968f9
UI: Convert the various options for LED into a popup window similar to motion & rumble config.
2025-01-26 17:18:27 -06:00
Evan Husted
ae90db2040
misc: chore: Use collection expressions in Avalonia project
2025-01-26 15:47:11 -06:00
Evan Husted
3cdaaa0b69
misc: chore: Fix object creation in Avalonia project
2025-01-26 15:16:50 -06:00
Evan Husted
be3bd0bcb5
misc: chore: Use explicit types in the Avalonia project
2025-01-25 14:00:23 -06:00
Otozinclus
1ce37ec317
Add option to change controller LED color ( #572 )
...
This allows the user to change the controller LED while using Ryujinx.
Useful for PS4 and PS5 controllers as an example.
You can also use a spectrum-cycling Rainbow color option, or turn the LED off for DualSense controllers.
---------
Co-authored-by: Evan Husted <greem@greemdev.net>
2025-01-24 14:47:36 -06:00
Evan Husted
f81cb093fc
misc: chore: Change references of GreemDev/Ryujinx to Ryubing/Ryujinx
2025-01-23 16:27:49 -06:00
Evan Husted
c140e9b23c
UI: Localize LED color & hide it until it's functional
...
Also moved IgnoreApplet to the System config section object.
2025-01-23 00:48:42 -06:00
Evan Husted
c03cd50fa3
UI: Add the ability to change a DualSense/DualShock 4's LED color.
...
Not functional yet. This is the UI & persistence side of #572 .
2025-01-22 19:53:39 -06:00
Evan Husted
fe9d8d05bd
UI: Fixed the Amiibo keybind only working when the UI had been updated.
2025-01-21 18:00:51 -06:00
asfasagag
11531dacb6
UI: Option to automatically Hide UI when game launches ( #462 )
...
Quality of life feature
Similar in function to the "Start Games in Fullscreen" toggle
For users who want to run games in windowed/non-fullscreen mode with
menu UI hidden, this eliminates the need to always click "Hide UI"
2025-01-21 17:36:51 -06:00
Judas Drekonym
471e7ed2e4
Add TitleID sort method ( #553 )
...
Adds an additional application list sorting method for the TitleID. A
bit of a niche choice for sorting but I think the TID is a relevant
enough piece of metadata that it should be there. (And I personally
would be using it)
- Using existing TitleId constant in ApplicationSort, implying this was
meant to be in the sorting options at some point?
- Reuses the "DlcManagerTableHeadingTitleIdLabel" locale for fulfilling
the need already, might be better to make a unique one for this in the
long run but this codebase is new to me so I wanted to make the changes
as unobtrusive as possible
- Using app.Id for the comparer seems to work fine, not sure if using
something else like IdString would be better?
2025-01-21 11:06:40 -06:00
Evan Husted
04ba762710
UI: Move DLC RomFS dumping under normal RomFS dumping.
...
Also removed it from DLC manager.
2025-01-20 14:30:28 -06:00
Evan Husted
bbd64fd5f0
misc: chore: Cleanup AppletMetadata usage
2025-01-19 19:40:49 -06:00
Evan Husted
2ecf999569
misc: chore: change ThemeManager ThemeChanged to a basic Action since both arguments are unused
2025-01-18 22:48:06 -06:00
Jacob
52269964b6
Add the player select applet. ( #537 )
...
This introduces the somewhat completed version of the Player Select
Applet, allowing users to select either a user or a guest from the UI.
Note: Selecting the guest more then once currently does not work.
closes https://github.com/Ryubing/Ryujinx/issues/532
2025-01-18 20:40:33 -06:00
Evan Husted
41c8fd8194
misc: chore: lol this field was misspelled
2025-01-10 23:23:53 -06:00
Evan Husted
d4a7ee25ea
misc: chore: use ObservableProperty on input view models
2025-01-10 23:23:05 -06:00
Evan Husted
cca429d46a
misc: chore: restore not enable
2025-01-09 21:42:54 -06:00
Evan Husted
27993b789f
misc: chore: fix some compile warnings
2025-01-09 20:23:26 -06:00
Evan Husted
9bb50fc6dd
misc: improve unpacking error & add nullability to SelectedIcon
2025-01-03 22:25:32 -06:00
Evan Husted
e956864697
misc: Remove needless AsObservableList
2025-01-03 22:25:32 -06:00
Evan Husted
88d11d3d8d
misc: some cleanups and fix compile warnings
2025-01-01 02:14:59 -06:00
Evan Husted
732aafd3bb
misc: Prevent value change logging when the value is changed to the same thing it was before the value change.
2024-12-31 22:23:08 -06:00
Evan Husted
3fa714bb72
misc: DateTimeOffset Extract extension from Gommon
2024-12-31 21:21:54 -06:00
Evan Husted
27c5cba10b
misc: More Mvvm usage instead of writing out the observable properties
2024-12-31 21:11:57 -06:00
Evan Husted
3525d5ecd4
UI: clean up slider UI for shader translation delay
2024-12-31 20:11:49 -06:00
Evan Husted
61ae427a4d
misc: Add CommunityToolkit.Mvvm for observable property generation; apply it to MainWindowViewModel for now.
2024-12-31 03:29:08 -06:00
Evan Husted
e43d899e1d
misc: Use a few static helpers for Avalonia objects
2024-12-31 00:19:23 -06:00
Evan Husted
0cd09ea0c5
misc: Simplify ControlHolder checks in MainWindowViewModel
2024-12-31 00:04:23 -06:00
Evan Husted
4135d74e4d
UI: Only allow right click to create a context menu if a game is selected.
2024-12-30 23:50:55 -06:00
Evan Husted
0ab5b41c4b
misc: Move dirty hack related stuff into a separate viewmodel, only show slider when translation delay is enabled.
2024-12-30 01:33:07 -06:00
Evan Husted
8e4a77aba0
UI: Text in the shader translation slider tooltip
2024-12-30 00:09:19 -06:00
Evan Husted
f362bef43d
misc: Overhaul DirtyHacks saving to support storing a value alongside an off/off flag.
2024-12-29 21:17:01 -06:00
Evan Husted
f5ce539de9
misc: Move the rest of Ryujinx.UI.Common into other parts of the project.
2024-12-29 19:28:27 -06:00
Evan Husted
6caab1aa37
misc: move Models & Helpers into Common & Avalonia projects
2024-12-29 19:09:28 -06:00
Evan Husted
9baaa2b8f8
misc: Move image assets to Avalonia project
2024-12-29 18:37:37 -06:00
Evan Husted
32cdccde12
misc: Move UserError to Common project
2024-12-29 18:06:18 -06:00
Evan Husted
2aaaa7872f
UI: Improve XC2 hack hover tooltip information
2024-12-28 22:28:40 -06:00
Evan Husted
8b3a945b5f
misc: Dirty Hacks
...
Enable this settings screen via a boolean in Config.json
First one is the xb2 menu softlock fix
2024-12-28 22:04:21 -06:00
Evan Husted
56e45ae648
misc: Collapse LdnGameDataArray into the main class as an inner class
...
- privated the constructor; only obtainable by the static helper on the main LdnGameData class.
- constructor logic now in the static helper; constructor just directly sets the data it's given.
2024-12-27 15:33:31 -06:00
Evan Husted
07074272ca
Revert "UI: Directly proxy window properties on the view model back to the stored window"
...
This reverts commit 9754d247b5 .
2024-12-27 15:24:57 -06:00
Evan Husted
d3bc3a1081
UI: Simplify LDN data logic
2024-12-27 01:32:23 -06:00
Evan Husted
c69881a0a2
UI: chore: remove direct static MainWindowViewModel reference
2024-12-27 00:47:57 -06:00
Evan Husted
9754d247b5
UI: Directly proxy window properties on the view model back to the stored window
2024-12-26 23:32:53 -06:00
Evan Husted
e6644626fc
UI: Fix negative space savings in XCI trimmer
2024-12-25 00:06:29 -06:00
Evan Husted
0ca4d6e921
misc: Move StatusBarSeparator into Controls namespace, rename to MiniVerticalSeparator
...
add bulk property change event method
give each markup extension its own property name
2024-12-24 21:55:12 -06:00
Evan Husted
a0a4f78cff
UI: Thin down the borders of the app icon a little bit and trim down the file size significantly.
2024-12-24 20:47:14 -06:00
Evan Husted
16a60fdf12
UI: Rename App to RyujinxApp
...
Add more NotificationHelper methods
Simplify ID copy logic
2024-12-24 13:39:48 -06:00
Evan Husted
852823104f
EXPERIMENTAL: Metal backend ( #441 )
...
This is not a continuation of the Metal backend; this is simply bringing
the branch up to date and merging it as-is behind an experiment.
---------
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: SamoZ256 <96914946+SamoZ256@users.noreply.github.com>
Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Co-authored-by: Gabriel A <gab.dark.100@gmail.com>
2024-12-24 00:55:16 -06:00
Marco Carvalho
b5483d8fe0
Prefer generic overload when type is known ( #430 )
2024-12-22 13:23:35 -06:00
Evan Husted
f898a5ecf4
Remove code references to having a flatpak version
2024-12-21 20:06:59 -06:00
Evan Husted
0f18df982f
UI: localize the button & make it smaller
2024-12-21 19:59:16 -06:00
Evan Husted
d9fe0da345
UI: Button to set emulator time based on system time in settings, under the time settings.
...
Partially resolves #355 . I think that wanted automatic. If automatic functionality is still desired even with this change then that will be considered.
2024-12-21 19:43:40 -06:00