Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CodeGen/steam/isteamapps.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ class ISteamApps
virtual int GetNumBetas( int *pnAvailable, int *pnPrivate ) = 0; //

// return beta branch details, name, description, current BuildID and state flags (EBetaBranchFlags)
virtual bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription ) = 0; // iterate through
virtual bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription, uint32 *punLastUpdated ) = 0; // iterate through

// select this beta branch for this app as active, might need the game to restart so Steam can update to that branch
virtual bool SetActiveBeta( const char *pchBetaName ) = 0;
};

#define STEAMAPPS_INTERFACE_VERSION "STEAMAPPS_INTERFACE_VERSION008"
#define STEAMAPPS_INTERFACE_VERSION "STEAMAPPS_INTERFACE_VERSION009"

// Global interface accessor
inline ISteamApps *SteamApps();
Expand Down
3 changes: 3 additions & 0 deletions CodeGen/steam/isteamparentalsettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
#include "steam_api_common.h"

// Feature types for parental settings
// These end up in a 32-bit bitfield so we're
// limited on how many we can have.
enum EParentalFeature
{
k_EFeatureInvalid = 0,
Expand All @@ -31,6 +33,7 @@ enum EParentalFeature
k_EFeatureSiteLicense = 13,
k_EFeatureKioskMode_Deprecated = 14,
k_EFeatureBlockAlways = 15,
k_EFeatureDesktop = 16,
k_EFeatureMax
};

Expand Down
39 changes: 33 additions & 6 deletions CodeGen/steam/isteamremoteplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,28 @@ class ISteamRemotePlay
// Get the currently connected Steam Remote Play session ID at the specified index. Returns zero if index is out of bounds.
virtual RemotePlaySessionID_t GetSessionID( int iSessionIndex ) = 0;

// Return true if the session has joined using a Remote Play Together invitation
virtual bool BSessionRemotePlayTogether( RemotePlaySessionID_t unSessionID ) = 0;

// Get the SteamID of the connected user
virtual CSteamID GetSessionSteamID( RemotePlaySessionID_t unSessionID ) = 0;

// Get the guest ID of the connected user if they are a Remote Play Together guest
// This returns 0 if the sessionID isn't valid or the session isn't a Remote Play Together guest
virtual uint32 GetSessionGuestID( RemotePlaySessionID_t unSessionID ) = 0;

// gets the small (32x32) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid
// returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again
virtual int GetSmallSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0;

// gets the medium (64x64) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid
// returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again
virtual int GetMediumSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0;

// gets the large (184x184) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid
// returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again
virtual int GetLargeSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0;

// Get the name of the session client device
// This returns NULL if the sessionID is not valid
virtual const char *GetSessionClientName( RemotePlaySessionID_t unSessionID ) = 0;
Expand Down Expand Up @@ -337,8 +356,8 @@ class ISteamRemotePlay
// nHeight - The height of the cursor, in pixels
// nHotX - The X coordinate of the cursor hot spot in pixels, offset from the left of the cursor
// nHotY - The Y coordinate of the cursor hot spot in pixels, offset from the top of the cursor
// pBGRA - A pointer to the cursor pixels, with the color channels in red, green, blue, alpha order
// nPitch - The distance between pixel rows in bytes, defaults to nWidth * 4
// pBGRA - A pointer to the cursor pixels, with 8-bit color channels in red, green, blue, alpha order
// nPitch - The distance between pixel rows in bytes, defaults to nWidth * 4
virtual RemotePlayCursorID_t CreateMouseCursor( int nWidth, int nHeight, int nHotX, int nHotY, const void *pBGRA, int nPitch = 0 ) = 0;

// Set the mouse cursor for a remote player
Expand All @@ -348,7 +367,7 @@ class ISteamRemotePlay
virtual void SetMouseCursor( RemotePlaySessionID_t unSessionID, RemotePlayCursorID_t unCursorID ) = 0;
};

#define STEAMREMOTEPLAY_INTERFACE_VERSION "STEAMREMOTEPLAY_INTERFACE_VERSION003"
#define STEAMREMOTEPLAY_INTERFACE_VERSION "STEAMREMOTEPLAY_INTERFACE_VERSION004"

// Global interface accessor
inline ISteamRemotePlay *SteamRemotePlay();
Expand All @@ -366,17 +385,25 @@ STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemotePlay *, SteamRemotePlay, STEAM

STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionConnected_t, k_iSteamRemotePlayCallbacks + 1 )
STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID )
STEAM_CALLBACK_END( 0 )
STEAM_CALLBACK_END( 1 )


STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionDisconnected_t, k_iSteamRemotePlayCallbacks + 2 )
STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID )
STEAM_CALLBACK_END( 0 )
STEAM_CALLBACK_END( 1 )


STEAM_CALLBACK_BEGIN( SteamRemotePlayTogetherGuestInvite_t, k_iSteamRemotePlayCallbacks + 3 )
STEAM_CALLBACK_MEMBER_ARRAY( 0, char, m_szConnectURL, 1024 )
STEAM_CALLBACK_END( 0 )
STEAM_CALLBACK_END( 1 )


STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionAvatarLoaded_t, k_iSteamRemotePlayCallbacks + 4 )
STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID ) // sessionID the avatar has been loaded for
STEAM_CALLBACK_MEMBER( 1, int, m_iImage ) // the image index of the now loaded image
STEAM_CALLBACK_MEMBER( 2, int, m_iWide ) // width of the loaded image
STEAM_CALLBACK_MEMBER( 3, int, m_iTall ) // height of the loaded image
STEAM_CALLBACK_END( 4 )


#pragma pack( pop )
Expand Down
9 changes: 9 additions & 0 deletions CodeGen/steam/isteamugc.h
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,15 @@ class ISteamUGC

// Set the local load order for these items. If there are any items not in the given list, they will sort by the time subscribed.
virtual bool SetSubscriptionsLoadOrder( PublishedFileId_t *pvecPublishedFileIDs, uint32 unNumPublishedFileIDs ) = 0;

// Tells the client to no longer try to keep the item in its local cache, unless it was subscribed to by other users on this machine
virtual bool MarkDownloadedItemAsUnused( PublishedFileId_t nPublishedFileID ) = 0;

// Returns the number of items actually downloaded locally
virtual uint32 GetNumDownloadedItems() = 0;

// Returns the ids of the items downloaded
virtual uint32 GetDownloadedItems( PublishedFileId_t *pvecPublishedFileIDs, uint32 cMaxEntries ) = 0;
};

#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION021"
Expand Down
2 changes: 1 addition & 1 deletion CodeGen/steam/isteamuserstats.h
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ struct UserAchievementStored_t
enum { k_iCallback = k_iSteamUserStatsCallbacks + 3 };

uint64 m_nGameID; // Game this is for
bool m_bGroupAchievement; // if this is a "group" achievement
bool m_bGroupAchievement; // unused. if this is a "group" achievement
char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement
uint32 m_nCurProgress; // current progress towards the achievement
uint32 m_nMaxProgress; // "out of" this many
Expand Down
91 changes: 84 additions & 7 deletions CodeGen/steam/steam_api.json
Original file line number Diff line number Diff line change
Expand Up @@ -1547,6 +1547,16 @@
],
"struct": "SteamRemotePlayTogetherGuestInvite_t"
},
{
"callback_id": 5704,
"fields": [
{ "fieldname":"m_unSessionID", "fieldtype":"RemotePlaySessionID_t" },
{ "fieldname":"m_iImage", "fieldtype":"int" },
{ "fieldname":"m_iWide", "fieldtype":"int" },
{ "fieldname":"m_iTall", "fieldtype":"int" }
],
"struct": "SteamRemotePlaySessionAvatarLoaded_t"
},
{
"callback_id": 1251,
"fields": [
Expand Down Expand Up @@ -4049,7 +4059,8 @@
{ "name":"k_EFeatureSiteLicense", "value":"13" },
{ "name":"k_EFeatureKioskMode_Deprecated", "value":"14" },
{ "name":"k_EFeatureBlockAlways", "value":"15" },
{ "name":"k_EFeatureMax", "value":"16" }
{ "name":"k_EFeatureDesktop", "value":"16" },
{ "name":"k_EFeatureMax", "value":"17" }
]
},
{
Expand Down Expand Up @@ -4407,6 +4418,7 @@
{ "name":"k_ESteamNetworkingConfig_LogLevel_P2PRendezvous", "value":"17" },
{ "name":"k_ESteamNetworkingConfig_LogLevel_SDRRelayPings", "value":"18" },
{ "name":"k_ESteamNetworkingConfig_ECN", "value":"999" },
{ "name":"k_ESteamNetworkingConfig_SDRClient_EnableTOSProbes", "value":"998" },
{ "name":"k_ESteamNetworkingConfig_DELETED_EnumerateDevVars", "value":"35" },
{ "name":"k_ESteamNetworkingConfigValue__Force32Bit", "value":"2147483647" }
]
Expand Down Expand Up @@ -7882,7 +7894,7 @@
{
"kind": "user",
"name": "SteamApps",
"name_flat": "SteamAPI_SteamApps_v008"
"name_flat": "SteamAPI_SteamApps_v009"
}
],
"classname": "ISteamApps",
Expand Down Expand Up @@ -8138,7 +8150,8 @@
{ "paramname":"pchBetaName", "paramtype":"char *" },
{ "paramname":"cchBetaName", "paramtype":"int" },
{ "paramname":"pchDescription", "paramtype":"char *" },
{ "paramname":"cchDescription", "paramtype":"int" }
{ "paramname":"cchDescription", "paramtype":"int" },
{ "paramname":"punLastUpdated", "paramtype":"uint32 *" }
],
"returntype": "bool"
},
Expand All @@ -8151,7 +8164,7 @@
"returntype": "bool"
}
],
"version_string": "STEAMAPPS_INTERFACE_VERSION008"
"version_string": "STEAMAPPS_INTERFACE_VERSION009"
},
{
"accessors": [
Expand Down Expand Up @@ -10577,6 +10590,29 @@
{ "paramname":"unNumPublishedFileIDs", "paramtype":"uint32" }
],
"returntype": "bool"
},
{
"methodname": "MarkDownloadedItemAsUnused",
"methodname_flat": "SteamAPI_ISteamUGC_MarkDownloadedItemAsUnused",
"params": [
{ "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }
],
"returntype": "bool"
},
{
"methodname": "GetNumDownloadedItems",
"methodname_flat": "SteamAPI_ISteamUGC_GetNumDownloadedItems",
"params": [],
"returntype": "uint32"
},
{
"methodname": "GetDownloadedItems",
"methodname_flat": "SteamAPI_ISteamUGC_GetDownloadedItems",
"params": [
{ "paramname":"pvecPublishedFileIDs", "paramtype":"PublishedFileId_t *" },
{ "paramname":"cMaxEntries", "paramtype":"uint32" }
],
"returntype": "uint32"
}
],
"version_string": "STEAMUGC_INTERFACE_VERSION021"
Expand Down Expand Up @@ -11795,7 +11831,7 @@
{
"kind": "user",
"name": "SteamRemotePlay",
"name_flat": "SteamAPI_SteamRemotePlay_v003"
"name_flat": "SteamAPI_SteamRemotePlay_v004"
}
],
"classname": "ISteamRemotePlay",
Expand All @@ -11815,6 +11851,14 @@
],
"returntype": "RemotePlaySessionID_t"
},
{
"methodname": "BSessionRemotePlayTogether",
"methodname_flat": "SteamAPI_ISteamRemotePlay_BSessionRemotePlayTogether",
"params": [
{ "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }
],
"returntype": "bool"
},
{
"methodname": "GetSessionSteamID",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionSteamID",
Expand All @@ -11824,6 +11868,38 @@
"returntype": "CSteamID",
"returntype_flat": "uint64_steamid"
},
{
"methodname": "GetSessionGuestID",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionGuestID",
"params": [
{ "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }
],
"returntype": "uint32"
},
{
"methodname": "GetSmallSessionAvatar",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetSmallSessionAvatar",
"params": [
{ "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }
],
"returntype": "int"
},
{
"methodname": "GetMediumSessionAvatar",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetMediumSessionAvatar",
"params": [
{ "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }
],
"returntype": "int"
},
{
"methodname": "GetLargeSessionAvatar",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetLargeSessionAvatar",
"params": [
{ "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }
],
"returntype": "int"
},
{
"methodname": "GetSessionClientName",
"methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionClientName",
Expand Down Expand Up @@ -11927,7 +12003,7 @@
"returntype": "void"
}
],
"version_string": "STEAMREMOTEPLAY_INTERFACE_VERSION003"
"version_string": "STEAMREMOTEPLAY_INTERFACE_VERSION004"
},
{
"accessors": [
Expand Down Expand Up @@ -14008,7 +14084,8 @@
{ "fieldname":"m_cbPendingReliable", "fieldtype":"int" },
{ "fieldname":"m_cbSentUnackedReliable", "fieldtype":"int" },
{ "fieldname":"m_usecQueueTime", "fieldtype":"SteamNetworkingMicroseconds" },
{ "fieldname":"reserved", "fieldtype":"uint32 [16]" }
{ "fieldname":"m_usecMaxJitter", "fieldtype":"int32" },
{ "fieldname":"reserved", "fieldtype":"uint32 [15]" }
],
"struct": "SteamNetConnectionRealTimeStatus_t"
},
Expand Down
18 changes: 13 additions & 5 deletions CodeGen/steam/steam_api_flat.h
Original file line number Diff line number Diff line change
Expand Up @@ -453,9 +453,9 @@ S_API bool SteamAPI_ISteamUserStats_GetAchievementProgressLimitsFloat( ISteamUse
// ISteamApps

// A versioned accessor is exported by the library
S_API ISteamApps *SteamAPI_SteamApps_v008();
S_API ISteamApps *SteamAPI_SteamApps_v009();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamApps(), but using this ensures that you are using a matching library.
inline ISteamApps *SteamAPI_SteamApps() { return SteamAPI_SteamApps_v008(); }
inline ISteamApps *SteamAPI_SteamApps() { return SteamAPI_SteamApps_v009(); }
S_API bool SteamAPI_ISteamApps_BIsSubscribed( ISteamApps* self );
S_API bool SteamAPI_ISteamApps_BIsLowViolence( ISteamApps* self );
S_API bool SteamAPI_ISteamApps_BIsCybercafe( ISteamApps* self );
Expand Down Expand Up @@ -487,7 +487,7 @@ S_API bool SteamAPI_ISteamApps_BIsSubscribedFromFamilySharing( ISteamApps* self
S_API bool SteamAPI_ISteamApps_BIsTimedTrial( ISteamApps* self, uint32 * punSecondsAllowed, uint32 * punSecondsPlayed );
S_API bool SteamAPI_ISteamApps_SetDlcContext( ISteamApps* self, AppId_t nAppID );
S_API int SteamAPI_ISteamApps_GetNumBetas( ISteamApps* self, int * pnAvailable, int * pnPrivate );
S_API bool SteamAPI_ISteamApps_GetBetaInfo( ISteamApps* self, int iBetaIndex, uint32 * punFlags, uint32 * punBuildID, char * pchBetaName, int cchBetaName, char * pchDescription, int cchDescription );
S_API bool SteamAPI_ISteamApps_GetBetaInfo( ISteamApps* self, int iBetaIndex, uint32 * punFlags, uint32 * punBuildID, char * pchBetaName, int cchBetaName, char * pchDescription, int cchDescription, uint32 * punLastUpdated );
S_API bool SteamAPI_ISteamApps_SetActiveBeta( ISteamApps* self, const char * pchBetaName );

// ISteamNetworking
Expand Down Expand Up @@ -796,6 +796,9 @@ S_API SteamAPICall_t SteamAPI_ISteamUGC_GetWorkshopEULAStatus( ISteamUGC* self )
S_API uint32 SteamAPI_ISteamUGC_GetUserContentDescriptorPreferences( ISteamUGC* self, EUGCContentDescriptorID * pvecDescriptors, uint32 cMaxEntries );
S_API bool SteamAPI_ISteamUGC_SetItemsDisabledLocally( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileIDs, uint32 unNumPublishedFileIDs, bool bDisabledLocally );
S_API bool SteamAPI_ISteamUGC_SetSubscriptionsLoadOrder( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileIDs, uint32 unNumPublishedFileIDs );
S_API bool SteamAPI_ISteamUGC_MarkDownloadedItemAsUnused( ISteamUGC* self, PublishedFileId_t nPublishedFileID );
S_API uint32 SteamAPI_ISteamUGC_GetNumDownloadedItems( ISteamUGC* self );
S_API uint32 SteamAPI_ISteamUGC_GetDownloadedItems( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileIDs, uint32 cMaxEntries );

// ISteamHTMLSurface

Expand Down Expand Up @@ -943,12 +946,17 @@ S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( ISteamParental
// ISteamRemotePlay

// A versioned accessor is exported by the library
S_API ISteamRemotePlay *SteamAPI_SteamRemotePlay_v003();
S_API ISteamRemotePlay *SteamAPI_SteamRemotePlay_v004();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamRemotePlay(), but using this ensures that you are using a matching library.
inline ISteamRemotePlay *SteamAPI_SteamRemotePlay() { return SteamAPI_SteamRemotePlay_v003(); }
inline ISteamRemotePlay *SteamAPI_SteamRemotePlay() { return SteamAPI_SteamRemotePlay_v004(); }
S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionCount( ISteamRemotePlay* self );
S_API RemotePlaySessionID_t SteamAPI_ISteamRemotePlay_GetSessionID( ISteamRemotePlay* self, int iSessionIndex );
S_API bool SteamAPI_ISteamRemotePlay_BSessionRemotePlayTogether( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API uint64_steamid SteamAPI_ISteamRemotePlay_GetSessionSteamID( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionGuestID( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API int SteamAPI_ISteamRemotePlay_GetSmallSessionAvatar( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API int SteamAPI_ISteamRemotePlay_GetMediumSessionAvatar( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API int SteamAPI_ISteamRemotePlay_GetLargeSessionAvatar( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API const char * SteamAPI_ISteamRemotePlay_GetSessionClientName( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API ESteamDeviceFormFactor SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID );
S_API bool SteamAPI_ISteamRemotePlay_BGetSessionClientResolution( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID, int * pnResolutionX, int * pnResolutionY );
Expand Down
Loading