From a38133f3ab0fc266c41a12ca6ebda84fe846dc9e Mon Sep 17 00:00:00 2001 From: DH Date: Fri, 27 Sep 2024 00:47:53 +0300 Subject: [PATCH] rpcsx-os: pass appInfo to launchDaemon --- rpcsx-os/main.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/rpcsx-os/main.cpp b/rpcsx-os/main.cpp index 4ea0461dd..a14ab781d 100644 --- a/rpcsx-os/main.cpp +++ b/rpcsx-os/main.cpp @@ -1698,6 +1698,7 @@ struct IpmiClient { .pInData = guestInDataArray, .pOutData = guestOutBufArray, .pResult = serverResult, + .flags = (inData.size() > 1 || outBuf.size() > 1) ? 1u : 0u, }; GuestAlloc errorCode; @@ -1771,7 +1772,8 @@ static IpmiClient createIpmiClient(orbis::Thread *thread, const char *name) { static orbis::SysResult launchDaemon(orbis::Thread *thread, std::string path, std::vector argv, - std::vector envv) { + std::vector envv, + orbis::AppInfo appInfo) { auto childPid = orbis::g_context.allocatePid() * 10000 + 1; auto flag = orbis::knew>(); *flag = false; @@ -1800,9 +1802,7 @@ static orbis::SysResult launchDaemon(orbis::Thread *thread, std::string path, process->onSysExit = thread->tproc->onSysExit; process->ops = thread->tproc->ops; process->parentProcess = thread->tproc; - process->appInfo = { - .unk4 = orbis::slong(0x80000000'00000000), - }; + process->appInfo = appInfo; process->authInfo = { .unk0 = 0x380000000000000f, @@ -2165,11 +2165,14 @@ int main(int argc, const char *argv[]) { if (!enableAudio) { launchDaemon(mainThread, "/system/sys/orbis_audiod.elf", - {"/system/sys/orbis_audiod.elf"}, {}); + {"/system/sys/orbis_audiod.elf"}, {}, + { + .titleId = "NPXS20973", + .unk4 = orbis::slong(0x80000000'00000000), + }); } - status = ps4Exec(mainThread, execEnv, std::move(executableModule), - ps4Argv, {}); } + status = ps4Exec(mainThread, execEnv, std::move(executableModule), ps4Argv, {}); } else {