Commits

Didrole committed 0fe5373

Updated ... everything.

Comments (0)

Files changed (25)

Open Steamworks/AppsCommon.h

 	k_EAppStateUpdateRequired	= 2,
 	k_EAppStateFullyInstalled	= 4,
 	k_EAppStateDataEncrypted	= 8,
+	k_EAppStateSharedOnly		= 64,
 	k_EAppStateDataLocked		= 16,
 	k_EAppStateFilesMissing		= 32,
 	k_EAppStateFilesCorrupt		= 128,
-	k_EAppStateAppRunning		= 64,
+	k_EAppStateAppRunning		= 8192,
 	k_EAppStateBackupRunning	= 4096,
 	k_EAppStateUpdateRunning	= 256,
 	k_EAppStateUpdateStopping	= 8388608,
 	k_EAppErrorCorruptDepotCache = 27,
 	k_EAppErrorMissingExecutable = 28,
 	k_EAppErrorInvalidPlatform = 29,
+	k_EAppErrorInvalidFileSystem = 30,
+	k_EAppErrorCorruptUpdateFiles = 31,
 };
 
 //-----------------------------------------------------------------------------
 	k_EAppOwernshipFlagsFreeLicense =		1 << 1,
 	k_EAppOwernshipFlagsRegionRestricted =	1 << 2,
 	k_EAppOwernshipFlagsLowViolence =		1 << 3,
+	k_EAppOwernshipFlagsInvalidPlatform =	1 << 4,
 };
 
 enum EAppReleaseState
 
 	EResult m_EResult;
 	uint32 m_cAppsUpdated;
+	bool m_bSteam2CDDBChanged;
 };
 
 struct AppEventTriggered_t
 	enum { k_iCallback = k_iSteamAppsCallbacks + 7 };
 
 	AppId_t m_nAppID;
-	EResult m_eResult;
+	bool m_bFinished;
 
 	uint64 m_TotalBytesValidated;
 	uint64 m_TotalBytesFailed;
 	uint32 m_TotalFilesValidated;
 	uint32 m_TotalFilesFailed;
+	uint32 m_TotalFilesFailedCEGFiles;
 };
 
 //-----------------------------------------------------------------------------
 	bool m_bInstall;
 };
 
+struct AppLaunchTenFootOverlay_t
+{
+	enum { k_iCallback = k_iSteamAppsCallbacks + 11 };
+
+	CGameID m_GameID;
+	uint64 m_nPid;
+	bool m_bCanShareSurfaces;
+};
+
 struct AppBackupStatus_t
 {
 	enum { k_iCallback = k_iSteamAppsCallbacks + 12 };
 
-	// TODO : Reverse this callback
+	AppId_t m_nAppID;
+	EResult m_eResult;
+	
+	uint64 m_unBytesToProcess;
+	uint64 m_unBytesProcessed;
+	uint64 m_unTotalBytesWritten;
+	uint64 m_unBytesFailed;
 };
 
 struct RequestAppProofOfPurchaseKeyResponse_t

Open Steamworks/ClientCommon.h

 class ISteamGameServerStats;
 class ISteamHTTP;
 class ISteamScreenshots;
+class ISteamUnifiedMessages;
 
 
 #define CLIENTENGINE_INTERFACE_VERSION "CLIENTENGINE_INTERFACE_VERSION002"

Open Steamworks/IClientAppManager.h

 	// /!\ IPC is broken for this function
 	virtual bool GetAppSizeOnDisk( AppId_t unAppID, uint64 *pullAppSize, uint64 *pullUnk ) = 0;
 	
-	virtual uint32 GetAppInstallDir( AppId_t unAppID, char *pchPath, uint32 cbPath ) = 0;
+	virtual uint32 GetAppInstallDir( AppId_t unAppID, char *pchPath, uint32 cchPath ) = 0;
 	
 	virtual bool IsAppDlcInstalled( AppId_t unAppID, AppId_t unDLCAppID ) = 0;
 	virtual uint32 GetNumInstalledApps() = 0;
 
 	virtual uint32 GetAppDependency( AppId_t unAppID ) = 0;
 	virtual uint32 GetDependentApps( AppId_t unAppID, AppId_t *punAppIDs, int32 cAppIDsMax ) = 0;
-	virtual bool RemoveAppDependencies( AppId_t unAppID ) = 0;
 
 	virtual uint32 GetUpdateInfo( AppId_t unAppID, AppUpdateInfo_s *pUpdateInfo ) = 0;
 
 
 	virtual bool SetAppConfig( AppId_t unAppID, uint8 *pchBuffer, int32 cbBuffer, bool bSharedKVSymbols ) = 0;
 	virtual int32 GetAppConfigValue( AppId_t unAppID, const char *pchKey, char *pchValue, int32 cchValueMax ) = 0;
+	virtual bool SetAppConfigValue( AppId_t unAppID, const char *pchKey, const char *pchValue ) = 0;
 
 	virtual bool BIsAppUpToDate( AppId_t unAppID ) = 0;
 	
+	virtual uint32 GetAvailableLaunchOptions( AppId_t unAppID, uint32 puOptions[], uint32 cuOptionsMax ) = 0;
+	virtual uint32 GetAvailableLanguages( AppId_t unAppID, bool, char *pchLanguages, uint32 cchLanguagesMax ) = 0;
+	
 	virtual bool StartValidatingApp( AppId_t unAppID ) = 0;
 	virtual bool MarkContentCorrupt( AppId_t unAppID, bool bCorrupt ) = 0;
 	
+	virtual uint32 GetInstalledDepots( AppId_t unAppID, AppId_t puDepots[], uint32 cuDepotsMax ) = 0;
+	
 	virtual bool BCacheBetaPassword( AppId_t unAppID, const char *cszBetaKey, const char *cszBetaPassword ) = 0;
 	virtual bool BRequestBetaPasswords( AppId_t unAppID ) = 0;
 	virtual bool BIsCachedBetaPasswordValid( AppId_t unAppID, const char *cszBetaKey ) = 0;
 	virtual EAppUpdateError RestoreApp( AppId_t unAppID, int32 iBaseFolder, char const *cszBackupPath ) = 0;
 	virtual bool BNeedsFile( AppId_t unAppID, char const *cszFilePath, uint64 ullFileSize, uint32 uUnk ) = 0;
 	virtual bool BAddFileOnDisk( AppId_t unAppID, char const *cszFilePath, uint64 ullFileSize, uint32 uUnk, SHADigestWrapper_t ubSha1 ) = 0;
-	virtual uint64 FinishAddingFiles( AppId_t unAppID ) = 0;
+	virtual uint32 FinishAddingFiles( AppId_t unAppID ) = 0;
 
-	virtual bool GetAppStateInfo( AppId_t unAppID, EAppReleaseState * peReleaseState, EAppOwernshipFlags * peOwernshipFlags ) = 0;
+	virtual bool GetAppStateInfo( AppId_t unAppID, EAppReleaseState * peReleaseState, EAppOwernshipFlags * peOwernshipFlags, EAppState * peAppState ) = 0;
 	
 	virtual int32 GetNumInstallBaseFolders() = 0;
 	virtual int32 GetInstallBaseFolder( int32 iBaseFolder, char *pchPath, int32 cbPath ) = 0;

Open Steamworks/IClientApps.h

 	virtual int32 GetAllOwnedMultiplayerApps( uint32 *punAppIDs, int32 cAppIDsMax ) = 0;
 
 	virtual int32 GetAppDataSection( AppId_t unAppID, EAppInfoSection eSection, uint8 *pchBuffer, int32 cbBufferMax, bool bSharedKVSymbols ) = 0;
-	virtual bool RequestAppInfoUpdate( const AppId_t *pAppIDs, int32 nNumAppIDs, bool bForceUpdate ) = 0;
+	virtual bool RequestAppInfoUpdate( const AppId_t *pAppIDs, int32 nNumAppIDs ) = 0;
 
 	virtual void NotifyAppEventTriggered( AppId_t unAppID, EAppEvent eAppEvent ) = 0;
 	virtual void NotifyDlcInstalled( AppId_t unAppID ) = 0;

Open Steamworks/IClientBilling.h

 
 	virtual bool CancelLicense( PackageId_t packageID, int32 nCancelReason ) = 0;
 
-	virtual bool AcknowledgePurchaseReceipt( uint32 nReceiptIndex ) = 0;
-
 	virtual PackageId_t GetLicensePackageID( uint32 nLicenseIndex ) = 0;
 	virtual RTime32 GetLicenseTimeCreated( uint32 nLicenseIndex ) = 0;
 	virtual RTime32 GetLicenseTimeNextProcess( uint32 nLicenseIndex ) = 0;
 	virtual EPurchaseResultDetail GetReceiptResultDetail( uint32 nReceiptIndex ) = 0;
 	virtual RTime32 GetReceiptTransTime( uint32 nReceiptIndex ) = 0;
 	virtual uint64 GetReceiptTransID( uint32 nReceiptIndex ) = 0;
-	virtual bool GetReceiptAcknowledged( uint32 nReceiptIndex ) = 0;
 	virtual EPaymentMethod GetReceiptPaymentMethod( uint32 nReceiptIndex ) = 0;
 	virtual uint32 GetReceiptBaseCost( uint32 nReceiptIndex ) = 0;
 	virtual uint32 GetReceiptTotalDiscount( uint32 nReceiptIndex ) = 0;

Open Steamworks/IClientEngine.h

 class IClientConfigStore;
 class IClientScreenshots;
 class IClientAudio;
+class IClientUnifiedMessages;
 
 abstract_class UNSAFE_INTERFACE IClientEngine
 {
 	virtual bool BShutdownIfAllPipesClosed() = 0;
 
 	virtual IClientAudio *GetIClientAudio( HSteamUser hSteamUser, HSteamPipe hSteamPipe, char const* pchVersion ) = 0;
+	virtual IClientUnifiedMessages *GetIClientUnifiedMessages( HSteamUser hSteamUser, HSteamPipe hSteamPipe, char const* pchVersion ) = 0;
 };
 
 #endif // ICLIENTENGINE_H

Open Steamworks/IClientFriends.h

 	virtual const char * GetPlayerNickname( CSteamID playerSteamID ) = 0;
 	virtual bool SetPlayerNickname( CSteamID playerSteamID, const char *cszNickname ) = 0;
 
+	virtual uint32 GetFriendsSteamLevel( CSteamID steamIDFriend ) = 0;
+	
 	 virtual int32 GetChatMessagesCount( CSteamID steamIDFriend ) = 0;
 	// chat message iteration
 	// returns the number of bytes in the message, filling pvData with as many of those bytes as possible
 	// returns 0 if the steamID or iChatID are invalid
-	virtual int32 GetChatMessage( CSteamID steamIDFriend, int32 iChatID, void *pvData, int32 cubData, EChatEntryType *peChatEntryType, CSteamID* pSteamIDChatter ) = 0;
+	virtual int32 GetChatMessage( CSteamID steamIDFriend, int32 iChatID, void *pvData, int32 cubData, EChatEntryType *peChatEntryType, CSteamID* pSteamIDChatter, RTime32 *puTime ) = 0;
 
 	// generic friend->friend message sending, takes a sized buffer
 	virtual bool SendMsgToFriend( CSteamID steamIDFriend, EChatEntryType eChatEntryType, const void *pvMsgBody, int32 cubMsgBody ) = 0;
 	virtual SteamAPICall_t GetFollowerCount( CSteamID steamID ) = 0;
 	virtual SteamAPICall_t IsFollowing( CSteamID steamID ) = 0;
 	virtual SteamAPICall_t EnumerateFollowingList( uint32 uStartIndex ) = 0;
+
+	virtual bool BOfflineMessagesEnabled() = 0;
+	virtual void RequestFriendMessageHistory( CSteamID steamIDFriend ) = 0;
+	virtual void RequestFriendMessageHistoryForOfflineMessages() = 0;
 };
 
 #endif // ICLIENTFRIENDS_H

Open Steamworks/IClientMatchmaking.h

 	virtual bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner ) = 0;
 	virtual bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobby2 ) = 0;
 
-	virtual int32 GetGMSServerCount() = 0;
-	virtual bool GetGMSServerAddress( int32 iServer, uint32 *punServerIP, uint16 *pusServerPort ) = 0;
-
 	virtual uint64 BeginGMSQuery( AppId_t nAppId, int32 iRegionCode, const char* szFilterText ) = 0;
 	virtual int32 PollGMSQuery( uint64 ullGMSQuery ) = 0;
 	virtual int32 GetGMSQueryResults( uint64 ullGMSQuery, GMSQueryResult_t *pGMSQueryResults, int32 nResultBufSizeInBytes ) = 0;

Open Steamworks/IClientRemoteStorage.h

 	virtual void SetCloudEnabledForApp( AppId_t nAppId, bool bEnable );
 
 	virtual SteamAPICall_t UGCDownload( UGCHandle_t hContent, bool bUseNewCallback, uint32 uUnk ) = 0; // Old callback id = 1308, new callback id = 1317
+	virtual SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *cszLocation, uint32 uUnk ) = 0;
+
 	virtual bool GetUGCDownloadProgress( UGCHandle_t hContent, uint32 *puDownloadedBytes, uint32 *puTotalBytes );
 	virtual bool GetUGCDetails( UGCHandle_t hContent, AppId_t *pnAppID, char **ppchName, int32 *pnFileSizeInBytes, CSteamID *pSteamIDOwner ) = 0;
 	virtual int32 UGCRead( UGCHandle_t hContent, void *pubDest, int32 nDestBufferSize, uint32 uOffset ) = 0;
 	virtual SteamAPICall_t DeletePublishedFile( PublishedFileId_t unPublishedFileId ) = 0;
 	virtual SteamAPICall_t EnumerateUserPublishedFiles( AppId_t nAppId, uint32 uStartIndex, ERemoteStoragePublishedFileSortOrder eOrder ) = 0;
 	virtual SteamAPICall_t SubscribePublishedFile( AppId_t nAppId, PublishedFileId_t unPublishedFileId ) = 0;
-	virtual SteamAPICall_t EnumerateUserSubscribedFiles( AppId_t nAppId, uint32 uStartIndex ) = 0;
+	virtual SteamAPICall_t EnumerateUserSubscribedFiles( AppId_t nAppId, uint32 uStartIndex, uint8 uListType, EPublishedFileInfoMatchingFileType eMatchingFileType ) = 0;
 	virtual SteamAPICall_t UnsubscribePublishedFile( AppId_t nAppId, PublishedFileId_t unPublishedFileId ) = 0;
 	
 	virtual SteamAPICall_t SetUserPublishedFileAction( AppId_t nAppId, PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ) = 0;

Open Steamworks/IClientScreenshots.h

 
 	virtual bool SetLocation( CGameID gameID, ScreenshotHandle hScreenshot, const char *cszLocation ) = 0;
 	virtual bool TagUser( CGameID gameID, ScreenshotHandle hScreenshot, CSteamID userID ) = 0;
-
+	virtual bool TagPublishedFile( CGameID gameID, ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileId ) = 0;
+	
 	virtual bool ResolvePath( CGameID gameID, ScreenshotHandle hScreenshot, bool bUnk, char *szResolvedPath, uint32 cubResolvedPath ) = 0;
 	virtual uint32 GetSizeOnDisk( CGameID gameID, ScreenshotHandle hScreenshot ) = 0;
 	virtual uint32 GetSizeInCloud( CGameID gameID, ScreenshotHandle hScreenshot ) = 0;
 	virtual bool CancelBatch() = 0;
 
 	virtual void RecoverOldScreenshots() = 0;
-	virtual int32 GetTaggedUserCount( CGameID gameID, ScreenshotHandle hScreenshot ) = 0;
+	virtual uint32 GetTaggedUserCount( CGameID gameID, ScreenshotHandle hScreenshot ) = 0;
 	STEAMWORKS_STRUCT_RETURN_3(CSteamID, GetTaggedUser, CGameID, gameID, ScreenshotHandle, hScreenshot, int32, iUserIndex) /*virtual CSteamID GetTaggedUser( CGameID gameID, ScreenshotHandle hScreenshot, int32 iUserIndex ) = 0;*/
 	virtual bool GetLocation( CGameID gameID, ScreenshotHandle hScreenshot, char *pchLocation, uint32 cubLocation ) = 0;
+	
+	virtual uint32 GetTaggedPublishedFileCount( CGameID gameID, ScreenshotHandle hScreenshot ) = 0;
+	virtual PublishedFileId_t GetTaggedPublishedFile( CGameID gameID, ScreenshotHandle hScreenshot, int32 iPublishedFileIndex ) = 0;
 };
 
 #endif // ICLIENTSCREENSHOTS_H

Open Steamworks/IClientUnifiedMessages.h

+//==========================  Open Steamworks  ================================
+//
+// This file is part of the Open Steamworks project. All individuals associated
+// with this project do not claim ownership of the contents
+// 
+// The code, comments, and all related files, projects, resources,
+// redistributables included with this project are Copyright Valve Corporation.
+// Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
+// Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
+// Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
+// Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
+// Zero are trademarks and or registered trademarks of Valve Corporation.
+// All other trademarks are property of their respective owners.
+//
+//=============================================================================
+
+#ifndef ICLIENTUNIFIEDMESSAGES_H
+#define ICLIENTUNIFIEDMESSAGES_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "SteamTypes.h"
+#include "UnifiedMessagesCommon.h"
+
+abstract_class UNSAFE_INTERFACE IClientUnifiedMessages
+{
+public:
+	virtual uint64 SendMethod( const char *, const void *, uint32, uint64 ) = 0;
+	virtual bool GetMethodResponseInfo( uint64, uint32 *, EResult * ) = 0;
+	virtual bool GetMethodResponseData( uint64, void *, uint32, bool ) = 0;
+	virtual bool ReleaseMethod( uint64 ) = 0;
+	virtual bool SendNotification( const char *, const void *, uint32 ) = 0;
+};
+
+#endif // ICLIENTUNIFIEDMESSAGES_H
+ 

Open Steamworks/IClientUser.h

 
 	virtual bool BIsAnyGameRunning() = 0;
 
+	virtual void TestAvailablePassword( const uint8 *pubDigestPassword, int32 cubDigestPassword ) = 0;
+	virtual void GetSteamGuardDetails() = 0;
+
 	virtual void ChangePassword( const char *pchOldPassword, const char *pchNewPassword ) = 0;
 	virtual void ChangeEmail( const char *, const char *pchEmail ) = 0;
 	virtual void ChangeSecretQuestionAndAnswer( const char *, int32 iQuestion, const char *pchNewQuestion, const char *pchNewAnswer ) = 0;
 	virtual SteamAPICall_t RequestEncryptedAppTicket( const void *pUserData, int32 cbUserData ) = 0;
 	virtual bool GetEncryptedAppTicket( void *pTicket, int32 cbMaxTicket, uint32 *pcbTicket ) = 0;
 
-	virtual SteamAPICall_t RequestOAuthTokenForApp( const char *cszOAuthScope ) = 0;
-	virtual bool GetOAuthTokenForApp( void *pubBuffer, int32 cubBuffer, uint32 *puTokenSize ) = 0;
-	virtual void InvalidateOAuthTokenForApp() = 0;
-
 	virtual void SetAccountLimited( bool bAccountLimited ) = 0;
 	virtual bool BIsAccountLimited() = 0;
 
 
 	virtual int32 GetMicroTxnLineItemCount( GID_t gidTransID ) = 0;
 
-	virtual bool BGetMicroTxnLineItem( GID_t gidTransID, uint32 unLineItem, CAmount *pamt, uint32 *punQuantity, char *pchDescription, uint32 cubDescriptionLength ) = 0;
+	virtual bool BGetMicroTxnLineItem( GID_t gidTransID, uint32 unLineItem, CAmount *pamt, uint32 *punQuantity, char *pchDescription, uint32 cubDescriptionLength, int32 *pRecurringTimeUnit, uint8 *pRecurringFrequency, CAmount *pRecurringAmount ) = 0;
 
 	virtual bool BIsSandboxMicroTxn( GID_t gidTransID, bool* pbSandbox ) = 0;
+	
+	virtual bool BMicroTxnRequiresCachedPmtMethod( GID_t gidTransID, bool *pbRequired ) = 0;
 
 	virtual SteamAPICall_t AuthorizeMicroTxn( GID_t gidTransID, EMicroTxnAuthResponse eMicroTxnAuthResponse ) = 0;
 
-	virtual void NotifyAppMicroTxnAuthResponse( AppId_t unAppID, uint64 ulOrderID, bool bAuthorized ) = 0;
-
 	virtual bool BGetWalletBalance( bool *pbHasWallet, CAmount *pamtBalance ) = 0;
 
 	virtual SteamAPICall_t RequestMicroTxnInfo( GID_t gidTransID ) = 0;
 	virtual bool ShowSteamGuardProviderOptions() = 0;
 	virtual bool SteamGuardProviderMobileIsOption() = 0;
 
+	virtual bool BSteamGuardNewMachineNotification() = 0;
+	virtual RTime32 GetSteamGuardEnabledTime() = 0;
+	virtual bool GetSteamGuardHistoryEntry( int32 iEntryIndex, RTime32 *puTimestamp, uint32 *puIP, bool *pbIsRemembered ) = 0;
+
 	virtual bool BAccountCanUseIPT() = 0;
 	virtual void ChangeTwoFactorAuthOptions( int32 eOption ) = 0;
 	virtual void ChangeSteamGuardOptions( ESteamGuardProvider eProvider, bool bRequireCode ) = 0;

Open Steamworks/ISteamApps005.h

 	
 	virtual bool GetCurrentBetaName( char *pchName, int32 cchNameBufferSize ) = 0;
 	virtual bool MarkContentCorrupt( bool bCorrupt ) = 0;
+	
+	virtual uint32 GetInstalledDepots( AppId_t puDepots[], uint32 cuDepotsMax ) = 0;
+	virtual uint32 GetAppInstallDir( char *pchPath, uint32 cchPath ) = 0;
 };
 
 

Open Steamworks/ISteamBilling002.h

 	virtual bool CancelLicense( PackageId_t nPackageID, int32 nCancelReason ) = 0;
 
 	virtual bool GetPurchaseReceipts( bool bUnacknowledgedOnly ) = 0;
-	virtual bool AcknowledgePurchaseReceipt( uint32 nReceiptIndex ) = 0;
 
 	// Sets the billing address in the ISteamBilling object for use by other ISteamBilling functions (not stored on server)
 	virtual bool SetBillingAddress( uint32 nCardIndex, const char *pchFirstName, const char *pchLastName, const char *pchAddress1, const char *pchAddress2, const char *pchCity, const char *pchPostcode, const char *pchState, const char *pchCountry, const char *pchPhone ) = 0;
 	virtual EPurchaseResultDetail GetReceiptResultDetail( uint32 nReceiptIndex ) = 0;
 	virtual RTime32 GetReceiptTransTime( uint32 nReceiptIndex ) = 0;
 	virtual uint64 GetReceiptTransID( uint32 nReceiptIndex ) = 0;
-	virtual bool GetReceiptAcknowledged( uint32 nReceiptIndex ) = 0;
 	virtual EPaymentMethod GetReceiptPaymentMethod( uint32 nReceiptIndex ) = 0;
 	virtual uint32 GetReceiptBaseCost( uint32 nReceiptIndex ) = 0;
 	virtual uint32 GetReceiptTotalDiscount( uint32 nReceiptIndex ) = 0;

Open Steamworks/ISteamClient012.h

 	virtual bool BShutdownIfAllPipesClosed() = 0;
 
 	virtual ISteamHTTP* GetISteamHTTP( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0;
+	
+	virtual ISteamUnifiedMessages* GetISteamUnifiedMessages( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0;
+
 };
 
 

Open Steamworks/ISteamOAuth001.h

 #include "OAuthCommon.h"
 
 
-abstract_class ISteamOAuth001
+abstract_class OBSOLETE_INTERFACE ISteamOAuth001
 {
 public:
 	virtual SteamAPICall_t RequestOAuthTokenForApp( const char *cszOAuthScope ) = 0;

Open Steamworks/ISteamRemoteStorage010.h

 	virtual SteamAPICall_t SetUserPublishedFileAction( PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ) = 0;
 	virtual SteamAPICall_t EnumeratePublishedFilesByUserAction( EWorkshopFileAction eAction, uint32 uStartIndex ) = 0;
 	virtual SteamAPICall_t EnumeratePublishedWorkshopFiles( EWorkshopEnumerationType eType, uint32 uStartIndex, uint32 cDays, uint32 cCount, SteamParamStringArray_t *pTags, SteamParamStringArray_t *pUserTags ) = 0;
+	
+	virtual SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *cszLocation, uint32 uUnk ) = 0;
 };
 
 #endif // ISTEAMREMOTESTORAGE010_H

Open Steamworks/ISteamScreenshots002.h

+//==========================  Open Steamworks  ================================
+//
+// This file is part of the Open Steamworks project. All individuals associated
+// with this project do not claim ownership of the contents
+// 
+// The code, comments, and all related files, projects, resources,
+// redistributables included with this project are Copyright Valve Corporation.
+// Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
+// Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
+// Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
+// Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
+// Zero are trademarks and or registered trademarks of Valve Corporation.
+// All other trademarks are property of their respective owners.
+//
+//=============================================================================
+
+#ifndef ISTEAMSCREENSHOTS002_H
+#define ISTEAMSCREENSHOTS002_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "SteamTypes.h"
+#include "ScreenshotsCommon.h"
+
+//-----------------------------------------------------------------------------
+// Purpose: Functions for adding screenshots to the user's screenshot library
+//-----------------------------------------------------------------------------
+abstract_class ISteamScreenshots002
+{
+
+public:
+	// Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format.
+	// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
+	virtual ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight ) = 0;
+
+	// Adds a screenshot to the user's screenshot library from disk.  If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio
+	// as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot.  The screenshots must be in either JPEG or TGA format.
+	// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
+	virtual ScreenshotHandle AddScreenshotToLibrary( const char *pchJpegOrTGAFilename, const char *pchJpegOrTGAThumbFilename, int nWidth, int nHeight ) = 0;
+
+	// Causes the Steam overlay to take a screenshot.  If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead. 
+	virtual void TriggerScreenshot() = 0;
+
+	// Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or the game handles them.  If the game is hooking screenshots,
+	// then the ScreenshotRequested_t callback will be sent if the user presses the hotkey, and the game is expected to call WriteScreenshot or AddScreenshotToLibrary
+	// in response.
+	virtual void HookScreenshots( bool bHook ) = 0;
+
+	// Sets metadata about a screenshot's location (for example, the name of the map)
+	virtual bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation ) = 0;
+
+	// Tags a user as being visible in the screenshot
+	virtual bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID ) = 0;
+	
+	virtual bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileId ) = 0;
+};
+
+
+#endif // ISTEAMSCREENSHOTS002_H

Open Steamworks/ISteamUnifiedMessages001.h

+//==========================  Open Steamworks  ================================
+//
+// This file is part of the Open Steamworks project. All individuals associated
+// with this project do not claim ownership of the contents
+// 
+// The code, comments, and all related files, projects, resources,
+// redistributables included with this project are Copyright Valve Corporation.
+// Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
+// Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
+// Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
+// Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
+// Zero are trademarks and or registered trademarks of Valve Corporation.
+// All other trademarks are property of their respective owners.
+//
+//=============================================================================
+
+#ifndef ISTEAMUNIFIEDMESSAGES001_H
+#define ISTEAMUNIFIEDMESSAGES001_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "SteamTypes.h"
+#include "UnifiedMessagesCommon.h"
+
+abstract_class ISteamUnifiedMessages001
+{
+public:
+	virtual uint64 SendMethod( const char *, const void *, uint32, uint64 ) = 0;
+	virtual bool GetMethodResponseInfo( uint64, uint32 *, EResult * ) = 0;
+	virtual bool GetMethodResponseData( uint64, void *, uint32, bool ) = 0;
+	virtual bool ReleaseMethod( uint64 ) = 0;
+	virtual bool SendNotification( const char *, const void *, uint32 ) = 0;
+};
+
+
+#endif // ISTEAMUNIFIEDMESSAGES001_H

Open Steamworks/RemoteStorageCommon.h

 	k_ERemoteStorageFileRootSteamCloudDocuments,
 	k_ERemoteStorageFileRootWinAppDataLocalLow,
 	k_ERemoteStorageFileRootMacCaches,
+	k_ERemoteStorageFileRootLinuxHome,
+	k_ERemoteStorageFileRootLinuxXdgDataHome,
 	k_ERemoteStorageFileRootMax
 };
 
 	k_EWorkshopEnumerationTypeCreatedByFollowed = 6,
 };
 
+enum EPublishedFileInfoMatchingFileType
+{
+	// TODO: Reverse this enum
+};
+
 #pragma pack( push, 8 )
 
 struct SteamParamStringArray_t

Open Steamworks/ScreenshotsCommon.h

 // versions
 #define CLIENTSCREENSHOTS_INTERFACE_VERSION "CLIENTSCREENSHOTS_INTERFACE_VERSION001"
 #define STEAMSCREENSHOTS_INTERFACE_VERSION_001 "STEAMSCREENSHOTS_INTERFACE_VERSION001"
+#define STEAMSCREENSHOTS_INTERFACE_VERSION_002 "STEAMSCREENSHOTS_INTERFACE_VERSION002"
 
 // Handle is valid for the lifetime of your process and no longer
 typedef uint32 ScreenshotHandle;

Open Steamworks/SteamTypes.h

 	k_iClientScreenshotsCallbacks = 2200,
 	k_iSteamScreenshotsCallbacks = 2300,
 	k_iClientAudioCallbacks = 2400,
+	k_iSteamUnifiedMessagesCallbacks = 2500,
 };
 
 

Open Steamworks/Steamclient.h

 
 // screenshots
 #include "ISteamScreenshots001.h"
+#include "ISteamScreenshots002.h"
 
 // user
 #include "ISteamUser004.h"
 #include "ISteamHTTP001.h"
 #include "ISteamHTTP002.h"
 
+// unified messages
+#include "ISteamUnifiedMessages001.h"
+
 #ifndef NO_ICLIENT
 // client interfaces
 #include "IClientEngine.h"
 #include "IClientUtils.h"
 #include "IClientHTTP.h"
 #include "IClientConfigStore.h"
+#include "IClientUnifiedMessages.h"
 #endif // NO_ICLIENT
 
 // callback

Open Steamworks/UnifiedMessagesCommon.h

+ //==========================  Open Steamworks  ================================
+//
+// This file is part of the Open Steamworks project. All individuals associated
+// with this project do not claim ownership of the contents
+// 
+// The code, comments, and all related files, projects, resources,
+// redistributables included with this project are Copyright Valve Corporation.
+// Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
+// Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
+// Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
+// Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
+// Zero are trademarks and or registered trademarks of Valve Corporation.
+// All other trademarks are property of their respective owners.
+//
+//=============================================================================
+
+#ifndef UNIFIEDMESSAGESCOMMON_H
+#define UNIFIEDMESSAGESCOMMON_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+// versions
+#define CLIENTUNIFIEDMESSAGES_INTERFACE_VERSION "CLIENTUNIFIEDMESSAGES_INTERFACE_VERSION001"
+#define STEAMUNIFIEDMESSAGES_INTERFACE_VERSION_001 "STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001"
+
+
+// callbacks
+#pragma pack( push, 8 )
+
+
+#pragma pack( pop )
+
+
+#endif // UNIFIEDMESSAGESCOMMON_H

Open Steamworks/UserCommon.h

 
 	CSteamID m_steamIDFriend;
 	AppId_t m_unAppID;
-	char m_szStatus;
+	char m_szStatus[512];
+};
+
+struct UpdateOfflineMessageNotification_t
+{
+	enum { k_iCallback = k_iClientUserCallbacks + 62 };
+	
+	// TODO : Reverse this callback
+};
+
+struct FriendMessageHistoryChatLog_t
+{
+	enum { k_iCallback = k_iClientUserCallbacks + 63 };
+	
+	// TODO : Reverse this callback
+};
+
+struct TestAvailablePasswordResponse_t
+{
+	enum { k_iCallback = k_iClientUserCallbacks + 64 };
+	
+	// TODO : Reverse this callback
+};
+
+// 65 ??
+
+struct GetSteamGuardDetailsResponse_t
+{
+	enum { k_iCallback = k_iClientUserCallbacks + 66 };
+	
+	// TODO : Reverse this callback
 };
 
 #pragma pack( pop )
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.