Commit graph

159 commits

Author SHA1 Message Date
Evan Husted
381921390a UI: Only show Amiibo bin scan menu item if the key file exists 2024-12-20 15:41:18 -06:00
Jacobwasbeast
0adaa4cb96
Adds the ability to read and write to amiibo bin files (#348)
This introduces the ability to read and write game data and model
information from an Amiibo dump file (BIN format). Note that this
functionality requires the presence of a key_retail.bin file. For the
option to appear and function in the UI, ensure that the key_retail.bin
file is located in the <RyujinxData>/system folder.
2024-12-19 22:36:46 -06:00
Marco Carvalho
ff6628149d
Migrate to .NET 9 (#198) 2024-12-19 18:52:25 -06:00
Evan Husted
8db5a7e98b UI: Fix logo aliasing 2024-12-17 21:20:49 -06:00
Evan Husted
9da97bc911 misc: chore: Collapse XCIFileTrimmerLog implementations into a single class. 2024-12-08 13:05:09 -06:00
Evan Husted
39252b7267 UI: Update About window with the current status of the project. 2024-12-08 13:04:01 -06:00
WilliamWsyHK
d00754477e
Add Firmware keyword in log if it is indeed firmware (#343)
Co-authored-by: LotP1 <rasmus.stilling.pedersen1@gmail.com>
2024-12-07 04:03:01 -06:00
Evan Husted
1d0152b961 UI: Move Shader Compilation hint, graphics backend, and GPU manufacturer to the right side of the status bar, next to firmware version.
Removed the "Game:" prefix in front of FPS.
2024-12-04 03:37:21 -06:00
Nicola
346dfe9542
Added Tool for installing keys (#233)
#232 

![image](https://github.com/user-attachments/assets/5ae6118d-3857-4005-8392-5398c8fa91d5)
2024-11-28 17:32:07 -06:00
Keaton
2e6794e69b
Add custom refresh rate mode to VSync option (#238)
Rebased @jcm93's refreshinterval branch:
https://github.com/jcm93/Ryujinx/tree/refreshinterval

The option is placed under System/Hacks. Disabled, it's the default
Ryujinx behavior. Enabled, the behavior is shown in the attached
screenshots. If a framerate is too high or low, you can adjust the value
where you normally toggle VSync on and off. It will also cycle through
the default on/off toggles.

Also, in order to reduce clutter, I made an adjustment to remove the
target FPS and only show the percentage.

---------

Co-authored-by: jcm <6864788+jcm93@users.noreply.github.com>
2024-11-25 13:39:09 -06:00
GabCoolGuy
1d42c29335
Add more mentions of canary (#258)
This should hopefully make it clearer whether or not you're using
canary.

Changelog:
- Changed github workflows to have "canary" in the zip files
- Added `App.FullAppName` in the about section, so that it's clear in
there too
- Changed log name for canary builds to
`Ryujinx_Canary_{version}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log`
(normal builds should still be
"Ryujinx_{version}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log)
2024-11-21 12:34:53 -06:00
Nicola
8444e4dca0
Fixed mime types button not updating after install/uninstall (#241) 2024-11-19 02:16:15 -06:00
Vudjun
6d8738c048
TESTERS WANTED: RyuLDN implementation (#65)
These changes allow players to matchmake for local wireless using a LDN
server. The network implementation originates from Berry's public TCP
RyuLDN fork. Logo and unrelated changes have been removed.

Additionally displays LDN game status in the game selection window when
RyuLDN is enabled.

Functionality is only enabled while network mode is set to "RyuLDN" in
the settings.
2024-11-11 16:06:50 -06:00
Evan Husted
617b81e209 UI: Conditionally enable install/uninstall file types buttons based on whether they're installed already 2024-11-10 20:33:49 -06:00
Vladimir Sokolov
299be822c4
UI: fix: when switching players, it would show old config (#122)
When switching between players' gamepads while saving settings, then
returning to the previous player, the settings show the default settings
instead of the actual settings applied
2024-11-09 23:24:17 -06:00
TheToid
4831965404
Add ability to trim and untrim XCI files from the application context menu AND in Bulk (#105) 2024-11-06 17:37:30 -06:00
Luke Warner
47b8145809
Fix fullscreen when using 'Show Title Bar' (#150) 2024-11-06 17:36:30 -06:00
Evan Husted
1c07bf3dd0 misc: Abstract repeated logic in markup extensions & move Updater into the base of the Avalonia project. 2024-11-01 15:48:25 -05:00
Evan Husted
139c195eb7 misc: Replace "" with string.Empty. 2024-11-01 11:57:23 -05:00
Luke Warner
5845787325
Add option to show the old title bar (#101) 2024-10-30 02:22:22 -05:00
TheToid
7038a902c3
Automatically remove invalid dlc and updates as part of auto load (#42)
* Automatically remove invalid dlc and updates as part of auto load
Fixed some minor label spacing issues in options dialog
Removal of unused variable in input view model

* Fixed missing french message for AutoloadDlcAddedMessage
2024-10-27 06:32:32 -05:00
Evan Husted
75035b3231 UI: Fix crash when using "delete all" button in mod manager. 2024-10-26 08:46:50 -05:00
Evan Husted
9a1bdaae16 UI: Attach dev tools in debug. 2024-10-26 08:46:50 -05:00
Evan Husted
281be7ca62 misc: Code cleanup 2024-10-25 08:36:41 -05:00
Evan Husted
a01a06cd3f 2 unmerged PRs from original Ryujinx:
Implement shader compile counter (currently not translated, will change, need to pull changes.)
Remove event logic in favor of a single init function.
Thanks @MutantAura
2024-10-24 14:14:17 -05:00
Evan Husted
7618ef134d misc: Code cleanups. 2024-10-24 14:14:17 -05:00
Vladimir Sokolov
e30ee32eee
Added option to ignore applet (gamepad connection window will not appear when it is disconnected) (#40)
This option is under the hacks category for a reason; use if you know what you're doing.
2024-10-23 20:10:54 -05:00
Keaton
f76a97c976
Replace 'Expand DRAM' option with dropdown menu (#32)
Allows to use mods that require a larger memory pool to allocate from.
2024-10-21 23:16:41 -05:00
TheToid
0f3c7f920b
Fix for duplicate controller names under Ava when two controllers of the same type are attached (#29) 2024-10-21 10:25:14 -05:00
Evan Husted
509f6d738c Revert Maximized = Fullscreen changes, fixes #20 2024-10-21 02:43:07 -05:00
Evan Husted
741eba2798 UI: Add keybinds to useful things 2024-10-19 16:39:21 -05:00
Evan Husted
59b3ff7802 Ava: Cleanup XML 2024-10-19 16:36:39 -05:00
Evan Husted
6ca57dd016 UI: No longer download amiibo.ryujinx.org, and remove references to ryujinx.org in localization.
The future of the site is almost certainly for it to go offline, so any HTTP requests needed to be delegated elsewhere or removed entirely to ensure smooth operation of the emulator.
2024-10-19 00:46:13 -05:00
Evan Husted
430073817c UI: Fix diaglog popups doubling the window controls and laying text over the menu bar. 2024-10-17 11:51:40 -05:00
Evan Husted
045f9a39bb UI: Remove title bar, put icon next to File button. Added icons to most dropdown menu actions. Title bar content is now displayed when hovering the logo in the title bar. 2024-10-17 01:24:16 -05:00
Evan Husted
a13cf098b4 misc: More cleanup changes 2024-10-16 19:32:18 -05:00
Evan Husted
0faf3f5709 CPU: Add low-power PPTC load mode.
Specifically, this setting causes the translation load core count to get reduced by two-thirds, for lower-power but still fast loading, and for unstable CPUs.
2024-10-14 21:48:21 -05:00
Evan Husted
5f6d9eef6b misc: Use a method to create window titles. 2024-10-14 15:01:31 -05:00
Evan Husted
169126e511 UI: Remember the last state of UseRandomUuid. 2024-10-11 17:57:20 -05:00
Evan Husted
4c237c4793 misc: Code cleanups & remove references to Patreon & Twitter. 2024-10-11 17:56:59 -05:00
Jimmy Reichley
565acec468
AutoLoad DLC/updates (#12)
* Add hooks to ApplicationLibrary for loading DLC/updates

* Trigger DLC/update load on games refresh

* Initial moving of DLC/updates to UI.Common

* Use new models in ApplicationLibrary

* Make dlc/updates records; use ApplicationLibrary for loading logic

* Fix a bug with DLC window; rework some logic

* Auto-load bundled DLC on startup

* Autoload DLC

* Add setting for autoloading dlc/updates

* Remove dead code; bind to AppLibrary apps directly in mainwindow

* Stub out bulk dlc menu item

* Add localization; stub out bulk load updates

* Set autoload dirs explicitly

* Begin extracting updates to match DLC refactors

* Add title update autoloading

* Reduce size of settings sections

* Better cache lookup for apps

* Dont reload entire library on game version change

* Remove ApplicationAdded event; always enumerate nsp when autoloading
2024-10-07 20:08:41 -05:00
Logan Stromberg
23fa5f4c9c
Fix arbitrary game ordering when sorting by Favorites (#7170)
* Fix arbitrary sorting by "Favorite" in the UI by making it the same as sorting alphabetically while giving favorites priority.

* Use a more engineered solution rather than string hacks.

* Address code style warnings. Add null checking. Make title name comparison case insensitive.

* one more style fix

---------

Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2024-08-13 15:23:11 +02:00
Isaac Marovitz
42f22fe5d7
Infra: Update Microsoft.IdentityModel.JsonWebTokens (#7070)
* Update Microsoft.IdentityModel.JsonWebTokens

* Update
2024-08-04 18:56:27 +01:00
Isaac Marovitz
6ce49a2dc7
Ava UI: Handle updates containing non numeric characters (#7043)
* Handle updates containing non numeric characters

Smh

Dont be stupid

* Use Berry’s method

* Thanks gdk

* Remove using
2024-07-25 16:44:33 -03:00
TSRBerry
add681144b
Fix checking for the wrong metadata files for applications launched with a different program index (#7055)
* Fix checking for the wrong update metadata file

* Apply the same fix for dlc.json

* Use the base application ids for updates and DLCs in the GUI too

This shouldn't actually change anything, since the program index part of the application id
should always be 0 for all applications currently seen by the GUI.

This was just done for completeness.
2024-07-21 14:42:23 -03:00
Isaac Marovitz
2cb80f37d4
Ava UI: Auto select newly added updates & DLC (#7026)
* Fix DLC not being selected

* FIx conflicts

* Apply suggestions from code review

Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>

---------

Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
2024-07-19 19:00:15 +02:00
TSRBerry
6fbf279fac
Add support for multi game XCIs (second try) (#6515)
* Add default values to ApplicationData directly

* Refactor application loading

It should now be possible to load multi game XCIs.
Included updates won't be detected for now.
Opening a game from the command line currently only opens the first one.

* Only include program NCAs where at least one tuple item is not null

* Get application data by title id and add programIndex check back

* Refactor application loading again and remove duplicate code

* Actually use patch ncas for updates

* Fix number of applications found with multi game xcis

* Don't load bundled updates from multi game xcis

* Change ApplicationData.TitleId type to ulong & Add TitleIdString property

* Use cnmt files and ContentCollection to load programs

* Ava: Add updates and DLCs from gamecarts

* Get the cnmt file from its NCA

* Ava: Identify bundled updates in updater window

* Fix the (hopefully) last few bugs

* Add idOffset parameter to GetNcaByType

* Handle missing file for dlc.json

* Ava: Shorten error message for invalid files

* Gtk: Add additional string for bundled updates in TitleUpdateWindow

* Hopefully fix DLC issues

* Apply formatting

* Finally fix DLC issues

* Adjust property names and fileSize field

* Read the correct update file

* Fix wrong casing for application id strings

* Rename TitleId to ApplicationId

* Address review comments

* Apply suggestions from code review

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* Gracefully fail when loading pfs for update and dlc window

* Fix applications with multiple programs

* Fix DLCWindow crash on GTK

* Fix some GUI issues

* Remove IsXci again

* Don't add duplicates to update/dlc windows

* Avoid double lookup

* Preserve DLC enabled state for bundled DLCs

* Fix DLCWindow not opening using GTK

* Fix missing information when loading applications from file

* Address review feedback

Rename ContentCollection to ContentMetaData
Fix casing issues in log messages
Use null as the default value for updatePath

* Fix re-adding bundled DLCs every time

* Fix bundled DLCs disappearing

* Abstract common code to open application pfs

* Remove unused imports

* Fix file exists check when loading DLCs

* Load bundled DLCs only using dlc.json

* Load AoC items correctly

* Add all DLCs from a PFS

* Add argument to launch a specific application id

* Use application-id argument for shortcuts if necessary

* Return the application id from the control NCA if possible

* GetApplicationInformation: Don't overwrite application ids

Move SaveDataOwnerId check to the top, since it seems to be more reliable.

* Get application ids from CNMT again

This commit reverts some parts of 61615b8f0d6f90ae86778958ddc38eaf6dc280ab.
Since the issue wasn't actually related to the application id in CMNTs, we can remove the wrong assumptions.

* Revert erroneous axaml change from adca8900

* Rename title to application

* Wrap nsp/pfs0 case with curly braces

* Check if _applicationData.ControlHolder.ByteSpan is zeros only once

* Catch exceptions while loading applications from nsps

---------

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-07-16 18:17:32 -03:00
sunshineinabox
595e514f18
Use SkiaSharp for Avalonia in place of ImageSharp (#6269)
* Rebased

Transformation all at once

Use SkiaSharp instead of ImageSharp

* Apply suggestions from code review

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* Change back unintentionally changed comment

---------

Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: Emmanuel Hansen <emmausssss@gmail.com>
2024-07-14 08:16:14 +00:00
Marco Carvalho
888402ecaf
Avoid inexact read with 'Stream.Read' (#6847) 2024-06-02 22:16:48 +02:00
Isaac Marovitz
47639e6eeb
Bump Avalonia.Svg (#6603)
* Bump Avalonia.Svg

* Remove using

* Bump Version

* Remove other reload
2024-05-14 17:36:11 +02:00