* 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
* Fix formatting issues
* 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
---------
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Fixed formatting/parsing issues with ApplicationData properties TimePlayed, LastPlayed, and FileSize
Replaced double-based TimePlayed property with TimeSpan?-based one in ApplicationData and ApplicationMetadata
Added a migration for TimePlayed, just like in #4861
Consolidated ApplicationData's FileSize* properties into one FileSize property
Added a formatting/parsing helper class ValueFormatUtils for TimeSpans, DateTimes, and file sizes
Added new value converters for TimeSpans and file sizes for the Avalonia UI
Added TimePlayedSortComparer
Fixed sort order in LastPlayedSortComparer
Fixed sort order for ApplicationData fields TimePlayed, LastPlayed, and FileSize
Fixed crashes caused by SortHelper
Replaced SystemInfo.ToMiBString with ToGiBString backed by ValueFormatUtils
Replaced SaveModel.GetSizeString() with ValueFormatUtils
* Additional ApplicationLibrary changes that got lost in the last commit
* Removed unneeded usings
* Removed converters as they are no longer needed
* Updated comment on FormatDateTime
* Removed base10 parameter from ValueFormatUtils
FormatFileSize now always returns base 2 values with base 10 units
Made ParseFileSize capable of parsing both base 2 and base 10 units
* Removed nullable attribute from TimePlayed property
Centralized TimePlayed update code into ApplicationMetadata
* Changed UpdateTimePlayed() to use TimeSpan logic
* Removed JsonIgnore attributes from ApplicationData
* Implemented requested format changes
* Fixed mistakes in method documentation comments
* Made it so the Last Played value "Never" is localized in the Avalonia UI
* Implemented suggestions
* Remove unused import
* Did a comment refinement pass in ValueFormatUtils.cs
* Reordered ValueFormatUtils methods and sorted them into #regions
* Integrated functionality from #5056
Also removed Logger print from last_played migration code
* Implemented suggestions
* Moved ValueFormatUtils and SystemInfo to namespace Ryujinx.Ui.Common
* common: Respect proper value format convention and use base10 by default
This could be discuss again in another issue/PR, for now revert to the previous behavior.
Signed-off-by: Mary Guillemard <mary@mary.zone>
---------
Signed-off-by: Mary Guillemard <mary@mary.zone>
Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Co-authored-by: Mary Guillemard <mary@mary.zone>
* Update to LibHac v0.19.0
- PartitionFileSystem classes now fully match Nintendo's implementation. Current code creating a PartitionFileSystem now need to use the Initialize method.
- Implementing nn::gcsrv and nn::sdmmcsrv now means the FS server now uses that abstraction instead of the old one where we passed in an IDeviceOperator.
* Add GetFileSystemAttribute
* So much boilerplate
* Slow and steady
* Restructure + Ack suggestions
* Restructure + Ack suggestions
* Restructure
* Clean
* Propogate those fields i forgot about
* It builds
* Progress
* Almost there
* Fix stupid mistake
* Fix more stupid mistakes
* Actually fix fuck ups
* Start localising
* r/therestofthefuckingowl
* Localise ButtonKeyAssigner
* Are you feeling it now mr krabs
* We’re done at last
* Crimes against code
* Try me in the Hague
* Please be quiet
* Crimes are here to stay
* Dispose stuff
* Cleanup a couple things
* Visual fixes and improvements
One weird bug
* Fix rebase errors
* Fixes
* Ack Suggestions
Remaining ack suggestions
Update src/Ryujinx.Ava/UI/Models/Input/ControllerInputConfig.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Update src/Ryujinx.Ava/UI/Models/Input/ControllerInputConfig.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Formatting and error
More Ava 11-ness
Whoops
* Code style fixes
* Style fixes
* Analyzer fix
* Remove all ReflectionBindings
* Remove ambigious object
* Remove redundant property
* Old man yells at formatter
* r e a d o n l y
* Fix profiles
* Use new Sliders
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Added basic implementation for shortcut creation
Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop.
* Icons display properly in shortcut
* code cleanup
* Moved shortcut logic to specific file, added Ava UI for shortcuts
* Added linux .desktop shortcut creation
* fixes to .shortcut data
* code issue fixes
* Added basic implementation for shortcut creation
Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop.
* Icons display properly in shortcut
* code cleanup
* Moved shortcut logic to specific file, added Ava UI for shortcuts
* Added linux .desktop shortcut creation
* fixes to .shortcut data
* code issue fixes
* added back shortcut to new contextmenu file
* Replaced COM reference with ComImport for shortcut functionality
* remove specific platform values and regions
* Move ShortcutHelper to Ryujinx.Ui.Common.Helpers
* Adjust styling and structure
* code feedback changes
* Added MacOS support using .app folder
* Added basic implementation for shortcut creation
Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop.
* Icons display properly in shortcut
* code cleanup
* Moved shortcut logic to specific file, added Ava UI for shortcuts
* Added linux .desktop shortcut creation
* fixes to .shortcut data
* code issue fixes
* Added basic implementation for shortcut creation
Currently bitmaps (.bmp) are used as the source file, colours are good (unlike .ico rn) but are scaled poorly on desktop.
* Icons display properly in shortcut
* code cleanup
* Moved shortcut logic to specific file, added Ava UI for shortcuts
* Added linux .desktop shortcut creation
* fixes to .shortcut data
* code issue fixes
* Replaced COM reference with ComImport for shortcut functionality
* remove specific platform values and regions
* Move ShortcutHelper to Ryujinx.Ui.Common.Helpers
* Adjust styling and structure
* code feedback changes
* adjust tooltip message
* added shortcut-template.desktop file
* set shortcut icon location to .local/share/icons
* Linux code feedback changes
* change InteropServices to new securifybv.ShellLink Package
* added ShellLink to readme, updated shortcut comment
* Code feedback changes
* Added MacOS Support (As per Jose Estrada's PR)
* dotnet format
* Small restructuring
* Embed template files into Ryujinx.Ui.Common
* Disable "CreateShortcut" option for flatpak builds
---------
Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Co-authored-by: Jose Estrada <joseestradacobo@gmail.com>
* Strings should not be concatenated using '+' in a loop
* fix IDE0090
* undo GenerateLoadOrStore
* prefer string interpolation
* Update src/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGen.cs
Co-authored-by: Mary <thog@protonmail.com>
---------
Co-authored-by: Mary <thog@protonmail.com>
* Impl first attempt to LDN
* Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Mac addresses are now randomly assigned on the server. (fixes joining lobbies)
- Fixed the "connected" handler for stations to actually find a
- Added info retrieval when connected to a station.
- Users that disconnect are now removed from rooms they were in. (still need to broadcast tho)
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
* We may just be "initialized". Ignore this for now.
* Lots of WIP
* Add Disconnect packet
* Improve signalling of internal events.
* Fix scan.
* Fix some more stupid things.
* Enable NoDelay on all sockets.
* Add station accept policy, disconnect function.
* Limit max number of games.
* Split out networking stuff from HLE, so it can be swapped.
* Update logging calls.
* Missed a spot.
* Call SignalDisconnect instead of SetState
* Add comment to GetNetworkInfo
* Update configuration + UI
Now has its own tab, more options.
* Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
* some cleanup
* More fix
* Correctly handle errors when connecting.
* Disable *Private call and clean symbols
* Structs cleanup
* Big cleanup
* Fix InvalidHandle (in MK8D and other games)
* Add Reject and Private Network support (v1)
RyuLdn Version bumped to 1.
* Add Initialize Packet
Allows users to keep Mac Addresses assigned by the server.
* Add SetWirelessControllerRestriction and some cleanup
* LDN-2 Initial Rebase
Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Fixed the "connected" handler for stations to actually find a
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
We may just be "initialized". Ignore this for now.
Lots of WIP
Implement scan filter.
Improve signalling of internal events.
Fix scan.
Fix 0 width data, scan reply end delay removed.
Fix some more stupid things.
Enable NoDelay on all sockets.
Add station accept policy, disconnect function.
Limit max number of games.
Split out networking stuff from HLE, so it can be swapped.
Update logging calls.
Missed a spot.
SetAdvertiseData when open, don't return games that have accept policy 1
Update configuration + UI
Now has its own tab, more options.
Don't Keepalive, it causes problems.
Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
some cleanup
More fix
Correctly handle errors when connecting.
Disable *Private call and clean symbols
Structs cleanup
Big cleanup
Fix InvalidHandle (in MK8D and other games)
Add Reject and Private Network support (v1)
Disable TcpNoDelay option on linux.
Add SetWirelessControllerRestriction and some cleanup
Misc cleanup, implement broadcast flag.
* Misc Changes
* Fix GetNetworkInfo
* Fix some small issues
* Implement GetNetworkInfoLatestUpdate
* Hotfix when LocalCommunicationId = 0xFFFFFFFFFFFFFFFF
* Fix ARMS Scan (and other games using wrong LocalCommunicationId
* Fix latest update when host leaves
* Revert "Fix ARMS Scan (and other games using wrong LocalCommunicationId"
This reverts commit 519c283d3993e2fdfafb8ac6b4e0a98231f6fb75.
* Fix the localCommunicationId = -1
* Don't set Connect flag for nodes already in the room before joining.
* Make IUserLocalCommunicationService disposable
* Don't dispose if there's no client.
* LDN-2-2 Rebase
Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Fixed the "connected" handler for stations to actually find a
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
We may just be "initialized". Ignore this for now.
Put sockets behind an interface, so that they can be swapped for something proxyable
Lots of WIP
Implement scan filter.
Improve signalling of internal events.
Fix scan.
Fix 0 width data, scan reply end delay removed.
Fix some more stupid things.
Enable NoDelay on all sockets.
Add station accept policy, disconnect function.
Limit max number of games.
Split out networking stuff from HLE, so it can be swapped.
Update logging calls.
Missed a spot.
SetAdvertiseData when open, don't return games that have accept policy 1
Update configuration + UI
Now has its own tab, more options.
Don't Keepalive, it causes problems.
Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
some cleanup
More fix
Correctly handle errors when connecting.
Disable *Private call and clean symbols
Structs cleanup
Big cleanup
Fix InvalidHandle (in MK8D and other games)
Add Reject and Private Network support (v1)
Disable TcpNoDelay option on linux.
Add SetWirelessControllerRestriction and some cleanup
Misc cleanup, implement broadcast flag.
Misc Changes
Fix GetNetworkInfo
Fix some small issues
Disable LAN by default til the config is added.
Fix Splatoon 2
- Stub nfp IUser::StartDetection / IUser::StopDetection.
- Stub ntc IEnsureNetworkClockAvailabilityService and needed calls.
Cleanup previous fixes
Stub IAudioInManager/IAudioIn for Splatoon 2 LAN
Add LAN settings to multiplayer tab
LAN Play > LAN Mode
Implement GetNetworkInfoLatestUpdate
Hotfix when LocalCommunicationId = 0xFFFFFFFFFFFFFFFF
Fix ARMS Scan (and other games using wrong LocalCommunicationId
Fix latest update when host leaves
Revert "Fix ARMS Scan (and other games using wrong LocalCommunicationId"
This reverts commit 519c283d3993e2fdfafb8ac6b4e0a98231f6fb75.
Fix the localCommunicationId = -1
Don't set Connect flag for nodes already in the room before joining.
Make IUserLocalCommunicationService disposable
Fix crash when using LAN mode on linux.
Actually use that call
Don't dispose if there's no client.
Fix the settings window crash
Fix configurationFileUpdated
* Make LDN compatible with Ryujinx/Ryujinx#3805
* Ava: Add Ldn options to SettingsNetworkTab
* Ava: Add update events for multiplayer options
* Apply formatting
* Remove LdnHelper
* ldn: Fix hardcoded /24 subnet mask
* Fix naming rule violations
* Add missing summary doc tag
* Remove NetCoreServer dependency
* Address code style issues and typos
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Call CloseStation/CloseAccessPoint to reduce code duplication
* Fix typo
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Fix missing trailing commas
* Extract AddressList from AddressEntry
* Use AcceptPolicy as a type for LdnNetworkInfo.StationAcceptPolicy
* Add Flags attribute to ScanFilterFlag
* Rename struct members for LdnNetworkInfo
* Remove extra line
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Extract NetworkErrorMessage from NetworkError
* Fix missing trailing commas
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* It builds
(Doesn’t run waiting on FluentAvalonia Preview 5 Release)
* Enable CompiledBindings by default
* Ignore `PointerPressedEventArgs` Init warning
* Define MIME and UTI Types
* Update `UserProfileImageSelectorView` to StorageProvider API
* PFS0 Magic
* Update `MainWindowViewModel` to StorageProvider API
* Update `SettingsUIView` to StorageProvider API
* Update `ApplicationHelper` to StorageProvider API
* Use `IsCheckChanged`
* Rename events
* Update Fluent Avalonia to Preivew 5
* More package updates
* Fix long selection bar
* return glyph value directly, instead of using a binding
* fix menu item checkboxes
* Fix build
* Update to Preview 6
Unicorn conflict
Fix remaining package oopsie
* Fix issues from merge
* Fix some warnings
* Warnings
* Squashed commit of the following:
commit 79d1c190db
Author: Mary <mary@mary.zone>
Date: Sun Apr 16 11:38:07 2023 +0200
chore: Update Silk.NET to 2.17.1 (#4686)
commit 2bc88467eb
Author: Ac_K <Acoustik666@gmail.com>
Date: Sun Apr 16 09:37:31 2023 +0000
Update README.md
commit baf8752e74
Author: Vincenzo Nizza <vincenzonizzaufficio@gmail.com>
Date: Sun Apr 16 11:19:33 2023 +0200
Ensure the updater doesn't delete hidden or system files (#4626)
* Copy desktop.ini to update directory if it exists in HomeDir
* EnumerateFilesToDelete() exclude files with "Hidden" and "System" attributes
commit d5e4378aea
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun Apr 16 09:02:06 2023 +0000
nuget: bump DynamicData from 7.13.1 to 7.13.5 (#4654)
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 7.13.1 to 7.13.5.
- [Release notes](https://github.com/reactiveui/DynamicData/releases)
- [Changelog](https://github.com/reactivemarbles/DynamicData/blob/main/ReleaseNotes.md)
- [Commits](https://github.com/reactiveui/DynamicData/compare/7.13.1...7.13.5)
---
updated-dependencies:
- dependency-name: DynamicData
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 6dbcdfea47
Author: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Sun Apr 16 09:09:02 2023 +0200
Ava: Fix nca extraction window never closing & minor cleanup (#4569)
* ava: Remove unused doWhileDeferred parameters
* ava: Minimally improve swkbd dialog
It's currently impossible to get the dialog to redirect focus to the InputBox.
* ava: Fix nca extraction dialog never closing
Also contains some minor cleanup
commit c5258cf082
Author: NitroTears <73270647+NitroTears@users.noreply.github.com>
Date: Sun Apr 16 11:03:35 2023 +1000
Ability to hide file types in Game List (#4555)
* Added HiddenFileTypes to config state, and check to file enumeration
* Added hiddenfiletypes checkboxes to the UI
* Added Ava version of HiddenFileTypes
* Inverted Hide to Show with file types, minor formatting
* all variables with a reference to 'hidden' is now 'shown'
* one more variable name changed
* review feedback
* added FileTypes extension methof to get the correlating config value
* moved extension method to new folder and file in Ryujinx.Ui.Common
* added default case for ToggleFileType
* changed exception type to OutOfRangeException
commit 5c89e22bb9
Author: Daniel Shala <daniel.shala08@gmail.com>
Date: Sat Apr 15 18:11:24 2023 +0200
Added check for eventual symlink when displaying game files. (#4526)
* Added check for eventual symlink when displaying game files.
* Moved symlink check logic
* Moved symlink check logic
* Fixed prev commit
---------
Co-authored-by: Daniel Shala <danielshala00@gmail.com>
commit 11ecff2ff0
Author: Alex Barney <thealexbarney@gmail.com>
Date: Fri Apr 14 16:00:34 2023 -0700
Rename Hipc to Cmif where appropriate (#3880)
commit 4c3f09644a
Author: MutantAura <44103205+MutantAura@users.noreply.github.com>
Date: Wed Apr 12 20:18:40 2023 +0100
Move swkbd message null check into constructor (#4671)
commit e187a8870a
Author: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Wed Apr 12 03:09:47 2023 +0200
HLE: Deal with empty title names properly (#4643)
* hle: Deal with empty titleNames in some languages
* gui: Fix displaying the wrong title name
* Remove unnecessary bounds check
* Fix a NRE when getting the version string
* Restore empty string logic
commit a64fee29dc
Author: riperiperi <rhy3756547@hotmail.com>
Date: Tue Apr 11 08:23:41 2023 +0100
Vulkan: add situational "Fast Flush" mode (#4667)
* Flush in the middle of long command buffers.
* Vulkan: add situational "Fast Flush" mode
The AutoFlushCounter class was added to periodically flush Vulkan command buffers throughout a frame, which reduces latency to the GPU as commands are submitted and processed much sooner. This was done by allowing command buffers to flush when framebuffer attachments changed.
However, some games have incredibly long render passes with a large number of draws, and really aggressive data access that forces GPU sync.
The Vulkan backend could potentially end up building a single command buffer for 4-5ms if a pass has enough draws, such as in BOTW. In the scenario where sync is waited on immediately after submission, this would have to wait for the completion of a much longer command buffer than usual.
The solution is to force command buffer submission periodically in a "fast flush" mode. This will end up splitting render passes, but it will only enable if sync is aggressive enough.
This should improve performance in GPU limited scenarios, or in games that aggressively wait on synchronization. In some games, it may only kick in when res scaling. It won't trigger in games like SMO where sync is not an issue.
Improves performance in Pokemon Scarlet/Violet (res scaled) and BOTW (in general).
* Add conversions in milliseconds next to flush timers.
commit 9ef94c8292
Author: riperiperi <rhy3756547@hotmail.com>
Date: Tue Apr 11 07:55:04 2023 +0100
ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext (#4661)
* ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext
Some games access these system registers several tens of thousands of times in a second from many different threads. While this isn't really crippling, it is a lot of wasted time spent in a reverse pinvoke transition.
Example games are Pokemon Scarlet/Violet and BOTW. These games have a lot of different potential bottlenecks so it's unlikely you will see a consistent improvement, but it definitely disappears from the cpu profile.
* Remove unreachable code.
* Add ulong conversion for offsets
* Nit
commit 915d6d044c
Author: riperiperi <rhy3756547@hotmail.com>
Date: Tue Apr 11 07:32:31 2023 +0100
OpenGL: Fix OBS/Overlays again by binding FB before present (#4668)
This seems to have been removed by the Post-Processing PR, but it is required for the display in OBS to be the right way up and properly scaled.
I've tested this with AA and FSR on MK8D and it seems to behave properly. Testing is welcome.
commit a4780ab33b
Author: MutantAura <44103205+MutantAura@users.noreply.github.com>
Date: Mon Apr 10 23:04:31 2023 +0100
Force activate parent window before dialog is shown (#4663)
* Fix build
Extraction dialogue not working
* Avalonia Preview 7
Needs Fluent Avalonia update still…
* Fix Render Scaling
* Update Fluent Avalonia
* Remove `pfs0` as runnable file type
* Restore Info.plist formatting
* Plist Format
* Update Avalonia.Svg.Skia
* Update theme code (TODO)
* swtich to using theme variants for light dark
* Fix crashes
* Text centering issues
* Update `TitleUpdateViewModel` to StorageProvider API
* Fixed for new PR
(Will crash on launch)
* Fixes…
* UI: Fix sections extraction (#4820)
* UI: Fix sections extraction
There is currently an issue when the update NCA doesn't contains the section we want to extract, this is fixed by adding a check.
I have fixed the inverted handler of ExeFs/Logo introduced in #4755.
Fixes#4521
* Addresses feedback
* Fix issues…
* Preview 8
* Fix fuck ups
* Fixes
* More cleanup
* Ava 11 RC
Maybe there is a god
* Update FluentAvalonia
* update svg
* Second RC (kill me)
* It builds
* Ava 11
* Remove unnecessary usings
* Fix build
* Formatting
* GAS GAS GAS!!!!
* Fix DLC Window Crash
* Linux runner try not to crash challenge (impossible)
* Add app.manifest
* Fix accidental Silk.NET.Vulkan bump
* Try fix truncation
* Linux fix popup Windows
* Fix cutoff text on windows
* Status bar styling fixes
* Volume Toggle Split Button Fixes
* Fix load bar color
* Fix shortcuts
* Best we're gonna get
* Fix spacing
Co-authored-by: Exhigh <exhigh01@gmail.com>
* Formatting
* Fix Profile Dropdown
* Fix Window Startup Position
* Format Fixes
* Fix stupid mistake
* Fix accidental change
* Scaling Handler (peri pls make sure is working)
* Remove Locale Reflection Binding Use + Unsued Usings
* Fix formatting
Code styling
Ughhhh
Fix interface
Make TimeZoneConverter internal
* Remove bell workaround (no longer needed)
* Disable accent menu
* Update to Ava 11.0.2
* Peri suggestions
* Formatting
* Cleanup a bunch of jank
* Dependency update
* Berry fixes and suggestions
* Final suggestions
* Rename assemblyIdentity to Ryujinx.Emulator.Avalonia
---------
Co-authored-by: Emmanuel Hansen <emmausssss@gmail.com>
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: Exhigh <exhigh01@gmail.com>
Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
* dotnet format style --severity info
Some changes were manually reverted.
* dotnet format analyzers --serverity info
Some changes have been minimally adapted.
* Restore a few unused methods and variables
* Silence dotnet format IDE0060 warnings
* Silence dotnet format IDE0052 warnings
* Address or silence dotnet format IDE1006 warnings
* Address dotnet format CA1816 warnings
* Address or silence dotnet format CA2208 warnings
* Address or silence dotnet format CA1806 and a few CA1854 warnings
* Address dotnet format CA2211 warnings
* Address dotnet format CA1822 warnings
* Address or silence dotnet format CA1069 warnings
* Make dotnet format succeed in style mode
* Address or silence dotnet format CA2211 warnings
* Address review comments
* Address dotnet format CA2208 warnings properly
* Make ProcessResult readonly
* Address most dotnet format whitespace warnings
* Apply dotnet format whitespace formatting
A few of them have been manually reverted and the corresponding warning was silenced
* Add previously silenced warnings back
I have no clue how these disappeared
* Revert formatting changes for while and for-loops
* Format if-blocks correctly
* Run dotnet format style after rebase
* Run dotnet format whitespace after rebase
* Run dotnet format style after rebase
* Run dotnet format analyzers after rebase
* Run dotnet format after rebase and remove unused usings
- analyzers
- style
- whitespace
* Disable 'prefer switch expression' rule
* Add comments to disabled warnings
* Fix a few disabled warnings
* Fix naming rule violation, Convert shader properties to auto-property and convert values to const
* Simplify properties and array initialization, Use const when possible, Remove trailing commas
* Start working on disabled warnings
* Fix and silence a few dotnet-format warnings again
* Run dotnet format after rebase
* Use using declaration instead of block syntax
* Address IDE0251 warnings
* Address a few disabled IDE0060 warnings
* Silence IDE0060 in .editorconfig
* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"
This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.
* dotnet format whitespace after rebase
* First dotnet format pass
* Fix naming rule violations
* Fix typo
* Add trailing commas, use targeted new and use array initializer
* Fix build issues
* Fix remaining build issues
* Remove SuppressMessage for CA1069 where possible
* Address dotnet format issues
* Address formatting issues
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Add GetHashCode implementation for RenderingSurfaceInfo
* Explicitly silence CA1822 for every affected method in Syscall
* Address formatting issues in Demangler.cs
* Address review feedback
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Revert marking service methods as static
* Next dotnet format pass
* Address review feedback
---------
Co-authored-by: Ac_K <acoustik666@gmail.com>
* dotnet format style --severity info
Some changes were manually reverted.
* dotnet format analyzers --serverity info
Some changes have been minimally adapted.
* Restore a few unused methods and variables
* Silence dotnet format IDE0060 warnings
* Silence dotnet format IDE0052 warnings
* Silence dotnet format IDE0059 warnings
* Address or silence dotnet format IDE1006 warnings
* Address dotnet format CA1816 warnings
* Address dotnet format CA1822 warnings
* Address or silence dotnet format CA1069 warnings
* Make dotnet format succeed in style mode
* Address dotnet format CA1401 warnings
* Address remaining dotnet format analyzer warnings
* Address review comments
* dotnet-format fixes after rebase
* Address most dotnet format whitespace warnings
* Apply dotnet format whitespace formatting
A few of them have been manually reverted and the corresponding warning was silenced
* Format if-blocks correctly
* Another rebase, another dotnet format run
* Run dotnet format whitespace after rebase
* Run dotnet format style after rebase
* Run dotnet format after rebase and remove unused usings
- analyzers
- style
- whitespace
* Add comments to disabled warnings
* Remove a few unused parameters
* Simplify properties and array initialization, Use const when possible, Remove trailing commas
* Start working on disabled warnings
* Fix and silence a few dotnet-format warnings again
* Address IDE0260 warnings
* Address a few disabled IDE0060 warnings
* Silence IDE0060 in .editorconfig
* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"
This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.
* dotnet format whitespace after rebase
* dotnet format pass with new editorconfig
* Fix naming style issues
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Revert one suggestion
* Second dotnet format pass and fix build issues
* Final pass of dotnet format
* Add trailing commas
* Fix formatting issues
* Keep unnecessary assignment in IconColorPicker.cs
* Use using declarations and extend resource lifetimes
* Fix rebase issues
* Adjust comment spacing
* Fix typo
* Fix naming issues
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Revert unintentional change
* Remove unused file
* Remove static keyword from ViewModels
Binding of static members doesn't work and is silently ignored.
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Nintendo controllers notoriously have the A/B and X/Y buttons swapped, compared to the standard.
In order to combat this, when setting the default controller layout, Ryujinx checks whether the controller name contains "Nintendo", and swaps the mapping accordingly.
However, the reason the mapping is inverted in the first place is because SDL has `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` set to 1 by default. By setting it to 0, the mapping will be based on the buttons' position instead.
So, by doing it (and removing the `isNintendoStyle` variable), we get the following advantages:
- The mapping will be the same on all controllers, removing the need to adjust custom mappings depending on what controller is used
- Users who already set `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` to 0 globally for other games/applications (like me) won't have a wrong default mapping
- Checking whether the controller name contains "Nintendo" is ugly
Disadvantages:
- Breaks the controller configuration for existing users who are using a Nintendo controller
Currently, the `Open Applet` menu is still enabled when a guest is running, which is wrong. This is not fixed by refreshing the property binding on `IsEnabled`.
* fix crash when Vulkan isn't available
* add VulkanRenderer.GetPhysicalDevices() overload that provides its own Vk API object and logs on failure
* adjustments per AcK77
* Changed LastPlayed field from string to nullable DateTime
Added ApplicationData.LastPlayedString property
Added NullableDateTimeConverter for the DateTime->string conversion in Avalonia
* Added migration from string-based last_played to DateTime-based last_played_utc
* Updated comment style
* Added MarkupExtension to NullableDateTimeConverter and changed its usage
Cleaned up leftover usings
* Missed one comment
* Fix the issue of unequal check for amiibo file date due to the lack of sub-second units in the header, causing slow opening of the amiibo interface.
* Supplement the unrepaired.
* Ava: Fix SystemTimeOffset calculation
During testing of #4822, Mary pointed out the way we calculate time offset is wrong in our Avalonia UI. This PR fixed that.
The axaml file is autoformatted too.
* DateTime.Now in local var
* feat: introduce new shader loading state for progress tracking when writing shaders to disk
* fix: move translation to bottom of locale file
* fix: change back to foreach and add requested spacing between lines
* style: fix formatting
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
---------
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* UI: Move ApplicationContextMenu in a separated class
This PR remove duplicated code related to the context menu on the Application list/grid by create a control for the menu which include related handler.
I've renamed "GameList/GameGrid" by "Application" for consistencies. And I've removed all uneeded field from the project file too.
While I cleaned up things, I've found an issue about purging Ptc/Shader cache, both methods list files even if the user say "No", shader cache is purged even if the user say "No". It's fixed.
* Adresses feedbacks
* Add hide-cursor command line argument
* gtk: Adjust SettingsWindow for hide cursor options
* ava: Adjust SettingsWindow for hide cursor options
* ava: Add override check for HideCursor arg
* Remove copy&paste sins
* ava: Leave a little more room between the options
* gtk: Fix hide cursor issues
* ava: Only hide cursor if it's within the embedded window