@@ -577,11 +577,20 @@ static void hkClientRemoteStorage_PipeLoop(void* pClientRemoteStorage, void* a1,
577577 hooked = true ;
578578 }
579579
580+ // Cloud & Workshop
580581 FakeAppIds::pipeLoop (false );
581582 Hooks::IClientRemoteStorage_PipeLoop.tramp .fn (pClientRemoteStorage, a1, a2, a3);
582583 FakeAppIds::pipeLoop (true );
583584}
584585
586+ static void hkClientUGC_PipeLoop (void * pClientUGC, void * a1, void * a2, void * a3)
587+ {
588+ // Workshop
589+ FakeAppIds::pipeLoop (false );
590+ Hooks::IClientUGC_PipeLoop.tramp .fn (pClientUGC, a1, a2, a3);
591+ FakeAppIds::pipeLoop (true );
592+ }
593+
585594static uint32_t hkClientUtils_GetAppId (void * pClientUtils)
586595{
587596 uint32_t appId = Hooks::IClientUtils_GetAppId.originalFn .fn (pClientUtils);
@@ -818,6 +827,7 @@ static void hkClientUser_PipeLoop(void* pClientUser, void* a1, void* a2, void* a
818827
819828static void hkClientUserStats_PipeLoop (void * pClientUserStats, void * a1, void * a2, void * a3)
820829{
830+ // Achievements
821831 FakeAppIds::pipeLoop (false );
822832 Hooks::IClientUserStats_PipeLoop.tramp .fn (pClientUserStats, a1, a2, a3);
823833 FakeAppIds::pipeLoop (true );
@@ -956,6 +966,7 @@ namespace Hooks
956966 DetourHook<IClientAppManager_PipeLoop_t> IClientAppManager_PipeLoop;
957967 DetourHook<IClientApps_PipeLoop_t> IClientApps_PipeLoop;
958968 DetourHook<IClientRemoteStorage_PipeLoop_t> IClientRemoteStorage_PipeLoop;
969+ DetourHook<IClientUGC_PipeLoop_t> IClientUGC_PipeLoop;
959970 DetourHook<IClientUtils_PipeLoop_t> IClientUtils_PipeLoop;
960971 DetourHook<IClientUser_PipeLoop_t> IClientUser_PipeLoop;
961972 DetourHook<IClientUserStats_PipeLoop_t> IClientUserStats_PipeLoop;
@@ -1031,6 +1042,7 @@ bool Hooks::setup()
10311042 && IClientApps_PipeLoop.setup (Patterns::IClientApps::PipeLoop, hkClientApps_PipeLoop)
10321043 && IClientAppManager_PipeLoop.setup (Patterns::IClientAppManager::PipeLoop, hkClientAppManager_PipeLoop)
10331044 && IClientRemoteStorage_PipeLoop.setup (Patterns::IClientRemoteStorage::PipeLoop, hkClientRemoteStorage_PipeLoop)
1045+ && IClientUGC_PipeLoop.setup (Patterns::IClientUGC::PipeLoop, hkClientUGC_PipeLoop)
10341046 && IClientUtils_PipeLoop.setup (Patterns::IClientUtils::PipeLoop, hkClientUtils_PipeLoop)
10351047 && IClientUser_PipeLoop.setup (Patterns::IClientUser::PipeLoop, hkClientUser_PipeLoop)
10361048 && IClientUserStats_PipeLoop.setup (Patterns::IClientUserStats::PipeLoop, hkClientUserStats_PipeLoop)
@@ -1078,6 +1090,7 @@ void Hooks::place()
10781090 IClientApps_PipeLoop.place ();
10791091 IClientAppManager_PipeLoop.place ();
10801092 IClientRemoteStorage_PipeLoop.place ();
1093+ IClientUGC_PipeLoop.place ();
10811094 IClientUtils_PipeLoop.place ();
10821095 IClientUser_PipeLoop.place ();
10831096 IClientUserStats_PipeLoop.place ();
@@ -1117,6 +1130,7 @@ void Hooks::remove()
11171130 IClientApps_PipeLoop.remove ();
11181131 IClientAppManager_PipeLoop.remove ();
11191132 IClientRemoteStorage_PipeLoop.remove ();
1133+ IClientUGC_PipeLoop.remove ();
11201134 IClientUtils_PipeLoop.remove ();
11211135 IClientUser_PipeLoop.remove ();
11221136 IClientUserStats_PipeLoop.remove ();
0 commit comments