Ryujinx/Ryujinx.HLE/HOS/Services
Ac_K 32be8caa9d
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
2021-03-26 01:16:08 +01:00
..
Account account: Services Refactoring (#1833) 2021-01-02 23:34:28 +01:00
Am am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder (#2136) 2021-03-25 23:25:49 +01:00
Apm services: add "apm:p" (#1854) 2021-01-02 16:11:38 +01:00
Arp account: Services Refactoring (#1833) 2021-01-02 23:34:28 +01:00
Audio Haydn: Part 1 (#2007) 2021-02-26 01:11:56 +01:00
Bcat Rewrite size for fixed size buffers (#1808) 2020-12-12 14:06:20 +11:00
Bgtc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Bluetooth bluetooth: Fix event handle in IBluetoothDriver (#1464) 2020-08-13 01:04:59 +02:00
BluetoothManager Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
Caps caps: Implement SaveScreenShot calls and cleanup (#2140) 2021-03-26 01:16:08 +01:00
Cec Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ectx am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder (#2136) 2021-03-25 23:25:49 +01:00
Erpt Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Es Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Eupld Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Fatal Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Friend account: Services Refactoring (#1833) 2021-01-02 23:34:28 +01:00
Fs Allow modding AddOnContent RomFS (#2024) 2021-02-20 01:25:01 +01:00
Grc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Hid Update missing sample timestamp in DebugPad (#1873) 2021-01-07 19:43:33 +01:00
Ins Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Lbl am/lbl/hid/pctl: Enabled VR Rendering (#1688) 2020-11-15 22:30:20 +01:00
Ldn Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
Lm Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
Loader Add various error codes to Loader (#1208) 2020-05-04 13:22:28 +02:00
Mig Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Mii nfp: Amiibo scanning support (#2006) 2021-03-18 21:40:20 +01:00
Mm Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
Ncm Add various error codes to NCM LR (#1225) 2020-05-08 16:06:32 +02:00
News Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Nfc nfp: Amiibo scanning support (#2006) 2021-03-18 21:40:20 +01:00
Ngct ngct: Fix services and stub calls (#1756) 2020-12-10 03:08:28 +01:00
Nifm nifm: Fix returned buffer size of GetClientId (#2036) 2021-02-19 20:18:13 +01:00
Nim nim: Implement IsLargeResourceAvailable (#1821) 2020-12-17 05:19:28 +01:00
Notification Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Npns Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ns IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel (#1458) 2020-12-02 00:23:43 +01:00
Nv Fix remap when handle is 0 (#1882) 2021-01-10 10:11:31 +11:00
Olsc olsc: Add service olsc:u and stub some calls (#1734) 2020-11-20 09:56:23 +11:00
Ovln Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Pcie Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Pctl pctl: Stub IsFreeCommunicationAvailable (#1893) 2021-01-10 21:26:59 +01:00
Pcv Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Pm Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Prepo prepo: Implement GetSystemSessionId and add perms (#2014) 2021-02-11 20:24:54 +01:00
Psc Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ptm Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
Ro Correct type of executable sizes (#1802) 2020-12-13 08:30:27 +01:00
Sdb IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel (#1458) 2020-12-02 00:23:43 +01:00
Settings settings: Fix returned buffer size of GetFirmwareVersion (#2029) 2021-02-17 21:10:53 +01:00
Sm IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel (#1458) 2020-12-02 00:23:43 +01:00
Sockets sfdnsres: Cleanup service and implements some calls (#2130) 2021-03-24 18:43:23 +01:00
Spl Implement a new physical memory manager and replace DeviceMemory (#856) 2020-05-04 08:54:50 +10:00
Srepo Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Ssl Improved Logger (#1292) 2020-08-04 01:32:53 +02:00
SurfaceFlinger android-fence: call callback when fence is invalid (#1881) 2021-01-13 10:53:13 +01:00
Time Fix SetStandardSteadyClockInternalOffset permission check (#2076) 2021-03-04 11:58:21 +01:00
Usb Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
Vi Add support for inline software keyboard (#1868) 2021-01-11 19:27:55 +01:00
Wlan Refactoring HOS folder structure (#771) 2019-09-19 10:45:11 +10:00
CommandAttributes.cs IPC refactor part 1: Use explicit separate threads to process requests (#1447) 2020-09-22 14:50:40 +10:00
DummyService.cs Refactoring commands handling (#728) 2019-07-11 22:13:43 -03:00
IpcService.cs IPC: Remove IIpcService interface (#2121) 2021-03-19 00:31:08 +01:00
ServerBase.cs Rewrite scheduler context switch code (#1786) 2020-12-09 19:20:05 -03:00
ServiceAttributes.cs IPC refactor part 1: Use explicit separate threads to process requests (#1447) 2020-09-22 14:50:40 +10:00
ServiceConfiguration.cs IPC services refactoring (#726) 2019-07-10 12:59:54 -03:00