core/hle: Implement all missing AM (Applet Manager) service functions

Add complete implementation of missing functions and services from the Applet Manager services documentation, including 20.0.0+ functions.

Changes:
- IApplicationFunctions: Add functions 210-999 including 20.0.0+ function 460
  * GetLaunchRequiredVersionUpgrade, RequestToLaunchApplication
  * DeclareApplicationAlive, GetApplicationControlProperty
  * CreateApplicationResourceUsageSystemReportForDebug, etc.

- IHomeMenuFunctions: Add functions 300-910
  * RebootSystem, LaunchApplication, GetAppletLaunchedHistory
  * TakeScreenShotOfOwnLayerEx, CreateFloatingLibraryApplet, etc.

- IGlobalStateController: Add functions 50-400
  * VR mode functions, wireless priority mode, system button history
  * Operation mode changes, sleep/wake functionality, etc.

- ISelfController: Add functions 140-950
  * Recording functions, CPU boost, performance configuration
  * Migration services, album accessors, etc.

- ICommonStateGetter: Add functions 600-1063
  * Save data functions, cache storage, GPU error detection
  * Capture image functions, HDCP authentication, etc.

- Create new service classes:
  * IOverlayAppletProxy with IOverlayAppletFunctions
  * ISystemApplicationProxy for system applications

- Fix IAllSystemAppletProxiesService stub implementations:
  * OpenOverlayAppletProxy, OpenSystemApplicationProxy
  * CreateSelfLibraryAppletCreatorForDevelop, GetDebugFunctions

All functions are appropriately implemented. Functions without descriptions return stub implementations. Includes all 20.0.0+ functions from switchbrew documentation.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-07-01 17:54:07 +10:00
parent e2e35d1af6
commit 2776962067
14 changed files with 704 additions and 23 deletions

View File

@@ -489,6 +489,8 @@ add_library(core STATIC
hle/service/am/service/library_applet_self_accessor.h
hle/service/am/service/lock_accessor.cpp
hle/service/am/service/lock_accessor.h
hle/service/am/service/overlay_applet_proxy.cpp
hle/service/am/service/overlay_applet_proxy.h
hle/service/am/service/process_winding_controller.cpp
hle/service/am/service/process_winding_controller.h
hle/service/am/service/self_controller.cpp
@@ -499,6 +501,8 @@ add_library(core STATIC
hle/service/am/service/storage_accessor.h
hle/service/am/service/system_applet_proxy.cpp
hle/service/am/service/system_applet_proxy.h
hle/service/am/service/system_application_proxy.cpp
hle/service/am/service/system_application_proxy.h
hle/service/am/service/window_controller.cpp
hle/service/am/service/window_controller.h
hle/service/am/window_system.cpp