* optimization: Load application metadata only for applications with IDs
* Load applications when necessary
This prevents loading applications when launching an application
directly from the command line (or a shortcut).
Instead, applications will be loaded after the emulation was stopped by the user.
* Show the title in the configured language when launching an application
* Rename DesiredTitleLanguage to DesiredLanguage
* 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.
* 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>
* 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>
* Block input updates while swkbd is open in foreground mode
* Flush internal driver state before unblocking input updates
* Rename Flush to Clear and remove unnecessary attribute
* Clear the driver state only if the GamepadDriver isn't null
* Block input updates while swkbd is open in foreground mode
* Flush internal driver state before unblocking input updates
* Rename Flush to Clear and remove unnecessary attribute
* Add "Follow OS theme" option
* Update App.axaml.cs
* Add "Follow OS theme" option
* Update App.axaml.cs
* Remove `this`
* Remove annotation for nullable reference
* Change into switch expression to make it concise
* Change comments to XML docs
* Update en_US.json
* Fix icons in About dialog do not response to "auto" theme
The theme icons seemingly use Dark variant event when the OS theme is light. In addition, I added ThemeManager common to make it accessible for both App and AboutWindow
* Newline at the end
* newline moment
* Update ThemeManager.cs
* bait to switch to lf
* change to lf
* temp. revert
* Add back ThemeManager.cs common, pls pass the format check
* I found the mistake: should have put `ThemeManager.OnThemeChanged();` in try block
Finally solve the formatting check
* test formatting
* Update App.axaml.cs
* Ok i seem to forget to add version lol
* Fix info CA1816
* Do not save window dimensions when maximized.
* Implement option to disable window size/position memory.
* Remove logging statements
* Implement menubar items for common window sizes.
* formatting fixes
* Set 720p window as a composite value.
* Remove unused using
* Fix exception paramter.
* Force restore window when a size change is requested
* Fix some resizing bugs.
* [Ava]: Fix Cursor States On Windows
It's been sometime since the last PR #5415 was made and last time i was waiting for Ava 11 to be merged before re-writing the code and along the way forgot about the PR.
Anyway this PR supersedes both #5288 and #5415, and fixes issue: #5136
* Now, the bounds for which the cursor should be detected in renderer should be accurate to any scaling / resolution, taking into account the status and the menu bar. ( This issue was partially resolved by #6450 )
* Reduced the number of times the cursor updates from per frame update to updating only when the cursor state needs to be changed.
* Fixed the issue wherein you weren't able to resize the window, because of the cursor passthrough which caused the cursor to reset from the reset icon or flicker.
* Fixed the issue caused by #6450 which caused the cursor to disappear over the submenus while cursor was set to always hide.
* Changed the cursor state to not disappear while the game is being loaded. ( Needs Feedback ).
* Removed an unused library import.
* PR feedback
* Fix excessive line breaks and whitespaces and other feedback
* Add a check before calculating cursor idle time, such that it calculates only while the cursor mode is OnIdle.
* PR Feedback
* Rework the cursor state check code block
Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com>
* PR Feedback
* A simpler version of the previous implementation.
Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com>
* PR Feedback
* PR Feedback
---------
Co-authored-by: gdkchan <5624669+gdkchan@users.noreply.github.com>
* New translations en_us.json (French)
* New translations en_us.json (Spanish)
* New translations en_us.json (Arabic)
* New translations en_us.json (German)
* New translations en_us.json (Greek)
* New translations en_us.json (Hebrew)
* New translations en_us.json (Italian)
* New translations en_us.json (Japanese)
* New translations en_us.json (Korean)
* New translations en_us.json (Polish)
* New translations en_us.json (Russian)
* New translations en_us.json (Turkish)
* New translations en_us.json (Ukrainian)
* New translations en_us.json (Chinese Simplified)
* New translations en_us.json (Chinese Traditional)
* New translations en_us.json (Portuguese, Brazilian)
* New translations en_us.json (Thai)
* Add missing Thai language name
* Add new languages
* Enable RTL for Arabic
---------
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* nuget: bump SixLabors.ImageSharp from 1.0.4 to 2.1.3 (#3976)
* nuget: bump SixLabors.ImageSharp from 1.0.4 to 2.1.3
Bumps [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp) from 1.0.4 to 2.1.3.
- [Release notes](https://github.com/SixLabors/ImageSharp/releases)
- [Commits](https://github.com/SixLabors/ImageSharp/compare/v1.0.4...v2.1.3)
---
updated-dependencies:
- dependency-name: SixLabors.ImageSharp
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update for 2.x changes
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mary <mary@mary.zone>
* Update SixLabors.ImageSharp to 2.1.7
This is the latest version we can update to without the license change.
* Update SixLabors.ImageSharp.Drawing to v1.0.0
This is the latest version we can update to without the license change.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mary <mary@mary.zone>
* misc: Move Ryujinx project to Ryujinx.Gtk3
This breaks release CI for now but that's fine.
Signed-off-by: Mary Guillemard <mary@mary.zone>
* misc: Move Ryujinx.Ava project to Ryujinx
This breaks CI for now, but it's fine.
Signed-off-by: Mary Guillemard <mary@mary.zone>
* infra: Make Avalonia the default UI
Should fix CI after the previous changes.
GTK3 isn't build by the release job anymore, only by PR CI.
This also ensure that the test-ava update package is still generated to
allow update from the old testing channel.
Signed-off-by: Mary Guillemard <mary@mary.zone>
* Fix missing copy in create_app_bundle.sh
Signed-off-by: Mary Guillemard <mary@mary.zone>
* Fix syntax error
Signed-off-by: Mary Guillemard <mary@mary.zone>
---------
Signed-off-by: Mary Guillemard <mary@mary.zone>
* Add missing RID exclusions for linux-arm64
Signed-off-by: Mary Guillemard <mary@mary.zone>
* Remove libsoundio.so from linux-arm64 deployment
This is a x86_64 library.
Signed-off-by: Mary Guillemard <mary@mary.zone>
---------
Signed-off-by: Mary Guillemard <mary@mary.zone>
* ci: Enable Linux ARM64 on build and release
Signed-off-by: Mary <mary@mary.zone>
* Address gdkchan comment
Signed-off-by: Mary <mary@mary.zone>
---------
Signed-off-by: Mary <mary@mary.zone>
This makes IOpenGLContext.HasContext not static and be implementable.
By doing this, we can support more than WGL and WGL.
This also allows the SDL2 headless version to run under Wayland.
Signed-off-by: Mary <mary@mary.zone>