diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2024-02-15 02:03:57 +0100 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2024-02-16 19:13:10 +0100 |
commit | 2954c01b4730b84464ee5c27d9b62950b62ff9dc (patch) | |
tree | 6fe199d81b271189858a598a7a4fc9dfa6f5eda0 | |
parent | Merge pull request #13016 from german77/set-interface2 (diff) | |
download | yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar.gz yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar.bz2 yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar.lz yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar.xz yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.tar.zst yuzu-2954c01b4730b84464ee5c27d9b62950b62ff9dc.zip |
-rw-r--r-- | src/core/hle/service/am/applet_manager.cpp | 18 |
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; |