* Svg.Controls.Avalonia group to 11.3.9.5
* DynamicData to 9.4.31
* Humanizer to 3.0.10
* NUnit to 4.5.1
* NUnit3TestAdapter to 6.2.0
* Ryujinx.LibHac to 0.21.0-alpha.133
* System.IO.Hashing to 10.0.5
If an npad device was checking for if the device was at rest, we called `GetSixAxisSensorLifo()` -- if the npad was of type `None`, it triggered the `NotImplementedException` in that method because `None` doesn't have a gyroscope, and therefore no data attached to it.
Implement nn::ssl::sf::ISslServiceForSystem -> CreateContextForSystem (100)
Ryujinx implements both ISslService and ISslServiceForSystem in one class so we can just return new ISslContext.
Also fixed the incorrect parameter reading order. (CreateContextForSystem basically has same params as CreateContext)
- Add RestartEmulation() method to MainWindowViewModel
- Add 'Restart Emulation' menu item with Ctrl+R keybinding
- Add locale translations for all supported languages
- No confirmation dialog (faster restart experience)
Fix crash caused by reading incorrect size of Splitter data.
In most games the crash doesnt happen if you have nn::audio::AudioRendererParameter VoiceCount aligned to 2, as that causes splitter data to be aligned by 0x10, but otherwise, the alignment by 0x10 done in SplitterContext->Update may exceed SplitterSize (which was previously labeled as Unknown24), causing a crash.
(Crash can be replicated by doing AudioRendererParameter.voiceCount++; in any SDK 20.X game that works, which doesn't cause crash on actual hardware)
(This patch is from a friend who makes mods.)
Adds Ryujinx.Audio.Backends.Apple, which is a AudioToolbox based audio backend for macOS (and by extension iOS). Also added in MeloNX.
* Expose AudioToolkit in UI
Co-authored-by: GreemDev <greemdev@ryujinx.app>
In some games using newer SDK (e.g. Splatoon 3 11.0.0), when `nn::prepo::PlayReport::SetOptInCheckEnabled` is set to False, `nn::prepo::PlayReport::Save` will call `IPrepoService:10106` (SaveReport) and `IPrepoService:10107` (SaveReportWithUser) instead of 10104 (SaveReportOld) and 10105 (SaveReportWithUserOld).
A new param (optInCheckEnabled) is added in 10106/10107 compare to 10104/10105.
This should fix missing service error for Splatoon 3 11.0.0 and other games using newer SDK and has set `nn::prepo::PlayReport::SetOptInCheckEnabled` to False.
Fixes the actually insane amount of log spam in games that check for this, such as Luigi's Mansion 3.
Values in HidDevices.NpadDevices.isAtRest may need to be tuned to a better range for resting detection. I originally set them to 0, and my controller rests at definitely NOT 0.
Will need to be revisited when implementing functionality for the global SixAxisActive bool, IHidServer.StartSixAxisTracking, and IHidServer.StopSixAxisTracking.
* Avalonia to 11.3.11, Svg.Controls.Avalonia group to 11.3.9.2
* Gommon to 2.8.0.4
* NUnit3TestAdapter to 6.1.0
* Ryujinx.LibHac to 0.21.0-alpha.128
* System group to 10.0.2
Core dumps are disabled by default on Linux, but this prevents access to the file picker due to security hardening. To work around this, core dumps are selectively enabled and disabled around the file picker tasks.
Use [ObservableProperty] attribute, which greatly reduces or eliminates boilerplate code needed to generate observable properties
Co-authored-by: GreemDev <greemdev@ryujinx.app>