This commit is contained in:
Riley Labrecque
2026-03-12 17:59:55 -07:00
parent 494c2d680b
commit e60a229cd6
26 changed files with 195 additions and 27 deletions
+23
View File
@@ -9,6 +9,29 @@ Welcome to the Steamworks SDK. For documentation please see our partner
website at: http://partner.steamgames.com
----------------------------------------------------------------
v1.64 11th March 2026
----------------------------------------------------------------
General:
* androidarm64 libs now statically link libc++
* androidarm64 libs now use 16KB max page size (from 4KB)
* linuxarm64 libs now use 4KB max page size (from 64KB)
ISteamApps:
* Added last update timestamp to GetBetaInfo()
ISteamUGC:
* Added MarkDownloadedItemAsUnused()
* Added GetDownloadedItems(), GetNumDownloadedItems()
ISteamRemotePlay:
* Added BSessionRemotePlayTogether()
* Added GetSessionGuestID()
* Added GetSmallSessionAvatar(), GetMediumSessionAvatar(), GetLargeSessionAvatar()
* Added SteamRemotePlaySessionAvatarLoaded_t callback
----------------------------------------------------------------
v1.63 18th November 2025
----------------------------------------------------------------
+2 -2
View File
@@ -116,13 +116,13 @@ public:
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();
+3
View File
@@ -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,
@@ -31,6 +33,7 @@ enum EParentalFeature
k_EFeatureSiteLicense = 13,
k_EFeatureKioskMode_Deprecated = 14,
k_EFeatureBlockAlways = 15,
k_EFeatureDesktop = 16,
k_EFeatureMax
};
+33 -6
View File
@@ -282,9 +282,28 @@ public:
// 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;
@@ -337,8 +356,8 @@ public:
// 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
@@ -348,7 +367,7 @@ public:
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();
@@ -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 )
+9
View File
@@ -400,6 +400,15 @@ public:
// 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"
+1 -1
View File
@@ -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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+84 -7
View File
@@ -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": [
@@ -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" }
]
},
{
@@ -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" }
]
@@ -7882,7 +7894,7 @@
{
"kind": "user",
"name": "SteamApps",
"name_flat": "SteamAPI_SteamApps_v008"
"name_flat": "SteamAPI_SteamApps_v009"
}
],
"classname": "ISteamApps",
@@ -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"
},
@@ -8151,7 +8164,7 @@
"returntype": "bool"
}
],
"version_string": "STEAMAPPS_INTERFACE_VERSION008"
"version_string": "STEAMAPPS_INTERFACE_VERSION009"
},
{
"accessors": [
@@ -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"
@@ -11795,7 +11831,7 @@
{
"kind": "user",
"name": "SteamRemotePlay",
"name_flat": "SteamAPI_SteamRemotePlay_v003"
"name_flat": "SteamAPI_SteamRemotePlay_v004"
}
],
"classname": "ISteamRemotePlay",
@@ -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",
@@ -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",
@@ -11927,7 +12003,7 @@
"returntype": "void"
}
],
"version_string": "STEAMREMOTEPLAY_INTERFACE_VERSION003"
"version_string": "STEAMREMOTEPLAY_INTERFACE_VERSION004"
},
{
"accessors": [
@@ -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"
},
+13 -5
View File
@@ -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 );
@@ -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
@@ -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
@@ -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 );
+26 -5
View File
@@ -797,8 +797,17 @@ struct SteamNetConnectionRealTimeStatus_t
/// Nagle delay is ignored for the purposes of this calculation.
SteamNetworkingMicroseconds m_usecQueueTime;
/// Highest packet jitter experienced, since the last time this information
/// was returned. (The high water mark is cleared each time you fetch the info.)
///
/// - The units are microseconds, although the measurement precision is usually
/// not nearly this precise.
/// - A negative value means "no data available".
/// - Not all connections are able to measure jitter.
int32 m_usecMaxJitter;
// Internal stuff, room to change API easily
uint32 reserved[16];
uint32 reserved[15];
};
/// Quick status of a particular lane
@@ -1688,12 +1697,24 @@ enum ESteamNetworkingConfigValue
k_ESteamNetworkingConfig_LogLevel_P2PRendezvous = 17, // [connection int32] P2P rendezvous messages
k_ESteamNetworkingConfig_LogLevel_SDRRelayPings = 18, // [global int32] Ping relays
// Experimental. Set the ECN header field on all outbound UDP packets
// -1 = the default, and means "don't set anything".
// 0..3 = set that value. (Even though 0 is the default UDP ECN value, a 0 here means "explicitly set a 0".)
//
// Experimental values. These are subject to be deleted or change at any time,
// do not set them, except as a result of an explicit and advanced user opt-in,
// and do not write anything that depends on them existing, or have any particular
// behaviour.
//
// [global int32] ECN value to send in every packet.
// -1 = The default, and means "auto". We will set ECN=1, if it appears that the local internet connection appears to understand it and there may be some benefit.
// 0..2 = use that value.
k_ESteamNetworkingConfig_ECN = 999,
// Deleted, do not use
// [global int32] If true, send and request different TOS values in probes to relays
// to try to deduce if there is any bleaching or mutating of the TOS field in either direction
k_ESteamNetworkingConfig_SDRClient_EnableTOSProbes = 998,
//
// Deleted, do not use
//
k_ESteamNetworkingConfig_DELETED_EnumerateDevVars = 35,
k_ESteamNetworkingConfigValue__Force32Bit = 0x7fffffff
+1 -1
View File
@@ -86,7 +86,7 @@ typedef uint32 DepotId_t;
const DepotId_t k_uDepotIdInvalid = 0x0;
// RTime32. Seconds elapsed since Jan 1 1970, i.e. unix timestamp.
// It's the same as time_t, but it is always 32-bit and unsigned.
// It's the same as time_t, but it is always 32-bit and unsigned.
typedef uint32 RTime32;
// handle to a Steam API call
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.