@@ -248,6 +248,57 @@ class CSteamAPIContext
248248
249249};
250250
251+ extern CSteamAPIContext g_ClientCtx;
252+
253+ class CSteamAppsStub : public ISteamApps
254+ {
255+ public:
256+ virtual bool BIsSubscribed () override { return true ; }
257+ virtual bool BIsLowViolence () override { return true ; }
258+ virtual bool BIsCybercafe () override { return false ; }
259+ virtual bool BIsVACBanned () override { return false ; }
260+ virtual const char *GetCurrentGameLanguage () override { return " english" ; }
261+ virtual const char *GetAvailableGameLanguages () override { return " english" ; }
262+ virtual bool BIsSubscribedApp (AppId_t appID) override { return true ; }
263+ virtual bool BIsDlcInstalled (AppId_t appID) override { return true ; }
264+ virtual uint32 GetEarliestPurchaseUnixTime (AppId_t nAppID) override { return 0 ; }
265+ virtual bool BIsSubscribedFromFreeWeekend () override { return false ; }
266+ virtual int GetDLCCount () override { return 0 ; }
267+ virtual bool BGetDLCDataByIndex (int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize) override { return false ; }
268+ virtual void InstallDLC (AppId_t nAppID) override {}
269+ virtual void UninstallDLC (AppId_t nAppID) override {}
270+ virtual void RequestAppProofOfPurchaseKey (AppId_t nAppID) override {}
271+ virtual bool GetCurrentBetaName (char *pchName, int cchNameBufferSize) override { return false ; }
272+ virtual bool MarkContentCorrupt (bool bMissingFilesOnly) override { return false ; }
273+ virtual uint32 GetInstalledDepots (AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots) override { return 0 ; }
274+ virtual uint32 GetAppInstallDir (AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize) override { return 0 ; }
275+ virtual bool BIsAppInstalled (AppId_t appID) override { return true ; }
276+
277+ virtual CSteamID GetAppOwner () override {
278+ if (g_ClientCtx.SteamUser ())
279+ return g_ClientCtx.SteamUser ()->GetSteamID ();
280+ return k_steamIDNil;
281+ }
282+
283+ virtual const char *GetLaunchQueryParam (const char *pchKey) override { return " " ; }
284+ virtual bool GetDlcDownloadProgress (AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal) override { return false ; }
285+ virtual int GetAppBuildId () override { return 0 ; }
286+ virtual void RequestAllProofOfPurchaseKeys () override {}
287+ virtual SteamAPICall_t GetFileDetails (const char * pszFileName) override { return k_uAPICallInvalid; }
288+ virtual int GetLaunchCommandLine (char *pszCommandLine, int cubCommandLine) override { return 0 ; }
289+ virtual bool BIsSubscribedFromFamilySharing () override { return false ; }
290+ virtual bool BIsTimedTrial (uint32* punSecondsAllowed, uint32* punSecondsPlayed) override { return false ; }
291+ virtual bool SetDlcContext (AppId_t nAppID) override { return false ; }
292+ virtual int GetNumBetas (int * pnAvailable, int * pnPrivate) override { return 0 ; }
293+ virtual bool GetBetaInfo (int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription) override { return false ; }
294+ virtual bool SetActiveBeta (const char *pchBetaName) override { return false ; }
295+
296+ private:
297+ static CSteamAppsStub s_AppsStub;
298+ };
299+
300+ CSteamAppsStub s_AppsStub;
301+
251302class CSteamGameServerAPIContext
252303{
253304public:
@@ -308,7 +359,6 @@ extern ISteamClient* g_pSteamClientSafe;
308359extern ISteamUtils* g_pUtilsForCallbacks;
309360extern ISteamController* g_pControllerForCallbacks;
310361extern ISteamInput* g_pInputForCallbacks;
311- extern CSteamAPIContext g_ClientCtx;
312362extern bool g_bClientReady;
313363extern SRWLOCK g_CtxLock;
314364
0 commit comments