From b16e5c6a81abdd0ac7b62f466bf15e4d51db26f9 Mon Sep 17 00:00:00 2001 From: greggameplayer <33609333+greggameplayer@users.noreply.github.com> Date: Sat, 26 May 2018 04:31:54 +0200 Subject: [PATCH] Add & correct miscellaneous things (#470) * add some InfoType * correct OpenApplicationProxy cmd number * add IDisplayController functions * fix clang-format * add more system languages --- src/core/hle/kernel/svc.h | 3 +++ src/core/hle/service/am/am.cpp | 35 ++++++++++++++++++++++++++- src/core/hle/service/am/am.h | 19 +++++++++++++-- src/core/hle/service/am/applet_oe.cpp | 2 +- 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/core/hle/kernel/svc.h b/src/core/hle/kernel/svc.h index bc471d01e1..70148c4fe6 100644 --- a/src/core/hle/kernel/svc.h +++ b/src/core/hle/kernel/svc.h @@ -47,9 +47,12 @@ enum class GetInfoType : u64 { NewMapRegionSize = 15, // 3.0.0+ IsVirtualAddressMemoryEnabled = 16, + PersonalMmHeapUsage = 17, TitleId = 18, // 4.0.0+ PrivilegedProcessId = 19, + // 5.0.0+ + UserExceptionContextAddr = 20, }; void CallSVC(u32 immediate); diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index e78cef5527..0223e0a5fa 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -74,7 +74,40 @@ void IAudioController::GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestCo rb.Push(volume); } -IDisplayController::IDisplayController() : ServiceFramework("IDisplayController") {} +IDisplayController::IDisplayController() : ServiceFramework("IDisplayController") { + static const FunctionInfo functions[] = { + {0, nullptr, "GetLastForegroundCaptureImage"}, + {1, nullptr, "UpdateLastForegroundCaptureImage"}, + {2, nullptr, "GetLastApplicationCaptureImage"}, + {3, nullptr, "GetCallerAppletCaptureImage"}, + {4, nullptr, "UpdateCallerAppletCaptureImage"}, + {5, nullptr, "GetLastForegroundCaptureImageEx"}, + {6, nullptr, "GetLastApplicationCaptureImageEx"}, + {7, nullptr, "GetCallerAppletCaptureImageEx"}, + {8, nullptr, "TakeScreenShotOfOwnLayer"}, // 2.0.0+ + {9, nullptr, "CopyBetweenCaptureBuffers"}, // 5.0.0+ + {10, nullptr, "AcquireLastApplicationCaptureBuffer"}, + {11, nullptr, "ReleaseLastApplicationCaptureBuffer"}, + {12, nullptr, "AcquireLastForegroundCaptureBuffer"}, + {13, nullptr, "ReleaseLastForegroundCaptureBuffer"}, + {14, nullptr, "AcquireCallerAppletCaptureBuffer"}, + {15, nullptr, "ReleaseCallerAppletCaptureBuffer"}, + {16, nullptr, "AcquireLastApplicationCaptureBufferEx"}, + {17, nullptr, "AcquireLastForegroundCaptureBufferEx"}, + {18, nullptr, "AcquireCallerAppletCaptureBufferEx"}, + // 2.0.0+ + {20, nullptr, "ClearCaptureBuffer"}, + {21, nullptr, "ClearAppletTransitionBuffer"}, + // 4.0.0+ + {22, nullptr, "AcquireLastApplicationCaptureSharedBuffer"}, + {23, nullptr, "ReleaseLastApplicationCaptureSharedBuffer"}, + {24, nullptr, "AcquireLastForegroundCaptureSharedBuffer"}, + {25, nullptr, "ReleaseLastForegroundCaptureSharedBuffer"}, + {26, nullptr, "AcquireCallerAppletCaptureSharedBuffer"}, + {27, nullptr, "ReleaseCallerAppletCaptureSharedBuffer"}, + }; + RegisterHandlers(functions); +} IDebugFunctions::IDebugFunctions() : ServiceFramework("IDebugFunctions") {} diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 5b3d416f32..dd6158eb28 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h @@ -18,10 +18,25 @@ class NVFlinger; namespace AM { -// TODO: Add more languages enum SystemLanguage { Japanese = 0, - English = 1, + English = 1, // en-US + French = 2, + German = 3, + Italian = 4, + Spanish = 5, + Chinese = 6, + Korean = 7, + Dutch = 8, + Portuguese = 9, + Russian = 10, + Taiwanese = 11, + BritishEnglish = 12, // en-GB + CanadianFrench = 13, + LatinAmericanSpanish = 14, // es-419 + // 4.0.0+ + SimplifiedChinese = 15, + TraditionalChinese = 16, }; class IWindowController final : public ServiceFramework { diff --git a/src/core/hle/service/am/applet_oe.cpp b/src/core/hle/service/am/applet_oe.cpp index 68388bf5e8..587a922fe6 100644 --- a/src/core/hle/service/am/applet_oe.cpp +++ b/src/core/hle/service/am/applet_oe.cpp @@ -98,7 +98,7 @@ void AppletOE::OpenApplicationProxy(Kernel::HLERequestContext& ctx) { AppletOE::AppletOE(std::shared_ptr nvflinger) : ServiceFramework("appletOE"), nvflinger(std::move(nvflinger)) { static const FunctionInfo functions[] = { - {0x00000000, &AppletOE::OpenApplicationProxy, "OpenApplicationProxy"}, + {0, &AppletOE::OpenApplicationProxy, "OpenApplicationProxy"}, }; RegisterHandlers(functions); }