ryubing-ryujinx/assets/Locales/RenderDoc.json
spl::kirakira e1b66399c9 Touchscreen failsafe, add LibraryAppletMyPage to Actions -> Tools, add a ton of HLE services, LDN monitor service
## Touchscreen Fix
- Added `GetScreenPositionNullable` for touch coordinate validation
- Returns `null` when touch is outside the rendered screen area
- Files: src/Ryujinx.Input/IMouse.cs, src/Ryujinx.Input/HLE/TouchScreenManager.cs

## LibraryAppletMyPage (User Page)
- Added Actions → Tools → User Page menu item
- Launches the MyPage system applet (program ID 0x0100000000001013)
- Files: src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml, MainMenuBarView.axaml.cs

## HLE Services Implementation

### HID System Server
- 850: SetTouchScreenDefaultConfiguration
- 851: GetTouchScreenDefaultConfiguration
- 1200: AcquireConnectionTriggerTimeoutEvent
- 1201: SendConnectionTrigger
- 1202: AcquireDeviceRegisteredEventForControllerSupport
- 1203: GetAllowedBluetoothLinksCount

### acc:aa (IBaasAccessTokenAccessor)
- 0: EnsureCacheAsync
- 1: LoadCache
- 2: GetDeviceAccountId
- 50: RegisterNotificationTokenAsync
- 51: UnregisterNotificationTokenAsync

### nim (IShopServiceAsync)
- Commands 0-5: Cancel, GetSize, Read, GetErrorCode, Request, Prepare

### LDN Monitor Service (NEW)
- IMonitorServiceCreator: Added CreateMonitorService (command 0)
- IMonitorService: GetStateForMonitor, GetNetworkInfoForMonitor, GetIpv4AddressForMonitor,
  GetDisconnectReasonForMonitor, GetSecurityParameterForMonitor, GetNetworkConfigForMonitor,
  AttachStateChangeEvent, InitializeMonitor, FinalizeMonitor

## Applet Infrastructure
- ILibraryAppletSelfAccessor: Rewrite to support MiiEdit, MyPage applets
- AppletStateMgr: Complete rewrite with proper state machine and focus handling
- ICommonStateGetter: Updated ReceiveMessage and RequestToAcquireSleepLock
2026-01-30 19:45:01 +08:00

104 lines
2.8 KiB
JSON

{
"Locales": [
{
"ID": "MenuBarActions_StartCapture",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "Start RenderDoc Frame Capture",
"es_ES": "Iniciar una captura de fotograma de RenderDoc",
"fr_FR": "Démarrer une capture de trame RenderDoc",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "RenderDoc 프레임 캡처 시작",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
},
{
"ID": "MenuBarActions_EndCapture",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "End RenderDoc Frame Capture",
"es_ES": "Detener la captura de fotograma de RenderDoc",
"fr_FR": "Arrêter la capture de trame RenderDoc",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "RenderDoc 프레임 캡처 종료",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
},
{
"ID": "MenuBarActions_DiscardCapture",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "Discard RenderDoc Frame Capture",
"es_ES": "Descartar la captura de fotograma de RenderDoc",
"fr_FR": "Supprimer la capture de trame RenderDoc",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "RenderDoc 프레임 캡처 폐기",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
},
{
"ID": "MenuBarActions_DiscardCapture_ToolTip",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "Ends the currently active RenderDoc Frame Capture, immediately discarding its result.",
"es_ES": "Finaliza la captura de fotograma de RenderDoc actualmente activa y descarta inmediatamente su resultado.",
"fr_FR": "Met fin à la capture de trame RenderDoc en cours, en supprimant immédiatement son résultat.",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "현재 활성화된 RenderDoc 프레임 캡처를 종료하고 결과를 즉시 폐기합니다.",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
}
]
}