summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applet_manager.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-02-18 16:37:52 +0100
committerGitHub <noreply@github.com>2024-02-18 16:37:52 +0100
commit1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6 (patch)
tree61fd5e387c45642135fbcbb88ab326236f4f7789 /src/core/hle/service/am/applet_manager.cpp
parentMerge pull request #13064 from t895/auto-map-fail (diff)
parentservice: erpt: Implement SubmitContext (diff)
downloadyuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar.gz
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar.bz2
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar.lz
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar.xz
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.tar.zst
yuzu-1fc86b1e3a7690abfa668bb45b45ac0d5e4cc4f6.zip
Diffstat (limited to 'src/core/hle/service/am/applet_manager.cpp')
-rw-r--r--src/core/hle/service/am/applet_manager.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applet_manager.cpp b/src/core/hle/service/am/applet_manager.cpp
index 4c7266f89..2e109181d 100644
--- a/src/core/hle/service/am/applet_manager.cpp
+++ b/src/core/hle/service/am/applet_manager.cpp
@@ -35,6 +35,21 @@ AppletStorageChannel& InitializeFakeCallerApplet(Core::System& system,
return applet->caller_applet_broker->GetInData();
}
+void PushInShowQlaunch(Core::System& system, AppletStorageChannel& channel) {
+ const CommonArguments arguments{
+ .arguments_version = CommonArgumentVersion::Version3,
+ .size = CommonArgumentSize::Version3,
+ .library_version = 0,
+ .theme_color = ThemeColor::BasicBlack,
+ .play_startup_sound = true,
+ .system_tick = system.CoreTiming().GetClockTicks(),
+ };
+
+ std::vector<u8> argument_data(sizeof(arguments));
+ std::memcpy(argument_data.data(), &arguments, sizeof(arguments));
+ channel.Push(std::make_shared<IStorage>(system, std::move(argument_data)));
+}
+
void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) {
const CommonArguments arguments{
.arguments_version = CommonArgumentVersion::Version3,
@@ -284,6 +299,9 @@ void AppletManager::CreateAndInsertByFrontendAppletParameters(
// Starting from frontend, some applets require input data.
switch (applet->applet_id) {
+ case AppletId::QLaunch:
+ PushInShowQlaunch(m_system, InitializeFakeCallerApplet(m_system, applet));
+ break;
case AppletId::Cabinet:
PushInShowCabinetData(m_system, InitializeFakeCallerApplet(m_system, applet));
break;