caps: Implement SaveScreenShot calls and cleanup (#2140)
* caps: Implement SaveScreenShot calls and cleanup This PR implement: - caps:u IAlbumApplicationService (32) SetShimLibraryVersion - caps:c IAlbumControlService (33) SetShimLibraryVersion - caps:su IScreenShotApplicationService (32) SetShimLibraryVersion - caps:su IScreenShotApplicationService (203/205/210) SaveScreenShotEx0/SaveScreenShotEx1/SaveScreenShotEx2 ImageSharp is used to save the raw screenshot data as a JPG file following what the service does. All screenshots are save in: `%AppData%\Ryujinx\sdcard\Nintendo\Album` folder. (as example a screenshot file path will be `%AppData%\Ryujinx\sdcard\Nintendo\Album\2021\03\26\2021032601020300-0123456789ABCDEF0123456789ABCDEF.jpg` This is needed by Animal Crossing: New Horizon where screenshots looks like this: And this is needed in Monster Hunter Rise but screenshots are currently empty due to another issue. * remove useless comment * Addresses gdkchan feedback * Addresses gdkchan feedback 2 * remove useless comment 2 * Fix nits
This commit is contained in:
parent
4bd1ad16f9
commit
32be8caa9d
13 changed files with 327 additions and 10 deletions
|
@ -22,6 +22,7 @@ using Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemA
|
|||
using Ryujinx.HLE.HOS.Services.Apm;
|
||||
using Ryujinx.HLE.HOS.Services.Arp;
|
||||
using Ryujinx.HLE.HOS.Services.Audio.AudioRenderer;
|
||||
using Ryujinx.HLE.HOS.Services.Caps;
|
||||
using Ryujinx.HLE.HOS.Services.Mii;
|
||||
using Ryujinx.HLE.HOS.Services.Nfc.Nfp.UserManager;
|
||||
using Ryujinx.HLE.HOS.Services.Nv;
|
||||
|
@ -86,6 +87,7 @@ namespace Ryujinx.HLE.HOS
|
|||
internal SharedFontManager Font { get; private set; }
|
||||
|
||||
internal ContentManager ContentManager { get; private set; }
|
||||
internal CaptureManager CaptureManager { get; private set; }
|
||||
|
||||
internal KEvent VsyncEvent { get; private set; }
|
||||
|
||||
|
@ -160,6 +162,7 @@ namespace Ryujinx.HLE.HOS
|
|||
DisplayResolutionChangeEvent = new KEvent(KernelContext);
|
||||
|
||||
ContentManager = contentManager;
|
||||
CaptureManager = new CaptureManager(device);
|
||||
|
||||
// TODO: use set:sys (and get external clock source id from settings)
|
||||
// TODO: use "time!standard_steady_clock_rtc_update_interval_minutes" and implement a worker thread to be accurate.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue