From be7bafe7f8b03be00332478498482eb1194bd582 Mon Sep 17 00:00:00 2001 From: josh Date: Wed, 13 Nov 2024 15:15:19 -0500 Subject: [PATCH] Add SteamworksSDK headers --- Steam/isteamapps.h | 201 + Steam/isteamappticket.h | 28 + Steam/isteamclient.h | 173 + Steam/isteamcontroller.h | 731 + Steam/isteamdualsense.h | 169 + Steam/isteamfriends.h | 758 + Steam/isteamgamecoordinator.h | 74 + Steam/isteamgameserver.h | 394 + Steam/isteamgameserverstats.h | 114 + Steam/isteamhtmlsurface.h | 479 + Steam/isteamhttp.h | 219 + Steam/isteaminput.h | 1004 ++ Steam/isteaminventory.h | 435 + Steam/isteammatchmaking.h | 1087 ++ Steam/isteammusic.h | 71 + Steam/isteammusicremote.h | 133 + Steam/isteamnetworking.h | 343 + Steam/isteamnetworkingmessages.h | 198 + Steam/isteamnetworkingsockets.h | 1030 ++ Steam/isteamnetworkingutils.h | 500 + Steam/isteamparentalsettings.h | 65 + Steam/isteamps3overlayrenderer.h | 91 + Steam/isteamremoteplay.h | 99 + Steam/isteamremotestorage.h | 661 + Steam/isteamscreenshots.h | 120 + Steam/isteamtimeline.h | 261 + Steam/isteamugc.h | 632 + Steam/isteamuser.h | 439 + Steam/isteamuserstats.h | 489 + Steam/isteamutils.h | 343 + Steam/isteamvideo.h | 74 + Steam/lib/linux32/libsdkencryptedappticket.so | Bin 0 -> 1447164 bytes Steam/lib/linux64/libsdkencryptedappticket.so | Bin 0 -> 1399360 bytes Steam/lib/osx/libsdkencryptedappticket.dylib | Bin 0 -> 1693584 bytes Steam/lib/win32/sdkencryptedappticket.dll | Bin 0 -> 835168 bytes Steam/lib/win32/sdkencryptedappticket.lib | Bin 0 -> 5956 bytes Steam/lib/win64/sdkencryptedappticket64.dll | Bin 0 -> 1025632 bytes Steam/lib/win64/sdkencryptedappticket64.lib | Bin 0 -> 5954 bytes Steam/matchmakingtypes.h | 231 + Steam/steam_api.h | 266 + Steam/steam_api.json | 14422 ++++++++++++++++ Steam/steam_api_common.h | 249 + Steam/steam_api_flat.h | 1297 ++ Steam/steam_api_internal.h | 309 + Steam/steam_gameserver.h | 114 + Steam/steamclientpublic.h | 1199 ++ Steam/steamencryptedappticket.h | 40 + Steam/steamhttpenums.h | 105 + Steam/steamnetworkingfakeip.h | 135 + Steam/steamnetworkingtypes.h | 1918 ++ Steam/steamps3params.h | 112 + Steam/steamtypes.h | 182 + Steam/steamuniverse.h | 27 + 53 files changed, 32021 insertions(+) create mode 100644 Steam/isteamapps.h create mode 100644 Steam/isteamappticket.h create mode 100644 Steam/isteamclient.h create mode 100644 Steam/isteamcontroller.h create mode 100644 Steam/isteamdualsense.h create mode 100644 Steam/isteamfriends.h create mode 100644 Steam/isteamgamecoordinator.h create mode 100644 Steam/isteamgameserver.h create mode 100644 Steam/isteamgameserverstats.h create mode 100644 Steam/isteamhtmlsurface.h create mode 100644 Steam/isteamhttp.h create mode 100644 Steam/isteaminput.h create mode 100644 Steam/isteaminventory.h create mode 100644 Steam/isteammatchmaking.h create mode 100644 Steam/isteammusic.h create mode 100644 Steam/isteammusicremote.h create mode 100644 Steam/isteamnetworking.h create mode 100644 Steam/isteamnetworkingmessages.h create mode 100644 Steam/isteamnetworkingsockets.h create mode 100644 Steam/isteamnetworkingutils.h create mode 100644 Steam/isteamparentalsettings.h create mode 100644 Steam/isteamps3overlayrenderer.h create mode 100644 Steam/isteamremoteplay.h create mode 100644 Steam/isteamremotestorage.h create mode 100644 Steam/isteamscreenshots.h create mode 100644 Steam/isteamtimeline.h create mode 100644 Steam/isteamugc.h create mode 100644 Steam/isteamuser.h create mode 100644 Steam/isteamuserstats.h create mode 100644 Steam/isteamutils.h create mode 100644 Steam/isteamvideo.h create mode 100644 Steam/lib/linux32/libsdkencryptedappticket.so create mode 100644 Steam/lib/linux64/libsdkencryptedappticket.so create mode 100644 Steam/lib/osx/libsdkencryptedappticket.dylib create mode 100644 Steam/lib/win32/sdkencryptedappticket.dll create mode 100644 Steam/lib/win32/sdkencryptedappticket.lib create mode 100644 Steam/lib/win64/sdkencryptedappticket64.dll create mode 100644 Steam/lib/win64/sdkencryptedappticket64.lib create mode 100644 Steam/matchmakingtypes.h create mode 100644 Steam/steam_api.h create mode 100644 Steam/steam_api.json create mode 100644 Steam/steam_api_common.h create mode 100644 Steam/steam_api_flat.h create mode 100644 Steam/steam_api_internal.h create mode 100644 Steam/steam_gameserver.h create mode 100644 Steam/steamclientpublic.h create mode 100644 Steam/steamencryptedappticket.h create mode 100644 Steam/steamhttpenums.h create mode 100644 Steam/steamnetworkingfakeip.h create mode 100644 Steam/steamnetworkingtypes.h create mode 100644 Steam/steamps3params.h create mode 100644 Steam/steamtypes.h create mode 100644 Steam/steamuniverse.h diff --git a/Steam/isteamapps.h b/Steam/isteamapps.h new file mode 100644 index 0000000..08c707e --- /dev/null +++ b/Steam/isteamapps.h @@ -0,0 +1,201 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to app data in Steam +// +//============================================================================= + +#ifndef ISTEAMAPPS_H +#define ISTEAMAPPS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +const int k_cubAppProofOfPurchaseKeyMax = 240; // max supported length of a legacy cd key + + +//----------------------------------------------------------------------------- +// Purpose: interface to app data +//----------------------------------------------------------------------------- +class ISteamApps +{ +public: + virtual bool BIsSubscribed() = 0; + virtual bool BIsLowViolence() = 0; + virtual bool BIsCybercafe() = 0; + virtual bool BIsVACBanned() = 0; + virtual const char *GetCurrentGameLanguage() = 0; + virtual const char *GetAvailableGameLanguages() = 0; + + // only use this member if you need to check ownership of another game related to yours, a demo for example + virtual bool BIsSubscribedApp( AppId_t appID ) = 0; + + // Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed + virtual bool BIsDlcInstalled( AppId_t appID ) = 0; + + // returns the Unix time of the purchase of the app + virtual uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID ) = 0; + + // Checks if the user is subscribed to the current app through a free weekend + // This function will return false for users who have a retail or other type of license + // Before using, please ask your Valve technical contact how to package and secure your free weekened + virtual bool BIsSubscribedFromFreeWeekend() = 0; + + // Returns the number of DLC pieces for the running app + virtual int GetDLCCount() = 0; + + // Returns metadata for DLC by index, of range [0, GetDLCCount()] + virtual bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize ) = 0; + + // Install/Uninstall control for optional DLC + virtual void InstallDLC( AppId_t nAppID ) = 0; + virtual void UninstallDLC( AppId_t nAppID ) = 0; + + // Request legacy cd-key for yourself or owned DLC. If you are interested in this + // data then make sure you provide us with a list of valid keys to be distributed + // to users when they purchase the game, before the game ships. + // You'll receive an AppProofOfPurchaseKeyResponse_t callback when + // the key is available (which may be immediately). + virtual void RequestAppProofOfPurchaseKey( AppId_t nAppID ) = 0; + + virtual bool GetCurrentBetaName( char *pchName, int cchNameBufferSize ) = 0; // returns current beta branch name, 'public' is the default branch + virtual bool MarkContentCorrupt( bool bMissingFilesOnly ) = 0; // signal Steam that game files seems corrupt or missing + virtual uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots ) = 0; // return installed depots in mount order + + // returns current app install folder for AppID, returns folder name length + virtual uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize ) = 0; + virtual bool BIsAppInstalled( AppId_t appID ) = 0; // returns true if that app is installed (not necessarily owned) + + // returns the SteamID of the original owner. If this CSteamID is different from ISteamUser::GetSteamID(), + // the user has a temporary license borrowed via Family Sharing + virtual CSteamID GetAppOwner() = 0; + + // Returns the associated launch param if the game is run via steam://run///?param1=value1¶m2=value2¶m3=value3 etc. + // Parameter names starting with the character '@' are reserved for internal use and will always return and empty string. + // Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, + // but it is advised that you not param names beginning with an underscore for your own features. + // Check for new launch parameters on callback NewUrlLaunchParameters_t + virtual const char *GetLaunchQueryParam( const char *pchKey ) = 0; + + // get download progress for optional DLC + virtual bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // return the buildid of this app, may change at any time based on backend updates to the game + virtual int GetAppBuildId() = 0; + + // Request all proof of purchase keys for the calling appid and associated DLC. + // A series of AppProofOfPurchaseKeyResponse_t callbacks will be sent with + // appropriate appid values, ending with a final callback where the m_nAppId + // member is k_uAppIdInvalid (zero). + virtual void RequestAllProofOfPurchaseKeys() = 0; + + STEAM_CALL_RESULT( FileDetailsResult_t ) + virtual SteamAPICall_t GetFileDetails( const char* pszFileName ) = 0; + + // Get command line if game was launched via Steam URL, e.g. steam://run////. + // This method of passing a connect string (used when joining via rich presence, accepting an + // invite, etc) is preferable to passing the connect string on the operating system command + // line, which is a security risk. In order for rich presence joins to go through this + // path and not be placed on the OS command line, you must set a value in your app's + // configuration on Steam. Ask Valve for help with this. + // + // If game was already running and launched again, the NewUrlLaunchParameters_t will be fired. + virtual int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine ) = 0; + + // Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID + virtual bool BIsSubscribedFromFamilySharing() = 0; + + // check if game is a timed trial with limited playtime + virtual bool BIsTimedTrial( uint32* punSecondsAllowed, uint32* punSecondsPlayed ) = 0; + + // set current DLC AppID being played (or 0 if none). Allows Steam to track usage of major DLC extensions + virtual bool SetDlcContext( AppId_t nAppID ) = 0; + + // returns total number of known app branches (including default "public" branch ). nAvailable is number of available betas + 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 + + // 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" + +// Global interface accessor +inline ISteamApps *SteamApps(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamApps *, SteamApps, STEAMAPPS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +//----------------------------------------------------------------------------- +// Purpose: posted after the user gains ownership of DLC & that DLC is installed +//----------------------------------------------------------------------------- +struct DlcInstalled_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 5 }; + AppId_t m_nAppID; // AppID of the DLC +}; + + +//--------------------------------------------------------------------------------- +// Purpose: posted after the user gains executes a Steam URL with command line or query parameters +// such as steam://run///-commandline/?param1=value1¶m2=value2¶m3=value3 etc +// while the game is already running. The new params can be queried +// with GetLaunchQueryParam and GetLaunchCommandLine +//--------------------------------------------------------------------------------- +struct NewUrlLaunchParameters_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 14 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to RequestAppProofOfPurchaseKey/RequestAllProofOfPurchaseKeys +// for supporting third-party CD keys, or other proof-of-purchase systems. +//----------------------------------------------------------------------------- +struct AppProofOfPurchaseKeyResponse_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 21 }; + EResult m_eResult; + uint32 m_nAppID; + uint32 m_cchKeyLength; + char m_rgchKey[k_cubAppProofOfPurchaseKeyMax]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to GetFileDetails +//----------------------------------------------------------------------------- +struct FileDetailsResult_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 23 }; + EResult m_eResult; + uint64 m_ulFileSize; // original file size in bytes + uint8 m_FileSHA[20]; // original file SHA1 hash + uint32 m_unFlags; // +}; + + +//----------------------------------------------------------------------------- +// Purpose: called for games in Timed Trial mode +//----------------------------------------------------------------------------- +struct TimedTrialStatus_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 30 }; + AppId_t m_unAppID; // appID + bool m_bIsOffline; // if true, time allowed / played refers to offline time, not total time + uint32 m_unSecondsAllowed; // how many seconds the app can be played in total + uint32 m_unSecondsPlayed; // how many seconds the app was already played +}; + +#pragma pack( pop ) +#endif // ISTEAMAPPS_H diff --git a/Steam/isteamappticket.h b/Steam/isteamappticket.h new file mode 100644 index 0000000..21fb9e1 --- /dev/null +++ b/Steam/isteamappticket.h @@ -0,0 +1,28 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: a private, but well versioned, interface to get at critical bits +// of a steam3 appticket - consumed by the simple drm wrapper to let it +// ask about ownership with greater confidence. +// +//============================================================================= + +#ifndef ISTEAMAPPTICKET_H +#define ISTEAMAPPTICKET_H +#pragma once + +//----------------------------------------------------------------------------- +// Purpose: hand out a reasonable "future proof" view of an app ownership ticket +// the raw (signed) buffer, and indices into that buffer where the appid and +// steamid are located. the sizes of the appid and steamid are implicit in +// (each version of) the interface - currently uin32 appid and uint64 steamid +//----------------------------------------------------------------------------- +class ISteamAppTicket +{ +public: + virtual uint32 GetAppOwnershipTicketData( uint32 nAppID, void *pvBuffer, uint32 cbBufferLength, uint32 *piAppId, uint32 *piSteamId, uint32 *piSignature, uint32 *pcbSignature ) = 0; +}; + +#define STEAMAPPTICKET_INTERFACE_VERSION "STEAMAPPTICKET_INTERFACE_VERSION001" + + +#endif // ISTEAMAPPTICKET_H diff --git a/Steam/isteamclient.h b/Steam/isteamclient.h new file mode 100644 index 0000000..e457e87 --- /dev/null +++ b/Steam/isteamclient.h @@ -0,0 +1,173 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Internal low-level access to Steamworks interfaces. +// +// Most users of the Steamworks SDK do not need to include this file. +// You should only include this if you are doing something special. +//============================================================================= + +#ifndef ISTEAMCLIENT_H +#define ISTEAMCLIENT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Interface to creating a new steam instance, or to +// connect to an existing steam instance, whether it's in a +// different process or is local. +// +// For most scenarios this is all handled automatically via SteamAPI_Init(). +// You'll only need these APIs if you have a more complex versioning scheme, +// or if you want to implement a multiplexed gameserver where a single process +// is handling multiple games at once with independent gameserver SteamIDs. +//----------------------------------------------------------------------------- +class ISteamClient +{ +public: + // Creates a communication pipe to the Steam client. + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamPipe CreateSteamPipe() = 0; + + // Releases a previously created communications pipe + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual bool BReleaseSteamPipe( HSteamPipe hSteamPipe ) = 0; + + // connects to an existing global user, failing if none exists + // used by the game to coordinate with the steamUI + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser ConnectToGlobalUser( HSteamPipe hSteamPipe ) = 0; + + // used by game servers, create a steam user that won't be shared with anyone else + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser CreateLocalUser( HSteamPipe *phSteamPipe, EAccountType eAccountType ) = 0; + + // removes an allocated user + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual void ReleaseUser( HSteamPipe hSteamPipe, HSteamUser hUser ) = 0; + + // retrieves the ISteamUser interface associated with the handle + virtual ISteamUser *GetISteamUser( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // retrieves the ISteamGameServer interface associated with the handle + virtual ISteamGameServer *GetISteamGameServer( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // set the local IP and Port to bind to + // this must be set before CreateLocalUser() + virtual void SetLocalIPBinding( const SteamIPAddress_t &unIP, uint16 usPort ) = 0; + + // returns the ISteamFriends interface + virtual ISteamFriends *GetISteamFriends( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUtils interface + virtual ISteamUtils *GetISteamUtils( HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmaking interface + virtual ISteamMatchmaking *GetISteamMatchmaking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmakingServers interface + virtual ISteamMatchmakingServers *GetISteamMatchmakingServers( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the a generic interface + virtual void *GetISteamGenericInterface( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUserStats interface + virtual ISteamUserStats *GetISteamUserStats( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamGameServerStats interface + virtual ISteamGameServerStats *GetISteamGameServerStats( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns apps interface + virtual ISteamApps *GetISteamApps( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // networking + virtual ISteamNetworking *GetISteamNetworking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // remote storage + virtual ISteamRemoteStorage *GetISteamRemoteStorage( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // user screenshots + virtual ISteamScreenshots *GetISteamScreenshots( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // game search + virtual ISteamGameSearch *GetISteamGameSearch( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() or SteamGameServer_RunCallbacks() instead. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message. + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Trigger global shutdown for the DLL + virtual bool BShutdownIfAllPipesClosed() = 0; + + // Expose HTTP interface + virtual ISteamHTTP *GetISteamHTTP( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the ISteamController interface - deprecated in favor of Steam Input + virtual ISteamController *GetISteamController( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the ISteamUGC interface + virtual ISteamUGC *GetISteamUGC( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player + virtual ISteamMusic *GetISteamMusic( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player Remote + virtual ISteamMusicRemote *GetISteamMusicRemote(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // html page display + virtual ISteamHTMLSurface *GetISteamHTMLSurface(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // Helper functions for internal Steam usage + STEAM_PRIVATE_API( virtual void DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void Set_SteamAPI_CCheckCallbackRegisteredInProcess( SteamAPI_CheckCallbackRegistered_t func ) = 0; ) + + // inventory + virtual ISteamInventory *GetISteamInventory( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Video + virtual ISteamVideo *GetISteamVideo( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Parental controls + virtual ISteamParentalSettings *GetISteamParentalSettings( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the Steam Input interface for controller support + virtual ISteamInput *GetISteamInput( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Steam Parties interface + virtual ISteamParties *GetISteamParties( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Steam Remote Play interface + virtual ISteamRemotePlay *GetISteamRemotePlay( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + STEAM_PRIVATE_API( virtual void DestroyAllInterfaces() = 0; ) + +}; +#define STEAMCLIENT_INTERFACE_VERSION "SteamClient021" + +#ifndef STEAM_API_EXPORTS + +// Global ISteamClient interface accessor +inline ISteamClient *SteamClient(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamClient *, SteamClient, SteamInternal_CreateInterface( STEAMCLIENT_INTERFACE_VERSION ), "global", STEAMCLIENT_INTERFACE_VERSION ); + +// The internal ISteamClient used for the gameserver interface. +// (This is actually the same thing. You really shouldn't need to access any of this stuff directly.) +inline ISteamClient *SteamGameServerClient() { return SteamClient(); } + +#endif + +#endif // ISTEAMCLIENT_H diff --git a/Steam/isteamcontroller.h b/Steam/isteamcontroller.h new file mode 100644 index 0000000..237442a --- /dev/null +++ b/Steam/isteamcontroller.h @@ -0,0 +1,731 @@ +//====== Copyright 1996-2018, Valve Corporation, All rights reserved. ======= +// Note: The older ISteamController interface has been deprecated in favor of ISteamInput - this interface +// was updated in this SDK but will be removed from future SDK's. The Steam Client will retain +// compatibility with the older interfaces so your any existing integrations should be unaffected. +// +// Purpose: Steam Input is a flexible input API that supports over three hundred devices including all +// common variants of Xbox, Playstation, Nintendo Switch Pro, and Steam Controllers. +// For more info including a getting started guide for developers +// please visit: https://partner.steamgames.com/doc/features/steam_controller +// +//============================================================================= + +#ifndef ISTEAMCONTROLLER_H +#define ISTEAMCONTROLLER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteaminput.h" + +#define STEAM_CONTROLLER_MAX_COUNT 16 + +#define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 24 + +#define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 256 + +#define STEAM_CONTROLLER_MAX_ORIGINS 8 + +#define STEAM_CONTROLLER_MAX_ACTIVE_LAYERS 16 + +// When sending an option to a specific controller handle, you can send to all controllers via this command +#define STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS UINT64_MAX + +#define STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA -1.0f +#define STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA 1.0f + +#ifndef ISTEAMINPUT_H +enum ESteamControllerPad +{ + k_ESteamControllerPad_Left, + k_ESteamControllerPad_Right +}; +#endif + +// Note: Please do not use action origins as a way to identify controller types. There is no +// guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead +// Versions of Steam that add new controller types in the future will extend this enum if you're +// using a lookup table please check the bounds of any origins returned by Steam. +enum EControllerActionOrigin +{ + // Steam Controller + k_EControllerActionOrigin_None, + k_EControllerActionOrigin_A, + k_EControllerActionOrigin_B, + k_EControllerActionOrigin_X, + k_EControllerActionOrigin_Y, + k_EControllerActionOrigin_LeftBumper, + k_EControllerActionOrigin_RightBumper, + k_EControllerActionOrigin_LeftGrip, + k_EControllerActionOrigin_RightGrip, + k_EControllerActionOrigin_Start, + k_EControllerActionOrigin_Back, + k_EControllerActionOrigin_LeftPad_Touch, + k_EControllerActionOrigin_LeftPad_Swipe, + k_EControllerActionOrigin_LeftPad_Click, + k_EControllerActionOrigin_LeftPad_DPadNorth, + k_EControllerActionOrigin_LeftPad_DPadSouth, + k_EControllerActionOrigin_LeftPad_DPadWest, + k_EControllerActionOrigin_LeftPad_DPadEast, + k_EControllerActionOrigin_RightPad_Touch, + k_EControllerActionOrigin_RightPad_Swipe, + k_EControllerActionOrigin_RightPad_Click, + k_EControllerActionOrigin_RightPad_DPadNorth, + k_EControllerActionOrigin_RightPad_DPadSouth, + k_EControllerActionOrigin_RightPad_DPadWest, + k_EControllerActionOrigin_RightPad_DPadEast, + k_EControllerActionOrigin_LeftTrigger_Pull, + k_EControllerActionOrigin_LeftTrigger_Click, + k_EControllerActionOrigin_RightTrigger_Pull, + k_EControllerActionOrigin_RightTrigger_Click, + k_EControllerActionOrigin_LeftStick_Move, + k_EControllerActionOrigin_LeftStick_Click, + k_EControllerActionOrigin_LeftStick_DPadNorth, + k_EControllerActionOrigin_LeftStick_DPadSouth, + k_EControllerActionOrigin_LeftStick_DPadWest, + k_EControllerActionOrigin_LeftStick_DPadEast, + k_EControllerActionOrigin_Gyro_Move, + k_EControllerActionOrigin_Gyro_Pitch, + k_EControllerActionOrigin_Gyro_Yaw, + k_EControllerActionOrigin_Gyro_Roll, + + // PS4 Dual Shock + k_EControllerActionOrigin_PS4_X, + k_EControllerActionOrigin_PS4_Circle, + k_EControllerActionOrigin_PS4_Triangle, + k_EControllerActionOrigin_PS4_Square, + k_EControllerActionOrigin_PS4_LeftBumper, + k_EControllerActionOrigin_PS4_RightBumper, + k_EControllerActionOrigin_PS4_Options, //Start + k_EControllerActionOrigin_PS4_Share, //Back + k_EControllerActionOrigin_PS4_LeftPad_Touch, + k_EControllerActionOrigin_PS4_LeftPad_Swipe, + k_EControllerActionOrigin_PS4_LeftPad_Click, + k_EControllerActionOrigin_PS4_LeftPad_DPadNorth, + k_EControllerActionOrigin_PS4_LeftPad_DPadSouth, + k_EControllerActionOrigin_PS4_LeftPad_DPadWest, + k_EControllerActionOrigin_PS4_LeftPad_DPadEast, + k_EControllerActionOrigin_PS4_RightPad_Touch, + k_EControllerActionOrigin_PS4_RightPad_Swipe, + k_EControllerActionOrigin_PS4_RightPad_Click, + k_EControllerActionOrigin_PS4_RightPad_DPadNorth, + k_EControllerActionOrigin_PS4_RightPad_DPadSouth, + k_EControllerActionOrigin_PS4_RightPad_DPadWest, + k_EControllerActionOrigin_PS4_RightPad_DPadEast, + k_EControllerActionOrigin_PS4_CenterPad_Touch, + k_EControllerActionOrigin_PS4_CenterPad_Swipe, + k_EControllerActionOrigin_PS4_CenterPad_Click, + k_EControllerActionOrigin_PS4_CenterPad_DPadNorth, + k_EControllerActionOrigin_PS4_CenterPad_DPadSouth, + k_EControllerActionOrigin_PS4_CenterPad_DPadWest, + k_EControllerActionOrigin_PS4_CenterPad_DPadEast, + k_EControllerActionOrigin_PS4_LeftTrigger_Pull, + k_EControllerActionOrigin_PS4_LeftTrigger_Click, + k_EControllerActionOrigin_PS4_RightTrigger_Pull, + k_EControllerActionOrigin_PS4_RightTrigger_Click, + k_EControllerActionOrigin_PS4_LeftStick_Move, + k_EControllerActionOrigin_PS4_LeftStick_Click, + k_EControllerActionOrigin_PS4_LeftStick_DPadNorth, + k_EControllerActionOrigin_PS4_LeftStick_DPadSouth, + k_EControllerActionOrigin_PS4_LeftStick_DPadWest, + k_EControllerActionOrigin_PS4_LeftStick_DPadEast, + k_EControllerActionOrigin_PS4_RightStick_Move, + k_EControllerActionOrigin_PS4_RightStick_Click, + k_EControllerActionOrigin_PS4_RightStick_DPadNorth, + k_EControllerActionOrigin_PS4_RightStick_DPadSouth, + k_EControllerActionOrigin_PS4_RightStick_DPadWest, + k_EControllerActionOrigin_PS4_RightStick_DPadEast, + k_EControllerActionOrigin_PS4_DPad_North, + k_EControllerActionOrigin_PS4_DPad_South, + k_EControllerActionOrigin_PS4_DPad_West, + k_EControllerActionOrigin_PS4_DPad_East, + k_EControllerActionOrigin_PS4_Gyro_Move, + k_EControllerActionOrigin_PS4_Gyro_Pitch, + k_EControllerActionOrigin_PS4_Gyro_Yaw, + k_EControllerActionOrigin_PS4_Gyro_Roll, + + // XBox One + k_EControllerActionOrigin_XBoxOne_A, + k_EControllerActionOrigin_XBoxOne_B, + k_EControllerActionOrigin_XBoxOne_X, + k_EControllerActionOrigin_XBoxOne_Y, + k_EControllerActionOrigin_XBoxOne_LeftBumper, + k_EControllerActionOrigin_XBoxOne_RightBumper, + k_EControllerActionOrigin_XBoxOne_Menu, //Start + k_EControllerActionOrigin_XBoxOne_View, //Back + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_Move, + k_EControllerActionOrigin_XBoxOne_LeftStick_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_RightStick_Move, + k_EControllerActionOrigin_XBoxOne_RightStick_Click, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_DPad_North, + k_EControllerActionOrigin_XBoxOne_DPad_South, + k_EControllerActionOrigin_XBoxOne_DPad_West, + k_EControllerActionOrigin_XBoxOne_DPad_East, + + // XBox 360 + k_EControllerActionOrigin_XBox360_A, + k_EControllerActionOrigin_XBox360_B, + k_EControllerActionOrigin_XBox360_X, + k_EControllerActionOrigin_XBox360_Y, + k_EControllerActionOrigin_XBox360_LeftBumper, + k_EControllerActionOrigin_XBox360_RightBumper, + k_EControllerActionOrigin_XBox360_Start, //Start + k_EControllerActionOrigin_XBox360_Back, //Back + k_EControllerActionOrigin_XBox360_LeftTrigger_Pull, + k_EControllerActionOrigin_XBox360_LeftTrigger_Click, + k_EControllerActionOrigin_XBox360_RightTrigger_Pull, + k_EControllerActionOrigin_XBox360_RightTrigger_Click, + k_EControllerActionOrigin_XBox360_LeftStick_Move, + k_EControllerActionOrigin_XBox360_LeftStick_Click, + k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadWest, + k_EControllerActionOrigin_XBox360_LeftStick_DPadEast, + k_EControllerActionOrigin_XBox360_RightStick_Move, + k_EControllerActionOrigin_XBox360_RightStick_Click, + k_EControllerActionOrigin_XBox360_RightStick_DPadNorth, + k_EControllerActionOrigin_XBox360_RightStick_DPadSouth, + k_EControllerActionOrigin_XBox360_RightStick_DPadWest, + k_EControllerActionOrigin_XBox360_RightStick_DPadEast, + k_EControllerActionOrigin_XBox360_DPad_North, + k_EControllerActionOrigin_XBox360_DPad_South, + k_EControllerActionOrigin_XBox360_DPad_West, + k_EControllerActionOrigin_XBox360_DPad_East, + + // SteamController V2 + k_EControllerActionOrigin_SteamV2_A, + k_EControllerActionOrigin_SteamV2_B, + k_EControllerActionOrigin_SteamV2_X, + k_EControllerActionOrigin_SteamV2_Y, + k_EControllerActionOrigin_SteamV2_LeftBumper, + k_EControllerActionOrigin_SteamV2_RightBumper, + k_EControllerActionOrigin_SteamV2_LeftGrip_Lower, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper, + k_EControllerActionOrigin_SteamV2_RightGrip_Lower, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper, + k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure, + k_EControllerActionOrigin_SteamV2_RightBumper_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_Start, + k_EControllerActionOrigin_SteamV2_Back, + k_EControllerActionOrigin_SteamV2_LeftPad_Touch, + k_EControllerActionOrigin_SteamV2_LeftPad_Swipe, + k_EControllerActionOrigin_SteamV2_LeftPad_Click, + k_EControllerActionOrigin_SteamV2_LeftPad_Pressure, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamV2_RightPad_Touch, + k_EControllerActionOrigin_SteamV2_RightPad_Swipe, + k_EControllerActionOrigin_SteamV2_RightPad_Click, + k_EControllerActionOrigin_SteamV2_RightPad_Pressure, + k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadWest, + k_EControllerActionOrigin_SteamV2_RightPad_DPadEast, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Click, + k_EControllerActionOrigin_SteamV2_RightTrigger_Pull, + k_EControllerActionOrigin_SteamV2_RightTrigger_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_Move, + k_EControllerActionOrigin_SteamV2_LeftStick_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamV2_Gyro_Move, + k_EControllerActionOrigin_SteamV2_Gyro_Pitch, + k_EControllerActionOrigin_SteamV2_Gyro_Yaw, + k_EControllerActionOrigin_SteamV2_Gyro_Roll, + + // Switch - Pro or Joycons used as a single input device. + // This does not apply to a single joycon + k_EControllerActionOrigin_Switch_A, + k_EControllerActionOrigin_Switch_B, + k_EControllerActionOrigin_Switch_X, + k_EControllerActionOrigin_Switch_Y, + k_EControllerActionOrigin_Switch_LeftBumper, + k_EControllerActionOrigin_Switch_RightBumper, + k_EControllerActionOrigin_Switch_Plus, //Start + k_EControllerActionOrigin_Switch_Minus, //Back + k_EControllerActionOrigin_Switch_Capture, + k_EControllerActionOrigin_Switch_LeftTrigger_Pull, + k_EControllerActionOrigin_Switch_LeftTrigger_Click, + k_EControllerActionOrigin_Switch_RightTrigger_Pull, + k_EControllerActionOrigin_Switch_RightTrigger_Click, + k_EControllerActionOrigin_Switch_LeftStick_Move, + k_EControllerActionOrigin_Switch_LeftStick_Click, + k_EControllerActionOrigin_Switch_LeftStick_DPadNorth, + k_EControllerActionOrigin_Switch_LeftStick_DPadSouth, + k_EControllerActionOrigin_Switch_LeftStick_DPadWest, + k_EControllerActionOrigin_Switch_LeftStick_DPadEast, + k_EControllerActionOrigin_Switch_RightStick_Move, + k_EControllerActionOrigin_Switch_RightStick_Click, + k_EControllerActionOrigin_Switch_RightStick_DPadNorth, + k_EControllerActionOrigin_Switch_RightStick_DPadSouth, + k_EControllerActionOrigin_Switch_RightStick_DPadWest, + k_EControllerActionOrigin_Switch_RightStick_DPadEast, + k_EControllerActionOrigin_Switch_DPad_North, + k_EControllerActionOrigin_Switch_DPad_South, + k_EControllerActionOrigin_Switch_DPad_West, + k_EControllerActionOrigin_Switch_DPad_East, + k_EControllerActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon + // Switch JoyCon Specific + k_EControllerActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_LeftGyro_Move, + k_EControllerActionOrigin_Switch_LeftGyro_Pitch, + k_EControllerActionOrigin_Switch_LeftGyro_Yaw, + k_EControllerActionOrigin_Switch_LeftGyro_Roll, + k_EControllerActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button + k_EControllerActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button + k_EControllerActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button + k_EControllerActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button + + // Added in SDK 1.45 + k_EControllerActionOrigin_PS4_DPad_Move, + k_EControllerActionOrigin_XBoxOne_DPad_Move, + k_EControllerActionOrigin_XBox360_DPad_Move, + k_EControllerActionOrigin_Switch_DPad_Move, + + // Added in SDK 1.51 + k_EControllerActionOrigin_PS5_X, + k_EControllerActionOrigin_PS5_Circle, + k_EControllerActionOrigin_PS5_Triangle, + k_EControllerActionOrigin_PS5_Square, + k_EControllerActionOrigin_PS5_LeftBumper, + k_EControllerActionOrigin_PS5_RightBumper, + k_EControllerActionOrigin_PS5_Option, //Start + k_EControllerActionOrigin_PS5_Create, //Back + k_EControllerActionOrigin_PS5_Mute, + k_EControllerActionOrigin_PS5_LeftPad_Touch, + k_EControllerActionOrigin_PS5_LeftPad_Swipe, + k_EControllerActionOrigin_PS5_LeftPad_Click, + k_EControllerActionOrigin_PS5_LeftPad_DPadNorth, + k_EControllerActionOrigin_PS5_LeftPad_DPadSouth, + k_EControllerActionOrigin_PS5_LeftPad_DPadWest, + k_EControllerActionOrigin_PS5_LeftPad_DPadEast, + k_EControllerActionOrigin_PS5_RightPad_Touch, + k_EControllerActionOrigin_PS5_RightPad_Swipe, + k_EControllerActionOrigin_PS5_RightPad_Click, + k_EControllerActionOrigin_PS5_RightPad_DPadNorth, + k_EControllerActionOrigin_PS5_RightPad_DPadSouth, + k_EControllerActionOrigin_PS5_RightPad_DPadWest, + k_EControllerActionOrigin_PS5_RightPad_DPadEast, + k_EControllerActionOrigin_PS5_CenterPad_Touch, + k_EControllerActionOrigin_PS5_CenterPad_Swipe, + k_EControllerActionOrigin_PS5_CenterPad_Click, + k_EControllerActionOrigin_PS5_CenterPad_DPadNorth, + k_EControllerActionOrigin_PS5_CenterPad_DPadSouth, + k_EControllerActionOrigin_PS5_CenterPad_DPadWest, + k_EControllerActionOrigin_PS5_CenterPad_DPadEast, + k_EControllerActionOrigin_PS5_LeftTrigger_Pull, + k_EControllerActionOrigin_PS5_LeftTrigger_Click, + k_EControllerActionOrigin_PS5_RightTrigger_Pull, + k_EControllerActionOrigin_PS5_RightTrigger_Click, + k_EControllerActionOrigin_PS5_LeftStick_Move, + k_EControllerActionOrigin_PS5_LeftStick_Click, + k_EControllerActionOrigin_PS5_LeftStick_DPadNorth, + k_EControllerActionOrigin_PS5_LeftStick_DPadSouth, + k_EControllerActionOrigin_PS5_LeftStick_DPadWest, + k_EControllerActionOrigin_PS5_LeftStick_DPadEast, + k_EControllerActionOrigin_PS5_RightStick_Move, + k_EControllerActionOrigin_PS5_RightStick_Click, + k_EControllerActionOrigin_PS5_RightStick_DPadNorth, + k_EControllerActionOrigin_PS5_RightStick_DPadSouth, + k_EControllerActionOrigin_PS5_RightStick_DPadWest, + k_EControllerActionOrigin_PS5_RightStick_DPadEast, + k_EControllerActionOrigin_PS5_DPad_Move, + k_EControllerActionOrigin_PS5_DPad_North, + k_EControllerActionOrigin_PS5_DPad_South, + k_EControllerActionOrigin_PS5_DPad_West, + k_EControllerActionOrigin_PS5_DPad_East, + k_EControllerActionOrigin_PS5_Gyro_Move, + k_EControllerActionOrigin_PS5_Gyro_Pitch, + k_EControllerActionOrigin_PS5_Gyro_Yaw, + k_EControllerActionOrigin_PS5_Gyro_Roll, + + k_EControllerActionOrigin_XBoxOne_LeftGrip_Lower, + k_EControllerActionOrigin_XBoxOne_LeftGrip_Upper, + k_EControllerActionOrigin_XBoxOne_RightGrip_Lower, + k_EControllerActionOrigin_XBoxOne_RightGrip_Upper, + k_EControllerActionOrigin_XBoxOne_Share, + + // Added in SDK 1.53 + k_EControllerActionOrigin_SteamDeck_A, + k_EControllerActionOrigin_SteamDeck_B, + k_EControllerActionOrigin_SteamDeck_X, + k_EControllerActionOrigin_SteamDeck_Y, + k_EControllerActionOrigin_SteamDeck_L1, + k_EControllerActionOrigin_SteamDeck_R1, + k_EControllerActionOrigin_SteamDeck_Menu, + k_EControllerActionOrigin_SteamDeck_View, + k_EControllerActionOrigin_SteamDeck_LeftPad_Touch, + k_EControllerActionOrigin_SteamDeck_LeftPad_Swipe, + k_EControllerActionOrigin_SteamDeck_LeftPad_Click, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamDeck_RightPad_Touch, + k_EControllerActionOrigin_SteamDeck_RightPad_Swipe, + k_EControllerActionOrigin_SteamDeck_RightPad_Click, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadWest, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadEast, + k_EControllerActionOrigin_SteamDeck_L2_SoftPull, + k_EControllerActionOrigin_SteamDeck_L2, + k_EControllerActionOrigin_SteamDeck_R2_SoftPull, + k_EControllerActionOrigin_SteamDeck_R2, + k_EControllerActionOrigin_SteamDeck_LeftStick_Move, + k_EControllerActionOrigin_SteamDeck_L3, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamDeck_LeftStick_Touch, + k_EControllerActionOrigin_SteamDeck_RightStick_Move, + k_EControllerActionOrigin_SteamDeck_R3, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadNorth, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadSouth, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadWest, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadEast, + k_EControllerActionOrigin_SteamDeck_RightStick_Touch, + k_EControllerActionOrigin_SteamDeck_L4, + k_EControllerActionOrigin_SteamDeck_R4, + k_EControllerActionOrigin_SteamDeck_L5, + k_EControllerActionOrigin_SteamDeck_R5, + k_EControllerActionOrigin_SteamDeck_DPad_Move, + k_EControllerActionOrigin_SteamDeck_DPad_North, + k_EControllerActionOrigin_SteamDeck_DPad_South, + k_EControllerActionOrigin_SteamDeck_DPad_West, + k_EControllerActionOrigin_SteamDeck_DPad_East, + k_EControllerActionOrigin_SteamDeck_Gyro_Move, + k_EControllerActionOrigin_SteamDeck_Gyro_Pitch, + k_EControllerActionOrigin_SteamDeck_Gyro_Yaw, + k_EControllerActionOrigin_SteamDeck_Gyro_Roll, + k_EControllerActionOrigin_SteamDeck_Reserved1, + k_EControllerActionOrigin_SteamDeck_Reserved2, + k_EControllerActionOrigin_SteamDeck_Reserved3, + k_EControllerActionOrigin_SteamDeck_Reserved4, + k_EControllerActionOrigin_SteamDeck_Reserved5, + k_EControllerActionOrigin_SteamDeck_Reserved6, + k_EControllerActionOrigin_SteamDeck_Reserved7, + k_EControllerActionOrigin_SteamDeck_Reserved8, + k_EControllerActionOrigin_SteamDeck_Reserved9, + k_EControllerActionOrigin_SteamDeck_Reserved10, + k_EControllerActionOrigin_SteamDeck_Reserved11, + k_EControllerActionOrigin_SteamDeck_Reserved12, + k_EControllerActionOrigin_SteamDeck_Reserved13, + k_EControllerActionOrigin_SteamDeck_Reserved14, + k_EControllerActionOrigin_SteamDeck_Reserved15, + k_EControllerActionOrigin_SteamDeck_Reserved16, + k_EControllerActionOrigin_SteamDeck_Reserved17, + k_EControllerActionOrigin_SteamDeck_Reserved18, + k_EControllerActionOrigin_SteamDeck_Reserved19, + k_EControllerActionOrigin_SteamDeck_Reserved20, + + k_EControllerActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical + k_EControllerActionOrigin_Switch_JoyConButton_E, // X + k_EControllerActionOrigin_Switch_JoyConButton_S, // A + k_EControllerActionOrigin_Switch_JoyConButton_W, // B + + k_EControllerActionOrigin_PS5_LeftGrip, + k_EControllerActionOrigin_PS5_RightGrip, + k_EControllerActionOrigin_PS5_LeftFn, + k_EControllerActionOrigin_PS5_RightFn, + + k_EControllerActionOrigin_Horipad_M1, + k_EControllerActionOrigin_Horipad_M2, + k_EControllerActionOrigin_Horipad_L4, + k_EControllerActionOrigin_Horipad_R4, + + k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here. + k_EControllerActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. +}; + +#ifndef ISTEAMINPUT_H +enum EXboxOrigin +{ + k_EXboxOrigin_A, + k_EXboxOrigin_B, + k_EXboxOrigin_X, + k_EXboxOrigin_Y, + k_EXboxOrigin_LeftBumper, + k_EXboxOrigin_RightBumper, + k_EXboxOrigin_Menu, //Start + k_EXboxOrigin_View, //Back + k_EXboxOrigin_LeftTrigger_Pull, + k_EXboxOrigin_LeftTrigger_Click, + k_EXboxOrigin_RightTrigger_Pull, + k_EXboxOrigin_RightTrigger_Click, + k_EXboxOrigin_LeftStick_Move, + k_EXboxOrigin_LeftStick_Click, + k_EXboxOrigin_LeftStick_DPadNorth, + k_EXboxOrigin_LeftStick_DPadSouth, + k_EXboxOrigin_LeftStick_DPadWest, + k_EXboxOrigin_LeftStick_DPadEast, + k_EXboxOrigin_RightStick_Move, + k_EXboxOrigin_RightStick_Click, + k_EXboxOrigin_RightStick_DPadNorth, + k_EXboxOrigin_RightStick_DPadSouth, + k_EXboxOrigin_RightStick_DPadWest, + k_EXboxOrigin_RightStick_DPadEast, + k_EXboxOrigin_DPad_North, + k_EXboxOrigin_DPad_South, + k_EXboxOrigin_DPad_West, + k_EXboxOrigin_DPad_East, +}; + +enum ESteamInputType +{ + k_ESteamInputType_Unknown, + k_ESteamInputType_SteamController, + k_ESteamInputType_XBox360Controller, + k_ESteamInputType_XBoxOneController, + k_ESteamInputType_GenericGamepad, // DirectInput controllers + k_ESteamInputType_PS4Controller, + k_ESteamInputType_AppleMFiController, // Unused + k_ESteamInputType_AndroidController, // Unused + k_ESteamInputType_SwitchJoyConPair, // Unused + k_ESteamInputType_SwitchJoyConSingle, // Unused + k_ESteamInputType_SwitchProController, + k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller + k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins + k_ESteamInputType_PS5Controller, // Added in SDK 151 + k_ESteamInputType_Count, + k_ESteamInputType_MaximumPossibleValue = 255, +}; +#endif + +enum ESteamControllerLEDFlag +{ + k_ESteamControllerLEDFlag_SetColor, + k_ESteamControllerLEDFlag_RestoreUserDefault +}; + +// ControllerHandle_t is used to refer to a specific controller. +// This handle will consistently identify a controller, even if it is disconnected and re-connected +typedef uint64 ControllerHandle_t; + + +// These handles are used to refer to a specific in-game action or action set +// All action handles should be queried during initialization for performance reasons +typedef uint64 ControllerActionSetHandle_t; +typedef uint64 ControllerDigitalActionHandle_t; +typedef uint64 ControllerAnalogActionHandle_t; + +#pragma pack( push, 1 ) + +#ifdef ISTEAMINPUT_H +#define ControllerAnalogActionData_t InputAnalogActionData_t +#define ControllerDigitalActionData_t InputDigitalActionData_t +#define ControllerMotionData_t InputMotionData_t +#else +struct ControllerAnalogActionData_t +{ + // Type of data coming from this action, this will match what got specified in the action set + EControllerSourceMode eMode; + + // The current state of this action; will be delta updates for mouse actions + float x, y; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerDigitalActionData_t +{ + // The current state of this action; will be true if currently pressed + bool bState; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerMotionData_t +{ + // Sensor-fused absolute rotation; will drift in heading + float rotQuatX; + float rotQuatY; + float rotQuatZ; + float rotQuatW; + + // Positional acceleration + float posAccelX; + float posAccelY; + float posAccelZ; + + // Angular velocity + float rotVelX; + float rotVelY; + float rotVelZ; +}; +#endif +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Steam Input API +//----------------------------------------------------------------------------- +class ISteamController +{ +public: + + // Init and Shutdown must be called when starting/ending use of this interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Synchronize API state with the latest Steam Controller inputs available. This + // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest + // possible latency, you call this directly before reading controller state. This must + // be called from somewhere before GetConnectedControllers will return any handles + virtual void RunFrame() = 0; + + // Enumerate currently connected controllers + // handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_COUNT, Receives list of connected controllers ) ControllerHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTION SETS + //----------------------------------------------------------------------------- + + // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; + + // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + // your state loops, instead of trying to place it in all of your state transitions. + virtual void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ) = 0; + virtual ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle ) = 0; + + // ACTION SET LAYERS + virtual void ActivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle ) = 0; + // Enumerate currently active layers + // handlesOut should point to a STEAM_CONTROLLER_MAX_ACTIVE_LAYERS sized array of ControllerActionSetHandle_t handles. + // Returns the number of handles written to handlesOut + virtual int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ACTIVE_LAYERS, Receives list of active layers ) ControllerActionSetHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTIONS + //----------------------------------------------------------------------------- + + // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of the supplied digital game action + virtual ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ) = 0; + + // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles. The EControllerActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ORIGINS, Receives list of aciton origins ) EControllerActionOrigin *originsOut ) = 0; + + // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of these supplied analog game action + virtual ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ) = 0; + + // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles. The EControllerActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ORIGINS, Receives list of action origins ) EControllerActionOrigin *originsOut ) = 0; + + // Get a local path to art for on-screen glyph for a particular origin - this call is cheap + virtual const char *GetGlyphForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified origin - this call is serialized + virtual const char *GetStringForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + virtual void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ) = 0; + + // Returns raw motion data from the specified controller + virtual ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle ) = 0; + + //----------------------------------------------------------------------------- + // OUTPUTS + //----------------------------------------------------------------------------- + + // Trigger a haptic pulse on a controller + virtual void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; + + // Trigger a pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. + // nFlags is currently unused and reserved for future use. + virtual void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; + + // Trigger a vibration event on supported controllers. + virtual void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ) = 0; + + // Set the controller LED color on supported controllers. + virtual void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0; + + //----------------------------------------------------------------------------- + // Utility functions available without using the rest of Steam Input API + //----------------------------------------------------------------------------- + + // Invokes the Steam overlay and brings up the binding screen if the user is using Big Picture Mode + // If the user is not in Big Picture Mode it will open up the binding in a new window + virtual bool ShowBindingPanel( ControllerHandle_t controllerHandle ) = 0; + + // Returns the input type for a particular handle - unlike EControllerActionOrigin which update with Steam and may return unrecognized values + // ESteamInputType will remain static and only return valid values from your SDK version + virtual ESteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle ) = 0; + + // Returns the associated controller handle for the specified emulated gamepad - can be used with the above 2 functions + // to identify controllers presented to your game over Xinput. Returns 0 if the Xinput index isn't associated with Steam Input + virtual ControllerHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; + + // Returns the associated gamepad index for the specified controller, if emulating a gamepad or -1 if not associated with an Xinput index + virtual int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified Xbox controller origin. + virtual const char *GetStringForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get a local path to art for on-screen glyph for a particular Xbox controller origin. + virtual const char *GetGlyphForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get the equivalent ActionOrigin for a given Xbox controller origin this can be chained with GetGlyphForActionOrigin to provide future proof glyphs for + // non-Steam Input API action games. Note - this only translates the buttons directly and doesn't take into account any remapping a user has made in their configuration + virtual EControllerActionOrigin GetActionOriginFromXboxOrigin( ControllerHandle_t controllerHandle, EXboxOrigin eOrigin ) = 0; + + // Convert an origin to another controller type - for inputs not present on the other controller type this will return k_EControllerActionOrigin_None + virtual EControllerActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin ) = 0; + + // Get the binding revision for a given device. Returns false if the handle was not valid or if a mapping is not yet loaded for the device + virtual bool GetControllerBindingRevision( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor ) = 0; +}; + +#define STEAMCONTROLLER_INTERFACE_VERSION "SteamController008" + +// Global interface accessor +inline ISteamController *SteamController(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamController *, SteamController, STEAMCONTROLLER_INTERFACE_VERSION ); + +#endif // ISTEAMCONTROLLER_H diff --git a/Steam/isteamdualsense.h b/Steam/isteamdualsense.h new file mode 100644 index 0000000..5acc857 --- /dev/null +++ b/Steam/isteamdualsense.h @@ -0,0 +1,169 @@ +/* SIE CONFIDENTIAL + * $PSLibId$ + * Copyright (C) 2019 Sony Interactive Entertainment Inc. + * All Rights Reserved. + */ + + +#ifndef _SCE_PAD_TRIGGER_EFFECT_H +#define _SCE_PAD_TRIGGER_EFFECT_H + + +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 0x01 +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 0x02 + +#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2 0 +#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2 1 + +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM 2 + +/* Definition of control point num */ +#define SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM 10 + +typedef enum ScePadTriggerEffectMode{ + SCE_PAD_TRIGGER_EFFECT_MODE_OFF, + SCE_PAD_TRIGGER_EFFECT_MODE_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_WEAPON, + SCE_PAD_TRIGGER_EFFECT_MODE_VIBRATION, + SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION, +} ScePadTriggerEffectMode; + +/** + *E + * @brief parameter for setting the trigger effect to off mode. + * Off Mode: Stop trigger effect. + **/ +typedef struct ScePadTriggerEffectOffParam{ + uint8_t padding[48]; +} ScePadTriggerEffectOffParam; + +/** + *E + * @brief parameter for setting the trigger effect to Feedback mode. + * Feedback Mode: The motor arm pushes back trigger. + * Trigger obtains stiffness at specified position. + **/ +typedef struct ScePadTriggerEffectFeedbackParam{ + uint8_t position; /*E position where the strength of target trigger start changing(0~9). */ + uint8_t strength; /*E strength that the motor arm pushes back target trigger(0~8 (0: Same as Off mode)). */ + uint8_t padding[46]; +} ScePadTriggerEffectFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Weapon mode. + * Weapon Mode: Emulate weapon like gun trigger. + **/ +typedef struct ScePadTriggerEffectWeaponParam{ + uint8_t startPosition; /*E position where the stiffness of trigger start changing(2~7). */ + uint8_t endPosition; /*E position where the stiffness of trigger finish changing(startPosition+1~8). */ + uint8_t strength; /*E strength of gun trigger(0~8 (0: Same as Off mode)). */ + uint8_t padding[45]; +} ScePadTriggerEffectWeaponParam; + +/** + *E + * @brief parameter for setting the trigger effect to Vibration mode. + * Vibration Mode: Vibrates motor arm around specified position. + **/ +typedef struct ScePadTriggerEffectVibrationParam{ + uint8_t position; /*E position where the motor arm start vibrating(0~9). */ + uint8_t amplitude; /*E vibration amplitude(0~8 (0: Same as Off mode)). */ + uint8_t frequency; /*E vibration frequency(0~255[Hz] (0: Same as Off mode)). */ + uint8_t padding[45]; +} ScePadTriggerEffectVibrationParam; + +/** + *E + * @brief parameter for setting the trigger effect to ScePadTriggerEffectMultiplePositionFeedbackParam mode. + * Multi Position Feedback Mode: The motor arm pushes back trigger. + * Trigger obtains specified stiffness at each control point. + **/ +typedef struct ScePadTriggerEffectMultiplePositionFeedbackParam{ + uint8_t strength[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E strength that the motor arm pushes back target trigger at position(0~8 (0: Same as Off mode)). + * strength[0] means strength of motor arm at position0. + * strength[1] means strength of motor arm at position1. + * ... + * */ + uint8_t padding[38]; +} ScePadTriggerEffectMultiplePositionFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Feedback3 mode. + * Slope Feedback Mode: The motor arm pushes back trigger between two spedified control points. + * Stiffness of the trigger is changing depending on the set place. + **/ +typedef struct ScePadTriggerEffectSlopeFeedbackParam{ + + uint8_t startPosition; /*E position where the strength of target trigger start changing(0~endPosition). */ + uint8_t endPosition; /*E position where the strength of target trigger finish changing(startPosition+1~9). */ + uint8_t startStrength; /*E strength when trigger's position is startPosition(1~8) */ + uint8_t endStrength; /*E strength when trigger's position is endPosition(1~8) */ + uint8_t padding[44]; +} ScePadTriggerEffectSlopeFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Vibration2 mode. + * Multi Position Vibration Mode: Vibrates motor arm around specified control point. + * Trigger vibrates specified amplitude at each control point. + **/ +typedef struct ScePadTriggerEffectMultiplePositionVibrationParam{ + uint8_t frequency; /*E vibration frequency(0~255 (0: Same as Off mode)) */ + uint8_t amplitude[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E vibration amplitude at position(0~8 (0: Same as Off mode)). + * amplitude[0] means amplitude of vibration at position0. + * amplitude[1] means amplitude of vibration at position1. + * ... + * */ + uint8_t padding[37]; +} ScePadTriggerEffectMultiplePositionVibrationParam; + +/** + *E + * @brief parameter for setting the trigger effect mode. + **/ +typedef union ScePadTriggerEffectCommandData{ + ScePadTriggerEffectOffParam offParam; + ScePadTriggerEffectFeedbackParam feedbackParam; + ScePadTriggerEffectWeaponParam weaponParam; + ScePadTriggerEffectVibrationParam vibrationParam; + ScePadTriggerEffectMultiplePositionFeedbackParam multiplePositionFeedbackParam; + ScePadTriggerEffectSlopeFeedbackParam slopeFeedbackParam; + ScePadTriggerEffectMultiplePositionVibrationParam multiplePositionVibrationParam; +} ScePadTriggerEffectCommandData; + +/** + *E + * @brief parameter for setting the trigger effect. + **/ +typedef struct ScePadTriggerEffectCommand{ + ScePadTriggerEffectMode mode; + uint8_t padding[4]; + ScePadTriggerEffectCommandData commandData; +} ScePadTriggerEffectCommand; + +/** + *E + * @brief parameter for the scePadSetTriggerEffect function. + **/ +typedef struct ScePadTriggerEffectParam{ + + uint8_t triggerMask; /*E Set trigger mask to activate trigger effect commands. + * SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 : 0x01 + * SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 : 0x02 + * */ + uint8_t padding[7]; + + ScePadTriggerEffectCommand command[SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM]; /*E command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2] is for L2 trigger setting + * and param[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2] is for R2 trgger setting. + * */ +} ScePadTriggerEffectParam; + +#if defined(__cplusplus) && __cplusplus >= 201103L +static_assert( sizeof( ScePadTriggerEffectParam ) == 120, "ScePadTriggerEffectParam has incorrect size" ); +#endif + +#endif /* _SCE_PAD_TRIGGER_EFFECT_H */ diff --git a/Steam/isteamfriends.h b/Steam/isteamfriends.h new file mode 100644 index 0000000..7d98dd9 --- /dev/null +++ b/Steam/isteamfriends.h @@ -0,0 +1,758 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: interface to both friends list data and general information about users +// +//============================================================================= + +#ifndef ISTEAMFRIENDS_H +#define ISTEAMFRIENDS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: set of relationships to other users +//----------------------------------------------------------------------------- +enum EFriendRelationship +{ + k_EFriendRelationshipNone = 0, + k_EFriendRelationshipBlocked = 1, // this doesn't get stored; the user has just done an Ignore on an friendship invite + k_EFriendRelationshipRequestRecipient = 2, + k_EFriendRelationshipFriend = 3, + k_EFriendRelationshipRequestInitiator = 4, + k_EFriendRelationshipIgnored = 5, // this is stored; the user has explicit blocked this other user from comments/chat/etc + k_EFriendRelationshipIgnoredFriend = 6, + k_EFriendRelationshipSuggested_DEPRECATED = 7, // was used by the original implementation of the facebook linking feature, but now unused. + + // keep this updated + k_EFriendRelationshipMax = 8, +}; + +// maximum length of friend group name (not including terminating nul!) +const int k_cchMaxFriendsGroupName = 64; + +// maximum number of groups a single user is allowed +const int k_cFriendsGroupLimit = 100; + +// friends group identifier type +typedef int16 FriendsGroupID_t; + +// invalid friends group identifier constant +const FriendsGroupID_t k_FriendsGroupID_Invalid = -1; + +const int k_cEnumerateFollowersMax = 50; + + +//----------------------------------------------------------------------------- +// Purpose: list of states a friend can be in +//----------------------------------------------------------------------------- +enum EPersonaState +{ + k_EPersonaStateOffline = 0, // friend is not currently logged on + k_EPersonaStateOnline = 1, // friend is logged on + k_EPersonaStateBusy = 2, // user is on, but busy + k_EPersonaStateAway = 3, // auto-away feature + k_EPersonaStateSnooze = 4, // auto-away for a long time + k_EPersonaStateLookingToTrade = 5, // Online, trading + k_EPersonaStateLookingToPlay = 6, // Online, wanting to play + k_EPersonaStateInvisible = 7, // Online, but appears offline to friends. This status is never published to clients. + k_EPersonaStateMax, +}; + + +//----------------------------------------------------------------------------- +// Purpose: flags for enumerating friends list, or quickly checking a the relationship between users +//----------------------------------------------------------------------------- +enum EFriendFlags +{ + k_EFriendFlagNone = 0x00, + k_EFriendFlagBlocked = 0x01, + k_EFriendFlagFriendshipRequested = 0x02, + k_EFriendFlagImmediate = 0x04, // "regular" friend + k_EFriendFlagClanMember = 0x08, + k_EFriendFlagOnGameServer = 0x10, + // k_EFriendFlagHasPlayedWith = 0x20, // not currently used + // k_EFriendFlagFriendOfFriend = 0x40, // not currently used + k_EFriendFlagRequestingFriendship = 0x80, + k_EFriendFlagRequestingInfo = 0x100, + k_EFriendFlagIgnored = 0x200, + k_EFriendFlagIgnoredFriend = 0x400, + // k_EFriendFlagSuggested = 0x800, // not used + k_EFriendFlagChatMember = 0x1000, + k_EFriendFlagAll = 0xFFFF, +}; + + +// friend game played information +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct FriendGameInfo_t +{ + CGameID m_gameID; + uint32 m_unGameIP; + uint16 m_usGamePort; + uint16 m_usQueryPort; + CSteamID m_steamIDLobby; +}; +#pragma pack( pop ) + +// special values for FriendGameInfo_t::m_usQueryPort +const uint16 k_usFriendGameInfoQueryPort_NotInitialized = 0xFFFF; // We haven't asked the GS for this query port's actual value yet. Was #define QUERY_PORT_NOT_INITIALIZED in older versions of Steamworks SDK. +const uint16 k_usFriendGameInfoQueryPort_Error = 0xFFFE; // We were unable to get the query port for this server. Was #define QUERY_PORT_ERROR in older versions of Steamworks SDK. + +// maximum number of characters in a user's name. Two flavors; one for UTF-8 and one for UTF-16. +// The UTF-8 version has to be very generous to accomodate characters that get large when encoded +// in UTF-8. +enum +{ + k_cchPersonaNameMax = 128, + k_cwchPersonaNameMax = 32, +}; + +//----------------------------------------------------------------------------- +// Purpose: user restriction flags +//----------------------------------------------------------------------------- +enum EUserRestriction +{ + k_nUserRestrictionNone = 0, // no known chat/content restriction + k_nUserRestrictionUnknown = 1, // we don't know yet (user offline) + k_nUserRestrictionAnyChat = 2, // user is not allowed to (or can't) send/recv any chat + k_nUserRestrictionVoiceChat = 4, // user is not allowed to (or can't) send/recv voice chat + k_nUserRestrictionGroupChat = 8, // user is not allowed to (or can't) send/recv group chat + k_nUserRestrictionRating = 16, // user is too young according to rating in current region + k_nUserRestrictionGameInvites = 32, // user cannot send or recv game invites (e.g. mobile) + k_nUserRestrictionTrading = 64, // user cannot participate in trading (console, mobile) +}; + +// size limit on chat room or member metadata +const uint32 k_cubChatMetadataMax = 8192; + +// size limits on Rich Presence data +enum { k_cchMaxRichPresenceKeys = 30 }; +enum { k_cchMaxRichPresenceKeyLength = 64 }; +enum { k_cchMaxRichPresenceValueLength = 256 }; + +// These values are passed as parameters to the store +enum EOverlayToStoreFlag +{ + k_EOverlayToStoreFlag_None = 0, + k_EOverlayToStoreFlag_AddToCart = 1, + k_EOverlayToStoreFlag_AddToCartAndShow = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Tells Steam where to place the browser window inside the overlay +//----------------------------------------------------------------------------- +enum EActivateGameOverlayToWebPageMode +{ + k_EActivateGameOverlayToWebPageMode_Default = 0, // Browser will open next to all other windows that the user has open in the overlay. + // The window will remain open, even if the user closes then re-opens the overlay. + + k_EActivateGameOverlayToWebPageMode_Modal = 1 // Browser will be opened in a special overlay configuration which hides all other windows + // that the user has open in the overlay. When the user closes the overlay, the browser window + // will also close. When the user closes the browser window, the overlay will automatically close. +}; + +//----------------------------------------------------------------------------- +// Purpose: See GetProfileItemPropertyString and GetProfileItemPropertyUint +//----------------------------------------------------------------------------- +enum ECommunityProfileItemType +{ + k_ECommunityProfileItemType_AnimatedAvatar = 0, + k_ECommunityProfileItemType_AvatarFrame = 1, + k_ECommunityProfileItemType_ProfileModifier = 2, + k_ECommunityProfileItemType_ProfileBackground = 3, + k_ECommunityProfileItemType_MiniProfileBackground = 4, +}; +enum ECommunityProfileItemProperty +{ + k_ECommunityProfileItemProperty_ImageSmall = 0, // string + k_ECommunityProfileItemProperty_ImageLarge = 1, // string + k_ECommunityProfileItemProperty_InternalName = 2, // string + k_ECommunityProfileItemProperty_Title = 3, // string + k_ECommunityProfileItemProperty_Description = 4, // string + k_ECommunityProfileItemProperty_AppID = 5, // uint32 + k_ECommunityProfileItemProperty_TypeID = 6, // uint32 + k_ECommunityProfileItemProperty_Class = 7, // uint32 + k_ECommunityProfileItemProperty_MovieWebM = 8, // string + k_ECommunityProfileItemProperty_MovieMP4 = 9, // string + k_ECommunityProfileItemProperty_MovieWebMSmall = 10, // string + k_ECommunityProfileItemProperty_MovieMP4Small = 11, // string +}; + +//----------------------------------------------------------------------------- +// Purpose: interface to accessing information about individual users, +// that can be a friend, in a group, on a game server or in a lobby with the local user +//----------------------------------------------------------------------------- +class ISteamFriends +{ +public: + // returns the local players name - guaranteed to not be NULL. + // this is the same name as on the users community profile page + // this is stored in UTF-8 format + // like all the other interface functions that return a char *, it's important that this pointer is not saved + // off; it will eventually be free'd or re-allocated + virtual const char *GetPersonaName() = 0; + + // Sets the player name, stores it on the server and publishes the changes to all friends who are online. + // Changes take place locally immediately, and a PersonaStateChange_t is posted, presuming success. + // + // The final results are available through the return value SteamAPICall_t, using SetPersonaNameResponse_t. + // + // If the name change fails to happen on the server, then an additional global PersonaStateChange_t will be posted + // to change the name back, in addition to the SetPersonaNameResponse_t callback. + STEAM_CALL_RESULT( SetPersonaNameResponse_t ) + virtual SteamAPICall_t SetPersonaName( const char *pchPersonaName ) = 0; + + // gets the status of the current user + virtual EPersonaState GetPersonaState() = 0; + + // friend iteration + // takes a set of k_EFriendFlags, and returns the number of users the client knows about who meet that criteria + // then GetFriendByIndex() can then be used to return the id's of each of those users + virtual int GetFriendCount( int iFriendFlags ) = 0; + + // returns the steamID of a user + // iFriend is a index of range [0, GetFriendCount()) + // iFriendsFlags must be the same value as used in GetFriendCount() + // the returned CSteamID can then be used by all the functions below to access details about the user + virtual CSteamID GetFriendByIndex( int iFriend, int iFriendFlags ) = 0; + + // returns a relationship to a user + virtual EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend ) = 0; + + // returns the current status of the specified user + // this will only be known by the local user if steamIDFriend is in their friends list; on the same game server; in a chat room or lobby; or in a small group with the local user + virtual EPersonaState GetFriendPersonaState( CSteamID steamIDFriend ) = 0; + + // returns the name another user - guaranteed to not be NULL. + // same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user + // note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously + // + virtual const char *GetFriendPersonaName( CSteamID steamIDFriend ) = 0; + + // returns true if the friend is actually in a game, and fills in pFriendGameInfo with an extra details + virtual bool GetFriendGamePlayed( CSteamID steamIDFriend, STEAM_OUT_STRUCT() FriendGameInfo_t *pFriendGameInfo ) = 0; + // accesses old friends names - returns an empty string when their are no more items in the history + virtual const char *GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName ) = 0; + // friends steam level + virtual int GetFriendSteamLevel( CSteamID steamIDFriend ) = 0; + + // Returns nickname the current user has set for the specified player. Returns NULL if the no nickname has been set for that player. + // DEPRECATED: GetPersonaName follows the Steam nickname preferences, so apps shouldn't need to care about nicknames explicitly. + virtual const char *GetPlayerNickname( CSteamID steamIDPlayer ) = 0; + + // friend grouping (tag) apis + // returns the number of friends groups + virtual int GetFriendsGroupCount() = 0; + // returns the friends group ID for the given index (invalid indices return k_FriendsGroupID_Invalid) + virtual FriendsGroupID_t GetFriendsGroupIDByIndex( int iFG ) = 0; + // returns the name for the given friends group (NULL in the case of invalid friends group IDs) + virtual const char *GetFriendsGroupName( FriendsGroupID_t friendsGroupID ) = 0; + // returns the number of members in a given friends group + virtual int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID ) = 0; + // gets up to nMembersCount members of the given friends group, if fewer exist than requested those positions' SteamIDs will be invalid + virtual void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, STEAM_OUT_ARRAY_CALL(nMembersCount, GetFriendsGroupMembersCount, friendsGroupID ) CSteamID *pOutSteamIDMembers, int nMembersCount ) = 0; + + // returns true if the specified user meets any of the criteria specified in iFriendFlags + // iFriendFlags can be the union (binary or, |) of one or more k_EFriendFlags values + virtual bool HasFriend( CSteamID steamIDFriend, int iFriendFlags ) = 0; + + // clan (group) iteration and access functions + virtual int GetClanCount() = 0; + virtual CSteamID GetClanByIndex( int iClan ) = 0; + virtual const char *GetClanName( CSteamID steamIDClan ) = 0; + virtual const char *GetClanTag( CSteamID steamIDClan ) = 0; + // returns the most recent information we have about what's happening in a clan + virtual bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting ) = 0; + + // for clans a user is a member of, they will have reasonably up-to-date information, but for others you'll have to download the info to have the latest + STEAM_CALL_RESULT( DownloadClanActivityCountsResult_t ) + virtual SteamAPICall_t DownloadClanActivityCounts( STEAM_ARRAY_COUNT(cClansToRequest) CSteamID *psteamIDClans, int cClansToRequest ) = 0; + + // iterators for getting users in a chat room, lobby, game server or clan + // note that large clans that cannot be iterated by the local user + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + // steamIDSource can be the steamID of a group, game server, lobby or chat room + virtual int GetFriendCountFromSource( CSteamID steamIDSource ) = 0; + virtual CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend ) = 0; + + // returns true if the local user can see that steamIDUser is a member or in steamIDSource + virtual bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource ) = 0; + + // User is in a game pressing the talk button (will suppress the microphone for all voice comms from the Steam friends UI) + virtual void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking ) = 0; + + // activates the game overlay, with an optional dialog to open + // valid options include "Friends", "Community", "Players", "Settings", "OfficialGameGroup", "Stats", "Achievements", + // "chatroomgroup/nnnn" + virtual void ActivateGameOverlay( const char *pchDialog ) = 0; + + // activates game overlay to a specific place + // valid options are + // "steamid" - opens the overlay web browser to the specified user or groups profile + // "chat" - opens a chat window to the specified user, or joins the group chat + // "jointrade" - opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API + // "stats" - opens the overlay web browser to the specified user's stats + // "achievements" - opens the overlay web browser to the specified user's achievements + // "friendadd" - opens the overlay in minimal mode prompting the user to add the target user as a friend + // "friendremove" - opens the overlay in minimal mode prompting the user to remove the target friend + // "friendrequestaccept" - opens the overlay in minimal mode prompting the user to accept an incoming friend invite + // "friendrequestignore" - opens the overlay in minimal mode prompting the user to ignore an incoming friend invite + virtual void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID ) = 0; + + // activates game overlay web browser directly to the specified URL + // full address with protocol type is required, e.g. http://www.steamgames.com/ + virtual void ActivateGameOverlayToWebPage( const char *pchURL, EActivateGameOverlayToWebPageMode eMode = k_EActivateGameOverlayToWebPageMode_Default ) = 0; + + // activates game overlay to store page for app + virtual void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag ) = 0; + + // Mark a target user as 'played with'. This is a client-side only feature that requires that the calling user is + // in game + virtual void SetPlayedWith( CSteamID steamIDUserPlayedWith ) = 0; + + // activates game overlay to open the invite dialog. Invitations will be sent for the provided lobby. + virtual void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby ) = 0; + + // gets the small (32x32) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetSmallFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the medium (64x64) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetMediumFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the large (184x184) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + // returns -1 if this image has yet to be loaded, in this case wait for a AvatarImageLoaded_t callback and then call this again + virtual int GetLargeFriendAvatar( CSteamID steamIDFriend ) = 0; + + // requests information about a user - persona name & avatar + // if bRequireNameOnly is set, then the avatar of a user isn't downloaded + // - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them + // if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved + // if returns false, it means that we already have all the details about that user, and functions can be called immediately + virtual bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly ) = 0; + + // requests information about a clan officer list + // when complete, data is returned in ClanOfficerListResponse_t call result + // this makes available the calls below + // you can only ask about clans that a user is a member of + // note that this won't download avatars automatically; if you get an officer, + // and no avatar image is available, call RequestUserInformation( steamID, false ) to download the avatar + STEAM_CALL_RESULT( ClanOfficerListResponse_t ) + virtual SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan ) = 0; + + // iteration of clan officers - can only be done when a RequestClanOfficerList() call has completed + + // returns the steamID of the clan owner + virtual CSteamID GetClanOwner( CSteamID steamIDClan ) = 0; + // returns the number of officers in a clan (including the owner) + virtual int GetClanOfficerCount( CSteamID steamIDClan ) = 0; + // returns the steamID of a clan officer, by index, of range [0,GetClanOfficerCount) + virtual CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer ) = 0; + // if current user is chat restricted, he can't send or receive any text/voice chat messages. + // the user can't see custom avatars. But the user can be online and send/recv game invites. + // a chat restricted user can't add friends or join any groups. + virtual uint32 GetUserRestrictions() = 0; + + // Rich Presence data is automatically shared between friends who are in the same game + // Each user has a set of Key/Value pairs + // Note the following limits: k_cchMaxRichPresenceKeys, k_cchMaxRichPresenceKeyLength, k_cchMaxRichPresenceValueLength + // There are five magic keys: + // "status" - a UTF-8 string that will show up in the 'view game info' dialog in the Steam friends list + // "connect" - a UTF-8 string that contains the command-line for how a friend can connect to a game + // "steam_display" - Names a rich presence localization token that will be displayed in the viewing user's selected language + // in the Steam client UI. For more info: https://partner.steamgames.com/doc/api/ISteamFriends#richpresencelocalization + // "steam_player_group" - When set, indicates to the Steam client that the player is a member of a particular group. Players in the same group + // may be organized together in various places in the Steam UI. + // "steam_player_group_size" - When set, indicates the total number of players in the steam_player_group. The Steam client may use this number to + // display additional information about a group when all of the members are not part of a user's friends list. + // GetFriendRichPresence() returns an empty string "" if no value is set + // SetRichPresence() to a NULL or an empty string deletes the key + // You can iterate the current set of keys for a friend with GetFriendRichPresenceKeyCount() + // and GetFriendRichPresenceKeyByIndex() (typically only used for debugging) + virtual bool SetRichPresence( const char *pchKey, const char *pchValue ) = 0; + virtual void ClearRichPresence() = 0; + virtual const char *GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey ) = 0; + virtual int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend ) = 0; + virtual const char *GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey ) = 0; + // Requests rich presence for a specific user. + virtual void RequestFriendRichPresence( CSteamID steamIDFriend ) = 0; + + // Rich invite support. + // If the target accepts the invite, a GameRichPresenceJoinRequested_t callback is posted containing the connect string. + // (Or you can configure your game so that it is passed on the command line instead. This is a deprecated path; ask us if you really need this.) + virtual bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString ) = 0; + + // recently-played-with friends iteration + // this iterates the entire list of users recently played with, across games + // GetFriendCoplayTime() returns as a unix time + virtual int GetCoplayFriendCount() = 0; + virtual CSteamID GetCoplayFriend( int iCoplayFriend ) = 0; + virtual int GetFriendCoplayTime( CSteamID steamIDFriend ) = 0; + virtual AppId_t GetFriendCoplayGame( CSteamID steamIDFriend ) = 0; + + // chat interface for games + // this allows in-game access to group (clan) chats from in the game + // the behavior is somewhat sophisticated, because the user may or may not be already in the group chat from outside the game or in the overlay + // use ActivateGameOverlayToUser( "chat", steamIDClan ) to open the in-game overlay version of the chat + STEAM_CALL_RESULT( JoinClanChatRoomCompletionResult_t ) + virtual SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan ) = 0; + virtual bool LeaveClanChatRoom( CSteamID steamIDClan ) = 0; + virtual int GetClanChatMemberCount( CSteamID steamIDClan ) = 0; + virtual CSteamID GetChatMemberByIndex( CSteamID steamIDClan, int iUser ) = 0; + virtual bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText ) = 0; + virtual int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, STEAM_OUT_STRUCT() CSteamID *psteamidChatter ) = 0; + virtual bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser ) = 0; + + // interact with the Steam (game overlay / desktop) + virtual bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + + // peer-to-peer chat interception + // this is so you can show P2P chats inline in the game + virtual bool SetListenForFriendsMessages( bool bInterceptEnabled ) = 0; + virtual bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend ) = 0; + virtual int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // following apis + STEAM_CALL_RESULT( FriendsGetFollowerCount_t ) + virtual SteamAPICall_t GetFollowerCount( CSteamID steamID ) = 0; + STEAM_CALL_RESULT( FriendsIsFollowing_t ) + virtual SteamAPICall_t IsFollowing( CSteamID steamID ) = 0; + STEAM_CALL_RESULT( FriendsEnumerateFollowingList_t ) + virtual SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex ) = 0; + + virtual bool IsClanPublic( CSteamID steamIDClan ) = 0; + virtual bool IsClanOfficialGameGroup( CSteamID steamIDClan ) = 0; + + /// Return the number of chats (friends or chat rooms) with unread messages. + /// A "priority" message is one that would generate some sort of toast or + /// notification, and depends on user settings. + /// + /// You can register for UnreadChatMessagesChanged_t callbacks to know when this + /// has potentially changed. + virtual int GetNumChatsWithUnreadPriorityMessages() = 0; + + // activates game overlay to open the remote play together invite dialog. Invitations will be sent for remote play together + virtual void ActivateGameOverlayRemotePlayTogetherInviteDialog( CSteamID steamIDLobby ) = 0; + + // Call this before calling ActivateGameOverlayToWebPage() to have the Steam Overlay Browser block navigations + // to your specified protocol (scheme) uris and instead dispatch a OverlayBrowserProtocolNavigation_t callback to your game. + // ActivateGameOverlayToWebPage() must have been called with k_EActivateGameOverlayToWebPageMode_Modal + virtual bool RegisterProtocolInOverlayBrowser( const char *pchProtocol ) = 0; + + // Activates the game overlay to open an invite dialog that will send the provided Rich Presence connect string to selected friends + virtual void ActivateGameOverlayInviteDialogConnectString( const char *pchConnectString ) = 0; + + // Steam Community items equipped by a user on their profile + // You can register for EquippedProfileItemsChanged_t to know when a friend has changed their equipped profile items + STEAM_CALL_RESULT( EquippedProfileItems_t ) + virtual SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID ) = 0; + virtual bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType ) = 0; + virtual const char *GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0; + virtual uint32 GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0; +}; + +#define STEAMFRIENDS_INTERFACE_VERSION "SteamFriends017" + +// Global interface accessor +inline ISteamFriends *SteamFriends(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamFriends *, SteamFriends, STEAMFRIENDS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a friends' status changes +//----------------------------------------------------------------------------- +struct PersonaStateChange_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 4 }; + + uint64 m_ulSteamID; // steamID of the friend who changed + int m_nChangeFlags; // what's changed +}; + + +// used in PersonaStateChange_t::m_nChangeFlags to describe what's changed about a user +// these flags describe what the client has learned has changed recently, so on startup you'll see a name, avatar & relationship change for every friend +enum EPersonaChange +{ + k_EPersonaChangeName = 0x0001, + k_EPersonaChangeStatus = 0x0002, + k_EPersonaChangeComeOnline = 0x0004, + k_EPersonaChangeGoneOffline = 0x0008, + k_EPersonaChangeGamePlayed = 0x0010, + k_EPersonaChangeGameServer = 0x0020, + k_EPersonaChangeAvatar = 0x0040, + k_EPersonaChangeJoinedSource= 0x0080, + k_EPersonaChangeLeftSource = 0x0100, + k_EPersonaChangeRelationshipChanged = 0x0200, + k_EPersonaChangeNameFirstSet = 0x0400, + k_EPersonaChangeBroadcast = 0x0800, + k_EPersonaChangeNickname = 0x1000, + k_EPersonaChangeSteamLevel = 0x2000, + k_EPersonaChangeRichPresence = 0x4000, +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted when game overlay activates or deactivates +// the game can use this to be pause or resume single player games +//----------------------------------------------------------------------------- +struct GameOverlayActivated_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 31 }; + uint8 m_bActive; // true if it's just been activated, false otherwise + bool m_bUserInitiated; // true if the user asked for the overlay to be activated/deactivated + AppId_t m_nAppID; // the appID of the game (should always be the current game) + uint32 m_dwOverlayPID; // used internally +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a different game server from their friends list +// game client should attempt to connect to specified server when this is received +//----------------------------------------------------------------------------- +struct GameServerChangeRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 32 }; + char m_rgchServer[64]; // server address ("127.0.0.1:27015", "tf2.valvesoftware.com") + char m_rgchPassword[64]; // server password, if any +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a lobby from their friends list +// game client should attempt to connect to specified lobby when this is received +//----------------------------------------------------------------------------- +struct GameLobbyJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 33 }; + CSteamID m_steamIDLobby; + + // The friend they did the join via (will be invalid if not directly via a friend) + // + // On PS3, the friend will be invalid if this was triggered by a PSN invite via the XMB, but + // the account type will be console user so you can tell at least that this was from a PSN friend + // rather than a Steam friend. + CSteamID m_steamIDFriend; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when an avatar is loaded in from a previous GetLargeFriendAvatar() call +// if the image wasn't already available +//----------------------------------------------------------------------------- +struct AvatarImageLoaded_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 34 }; + CSteamID m_steamID; // steamid the avatar has been loaded for + int m_iImage; // the image index of the now loaded image + int m_iWide; // width of the loaded image + int m_iTall; // height of the loaded image +}; + + +//----------------------------------------------------------------------------- +// Purpose: marks the return of a request officer list call +//----------------------------------------------------------------------------- +struct ClanOfficerListResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 35 }; + CSteamID m_steamIDClan; + int m_cOfficers; + uint8 m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating updated data about friends rich presence information +//----------------------------------------------------------------------------- +struct FriendRichPresenceUpdate_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 36 }; + CSteamID m_steamIDFriend; // friend who's rich presence has changed + AppId_t m_nAppID; // the appID of the game (should always be the current game) +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a game from their friends list +// rich presence will have been set with the "connect" key which is set here +//----------------------------------------------------------------------------- +struct GameRichPresenceJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 37 }; + CSteamID m_steamIDFriend; // the friend they did the join via (will be invalid if not directly via a friend) + char m_rgchConnect[k_cchMaxRichPresenceValueLength]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received for a clan chat the game has joined +//----------------------------------------------------------------------------- +struct GameConnectedClanChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 38 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has joined a clan chat +//----------------------------------------------------------------------------- +struct GameConnectedChatJoin_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 39 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has left the chat we're in +//----------------------------------------------------------------------------- +struct GameConnectedChatLeave_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 40 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + bool m_bKicked; // true if admin kicked + bool m_bDropped; // true if Steam connection dropped +}; + + +//----------------------------------------------------------------------------- +// Purpose: a DownloadClanActivityCounts() call has finished +//----------------------------------------------------------------------------- +struct DownloadClanActivityCountsResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 41 }; + bool m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a JoinClanChatRoom() call has finished +//----------------------------------------------------------------------------- +struct JoinClanChatRoomCompletionResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 42 }; + CSteamID m_steamIDClanChat; + EChatRoomEnterResponse m_eChatRoomEnterResponse; +}; + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received from a user +//----------------------------------------------------------------------------- +struct GameConnectedFriendChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 43 }; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +struct FriendsGetFollowerCount_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 44 }; + EResult m_eResult; + CSteamID m_steamID; + int m_nCount; +}; + + +struct FriendsIsFollowing_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 45 }; + EResult m_eResult; + CSteamID m_steamID; + bool m_bIsFollowing; +}; + + +struct FriendsEnumerateFollowingList_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 46 }; + EResult m_eResult; + CSteamID m_rgSteamID[ k_cEnumerateFollowersMax ]; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; +}; + +//----------------------------------------------------------------------------- +// Purpose: reports the result of an attempt to change the user's persona name +//----------------------------------------------------------------------------- +struct SetPersonaNameResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 47 }; + + bool m_bSuccess; // true if name change succeeded completely. + bool m_bLocalSuccess; // true if name change was retained locally. (We might not have been able to communicate with Steam) + EResult m_result; // detailed result code +}; + +//----------------------------------------------------------------------------- +// Purpose: Invoked when the status of unread messages changes +//----------------------------------------------------------------------------- +struct UnreadChatMessagesChanged_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 48 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Dispatched when an overlay browser instance is navigated to a protocol/scheme registered by RegisterProtocolInOverlayBrowser() +//----------------------------------------------------------------------------- +struct OverlayBrowserProtocolNavigation_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 49 }; + char rgchURI[ 1024 ]; +}; + +//----------------------------------------------------------------------------- +// Purpose: A user's equipped profile items have changed +//----------------------------------------------------------------------------- +struct EquippedProfileItemsChanged_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 50 }; + CSteamID m_steamID; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +struct EquippedProfileItems_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 51 }; + EResult m_eResult; + CSteamID m_steamID; + bool m_bHasAnimatedAvatar; + bool m_bHasAvatarFrame; + bool m_bHasProfileModifier; + bool m_bHasProfileBackground; + bool m_bHasMiniProfileBackground; + bool m_bFromCache; +}; + +#pragma pack( pop ) + +#endif // ISTEAMFRIENDS_H diff --git a/Steam/isteamgamecoordinator.h b/Steam/isteamgamecoordinator.h new file mode 100644 index 0000000..89b740d --- /dev/null +++ b/Steam/isteamgamecoordinator.h @@ -0,0 +1,74 @@ +//====== Copyright ©, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to the game coordinator for this application +// +//============================================================================= + +#ifndef ISTEAMGAMECOORDINATOR +#define ISTEAMGAMECOORDINATOR +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +// list of possible return values from the ISteamGameCoordinator API +enum EGCResults +{ + k_EGCResultOK = 0, + k_EGCResultNoMessage = 1, // There is no message in the queue + k_EGCResultBufferTooSmall = 2, // The buffer is too small for the requested message + k_EGCResultNotLoggedOn = 3, // The client is not logged onto Steam + k_EGCResultInvalidMessage = 4, // Something was wrong with the message being sent with SendMessage +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for sending and receiving messages from the Game Coordinator +// for this application +//----------------------------------------------------------------------------- +class ISteamGameCoordinator +{ +public: + + // sends a message to the Game Coordinator + virtual EGCResults SendMessage( uint32 unMsgType, const void *pubData, uint32 cubData ) = 0; + + // returns true if there is a message waiting from the game coordinator + virtual bool IsMessageAvailable( uint32 *pcubMsgSize ) = 0; + + // fills the provided buffer with the first message in the queue and returns k_EGCResultOK or + // returns k_EGCResultNoMessage if there is no message waiting. pcubMsgSize is filled with the message size. + // If the provided buffer is not large enough to fit the entire message, k_EGCResultBufferTooSmall is returned + // and the message remains at the head of the queue. + virtual EGCResults RetrieveMessage( uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + +}; +#define STEAMGAMECOORDINATOR_INTERFACE_VERSION "SteamGameCoordinator001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +// callback notification - A new message is available for reading from the message queue +struct GCMessageAvailable_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 1 }; + uint32 m_nMessageSize; +}; + +// callback notification - A message failed to make it to the GC. It may be down temporarily +struct GCMessageFailed_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMGAMECOORDINATOR diff --git a/Steam/isteamgameserver.h b/Steam/isteamgameserver.h new file mode 100644 index 0000000..ba4d125 --- /dev/null +++ b/Steam/isteamgameserver.h @@ -0,0 +1,394 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam for game servers +// +//============================================================================= + +#ifndef ISTEAMGAMESERVER_H +#define ISTEAMGAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServer +{ +public: + +// +// Basic server data. These properties, if set, must be set before before calling LogOn. They +// may not be changed after logged in. +// + + /// This is called by SteamGameServer_Init, and you will usually not need to call it directly + STEAM_PRIVATE_API( virtual bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString ) = 0; ) + + /// Game product identifier. This is currently used by the master server for version checking purposes. + /// It's a required field, but will eventually will go away, and the AppID will be used for this purpose. + virtual void SetProduct( const char *pszProduct ) = 0; + + /// Description of the game. This is a required field and is displayed in the steam server browser....for now. + /// This is a required field, but it will go away eventually, as the data should be determined from the AppID. + virtual void SetGameDescription( const char *pszGameDescription ) = 0; + + /// If your game is a "mod," pass the string that identifies it. The default is an empty string, meaning + /// this application is the original game, not a mod. + /// + /// @see k_cbMaxGameServerGameDir + virtual void SetModDir( const char *pszModDir ) = 0; + + /// Is this is a dedicated server? The default value is false. + virtual void SetDedicatedServer( bool bDedicated ) = 0; + +// +// Login +// + + /// Begin process to login to a persistent game server account + /// + /// You need to register for callbacks to determine the result of this operation. + /// @see SteamServersConnected_t + /// @see SteamServerConnectFailure_t + /// @see SteamServersDisconnected_t + virtual void LogOn( const char *pszToken ) = 0; + + /// Login to a generic, anonymous account. + /// + /// Note: in previous versions of the SDK, this was automatically called within SteamGameServer_Init, + /// but this is no longer the case. + virtual void LogOnAnonymous() = 0; + + /// Begin process of logging game server out of steam + virtual void LogOff() = 0; + + // status functions + virtual bool BLoggedOn() = 0; + virtual bool BSecure() = 0; + virtual CSteamID GetSteamID() = 0; + + /// Returns true if the master server has requested a restart. + /// Only returns true once per request. + virtual bool WasRestartRequested() = 0; + +// +// Server state. These properties may be changed at any time. +// + + /// Max player count that will be reported to server browser and client queries + virtual void SetMaxPlayerCount( int cPlayersMax ) = 0; + + /// Number of bots. Default value is zero + virtual void SetBotPlayerCount( int cBotplayers ) = 0; + + /// Set the name of server as it will appear in the server browser + /// + /// @see k_cbMaxGameServerName + virtual void SetServerName( const char *pszServerName ) = 0; + + /// Set name of map to report in the server browser + /// + /// @see k_cbMaxGameServerMapName + virtual void SetMapName( const char *pszMapName ) = 0; + + /// Let people know if your server will require a password + virtual void SetPasswordProtected( bool bPasswordProtected ) = 0; + + /// Spectator server port to advertise. The default value is zero, meaning the + /// service is not used. If your server receives any info requests on the LAN, + /// this is the value that will be placed into the reply for such local queries. + /// + /// This is also the value that will be advertised by the master server. + /// The only exception is if your server is using a FakeIP. Then then the second + /// fake port number (index 1) assigned to your server will be listed on the master + /// server as the spectator port, if you set this value to any nonzero value. + /// + /// This function merely controls the values that are advertised -- it's up to you to + /// configure the server to actually listen on this port and handle any spectator traffic + virtual void SetSpectatorPort( uint16 unSpectatorPort ) = 0; + + /// Name of the spectator server. (Only used if spectator port is nonzero.) + /// + /// @see k_cbMaxGameServerMapName + virtual void SetSpectatorServerName( const char *pszSpectatorServerName ) = 0; + + /// Call this to clear the whole list of key/values that are sent in rules queries. + virtual void ClearAllKeyValues() = 0; + + /// Call this to add/update a key/value pair. + virtual void SetKeyValue( const char *pKey, const char *pValue ) = 0; + + /// Sets a string defining the "gametags" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// + /// @see k_cbMaxGameServerTags + virtual void SetGameTags( const char *pchGameTags ) = 0; + + /// Sets a string defining the "gamedata" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// + /// @see k_cbMaxGameServerGameData + virtual void SetGameData( const char *pchGameData ) = 0; + + /// Region identifier. This is an optional field, the default value is empty, meaning the "world" region + virtual void SetRegion( const char *pszRegion ) = 0; + + /// Indicate whether you wish to be listed on the master server list + /// and/or respond to server browser / LAN discovery packets. + /// The server starts with this value set to false. You should set all + /// relevant server parameters before enabling advertisement on the server. + /// + /// (This function used to be named EnableHeartbeats, so if you are wondering + /// where that function went, it's right here. It does the same thing as before, + /// the old name was just confusing.) + virtual void SetAdvertiseServerActive( bool bActive ) = 0; + +// +// Player list management / authentication. +// + + // Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ). + // pcbTicket retrieves the length of the actual ticket. + // SteamNetworkingIdentity is an optional parameter to hold the public IP address of the entity you are connecting to + // if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket, const SteamNetworkingIdentity *pSnid ) = 0; + + // Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to SendUserConnectAndAuthenticate, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // Ask if a user in in the specified group, results returns async by GSUserGroupStatus_t + // returns false if we're not connected to the steam servers and thus cannot ask + virtual bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup ) = 0; + + + // these two functions s are deprecated, and will not return results + // they will be removed in a future version of the SDK + virtual void GetGameplayStats( ) = 0; + STEAM_CALL_RESULT( GSReputation_t ) + virtual SteamAPICall_t GetServerReputation() = 0; + + // Returns the public IP of the server according to Steam, useful when the server is + // behind NAT and you want to advertise its IP in a lobby for other clients to directly + // connect to + virtual SteamIPAddress_t GetPublicIP() = 0; + +// Server browser related query packet processing for shared socket mode. These are used +// when you pass STEAMGAMESERVER_QUERY_PORT_SHARED as the query port to SteamGameServer_Init. +// IP address and port are in host order, i.e 127.0.0.1 == 0x7f000001 + + // These are used when you've elected to multiplex the game server's UDP socket + // rather than having the master server updater use its own sockets. + // + // Source games use this to simplify the job of the server admins, so they + // don't have to open up more ports on their firewalls. + + // Call this when a packet that starts with 0xFFFFFFFF comes in. That means + // it's for us. + virtual bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort ) = 0; + + // AFTER calling HandleIncomingPacket for any packets that came in that frame, call this. + // This gets a packet that the master server updater needs to send out on UDP. + // It returns the length of the packet it wants to send, or 0 if there are no more packets to send. + // Call this each frame until it returns 0. + virtual int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort ) = 0; + +// +// Server clan association +// + + // associate this game server with this clan for the purposes of computing player compat + STEAM_CALL_RESULT( AssociateWithClanResult_t ) + virtual SteamAPICall_t AssociateWithClan( CSteamID steamIDClan ) = 0; + + // ask if any of the current players dont want to play with this new player - or vice versa + STEAM_CALL_RESULT( ComputeNewPlayerCompatibilityResult_t ) + virtual SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer ) = 0; + + + + + // Handles receiving a new connection from a Steam user. This call will ask the Steam + // servers to validate the users identity, app ownership, and VAC status. If the Steam servers + // are off-line, then it will validate the cached ticket itself which will validate app ownership + // and identity. The AuthBlob here should be acquired on the game client using SteamUser()->InitiateGameConnection() + // and must then be sent up to the game server for authentication. + // + // Return Value: returns true if the users ticket passes basic checks. pSteamIDUser will contain the Steam ID of this user. pSteamIDUser must NOT be NULL + // If the call succeeds then you should expect a GSClientApprove_t or GSClientDeny_t callback which will tell you whether authentication + // for the user has succeeded or failed (the steamid in the callback will match the one returned by this call) + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual bool SendUserConnectAndAuthenticate_DEPRECATED( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser ) = 0; + + // Creates a fake user (ie, a bot) which will be listed as playing on the server, but skips validation. + // + // Return Value: Returns a SteamID for the user to be tracked with, you should call EndAuthSession() + // when this user leaves the server just like you would for a real user. + virtual CSteamID CreateUnauthenticatedUserConnection() = 0; + + // Should be called whenever a user leaves our game server, this lets Steam internally + // track which users are currently on which servers for the purposes of preventing a single + // account being logged into multiple servers, showing who is currently on a server, etc. + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual void SendUserDisconnect_DEPRECATED( CSteamID steamIDUser ) = 0; + + // Update the data to be displayed in the server browser and matchmaking interfaces for a user + // currently connected to the server. For regular users you must call this after you receive a + // GSUserValidationSuccess callback. + // + // Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player) + virtual bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore ) = 0; + +// Deprecated functions. These will be removed in a future version of the SDK. +// If you really need these, please contact us and help us understand what you are +// using them for. + + STEAM_PRIVATE_API( + virtual void SetMasterServerHeartbeatInterval_DEPRECATED( int iHeartbeatInterval ) = 0; + virtual void ForceMasterServerHeartbeat_DEPRECATED() = 0; + ) +}; + +#define STEAMGAMESERVER_INTERFACE_VERSION "SteamGameServer015" + +// Global accessor +inline ISteamGameServer *SteamGameServer(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamGameServer *, SteamGameServer, STEAMGAMESERVER_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +// client has been approved to connect to this game server +struct GSClientApprove_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 1 }; + CSteamID m_SteamID; // SteamID of approved player + CSteamID m_OwnerSteamID; // SteamID of original owner for game license +}; + + +// client has been denied to connection to this game server +struct GSClientDeny_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 2 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; + char m_rgchOptionalText[128]; +}; + + +// request the game server should kick the user +struct GSClientKick_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 3 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; +}; + +// NOTE: callback values 4 and 5 are skipped because they are used for old deprecated callbacks, +// do not reuse them here. + + +// client achievement info +struct GSClientAchievementStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 6 }; + uint64 m_SteamID; + char m_pchAchievement[128]; + bool m_bUnlocked; +}; + +// received when the game server requests to be displayed as secure (VAC protected) +// m_bSecure is true if the game server should display itself as secure to users, false otherwise +struct GSPolicyResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 15 }; + uint8 m_bSecure; +}; + +// GS gameplay stats info +struct GSGameplayStats_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 7 }; + EResult m_eResult; // Result of the call + int32 m_nRank; // Overall rank of the server (0-based) + uint32 m_unTotalConnects; // Total number of clients who have ever connected to the server + uint32 m_unTotalMinutesPlayed; // Total number of minutes ever played on the server +}; + +// send as a reply to RequestUserGroupStatus() +struct GSClientGroupStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 8 }; + CSteamID m_SteamIDUser; + CSteamID m_SteamIDGroup; + bool m_bMember; + bool m_bOfficer; +}; + +// Sent as a reply to GetServerReputation() +struct GSReputation_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 9 }; + EResult m_eResult; // Result of the call; + uint32 m_unReputationScore; // The reputation score for the game server + bool m_bBanned; // True if the server is banned from the Steam + // master servers + + // The following members are only filled out if m_bBanned is true. They will all + // be set to zero otherwise. Master server bans are by IP so it is possible to be + // banned even when the score is good high if there is a bad server on another port. + // This information can be used to determine which server is bad. + + uint32 m_unBannedIP; // The IP of the banned server + uint16 m_usBannedPort; // The port of the banned server + uint64 m_ulBannedGameID; // The game ID the banned server is serving + uint32 m_unBanExpires; // Time the ban expires, expressed in the Unix epoch (seconds since 1/1/1970) +}; + +// Sent as a reply to AssociateWithClan() +struct AssociateWithClanResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 10 }; + EResult m_eResult; // Result of the call; +}; + +// Sent as a reply to ComputeNewPlayerCompatibility() +struct ComputeNewPlayerCompatibilityResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 11 }; + EResult m_eResult; // Result of the call; + int m_cPlayersThatDontLikeCandidate; + int m_cPlayersThatCandidateDoesntLike; + int m_cClanPlayersThatDontLikeCandidate; + CSteamID m_SteamIDCandidate; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMGAMESERVER_H diff --git a/Steam/isteamgameserverstats.h b/Steam/isteamgameserverstats.h new file mode 100644 index 0000000..5019279 --- /dev/null +++ b/Steam/isteamgameserverstats.h @@ -0,0 +1,114 @@ +//====== Copyright © Valve Corporation, All rights reserved. ======= +// +// Purpose: interface for game servers to steam stats and achievements +// +//============================================================================= + +#ifndef ISTEAMGAMESERVERSTATS_H +#define ISTEAMGAMESERVERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServerStats +{ +public: + // downloads stats for the user + // returns a GSStatsReceived_t callback when completed + // if the user has no stats, GSStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats will only be auto-updated for clients playing on the server. For other + // users you'll need to call RequestUserStats() again to refresh any data + STEAM_CALL_RESULT( GSStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + STEAM_FLAT_NAME( GetUserStatInt32 ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetUserStatFloat ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + + // Set / update stats and achievements. + // Note: These updates will work only on stats game servers are allowed to edit and only for + // game servers that have been declared as officially controlled by the game creators. + // Set the IP range of your official servers on the Steamworks page + + STEAM_FLAT_NAME( SetUserStatInt32 ) + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData ) = 0; + + STEAM_FLAT_NAME( SetUserStatFloat ) + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, float fData ) = 0; + + virtual bool UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + virtual bool SetUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + virtual bool ClearUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + + // Store the current data on the server, will get a GSStatsStored_t callback when set. + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + STEAM_CALL_RESULT( GSStatsStored_t ) + virtual SteamAPICall_t StoreUserStats( CSteamID steamIDUser ) = 0; +}; +#define STEAMGAMESERVERSTATS_INTERFACE_VERSION "SteamGameServerStats001" + +// Global accessor +inline ISteamGameServerStats *SteamGameServerStats(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamGameServerStats *, SteamGameServerStats, STEAMGAMESERVERSTATS_INTERFACE_VERSION ); + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct GSStatsReceived_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks }; + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct GSStatsStored_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks + 1 }; + EResult m_eResult; // success / error + CSteamID m_steamIDUser; // The user for whom the stats were stored +}; + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct GSStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + +#pragma pack( pop ) + + +#endif // ISTEAMGAMESERVERSTATS_H diff --git a/Steam/isteamhtmlsurface.h b/Steam/isteamhtmlsurface.h new file mode 100644 index 0000000..dd30fe2 --- /dev/null +++ b/Steam/isteamhtmlsurface.h @@ -0,0 +1,479 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to display html pages in a texture +// +//============================================================================= + +#ifndef ISTEAMHTMLSURFACE_H +#define ISTEAMHTMLSURFACE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +typedef uint32 HHTMLBrowser; +const uint32 INVALID_HTMLBROWSER = 0; + +//----------------------------------------------------------------------------- +// Purpose: Functions for displaying HTML pages and interacting with them +//----------------------------------------------------------------------------- +class ISteamHTMLSurface +{ +public: + virtual ~ISteamHTMLSurface() {} + + // Must call init and shutdown when starting/ending use of the interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Create a browser object for display of a html page, when creation is complete the call handle + // will return a HTML_BrowserReady_t callback for the HHTMLBrowser of your new browser. + // The user agent string is a substring to be added to the general user agent string so you can + // identify your client on web servers. + // The userCSS string lets you apply a CSS style sheet to every displayed page, leave null if + // you do not require this functionality. + // + // YOU MUST HAVE IMPLEMENTED HANDLERS FOR HTML_BrowserReady_t, HTML_StartRequest_t, + // HTML_JSAlert_t, HTML_JSConfirm_t, and HTML_FileOpenDialog_t! See the CALLBACKS + // section of this interface (AllowStartRequest, etc) for more details. If you do + // not implement these callback handlers, the browser may appear to hang instead of + // navigating to new pages or triggering javascript popups. + // + STEAM_CALL_RESULT( HTML_BrowserReady_t ) + virtual SteamAPICall_t CreateBrowser( const char *pchUserAgent, const char *pchUserCSS ) = 0; + + // Call this when you are done with a html surface, this lets us free the resources being used by it + virtual void RemoveBrowser( HHTMLBrowser unBrowserHandle ) = 0; + + // Navigate to this URL, results in a HTML_StartRequest_t as the request commences + virtual void LoadURL( HHTMLBrowser unBrowserHandle, const char *pchURL, const char *pchPostData ) = 0; + + // Tells the surface the size in pixels to display the surface + virtual void SetSize( HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight ) = 0; + + // Stop the load of the current html page + virtual void StopLoad( HHTMLBrowser unBrowserHandle ) = 0; + // Reload (most likely from local cache) the current page + virtual void Reload( HHTMLBrowser unBrowserHandle ) = 0; + // navigate back in the page history + virtual void GoBack( HHTMLBrowser unBrowserHandle ) = 0; + // navigate forward in the page history + virtual void GoForward( HHTMLBrowser unBrowserHandle ) = 0; + + // add this header to any url requests from this browser + virtual void AddHeader( HHTMLBrowser unBrowserHandle, const char *pchKey, const char *pchValue ) = 0; + // run this javascript script in the currently loaded page + virtual void ExecuteJavascript( HHTMLBrowser unBrowserHandle, const char *pchScript ) = 0; + + enum EHTMLMouseButton + { + eHTMLMouseButton_Left = 0, + eHTMLMouseButton_Right = 1, + eHTMLMouseButton_Middle = 2, + }; + + // Mouse click and mouse movement commands + virtual void MouseUp( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDown( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDoubleClick( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + // x and y are relative to the HTML bounds + virtual void MouseMove( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + // nDelta is pixels of scroll + virtual void MouseWheel( HHTMLBrowser unBrowserHandle, int32 nDelta ) = 0; + + enum EMouseCursor + { + dc_user = 0, + dc_none, + dc_arrow, + dc_ibeam, + dc_hourglass, + dc_waitarrow, + dc_crosshair, + dc_up, + dc_sizenw, + dc_sizese, + dc_sizene, + dc_sizesw, + dc_sizew, + dc_sizee, + dc_sizen, + dc_sizes, + dc_sizewe, + dc_sizens, + dc_sizeall, + dc_no, + dc_hand, + dc_blank, // don't show any custom cursor, just use your default + dc_middle_pan, + dc_north_pan, + dc_north_east_pan, + dc_east_pan, + dc_south_east_pan, + dc_south_pan, + dc_south_west_pan, + dc_west_pan, + dc_north_west_pan, + dc_alias, + dc_cell, + dc_colresize, + dc_copycur, + dc_verticaltext, + dc_rowresize, + dc_zoomin, + dc_zoomout, + dc_help, + dc_custom, + + dc_last, // custom cursors start from this value and up + }; + + enum EHTMLKeyModifiers + { + k_eHTMLKeyModifier_None = 0, + k_eHTMLKeyModifier_AltDown = 1 << 0, + k_eHTMLKeyModifier_CtrlDown = 1 << 1, + k_eHTMLKeyModifier_ShiftDown = 1 << 2, + }; + + // keyboard interactions, native keycode is the virtual key code value from your OS, system key flags the key to not + // be sent as a typed character as well as a key down + virtual void KeyDown( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers, bool bIsSystemKey = false ) = 0; + virtual void KeyUp( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + // cUnicodeChar is the unicode character point for this keypress (and potentially multiple chars per press) + virtual void KeyChar( HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + + // programmatically scroll this many pixels on the page + virtual void SetHorizontalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + virtual void SetVerticalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + + // tell the html control if it has key focus currently, controls showing the I-beam cursor in text controls amongst other things + virtual void SetKeyFocus( HHTMLBrowser unBrowserHandle, bool bHasKeyFocus ) = 0; + + // open the current pages html code in the local editor of choice, used for debugging + virtual void ViewSource( HHTMLBrowser unBrowserHandle ) = 0; + // copy the currently selected text on the html page to the local clipboard + virtual void CopyToClipboard( HHTMLBrowser unBrowserHandle ) = 0; + // paste from the local clipboard to the current html page + virtual void PasteFromClipboard( HHTMLBrowser unBrowserHandle ) = 0; + + // find this string in the browser, if bCurrentlyInFind is true then instead cycle to the next matching element + virtual void Find( HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse ) = 0; + // cancel a currently running find + virtual void StopFind( HHTMLBrowser unBrowserHandle ) = 0; + + // return details about the link at position x,y on the current page + virtual void GetLinkAtPosition( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + + // set a webcookie for the hostname in question + virtual void SetCookie( const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath = "/", RTime32 nExpires = 0, bool bSecure = false, bool bHTTPOnly = false ) = 0; + + // Zoom the current page by flZoom ( from 0.0 to 2.0, so to zoom to 120% use 1.2 ), zooming around point X,Y in the page (use 0,0 if you don't care) + virtual void SetPageScaleFactor( HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY ) = 0; + + // Enable/disable low-resource background mode, where javascript and repaint timers are throttled, resources are + // more aggressively purged from memory, and audio/video elements are paused. When background mode is enabled, + // all HTML5 video and audio objects will execute ".pause()" and gain the property "._steam_background_paused = 1". + // When background mode is disabled, any video or audio objects with that property will resume with ".play()". + virtual void SetBackgroundMode( HHTMLBrowser unBrowserHandle, bool bBackgroundMode ) = 0; + + // Scale the output display space by this factor, this is useful when displaying content on high dpi devices. + // Specifies the ratio between physical and logical pixels. + virtual void SetDPIScalingFactor( HHTMLBrowser unBrowserHandle, float flDPIScaling ) = 0; + + // Open HTML/JS developer tools + virtual void OpenDeveloperTools( HHTMLBrowser unBrowserHandle ) = 0; + + // CALLBACKS + // + // These set of functions are used as responses to callback requests + // + + // You MUST call this in response to a HTML_StartRequest_t callback + // Set bAllowed to true to allow this navigation, false to cancel it and stay + // on the current page. You can use this feature to limit the valid pages + // allowed in your HTML surface. + virtual void AllowStartRequest( HHTMLBrowser unBrowserHandle, bool bAllowed ) = 0; + + // You MUST call this in response to a HTML_JSAlert_t or HTML_JSConfirm_t callback + // Set bResult to true for the OK option of a confirm, use false otherwise + virtual void JSDialogResponse( HHTMLBrowser unBrowserHandle, bool bResult ) = 0; + + // You MUST call this in response to a HTML_FileOpenDialog_t callback + virtual void FileLoadDialogResponse( HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles ) = 0; +}; + +#define STEAMHTMLSURFACE_INTERFACE_VERSION "STEAMHTMLSURFACE_INTERFACE_VERSION_005" + +// Global interface accessor +inline ISteamHTMLSurface *SteamHTMLSurface(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamHTMLSurface *, SteamHTMLSurface, STEAMHTMLSURFACE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +//----------------------------------------------------------------------------- +// Purpose: The browser is ready for use +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_BrowserReady_t, k_iSteamHTMLSurfaceCallbacks + 1 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this browser is now fully created and ready to navigate to pages +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: the browser has a pending paint +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_NeedsPaint_t, k_iSteamHTMLSurfaceCallbacks + 2) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the browser that needs the paint +STEAM_CALLBACK_MEMBER(1, const char *, pBGRA ) // a pointer to the B8G8R8A8 data for this surface, valid until SteamAPI_RunCallbacks is next called +STEAM_CALLBACK_MEMBER(2, uint32, unWide) // the total width of the pBGRA texture +STEAM_CALLBACK_MEMBER(3, uint32, unTall) // the total height of the pBGRA texture +STEAM_CALLBACK_MEMBER(4, uint32, unUpdateX) // the offset in X for the damage rect for this update +STEAM_CALLBACK_MEMBER(5, uint32, unUpdateY) // the offset in Y for the damage rect for this update +STEAM_CALLBACK_MEMBER(6, uint32, unUpdateWide) // the width of the damage rect for this update +STEAM_CALLBACK_MEMBER(7, uint32, unUpdateTall) // the height of the damage rect for this update +STEAM_CALLBACK_MEMBER(8, uint32, unScrollX) // the page scroll the browser was at when this texture was rendered +STEAM_CALLBACK_MEMBER(9, uint32, unScrollY) // the page scroll the browser was at when this texture was rendered +STEAM_CALLBACK_MEMBER(10, float, flPageScale) // the page scale factor on this page when rendered +STEAM_CALLBACK_MEMBER(11, uint32, unPageSerial) // incremented on each new page load, you can use this to reject draws while navigating to new pages +STEAM_CALLBACK_END(12) + + +//----------------------------------------------------------------------------- +// Purpose: The browser wanted to navigate to a new page +// NOTE - you MUST call AllowStartRequest in response to this callback +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_StartRequest_t, k_iSteamHTMLSurfaceCallbacks + 3) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface navigating +STEAM_CALLBACK_MEMBER(1, const char *, pchURL) // the url they wish to navigate to +STEAM_CALLBACK_MEMBER(2, const char *, pchTarget) // the html link target type (i.e _blank, _self, _parent, _top ) +STEAM_CALLBACK_MEMBER(3, const char *, pchPostData ) // any posted data for the request +STEAM_CALLBACK_MEMBER(4, bool, bIsRedirect) // true if this was a http/html redirect from the last load request +STEAM_CALLBACK_END(5) + + +//----------------------------------------------------------------------------- +// Purpose: The browser has been requested to close due to user interaction (usually from a javascript window.close() call) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_CloseBrowser_t, k_iSteamHTMLSurfaceCallbacks + 4) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: the browser is navigating to a new url +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_URLChanged_t, k_iSteamHTMLSurfaceCallbacks + 5 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface navigating +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // the url they wish to navigate to +STEAM_CALLBACK_MEMBER( 2, const char *, pchPostData ) // any posted data for the request +STEAM_CALLBACK_MEMBER( 3, bool, bIsRedirect ) // true if this was a http/html redirect from the last load request +STEAM_CALLBACK_MEMBER( 4, const char *, pchPageTitle ) // the title of the page +STEAM_CALLBACK_MEMBER( 5, bool, bNewNavigation ) // true if this was from a fresh tab and not a click on an existing page +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: A page is finished loading +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_FinishedRequest_t, k_iSteamHTMLSurfaceCallbacks + 6 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // +STEAM_CALLBACK_MEMBER( 2, const char *, pchPageTitle ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: a request to load this url in a new tab +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_OpenLinkInNewTab_t, k_iSteamHTMLSurfaceCallbacks + 7 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: the page has a new title now +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_ChangedTitle_t, k_iSteamHTMLSurfaceCallbacks + 8 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchTitle ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: results from a search +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_SearchResults_t, k_iSteamHTMLSurfaceCallbacks + 9 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unResults ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unCurrentMatch ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: page history status changed on the ability to go backwards and forward +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_CanGoBackAndForward_t, k_iSteamHTMLSurfaceCallbacks + 10 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, bool, bCanGoBack ) // +STEAM_CALLBACK_MEMBER( 2, bool, bCanGoForward ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the horizontal scrollbar +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_HorizontalScroll_t, k_iSteamHTMLSurfaceCallbacks + 11 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +STEAM_CALLBACK_MEMBER( 3, float, flPageScale ) // +STEAM_CALLBACK_MEMBER( 4, bool , bVisible ) // +STEAM_CALLBACK_MEMBER( 5, uint32, unPageSize ) // +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the vertical scrollbar +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_VerticalScroll_t, k_iSteamHTMLSurfaceCallbacks + 12 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +STEAM_CALLBACK_MEMBER( 3, float, flPageScale ) // +STEAM_CALLBACK_MEMBER( 4, bool, bVisible ) // +STEAM_CALLBACK_MEMBER( 5, uint32, unPageSize ) // +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: response to GetLinkAtPosition call +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_LinkAtPosition_t, k_iSteamHTMLSurfaceCallbacks + 13 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, x ) // NOTE - Not currently set +STEAM_CALLBACK_MEMBER( 2, uint32, y ) // NOTE - Not currently set +STEAM_CALLBACK_MEMBER( 3, const char *, pchURL ) // +STEAM_CALLBACK_MEMBER( 4, bool, bInput ) // +STEAM_CALLBACK_MEMBER( 5, bool, bLiveLink ) // +STEAM_CALLBACK_END(6) + + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript alert dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_JSAlert_t, k_iSteamHTMLSurfaceCallbacks + 14 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMessage ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript confirmation dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_JSConfirm_t, k_iSteamHTMLSurfaceCallbacks + 15 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMessage ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: when received show a file open dialog +// then call FileLoadDialogResponse with the file(s) the user selected. +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_FileOpenDialog_t, k_iSteamHTMLSurfaceCallbacks + 16 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchTitle ) // +STEAM_CALLBACK_MEMBER( 2, const char *, pchInitialFile ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: a new html window is being created. +// +// IMPORTANT NOTE: at this time, the API does not allow you to acknowledge or +// render the contents of this new window, so the new window is always destroyed +// immediately. The URL and other parameters of the new window are passed here +// to give your application the opportunity to call CreateBrowser and set up +// a new browser in response to the attempted popup, if you wish to do so. +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_NewWindow_t, k_iSteamHTMLSurfaceCallbacks + 21 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the current surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // the page to load +STEAM_CALLBACK_MEMBER( 2, uint32, unX ) // the x pos into the page to display the popup +STEAM_CALLBACK_MEMBER( 3, uint32, unY ) // the y pos into the page to display the popup +STEAM_CALLBACK_MEMBER( 4, uint32, unWide ) // the total width of the pBGRA texture +STEAM_CALLBACK_MEMBER( 5, uint32, unTall ) // the total height of the pBGRA texture +STEAM_CALLBACK_MEMBER( 6, HHTMLBrowser, unNewWindow_BrowserHandle_IGNORE ) +STEAM_CALLBACK_END(7) + + +//----------------------------------------------------------------------------- +// Purpose: change the cursor to display +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_SetCursor_t, k_iSteamHTMLSurfaceCallbacks + 22 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, eMouseCursor ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: informational message from the browser +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_StatusText_t, k_iSteamHTMLSurfaceCallbacks + 23 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: show a tooltip +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_ShowToolTip_t, k_iSteamHTMLSurfaceCallbacks + 24 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: update the text of an existing tooltip +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_UpdateToolTip_t, k_iSteamHTMLSurfaceCallbacks + 25 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: hide the tooltip you are showing +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_HideToolTip_t, k_iSteamHTMLSurfaceCallbacks + 26 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: The browser has restarted due to an internal failure, use this new handle value +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_BrowserRestarted_t, k_iSteamHTMLSurfaceCallbacks + 27 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this is the new browser handle after the restart +STEAM_CALLBACK_MEMBER( 1, HHTMLBrowser, unOldBrowserHandle ) // the handle for the browser before the restart, if your handle was this then switch to using unBrowserHandle for API calls +STEAM_CALLBACK_END(2) + + +#pragma pack( pop ) + + +#endif // ISTEAMHTMLSURFACE_H diff --git a/Steam/isteamhttp.h b/Steam/isteamhttp.h new file mode 100644 index 0000000..fb034ca --- /dev/null +++ b/Steam/isteamhttp.h @@ -0,0 +1,219 @@ +//====== Copyright © 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to http client +// +//============================================================================= + +#ifndef ISTEAMHTTP_H +#define ISTEAMHTTP_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "steamhttpenums.h" + +// Handle to a HTTP Request handle +typedef uint32 HTTPRequestHandle; +#define INVALID_HTTPREQUEST_HANDLE 0 + +typedef uint32 HTTPCookieContainerHandle; +#define INVALID_HTTPCOOKIE_HANDLE 0 + +//----------------------------------------------------------------------------- +// Purpose: interface to http client +//----------------------------------------------------------------------------- +class ISteamHTTP +{ +public: + + // Initializes a new HTTP request, returning a handle to use in further operations on it. Requires + // the method (GET or POST) and the absolute URL for the request. Both http and https are supported, + // so this string must start with http:// or https:// and should look like http://store.steampowered.com/app/250/ + // or such. + virtual HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL ) = 0; + + // Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after + // sending the request. This is just so the caller can easily keep track of which callbacks go with which request data. + virtual bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue ) = 0; + + // Set a timeout in seconds for the HTTP request, must be called prior to sending the request. Default + // timeout is 60 seconds if you don't call this. Returns false if the handle is invalid, or the request + // has already been sent. + virtual bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds ) = 0; + + // Set a request header value for the request, must be called prior to sending the request. Will + // return false if the handle is invalid or the request is already sent. + virtual bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue ) = 0; + + // Set a GET or POST parameter value on the request, which is set will depend on the EHTTPMethod specified + // when creating the request. Must be called prior to sending the request. Will return false if the + // handle is invalid or the request is already sent. + virtual bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback. + // + // Note: If the user is in offline mode in Steam, then this will add a only-if-cached cache-control + // header and only do a local cache lookup rather than sending any actual remote request. + virtual bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback for completion, and listen for HTTPRequestHeadersReceived_t and + // HTTPRequestDataReceived_t callbacks while streaming. + virtual bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Defers a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool DeferHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Prioritizes a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Checks if a response header is present in a HTTP response given a handle from HTTPRequestCompleted_t, also + // returns the size of the header value if present so the caller and allocate a correctly sized buffer for + // GetHTTPResponseHeaderValue. + virtual bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize ) = 0; + + // Gets header values from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // header is not present or if your buffer is too small to contain it's value. You should first call + // BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed. + virtual bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize ) = 0; + + // Gets the size of the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid. + virtual bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize ) = 0; + + // Gets the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid or is to a streaming response, or if the provided buffer is not the correct size. Use BGetHTTPResponseBodySize first to find out + // the correct buffer size to use. + virtual bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Gets the body data from a streaming HTTP response given a handle from HTTPRequestDataReceived_t. Will return false if the + // handle is invalid or is to a non-streaming response (meaning it wasn't sent with SendHTTPRequestAndStreamResponse), or if the buffer size and offset + // do not match the size and offset sent in HTTPRequestDataReceived_t. + virtual bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t + // callback and finishing using the response. + virtual bool ReleaseHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Gets progress on downloading the body for the request. This will be zero unless a response header has already been + // received which included a content-length field. For responses that contain no content-length it will report + // zero for the duration of the request as the size is unknown until the connection closes. + virtual bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut ) = 0; + + // Sets the body for an HTTP Post request. Will fail and return false on a GET request, and will fail if POST params + // have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType + // parameter will set the content-type header for the request so the server may know how to interpret the body. + virtual bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen ) = 0; + + // Creates a cookie container handle which you must later free with ReleaseCookieContainer(). If bAllowResponsesToModify=true + // than any response to your requests using this cookie container may add new cookies which may be transmitted with + // future requests. If bAllowResponsesToModify=false than only cookies you explicitly set will be sent. This API is just for + // during process lifetime, after steam restarts no cookies are persisted and you have no way to access the cookie container across + // repeat executions of your process. + virtual HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify ) = 0; + + // Release a cookie container you are finished using, freeing it's memory + virtual bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Adds a cookie to the specified cookie container that will be used with future requests. + virtual bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie ) = 0; + + // Set the cookie container to use for a HTTP request + virtual bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end + virtual bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo ) = 0; + + // Disable or re-enable verification of SSL/TLS certificates. + // By default, certificates are checked for all HTTPS requests. + virtual bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate ) = 0; + + // Set an absolute timeout on the HTTP request, this is just a total time timeout different than the network activity timeout + // which can bump everytime we get more data + virtual bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds ) = 0; + + // Check if the reason the request failed was because we timed it out (rather than some harder failure) + virtual bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut ) = 0; +}; + +#define STEAMHTTP_INTERFACE_VERSION "STEAMHTTP_INTERFACE_VERSION003" + +// Global interface accessor +inline ISteamHTTP *SteamHTTP(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamHTTP *, SteamHTTP, STEAMHTTP_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamHTTP *SteamGameServerHTTP(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamHTTP *, SteamGameServerHTTP, STEAMHTTP_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +struct HTTPRequestCompleted_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 1 }; + + // Handle value for the request that has completed. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + // This will be true if we actually got any sort of response from the server (even an error). + // It will be false if we failed due to an internal error or client side network failure. + bool m_bRequestSuccessful; + + // Will be the HTTP status code value returned by the server, k_EHTTPStatusCode200OK is the normal + // OK response, if you get something else you probably need to treat it as a failure. + EHTTPStatusCode m_eStatusCode; + + uint32 m_unBodySize; // Same as GetHTTPResponseBodySize() +}; + + +struct HTTPRequestHeadersReceived_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 2 }; + + // Handle value for the request that has received headers. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; +}; + +struct HTTPRequestDataReceived_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 3 }; + + // Handle value for the request that has received data. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + + // Offset to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cOffset; + + // Size to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cBytesReceived; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMHTTP_H \ No newline at end of file diff --git a/Steam/isteaminput.h b/Steam/isteaminput.h new file mode 100644 index 0000000..f88a0a1 --- /dev/null +++ b/Steam/isteaminput.h @@ -0,0 +1,1004 @@ +//====== Copyright 1996-2018, Valve Corporation, All rights reserved. ======= +// +// Purpose: Steam Input is a flexible input API that supports over three hundred devices including all +// common variants of Xbox, Playstation, Nintendo Switch Pro, and Steam Controllers. +// For more info including a getting started guide for developers +// please visit: https://partner.steamgames.com/doc/features/steam_controller +// +//============================================================================= + +#ifndef ISTEAMINPUT_H +#define ISTEAMINPUT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +#define STEAM_INPUT_MAX_COUNT 16 + +#define STEAM_INPUT_MAX_ANALOG_ACTIONS 24 + +#define STEAM_INPUT_MAX_DIGITAL_ACTIONS 256 + +#define STEAM_INPUT_MAX_ORIGINS 8 + +#define STEAM_INPUT_MAX_ACTIVE_LAYERS 16 + +// When sending an option to a specific controller handle, you can send to all devices via this command +#define STEAM_INPUT_HANDLE_ALL_CONTROLLERS UINT64_MAX + +#define STEAM_INPUT_MIN_ANALOG_ACTION_DATA -1.0f +#define STEAM_INPUT_MAX_ANALOG_ACTION_DATA 1.0f + +enum EInputSourceMode +{ + k_EInputSourceMode_None, + k_EInputSourceMode_Dpad, + k_EInputSourceMode_Buttons, + k_EInputSourceMode_FourButtons, + k_EInputSourceMode_AbsoluteMouse, + k_EInputSourceMode_RelativeMouse, + k_EInputSourceMode_JoystickMove, + k_EInputSourceMode_JoystickMouse, + k_EInputSourceMode_JoystickCamera, + k_EInputSourceMode_ScrollWheel, + k_EInputSourceMode_Trigger, + k_EInputSourceMode_TouchMenu, + k_EInputSourceMode_MouseJoystick, + k_EInputSourceMode_MouseRegion, + k_EInputSourceMode_RadialMenu, + k_EInputSourceMode_SingleButton, + k_EInputSourceMode_Switches +}; + +// Note: Please do not use action origins as a way to identify controller types. There is no +// guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead. +// Versions of Steam that add new controller types in the future will extend this enum so if you're +// using a lookup table please check the bounds of any origins returned by Steam. +enum EInputActionOrigin +{ + // Steam Controller + k_EInputActionOrigin_None, + k_EInputActionOrigin_SteamController_A, + k_EInputActionOrigin_SteamController_B, + k_EInputActionOrigin_SteamController_X, + k_EInputActionOrigin_SteamController_Y, + k_EInputActionOrigin_SteamController_LeftBumper, + k_EInputActionOrigin_SteamController_RightBumper, + k_EInputActionOrigin_SteamController_LeftGrip, + k_EInputActionOrigin_SteamController_RightGrip, + k_EInputActionOrigin_SteamController_Start, + k_EInputActionOrigin_SteamController_Back, + k_EInputActionOrigin_SteamController_LeftPad_Touch, + k_EInputActionOrigin_SteamController_LeftPad_Swipe, + k_EInputActionOrigin_SteamController_LeftPad_Click, + k_EInputActionOrigin_SteamController_LeftPad_DPadNorth, + k_EInputActionOrigin_SteamController_LeftPad_DPadSouth, + k_EInputActionOrigin_SteamController_LeftPad_DPadWest, + k_EInputActionOrigin_SteamController_LeftPad_DPadEast, + k_EInputActionOrigin_SteamController_RightPad_Touch, + k_EInputActionOrigin_SteamController_RightPad_Swipe, + k_EInputActionOrigin_SteamController_RightPad_Click, + k_EInputActionOrigin_SteamController_RightPad_DPadNorth, + k_EInputActionOrigin_SteamController_RightPad_DPadSouth, + k_EInputActionOrigin_SteamController_RightPad_DPadWest, + k_EInputActionOrigin_SteamController_RightPad_DPadEast, + k_EInputActionOrigin_SteamController_LeftTrigger_Pull, + k_EInputActionOrigin_SteamController_LeftTrigger_Click, + k_EInputActionOrigin_SteamController_RightTrigger_Pull, + k_EInputActionOrigin_SteamController_RightTrigger_Click, + k_EInputActionOrigin_SteamController_LeftStick_Move, + k_EInputActionOrigin_SteamController_LeftStick_Click, + k_EInputActionOrigin_SteamController_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamController_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamController_LeftStick_DPadWest, + k_EInputActionOrigin_SteamController_LeftStick_DPadEast, + k_EInputActionOrigin_SteamController_Gyro_Move, + k_EInputActionOrigin_SteamController_Gyro_Pitch, + k_EInputActionOrigin_SteamController_Gyro_Yaw, + k_EInputActionOrigin_SteamController_Gyro_Roll, + k_EInputActionOrigin_SteamController_Reserved0, + k_EInputActionOrigin_SteamController_Reserved1, + k_EInputActionOrigin_SteamController_Reserved2, + k_EInputActionOrigin_SteamController_Reserved3, + k_EInputActionOrigin_SteamController_Reserved4, + k_EInputActionOrigin_SteamController_Reserved5, + k_EInputActionOrigin_SteamController_Reserved6, + k_EInputActionOrigin_SteamController_Reserved7, + k_EInputActionOrigin_SteamController_Reserved8, + k_EInputActionOrigin_SteamController_Reserved9, + k_EInputActionOrigin_SteamController_Reserved10, + + // PS4 Dual Shock + k_EInputActionOrigin_PS4_X, + k_EInputActionOrigin_PS4_Circle, + k_EInputActionOrigin_PS4_Triangle, + k_EInputActionOrigin_PS4_Square, + k_EInputActionOrigin_PS4_LeftBumper, + k_EInputActionOrigin_PS4_RightBumper, + k_EInputActionOrigin_PS4_Options, //Start + k_EInputActionOrigin_PS4_Share, //Back + k_EInputActionOrigin_PS4_LeftPad_Touch, + k_EInputActionOrigin_PS4_LeftPad_Swipe, + k_EInputActionOrigin_PS4_LeftPad_Click, + k_EInputActionOrigin_PS4_LeftPad_DPadNorth, + k_EInputActionOrigin_PS4_LeftPad_DPadSouth, + k_EInputActionOrigin_PS4_LeftPad_DPadWest, + k_EInputActionOrigin_PS4_LeftPad_DPadEast, + k_EInputActionOrigin_PS4_RightPad_Touch, + k_EInputActionOrigin_PS4_RightPad_Swipe, + k_EInputActionOrigin_PS4_RightPad_Click, + k_EInputActionOrigin_PS4_RightPad_DPadNorth, + k_EInputActionOrigin_PS4_RightPad_DPadSouth, + k_EInputActionOrigin_PS4_RightPad_DPadWest, + k_EInputActionOrigin_PS4_RightPad_DPadEast, + k_EInputActionOrigin_PS4_CenterPad_Touch, + k_EInputActionOrigin_PS4_CenterPad_Swipe, + k_EInputActionOrigin_PS4_CenterPad_Click, + k_EInputActionOrigin_PS4_CenterPad_DPadNorth, + k_EInputActionOrigin_PS4_CenterPad_DPadSouth, + k_EInputActionOrigin_PS4_CenterPad_DPadWest, + k_EInputActionOrigin_PS4_CenterPad_DPadEast, + k_EInputActionOrigin_PS4_LeftTrigger_Pull, + k_EInputActionOrigin_PS4_LeftTrigger_Click, + k_EInputActionOrigin_PS4_RightTrigger_Pull, + k_EInputActionOrigin_PS4_RightTrigger_Click, + k_EInputActionOrigin_PS4_LeftStick_Move, + k_EInputActionOrigin_PS4_LeftStick_Click, + k_EInputActionOrigin_PS4_LeftStick_DPadNorth, + k_EInputActionOrigin_PS4_LeftStick_DPadSouth, + k_EInputActionOrigin_PS4_LeftStick_DPadWest, + k_EInputActionOrigin_PS4_LeftStick_DPadEast, + k_EInputActionOrigin_PS4_RightStick_Move, + k_EInputActionOrigin_PS4_RightStick_Click, + k_EInputActionOrigin_PS4_RightStick_DPadNorth, + k_EInputActionOrigin_PS4_RightStick_DPadSouth, + k_EInputActionOrigin_PS4_RightStick_DPadWest, + k_EInputActionOrigin_PS4_RightStick_DPadEast, + k_EInputActionOrigin_PS4_DPad_North, + k_EInputActionOrigin_PS4_DPad_South, + k_EInputActionOrigin_PS4_DPad_West, + k_EInputActionOrigin_PS4_DPad_East, + k_EInputActionOrigin_PS4_Gyro_Move, + k_EInputActionOrigin_PS4_Gyro_Pitch, + k_EInputActionOrigin_PS4_Gyro_Yaw, + k_EInputActionOrigin_PS4_Gyro_Roll, + k_EInputActionOrigin_PS4_DPad_Move, + k_EInputActionOrigin_PS4_Reserved1, + k_EInputActionOrigin_PS4_Reserved2, + k_EInputActionOrigin_PS4_Reserved3, + k_EInputActionOrigin_PS4_Reserved4, + k_EInputActionOrigin_PS4_Reserved5, + k_EInputActionOrigin_PS4_Reserved6, + k_EInputActionOrigin_PS4_Reserved7, + k_EInputActionOrigin_PS4_Reserved8, + k_EInputActionOrigin_PS4_Reserved9, + k_EInputActionOrigin_PS4_Reserved10, + + // XBox One + k_EInputActionOrigin_XBoxOne_A, + k_EInputActionOrigin_XBoxOne_B, + k_EInputActionOrigin_XBoxOne_X, + k_EInputActionOrigin_XBoxOne_Y, + k_EInputActionOrigin_XBoxOne_LeftBumper, + k_EInputActionOrigin_XBoxOne_RightBumper, + k_EInputActionOrigin_XBoxOne_Menu, //Start + k_EInputActionOrigin_XBoxOne_View, //Back + k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull, + k_EInputActionOrigin_XBoxOne_LeftTrigger_Click, + k_EInputActionOrigin_XBoxOne_RightTrigger_Pull, + k_EInputActionOrigin_XBoxOne_RightTrigger_Click, + k_EInputActionOrigin_XBoxOne_LeftStick_Move, + k_EInputActionOrigin_XBoxOne_LeftStick_Click, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast, + k_EInputActionOrigin_XBoxOne_RightStick_Move, + k_EInputActionOrigin_XBoxOne_RightStick_Click, + k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth, + k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth, + k_EInputActionOrigin_XBoxOne_RightStick_DPadWest, + k_EInputActionOrigin_XBoxOne_RightStick_DPadEast, + k_EInputActionOrigin_XBoxOne_DPad_North, + k_EInputActionOrigin_XBoxOne_DPad_South, + k_EInputActionOrigin_XBoxOne_DPad_West, + k_EInputActionOrigin_XBoxOne_DPad_East, + k_EInputActionOrigin_XBoxOne_DPad_Move, + k_EInputActionOrigin_XBoxOne_LeftGrip_Lower, + k_EInputActionOrigin_XBoxOne_LeftGrip_Upper, + k_EInputActionOrigin_XBoxOne_RightGrip_Lower, + k_EInputActionOrigin_XBoxOne_RightGrip_Upper, + k_EInputActionOrigin_XBoxOne_Share, // Xbox Series X controllers only + k_EInputActionOrigin_XBoxOne_Reserved6, + k_EInputActionOrigin_XBoxOne_Reserved7, + k_EInputActionOrigin_XBoxOne_Reserved8, + k_EInputActionOrigin_XBoxOne_Reserved9, + k_EInputActionOrigin_XBoxOne_Reserved10, + + // XBox 360 + k_EInputActionOrigin_XBox360_A, + k_EInputActionOrigin_XBox360_B, + k_EInputActionOrigin_XBox360_X, + k_EInputActionOrigin_XBox360_Y, + k_EInputActionOrigin_XBox360_LeftBumper, + k_EInputActionOrigin_XBox360_RightBumper, + k_EInputActionOrigin_XBox360_Start, //Start + k_EInputActionOrigin_XBox360_Back, //Back + k_EInputActionOrigin_XBox360_LeftTrigger_Pull, + k_EInputActionOrigin_XBox360_LeftTrigger_Click, + k_EInputActionOrigin_XBox360_RightTrigger_Pull, + k_EInputActionOrigin_XBox360_RightTrigger_Click, + k_EInputActionOrigin_XBox360_LeftStick_Move, + k_EInputActionOrigin_XBox360_LeftStick_Click, + k_EInputActionOrigin_XBox360_LeftStick_DPadNorth, + k_EInputActionOrigin_XBox360_LeftStick_DPadSouth, + k_EInputActionOrigin_XBox360_LeftStick_DPadWest, + k_EInputActionOrigin_XBox360_LeftStick_DPadEast, + k_EInputActionOrigin_XBox360_RightStick_Move, + k_EInputActionOrigin_XBox360_RightStick_Click, + k_EInputActionOrigin_XBox360_RightStick_DPadNorth, + k_EInputActionOrigin_XBox360_RightStick_DPadSouth, + k_EInputActionOrigin_XBox360_RightStick_DPadWest, + k_EInputActionOrigin_XBox360_RightStick_DPadEast, + k_EInputActionOrigin_XBox360_DPad_North, + k_EInputActionOrigin_XBox360_DPad_South, + k_EInputActionOrigin_XBox360_DPad_West, + k_EInputActionOrigin_XBox360_DPad_East, + k_EInputActionOrigin_XBox360_DPad_Move, + k_EInputActionOrigin_XBox360_Reserved1, + k_EInputActionOrigin_XBox360_Reserved2, + k_EInputActionOrigin_XBox360_Reserved3, + k_EInputActionOrigin_XBox360_Reserved4, + k_EInputActionOrigin_XBox360_Reserved5, + k_EInputActionOrigin_XBox360_Reserved6, + k_EInputActionOrigin_XBox360_Reserved7, + k_EInputActionOrigin_XBox360_Reserved8, + k_EInputActionOrigin_XBox360_Reserved9, + k_EInputActionOrigin_XBox360_Reserved10, + + + // Switch - Pro or Joycons used as a single input device. + // This does not apply to a single joycon + k_EInputActionOrigin_Switch_A, + k_EInputActionOrigin_Switch_B, + k_EInputActionOrigin_Switch_X, + k_EInputActionOrigin_Switch_Y, + k_EInputActionOrigin_Switch_LeftBumper, + k_EInputActionOrigin_Switch_RightBumper, + k_EInputActionOrigin_Switch_Plus, //Start + k_EInputActionOrigin_Switch_Minus, //Back + k_EInputActionOrigin_Switch_Capture, + k_EInputActionOrigin_Switch_LeftTrigger_Pull, + k_EInputActionOrigin_Switch_LeftTrigger_Click, + k_EInputActionOrigin_Switch_RightTrigger_Pull, + k_EInputActionOrigin_Switch_RightTrigger_Click, + k_EInputActionOrigin_Switch_LeftStick_Move, + k_EInputActionOrigin_Switch_LeftStick_Click, + k_EInputActionOrigin_Switch_LeftStick_DPadNorth, + k_EInputActionOrigin_Switch_LeftStick_DPadSouth, + k_EInputActionOrigin_Switch_LeftStick_DPadWest, + k_EInputActionOrigin_Switch_LeftStick_DPadEast, + k_EInputActionOrigin_Switch_RightStick_Move, + k_EInputActionOrigin_Switch_RightStick_Click, + k_EInputActionOrigin_Switch_RightStick_DPadNorth, + k_EInputActionOrigin_Switch_RightStick_DPadSouth, + k_EInputActionOrigin_Switch_RightStick_DPadWest, + k_EInputActionOrigin_Switch_RightStick_DPadEast, + k_EInputActionOrigin_Switch_DPad_North, + k_EInputActionOrigin_Switch_DPad_South, + k_EInputActionOrigin_Switch_DPad_West, + k_EInputActionOrigin_Switch_DPad_East, + k_EInputActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_DPad_Move, + k_EInputActionOrigin_Switch_Reserved1, + k_EInputActionOrigin_Switch_Reserved2, + k_EInputActionOrigin_Switch_Reserved3, + k_EInputActionOrigin_Switch_Reserved4, + k_EInputActionOrigin_Switch_Reserved5, + k_EInputActionOrigin_Switch_Reserved6, + k_EInputActionOrigin_Switch_Reserved7, + k_EInputActionOrigin_Switch_Reserved8, + k_EInputActionOrigin_Switch_Reserved9, + k_EInputActionOrigin_Switch_Reserved10, + + // Switch JoyCon Specific + k_EInputActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_LeftGyro_Move, + k_EInputActionOrigin_Switch_LeftGyro_Pitch, + k_EInputActionOrigin_Switch_LeftGyro_Yaw, + k_EInputActionOrigin_Switch_LeftGyro_Roll, + k_EInputActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button + k_EInputActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button + k_EInputActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button + k_EInputActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button + k_EInputActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical + k_EInputActionOrigin_Switch_JoyConButton_E, // X + k_EInputActionOrigin_Switch_JoyConButton_S, // A + k_EInputActionOrigin_Switch_JoyConButton_W, // B + k_EInputActionOrigin_Switch_Reserved15, + k_EInputActionOrigin_Switch_Reserved16, + k_EInputActionOrigin_Switch_Reserved17, + k_EInputActionOrigin_Switch_Reserved18, + k_EInputActionOrigin_Switch_Reserved19, + k_EInputActionOrigin_Switch_Reserved20, + + // Added in SDK 1.51 + k_EInputActionOrigin_PS5_X, + k_EInputActionOrigin_PS5_Circle, + k_EInputActionOrigin_PS5_Triangle, + k_EInputActionOrigin_PS5_Square, + k_EInputActionOrigin_PS5_LeftBumper, + k_EInputActionOrigin_PS5_RightBumper, + k_EInputActionOrigin_PS5_Option, //Start + k_EInputActionOrigin_PS5_Create, //Back + k_EInputActionOrigin_PS5_Mute, + k_EInputActionOrigin_PS5_LeftPad_Touch, + k_EInputActionOrigin_PS5_LeftPad_Swipe, + k_EInputActionOrigin_PS5_LeftPad_Click, + k_EInputActionOrigin_PS5_LeftPad_DPadNorth, + k_EInputActionOrigin_PS5_LeftPad_DPadSouth, + k_EInputActionOrigin_PS5_LeftPad_DPadWest, + k_EInputActionOrigin_PS5_LeftPad_DPadEast, + k_EInputActionOrigin_PS5_RightPad_Touch, + k_EInputActionOrigin_PS5_RightPad_Swipe, + k_EInputActionOrigin_PS5_RightPad_Click, + k_EInputActionOrigin_PS5_RightPad_DPadNorth, + k_EInputActionOrigin_PS5_RightPad_DPadSouth, + k_EInputActionOrigin_PS5_RightPad_DPadWest, + k_EInputActionOrigin_PS5_RightPad_DPadEast, + k_EInputActionOrigin_PS5_CenterPad_Touch, + k_EInputActionOrigin_PS5_CenterPad_Swipe, + k_EInputActionOrigin_PS5_CenterPad_Click, + k_EInputActionOrigin_PS5_CenterPad_DPadNorth, + k_EInputActionOrigin_PS5_CenterPad_DPadSouth, + k_EInputActionOrigin_PS5_CenterPad_DPadWest, + k_EInputActionOrigin_PS5_CenterPad_DPadEast, + k_EInputActionOrigin_PS5_LeftTrigger_Pull, + k_EInputActionOrigin_PS5_LeftTrigger_Click, + k_EInputActionOrigin_PS5_RightTrigger_Pull, + k_EInputActionOrigin_PS5_RightTrigger_Click, + k_EInputActionOrigin_PS5_LeftStick_Move, + k_EInputActionOrigin_PS5_LeftStick_Click, + k_EInputActionOrigin_PS5_LeftStick_DPadNorth, + k_EInputActionOrigin_PS5_LeftStick_DPadSouth, + k_EInputActionOrigin_PS5_LeftStick_DPadWest, + k_EInputActionOrigin_PS5_LeftStick_DPadEast, + k_EInputActionOrigin_PS5_RightStick_Move, + k_EInputActionOrigin_PS5_RightStick_Click, + k_EInputActionOrigin_PS5_RightStick_DPadNorth, + k_EInputActionOrigin_PS5_RightStick_DPadSouth, + k_EInputActionOrigin_PS5_RightStick_DPadWest, + k_EInputActionOrigin_PS5_RightStick_DPadEast, + k_EInputActionOrigin_PS5_DPad_North, + k_EInputActionOrigin_PS5_DPad_South, + k_EInputActionOrigin_PS5_DPad_West, + k_EInputActionOrigin_PS5_DPad_East, + k_EInputActionOrigin_PS5_Gyro_Move, + k_EInputActionOrigin_PS5_Gyro_Pitch, + k_EInputActionOrigin_PS5_Gyro_Yaw, + k_EInputActionOrigin_PS5_Gyro_Roll, + k_EInputActionOrigin_PS5_DPad_Move, + k_EInputActionOrigin_PS5_LeftGrip, + k_EInputActionOrigin_PS5_RightGrip, + k_EInputActionOrigin_PS5_LeftFn, + k_EInputActionOrigin_PS5_RightFn, + k_EInputActionOrigin_PS5_Reserved5, + k_EInputActionOrigin_PS5_Reserved6, + k_EInputActionOrigin_PS5_Reserved7, + k_EInputActionOrigin_PS5_Reserved8, + k_EInputActionOrigin_PS5_Reserved9, + k_EInputActionOrigin_PS5_Reserved10, + k_EInputActionOrigin_PS5_Reserved11, + k_EInputActionOrigin_PS5_Reserved12, + k_EInputActionOrigin_PS5_Reserved13, + k_EInputActionOrigin_PS5_Reserved14, + k_EInputActionOrigin_PS5_Reserved15, + k_EInputActionOrigin_PS5_Reserved16, + k_EInputActionOrigin_PS5_Reserved17, + k_EInputActionOrigin_PS5_Reserved18, + k_EInputActionOrigin_PS5_Reserved19, + k_EInputActionOrigin_PS5_Reserved20, + + // Added in SDK 1.53 + k_EInputActionOrigin_SteamDeck_A, + k_EInputActionOrigin_SteamDeck_B, + k_EInputActionOrigin_SteamDeck_X, + k_EInputActionOrigin_SteamDeck_Y, + k_EInputActionOrigin_SteamDeck_L1, + k_EInputActionOrigin_SteamDeck_R1, + k_EInputActionOrigin_SteamDeck_Menu, + k_EInputActionOrigin_SteamDeck_View, + k_EInputActionOrigin_SteamDeck_LeftPad_Touch, + k_EInputActionOrigin_SteamDeck_LeftPad_Swipe, + k_EInputActionOrigin_SteamDeck_LeftPad_Click, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadNorth, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadSouth, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadWest, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadEast, + k_EInputActionOrigin_SteamDeck_RightPad_Touch, + k_EInputActionOrigin_SteamDeck_RightPad_Swipe, + k_EInputActionOrigin_SteamDeck_RightPad_Click, + k_EInputActionOrigin_SteamDeck_RightPad_DPadNorth, + k_EInputActionOrigin_SteamDeck_RightPad_DPadSouth, + k_EInputActionOrigin_SteamDeck_RightPad_DPadWest, + k_EInputActionOrigin_SteamDeck_RightPad_DPadEast, + k_EInputActionOrigin_SteamDeck_L2_SoftPull, + k_EInputActionOrigin_SteamDeck_L2, + k_EInputActionOrigin_SteamDeck_R2_SoftPull, + k_EInputActionOrigin_SteamDeck_R2, + k_EInputActionOrigin_SteamDeck_LeftStick_Move, + k_EInputActionOrigin_SteamDeck_L3, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadWest, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadEast, + k_EInputActionOrigin_SteamDeck_LeftStick_Touch, + k_EInputActionOrigin_SteamDeck_RightStick_Move, + k_EInputActionOrigin_SteamDeck_R3, + k_EInputActionOrigin_SteamDeck_RightStick_DPadNorth, + k_EInputActionOrigin_SteamDeck_RightStick_DPadSouth, + k_EInputActionOrigin_SteamDeck_RightStick_DPadWest, + k_EInputActionOrigin_SteamDeck_RightStick_DPadEast, + k_EInputActionOrigin_SteamDeck_RightStick_Touch, + k_EInputActionOrigin_SteamDeck_L4, + k_EInputActionOrigin_SteamDeck_R4, + k_EInputActionOrigin_SteamDeck_L5, + k_EInputActionOrigin_SteamDeck_R5, + k_EInputActionOrigin_SteamDeck_DPad_Move, + k_EInputActionOrigin_SteamDeck_DPad_North, + k_EInputActionOrigin_SteamDeck_DPad_South, + k_EInputActionOrigin_SteamDeck_DPad_West, + k_EInputActionOrigin_SteamDeck_DPad_East, + k_EInputActionOrigin_SteamDeck_Gyro_Move, + k_EInputActionOrigin_SteamDeck_Gyro_Pitch, + k_EInputActionOrigin_SteamDeck_Gyro_Yaw, + k_EInputActionOrigin_SteamDeck_Gyro_Roll, + k_EInputActionOrigin_SteamDeck_Reserved1, + k_EInputActionOrigin_SteamDeck_Reserved2, + k_EInputActionOrigin_SteamDeck_Reserved3, + k_EInputActionOrigin_SteamDeck_Reserved4, + k_EInputActionOrigin_SteamDeck_Reserved5, + k_EInputActionOrigin_SteamDeck_Reserved6, + k_EInputActionOrigin_SteamDeck_Reserved7, + k_EInputActionOrigin_SteamDeck_Reserved8, + k_EInputActionOrigin_SteamDeck_Reserved9, + k_EInputActionOrigin_SteamDeck_Reserved10, + k_EInputActionOrigin_SteamDeck_Reserved11, + k_EInputActionOrigin_SteamDeck_Reserved12, + k_EInputActionOrigin_SteamDeck_Reserved13, + k_EInputActionOrigin_SteamDeck_Reserved14, + k_EInputActionOrigin_SteamDeck_Reserved15, + k_EInputActionOrigin_SteamDeck_Reserved16, + k_EInputActionOrigin_SteamDeck_Reserved17, + k_EInputActionOrigin_SteamDeck_Reserved18, + k_EInputActionOrigin_SteamDeck_Reserved19, + k_EInputActionOrigin_SteamDeck_Reserved20, + + k_EInputActionOrigin_Horipad_M1, + k_EInputActionOrigin_Horipad_M2, + k_EInputActionOrigin_Horipad_L4, + k_EInputActionOrigin_Horipad_R4, + + k_EInputActionOrigin_Count, // If Steam has added support for new controllers origins will go here. + k_EInputActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. +}; + +enum EXboxOrigin +{ + k_EXboxOrigin_A, + k_EXboxOrigin_B, + k_EXboxOrigin_X, + k_EXboxOrigin_Y, + k_EXboxOrigin_LeftBumper, + k_EXboxOrigin_RightBumper, + k_EXboxOrigin_Menu, //Start + k_EXboxOrigin_View, //Back + k_EXboxOrigin_LeftTrigger_Pull, + k_EXboxOrigin_LeftTrigger_Click, + k_EXboxOrigin_RightTrigger_Pull, + k_EXboxOrigin_RightTrigger_Click, + k_EXboxOrigin_LeftStick_Move, + k_EXboxOrigin_LeftStick_Click, + k_EXboxOrigin_LeftStick_DPadNorth, + k_EXboxOrigin_LeftStick_DPadSouth, + k_EXboxOrigin_LeftStick_DPadWest, + k_EXboxOrigin_LeftStick_DPadEast, + k_EXboxOrigin_RightStick_Move, + k_EXboxOrigin_RightStick_Click, + k_EXboxOrigin_RightStick_DPadNorth, + k_EXboxOrigin_RightStick_DPadSouth, + k_EXboxOrigin_RightStick_DPadWest, + k_EXboxOrigin_RightStick_DPadEast, + k_EXboxOrigin_DPad_North, + k_EXboxOrigin_DPad_South, + k_EXboxOrigin_DPad_West, + k_EXboxOrigin_DPad_East, + k_EXboxOrigin_Count, +}; + +enum ESteamControllerPad +{ + k_ESteamControllerPad_Left, + k_ESteamControllerPad_Right +}; + +enum EControllerHapticLocation +{ + k_EControllerHapticLocation_Left = ( 1 << k_ESteamControllerPad_Left ), + k_EControllerHapticLocation_Right = ( 1 << k_ESteamControllerPad_Right ), + k_EControllerHapticLocation_Both = ( 1 << k_ESteamControllerPad_Left | 1 << k_ESteamControllerPad_Right ), +}; + +enum EControllerHapticType +{ + k_EControllerHapticType_Off, + k_EControllerHapticType_Tick, + k_EControllerHapticType_Click, +}; + +enum ESteamInputType +{ + k_ESteamInputType_Unknown, + k_ESteamInputType_SteamController, + k_ESteamInputType_XBox360Controller, + k_ESteamInputType_XBoxOneController, + k_ESteamInputType_GenericGamepad, // DirectInput controllers + k_ESteamInputType_PS4Controller, + k_ESteamInputType_AppleMFiController, // Unused + k_ESteamInputType_AndroidController, // Unused + k_ESteamInputType_SwitchJoyConPair, // Unused + k_ESteamInputType_SwitchJoyConSingle, // Unused + k_ESteamInputType_SwitchProController, + k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller + k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins + k_ESteamInputType_PS5Controller, // Added in SDK 151 + k_ESteamInputType_SteamDeckController, // Added in SDK 153 + k_ESteamInputType_Count, + k_ESteamInputType_MaximumPossibleValue = 255, +}; + +// Individual values are used by the GetSessionInputConfigurationSettings bitmask +enum ESteamInputConfigurationEnableType +{ + k_ESteamInputConfigurationEnableType_None = 0x0000, + k_ESteamInputConfigurationEnableType_Playstation = 0x0001, + k_ESteamInputConfigurationEnableType_Xbox = 0x0002, + k_ESteamInputConfigurationEnableType_Generic = 0x0004, + k_ESteamInputConfigurationEnableType_Switch = 0x0008, +}; + +// These values are passed into SetLEDColor +enum ESteamInputLEDFlag +{ + k_ESteamInputLEDFlag_SetColor, + // Restore the LED color to the user's preference setting as set in the controller personalization menu. + // This also happens automatically on exit of your game. + k_ESteamInputLEDFlag_RestoreUserDefault +}; + +// These values are passed into GetGlyphPNGForActionOrigin +enum ESteamInputGlyphSize +{ + k_ESteamInputGlyphSize_Small, // 32x32 pixels + k_ESteamInputGlyphSize_Medium, // 128x128 pixels + k_ESteamInputGlyphSize_Large, // 256x256 pixels + k_ESteamInputGlyphSize_Count, +}; + +enum ESteamInputGlyphStyle +{ + // Base-styles - cannot mix + ESteamInputGlyphStyle_Knockout = 0x0, // Face buttons will have colored labels/outlines on a knocked out background + // Rest of inputs will have white detail/borders on a knocked out background + ESteamInputGlyphStyle_Light = 0x1, // Black detail/borders on a white background + ESteamInputGlyphStyle_Dark = 0x2, // White detail/borders on a black background + + // Modifiers + // Default ABXY/PS equivalent glyphs have a solid fill w/ color matching the physical buttons on the device + ESteamInputGlyphStyle_NeutralColorABXY = 0x10, // ABXY Buttons will match the base style color instead of their normal associated color + ESteamInputGlyphStyle_SolidABXY = 0x20, // ABXY Buttons will have a solid fill +}; + +enum ESteamInputActionEventType +{ + ESteamInputActionEventType_DigitalAction, + ESteamInputActionEventType_AnalogAction, +}; + +// InputHandle_t is used to refer to a specific controller. +// This handle will consistently identify a controller, even if it is disconnected and re-connected +typedef uint64 InputHandle_t; + +// These handles are used to refer to a specific in-game action or action set +// All action handles should be queried during initialization for performance reasons +typedef uint64 InputActionSetHandle_t; +typedef uint64 InputDigitalActionHandle_t; +typedef uint64 InputAnalogActionHandle_t; + +#pragma pack( push, 1 ) + +struct InputAnalogActionData_t +{ + // Type of data coming from this action, this will match what got specified in the action set + EInputSourceMode eMode; + + // The current state of this action; will be delta updates for mouse actions + float x, y; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct InputDigitalActionData_t +{ + // The current state of this action; will be true if currently pressed + bool bState; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct InputMotionData_t +{ + // Gyro Quaternion: + // Absolute rotation of the controller since wakeup, using the Accelerometer reading at startup to determine the first value. + // This means real world "up" is know, but heading is not known. + // Every rotation packet is integrated using sensor time delta, and that change is used to update this quaternion. + // A Quaternion Identity ( x:0, y:0, z:0, w:1 ) will be sent in the first few packets while the controller's IMU is still waking up; + // some controllers have a short "warmup" period before these values should be used. + + // After the first time GetMotionData is called per controller handle, the IMU will be active until your app is closed. + // The exception is the Sony Dualshock, which will stay on until the controller has been turned off. + + // Filtering: When rotating the controller at low speeds, low level noise is filtered out without noticeable latency. High speed movement is always unfiltered. + // Drift: Gyroscopic "Drift" can be fixed using the Steam Input "Gyro Calibration" button. Users will have to be informed of this feature. + float rotQuatX; + float rotQuatY; + float rotQuatZ; + float rotQuatW; + + // Positional acceleration + // This represents only the latest hardware packet's state. + // Values range from -SHRT_MAX..SHRT_MAX + // This represents -2G..+2G along each axis + float posAccelX; // +tive when controller's Right hand side is pointed toward the sky. + float posAccelY; // +tive when controller's charging port (forward side of controller) is pointed toward the sky. + float posAccelZ; // +tive when controller's sticks point toward the sky. + + // Angular velocity + // Values range from -SHRT_MAX..SHRT_MAX + // These values map to a real world range of -2000..+2000 degrees per second on each axis (SDL standard) + // This represents only the latest hardware packet's state. + float rotVelX; // Local Pitch + float rotVelY; // Local Roll + float rotVelZ; // Local Yaw +}; + +//----------------------------------------------------------------------------- +// Purpose: when callbacks are enabled this fires each time a controller action +// state changes +//----------------------------------------------------------------------------- +struct SteamInputActionEvent_t +{ + InputHandle_t controllerHandle; + ESteamInputActionEventType eEventType; + struct AnalogAction_t { + InputAnalogActionHandle_t actionHandle; + InputAnalogActionData_t analogActionData; + }; + struct DigitalAction_t { + InputDigitalActionHandle_t actionHandle; + InputDigitalActionData_t digitalActionData; + }; + union { + AnalogAction_t analogAction; + DigitalAction_t digitalAction; + }; +}; + +//----------------------------------------------------------------------------- +// Forward declaration for ScePadTriggerEffectParam, defined in isteamdualsense.h +//----------------------------------------------------------------------------- +struct ScePadTriggerEffectParam; + +#pragma pack( pop ) + +typedef void ( *SteamInputActionEventCallbackPointer )( SteamInputActionEvent_t * ); + +//----------------------------------------------------------------------------- +// Purpose: Steam Input API +//----------------------------------------------------------------------------- +class ISteamInput +{ +public: + + // Init and Shutdown must be called when starting/ending use of this interface. + // if bExplicitlyCallRunFrame is called then you will need to manually call RunFrame + // each frame, otherwise Steam Input will updated when SteamAPI_RunCallbacks() is called + virtual bool Init( bool bExplicitlyCallRunFrame ) = 0; + virtual bool Shutdown() = 0; + + // Set the absolute path to the Input Action Manifest file containing the in-game actions + // and file paths to the official configurations. Used in games that bundle Steam Input + // configurations inside of the game depot instead of using the Steam Workshop + virtual bool SetInputActionManifestFilePath( const char *pchInputActionManifestAbsolutePath ) = 0; + + // Synchronize API state with the latest Steam Input action data available. This + // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest + // possible latency, you call this directly before reading controller state. + // Note: This must be called from somewhere before GetConnectedControllers will + // return any handles + virtual void RunFrame( bool bReservedValue = true ) = 0; + + // Waits on an IPC event from Steam sent when there is new data to be fetched from + // the data drop. Returns true when data was recievied before the timeout expires. + // Useful for games with a dedicated input thread + virtual bool BWaitForData( bool bWaitForever, uint32 unTimeout ) = 0; + + // Returns true if new data has been received since the last time action data was accessed + // via GetDigitalActionData or GetAnalogActionData. The game will still need to call + // SteamInput()->RunFrame() or SteamAPI_RunCallbacks() before this to update the data stream + virtual bool BNewDataAvailable() = 0; + + // Enumerate currently connected Steam Input enabled devices - developers can opt in controller by type (ex: Xbox/Playstation/etc) via + // the Steam Input settings in the Steamworks site or users can opt-in in their controller settings in Steam. + // handlesOut should point to a STEAM_INPUT_MAX_COUNT sized array of InputHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_COUNT, Receives list of connected controllers ) InputHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // CALLBACKS + //----------------------------------------------------------------------------- + + // Controller configuration loaded - these callbacks will always fire if you have + // a handler. Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputConfigurationLoaded_t ) + + // Enable SteamInputDeviceConnected_t and SteamInputDeviceDisconnected_t callbacks. + // Each controller that is already connected will generate a device connected + // callback when you enable them + virtual void EnableDeviceCallbacks() = 0; + + // Controller Connected - provides info about a single newly connected controller + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputDeviceConnected_t ) + + // Controller Disconnected - provides info about a single disconnected controller + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputDeviceDisconnected_t ) + + // Controllers using Gamepad emulation (XInput, DirectInput, etc) will be seated in the order that + // input is sent by the device. This callback will fire on first input for each device and when the + // a user has manually changed the order via the Steam overlay. This also has the device type info + // so that you can change out glyph sets without making additional API calls + STEAM_CALL_BACK( SteamInputGamepadSlotChange_t ) + + // Enable SteamInputActionEvent_t callbacks. Directly calls your callback function + // for lower latency than standard Steam callbacks. Supports one callback at a time. + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + virtual void EnableActionEventCallbacks( SteamInputActionEventCallbackPointer pCallback ) = 0; + + //----------------------------------------------------------------------------- + // ACTION SETS + //----------------------------------------------------------------------------- + + // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. + virtual InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; + + // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + // your state loops, instead of trying to place it in all of your state transitions. + virtual void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle ) = 0; + virtual InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle ) = 0; + + // ACTION SET LAYERS + virtual void ActivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateAllActionSetLayers( InputHandle_t inputHandle ) = 0; + + // Enumerate currently active layers. + // handlesOut should point to a STEAM_INPUT_MAX_ACTIVE_LAYERS sized array of InputActionSetHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetActiveActionSetLayers( InputHandle_t inputHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ACTIVE_LAYERS, Receives list of active layers ) InputActionSetHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTIONS + //----------------------------------------------------------------------------- + + // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. + virtual InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of the supplied digital game action + virtual InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle ) = 0; + + // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles. The EInputActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ORIGINS, Receives list of action origins ) EInputActionOrigin *originsOut ) = 0; + + // Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle + virtual const char *GetStringForDigitalActionName( InputDigitalActionHandle_t eActionHandle ) = 0; + + // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. + virtual InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of these supplied analog game action + virtual InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle ) = 0; + + // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles. The EInputActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ORIGINS, Receives list of action origins ) EInputActionOrigin *originsOut ) = 0; + + // Get a local path to a PNG file for the provided origin's glyph. + virtual const char *GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags ) = 0; + + // Get a local path to a SVG file for the provided origin's glyph. + virtual const char *GetGlyphSVGForActionOrigin( EInputActionOrigin eOrigin, uint32 unFlags ) = 0; + + // Get a local path to an older, Big Picture Mode-style PNG file for a particular origin + virtual const char *GetGlyphForActionOrigin_Legacy( EInputActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified origin. + virtual const char *GetStringForActionOrigin( EInputActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle + virtual const char *GetStringForAnalogActionName( InputAnalogActionHandle_t eActionHandle ) = 0; + + // Stop analog momentum for the action if it is a mouse action in trackball mode + virtual void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction ) = 0; + + // Returns raw motion data from the specified device + virtual InputMotionData_t GetMotionData( InputHandle_t inputHandle ) = 0; + + //----------------------------------------------------------------------------- + // OUTPUTS + //----------------------------------------------------------------------------- + + // Trigger a vibration event on supported controllers - Steam will translate these commands into haptic pulses for Steam Controllers + virtual void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ) = 0; + + // Trigger a vibration event on supported controllers including Xbox trigger impulse rumble - Steam will translate these commands into haptic pulses for Steam Controllers + virtual void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed ) = 0; + + // Send a haptic pulse, works on Steam Deck and Steam Controller devices + virtual void TriggerSimpleHapticEvent( InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB ) = 0; + + // Set the controller LED color on supported controllers. nFlags is a bitmask of values from ESteamInputLEDFlag - 0 will default to setting a color. Steam will handle + // the behavior on exit of your program so you don't need to try restore the default as you are shutting down + virtual void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0; + + // Trigger a haptic pulse on a Steam Controller - if you are approximating rumble you may want to use TriggerVibration instead. + // Good uses for Haptic pulses include chimes, noises, or directional gameplay feedback (taking damage, footstep locations, etc). + virtual void Legacy_TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; + + // Trigger a haptic pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. If you are approximating rumble you may want to use TriggerVibration instead. + // nFlags is currently unused and reserved for future use. + virtual void Legacy_TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; + + //----------------------------------------------------------------------------- + // Utility functions available without using the rest of Steam Input API + //----------------------------------------------------------------------------- + + // Invokes the Steam overlay and brings up the binding screen if the user is using Big Picture Mode + // If the user is not in Big Picture Mode it will open up the binding in a new window + virtual bool ShowBindingPanel( InputHandle_t inputHandle ) = 0; + + // Returns the input type for a particular handle - unlike EInputActionOrigin which update with Steam and may return unrecognized values + // ESteamInputType will remain static and only return valid values from your SDK version + virtual ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle ) = 0; + + // Returns the associated controller handle for the specified emulated gamepad - can be used with the above 2 functions + // to identify controllers presented to your game over Xinput. Returns 0 if the Xinput index isn't associated with Steam Input + virtual InputHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; + + // Returns the associated gamepad index for the specified controller, if emulating a gamepad or -1 if not associated with an Xinput index + virtual int GetGamepadIndexForController( InputHandle_t ulinputHandle ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified Xbox controller origin. + virtual const char *GetStringForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get a local path to art for on-screen glyph for a particular Xbox controller origin + virtual const char *GetGlyphForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get the equivalent ActionOrigin for a given Xbox controller origin this can be chained with GetGlyphForActionOrigin to provide future proof glyphs for + // non-Steam Input API action games. Note - this only translates the buttons directly and doesn't take into account any remapping a user has made in their configuration + virtual EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin ) = 0; + + // Convert an origin to another controller type - for inputs not present on the other controller type this will return k_EInputActionOrigin_None + // When a new input type is added you will be able to pass in k_ESteamInputType_Unknown and the closest origin that your version of the SDK recognized will be returned + // ex: if a Playstation 5 controller was released this function would return Playstation 4 origins. + virtual EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin ) = 0; + + // Get the binding revision for a given device. Returns false if the handle was not valid or if a mapping is not yet loaded for the device + virtual bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor ) = 0; + + // Get the Steam Remote Play session ID associated with a device, or 0 if there is no session associated with it + // See isteamremoteplay.h for more information on Steam Remote Play sessions + virtual uint32 GetRemotePlaySessionID( InputHandle_t inputHandle ) = 0; + + // Get a bitmask of the Steam Input Configuration types opted in for the current session. Returns ESteamInputConfigurationEnableType values. + // Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration + virtual uint16 GetSessionInputConfigurationSettings() = 0; + + // Set the trigger effect for a DualSense controller + virtual void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam ) = 0; +}; + +#define STEAMINPUT_INTERFACE_VERSION "SteamInput006" + +// Global interface accessor +inline ISteamInput *SteamInput(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamInput *, SteamInput, STEAMINPUT_INTERFACE_VERSION ); + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a new controller has been connected, will fire once +// per controller if multiple new controllers connect in the same frame +//----------------------------------------------------------------------------- +struct SteamInputDeviceConnected_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 1 }; + InputHandle_t m_ulConnectedDeviceHandle; // Handle for device +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a new controller has been connected, will fire once +// per controller if multiple new controllers connect in the same frame +//----------------------------------------------------------------------------- +struct SteamInputDeviceDisconnected_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 2 }; + InputHandle_t m_ulDisconnectedDeviceHandle; // Handle for device +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a controller configuration has been loaded, will fire once +// per controller per focus change for Steam Input enabled controllers +//----------------------------------------------------------------------------- +struct SteamInputConfigurationLoaded_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 3 }; + AppId_t m_unAppID; + InputHandle_t m_ulDeviceHandle; // Handle for device + CSteamID m_ulMappingCreator; // May differ from local user when using + // an unmodified community or official config + uint32 m_unMajorRevision; // Binding revision from In-game Action File. + // Same value as queried by GetDeviceBindingRevision + uint32 m_unMinorRevision; + bool m_bUsesSteamInputAPI; // Does the configuration contain any Analog/Digital actions? + bool m_bUsesGamepadAPI; // Does the configuration contain any Xinput bindings? +}; + +//----------------------------------------------------------------------------- +// Purpose: called when controller gamepad slots change - on Linux/macOS these +// slots are shared for all running apps. +//----------------------------------------------------------------------------- +struct SteamInputGamepadSlotChange_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 4 }; + AppId_t m_unAppID; + InputHandle_t m_ulDeviceHandle; // Handle for device + ESteamInputType m_eDeviceType; // Type of device + int m_nOldGamepadSlot; // Previous GamepadSlot - can be -1 controller doesn't uses gamepad bindings + int m_nNewGamepadSlot; // New Gamepad Slot - can be -1 controller doesn't uses gamepad bindings +}; + +#pragma pack( pop ) + +#endif // ISTEAMINPUT_H diff --git a/Steam/isteaminventory.h b/Steam/isteaminventory.h new file mode 100644 index 0000000..7066592 --- /dev/null +++ b/Steam/isteaminventory.h @@ -0,0 +1,435 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Inventory +// +//============================================================================= + +#ifndef ISTEAMINVENTORY_H +#define ISTEAMINVENTORY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +// Every individual instance of an item has a globally-unique ItemInstanceID. +// This ID is unique to the combination of (player, specific item instance) +// and will not be transferred to another player or re-used for another item. +typedef uint64 SteamItemInstanceID_t; + +static const SteamItemInstanceID_t k_SteamItemInstanceIDInvalid = (SteamItemInstanceID_t)~0; + +// Types of items in your game are identified by a 32-bit "item definition number". +// Valid definition numbers are between 1 and 999999999; numbers less than or equal to +// zero are invalid, and numbers greater than or equal to one billion (1x10^9) are +// reserved for internal Steam use. +typedef int32 SteamItemDef_t; + + +enum ESteamItemFlags +{ + // Item status flags - these flags are permanently attached to specific item instances + k_ESteamItemNoTrade = 1 << 0, // This item is account-locked and cannot be traded or given away. + + // Action confirmation flags - these flags are set one time only, as part of a result set + k_ESteamItemRemoved = 1 << 8, // The item has been destroyed, traded away, expired, or otherwise invalidated + k_ESteamItemConsumed = 1 << 9, // The item quantity has been decreased by 1 via ConsumeItem API. + + // All other flag bits are currently reserved for internal Steam use at this time. + // Do not assume anything about the state of other flags which are not defined here. +}; + +struct SteamItemDetails_t +{ + SteamItemInstanceID_t m_itemId; + SteamItemDef_t m_iDefinition; + uint16 m_unQuantity; + uint16 m_unFlags; // see ESteamItemFlags +}; + +typedef int32 SteamInventoryResult_t; + +static const SteamInventoryResult_t k_SteamInventoryResultInvalid = -1; + +typedef uint64 SteamInventoryUpdateHandle_t; +const SteamInventoryUpdateHandle_t k_SteamInventoryUpdateHandleInvalid = 0xffffffffffffffffull; + +//----------------------------------------------------------------------------- +// Purpose: Steam Inventory query and manipulation API +//----------------------------------------------------------------------------- +class ISteamInventory +{ +public: + + // INVENTORY ASYNC RESULT MANAGEMENT + // + // Asynchronous inventory queries always output a result handle which can be used with + // GetResultStatus, GetResultItems, etc. A SteamInventoryResultReady_t callback will + // be triggered when the asynchronous result becomes ready (or fails). + // + + // Find out the status of an asynchronous inventory result handle. Possible values: + // k_EResultPending - still in progress + // k_EResultOK - done, result ready + // k_EResultExpired - done, result ready, maybe out of date (see DeserializeResult) + // k_EResultInvalidParam - ERROR: invalid API call parameters + // k_EResultServiceUnavailable - ERROR: service temporarily down, you may retry later + // k_EResultLimitExceeded - ERROR: operation would exceed per-user inventory limits + // k_EResultFail - ERROR: unknown / generic error + virtual EResult GetResultStatus( SteamInventoryResult_t resultHandle ) = 0; + + // Copies the contents of a result set into a flat array. The specific + // contents of the result set depend on which query which was used. + virtual bool GetResultItems( SteamInventoryResult_t resultHandle, + STEAM_OUT_ARRAY_COUNT( punOutItemsArraySize,Output array) SteamItemDetails_t *pOutItemsArray, + uint32 *punOutItemsArraySize ) = 0; + + // In combination with GetResultItems, you can use GetResultItemProperty to retrieve + // dynamic string properties for a given item returned in the result set. + // + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. + // + // If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetResultItemProperty( SteamInventoryResult_t resultHandle, + uint32 unItemIndex, + const char *pchPropertyName, + STEAM_OUT_STRING_COUNT( punValueBufferSizeOut ) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Returns the server time at which the result was generated. Compare against + // the value of IClientUtils::GetServerRealTime() to determine age. + virtual uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle ) = 0; + + // Returns true if the result belongs to the target steam ID, false if the + // result does not. This is important when using DeserializeResult, to verify + // that a remote player is not pretending to have a different user's inventory. + virtual bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected ) = 0; + + // Destroys a result handle and frees all associated memory. + virtual void DestroyResult( SteamInventoryResult_t resultHandle ) = 0; + + + // INVENTORY ASYNC QUERY + // + + // Captures the entire state of the current user's Steam inventory. + // You must call DestroyResult on this handle when you are done with it. + // Returns false and sets *pResultHandle to zero if inventory is unavailable. + // Note: calls to this function are subject to rate limits and may return + // cached results if called too frequently. It is suggested that you call + // this function only when you are about to display the user's full inventory, + // or if you expect that the inventory may have changed. + virtual bool GetAllItems( SteamInventoryResult_t *pResultHandle ) = 0; + + + // Captures the state of a subset of the current user's Steam inventory, + // identified by an array of item instance IDs. The results from this call + // can be serialized and passed to other players to "prove" that the current + // user owns specific items, without exposing the user's entire inventory. + // For example, you could call GetItemsByID with the IDs of the user's + // currently equipped cosmetic items and serialize this to a buffer, and + // then transmit this buffer to other players upon joining a game. + virtual bool GetItemsByID( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT( unCountInstanceIDs ) const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs ) = 0; + + + // RESULT SERIALIZATION AND AUTHENTICATION + // + // Serialized result sets contain a short signature which can't be forged + // or replayed across different game sessions. A result set can be serialized + // on the local client, transmitted to other players via your game networking, + // and deserialized by the remote players. This is a secure way of preventing + // hackers from lying about posessing rare/high-value items. + + // Serializes a result set with signature bytes to an output buffer. Pass + // NULL as an output buffer to get the required size via punOutBufferSize. + // The size of a serialized result depends on the number items which are being + // serialized. When securely transmitting items to other players, it is + // recommended to use "GetItemsByID" first to create a minimal result set. + // Results have a built-in timestamp which will be considered "expired" after + // an hour has elapsed. See DeserializeResult for expiration handling. + virtual bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUNT(punOutBufferSize) void *pOutBuffer, uint32 *punOutBufferSize ) = 0; + + // Deserializes a result set and verifies the signature bytes. Returns false + // if bRequireFullOnlineVerify is set but Steam is running in Offline mode. + // Otherwise returns true and then delivers error codes via GetResultStatus. + // + // The bRESERVED_MUST_BE_FALSE flag is reserved for future use and should not + // be set to true by your game at this time. + // + // DeserializeResult has a potential soft-failure mode where the handle status + // is set to k_EResultExpired. GetResultItems() still succeeds in this mode. + // The "expired" result could indicate that the data may be out of date - not + // just due to timed expiration (one hour), but also because one of the items + // in the result set may have been traded or consumed since the result set was + // generated. You could compare the timestamp from GetResultTimestamp() to + // ISteamUtils::GetServerRealTime() to determine how old the data is. You could + // simply ignore the "expired" result code and continue as normal, or you + // could challenge the player with expired data to send an updated result set. + virtual bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, STEAM_BUFFER_COUNT(punOutBufferSize) const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE = false ) = 0; + + + // INVENTORY ASYNC MODIFICATION + // + + // GenerateItems() creates one or more items and then generates a SteamInventoryCallback_t + // notification with a matching nCallbackContext parameter. This API is only intended + // for prototyping - it is only usable by Steam accounts that belong to the publisher group + // for your game. + // If punArrayQuantity is not NULL, it should be the same length as pArrayItems and should + // describe the quantity of each item to generate. + virtual bool GenerateItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // GrantPromoItems() checks the list of promotional items for which the user may be eligible + // and grants the items (one time only). On success, the result set will include items which + // were granted, if any. If no items were granted because the user isn't eligible for any + // promotions, this is still considered a success. + virtual bool GrantPromoItems( SteamInventoryResult_t *pResultHandle ) = 0; + + // AddPromoItem() / AddPromoItems() are restricted versions of GrantPromoItems(). Instead of + // scanning for all eligible promotional items, the check is restricted to a single item + // definition or set of item definitions. This can be useful if your game has custom UI for + // showing a specific promo item to the user. + virtual bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef ) = 0; + virtual bool AddPromoItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength ) = 0; + + // ConsumeItem() removes items from the inventory, permanently. They cannot be recovered. + // Not for the faint of heart - if your game implements item removal at all, a high-friction + // UI confirmation process is highly recommended. + virtual bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity ) = 0; + + // ExchangeItems() is an atomic combination of item generation and consumption. + // It can be used to implement crafting recipes or transmutations, or items which unpack + // themselves into other items (e.g., a chest). + // Exchange recipes are defined in the ItemDef, and explicitly list the required item + // types and resulting generated type. + // Exchange recipes are evaluated atomically by the Inventory Service; if the supplied + // components do not match the recipe, or do not contain sufficient quantity, the + // exchange will fail. + virtual bool ExchangeItems( SteamInventoryResult_t *pResultHandle, + STEAM_ARRAY_COUNT(unArrayGenerateLength) const SteamItemDef_t *pArrayGenerate, STEAM_ARRAY_COUNT(unArrayGenerateLength) const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength, + STEAM_ARRAY_COUNT(unArrayDestroyLength) const SteamItemInstanceID_t *pArrayDestroy, STEAM_ARRAY_COUNT(unArrayDestroyLength) const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength ) = 0; + + + // TransferItemQuantity() is intended for use with items which are "stackable" (can have + // quantity greater than one). It can be used to split a stack into two, or to transfer + // quantity from one stack into another stack of identical items. To split one stack into + // two, pass k_SteamItemInstanceIDInvalid for itemIdDest and a new item will be generated. + virtual bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest ) = 0; + + + // TIMED DROPS AND PLAYTIME CREDIT + // + + // Deprecated. Calling this method is not required for proper playtime accounting. + virtual void SendItemDropHeartbeat() = 0; + + // Playtime credit must be consumed and turned into item drops by your game. Only item + // definitions which are marked as "playtime item generators" can be spawned. The call + // will return an empty result set if there is not enough playtime credit for a drop. + // Your game should call TriggerItemDrop at an appropriate time for the user to receive + // new items, such as between rounds or while the player is dead. Note that players who + // hack their clients could modify the value of "dropListDefinition", so do not use it + // to directly control rarity. + // See your Steamworks configuration to set playtime drop rates for individual itemdefs. + // The client library will suppress too-frequent calls to this method. + virtual bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition ) = 0; + + + // Deprecated. This method is not supported. + virtual bool TradeItems( SteamInventoryResult_t *pResultHandle, CSteamID steamIDTradePartner, + STEAM_ARRAY_COUNT(nArrayGiveLength) const SteamItemInstanceID_t *pArrayGive, STEAM_ARRAY_COUNT(nArrayGiveLength) const uint32 *pArrayGiveQuantity, uint32 nArrayGiveLength, + STEAM_ARRAY_COUNT(nArrayGetLength) const SteamItemInstanceID_t *pArrayGet, STEAM_ARRAY_COUNT(nArrayGetLength) const uint32 *pArrayGetQuantity, uint32 nArrayGetLength ) = 0; + + + // ITEM DEFINITIONS + // + // Item definitions are a mapping of "definition IDs" (integers between 1 and 1000000) + // to a set of string properties. Some of these properties are required to display items + // on the Steam community web site. Other properties can be defined by applications. + // Use of these functions is optional; there is no reason to call LoadItemDefinitions + // if your game hardcodes the numeric definition IDs (eg, purple face mask = 20, blue + // weapon mod = 55) and does not allow for adding new item types without a client patch. + // + + // LoadItemDefinitions triggers the automatic load and refresh of item definitions. + // Every time new item definitions are available (eg, from the dynamic addition of new + // item types while players are still in-game), a SteamInventoryDefinitionUpdate_t + // callback will be fired. + virtual bool LoadItemDefinitions() = 0; + + // GetItemDefinitionIDs returns the set of all defined item definition IDs (which are + // defined via Steamworks configuration, and not necessarily contiguous integers). + // If pItemDefIDs is null, the call will return true and *punItemDefIDsArraySize will + // contain the total size necessary for a subsequent call. Otherwise, the call will + // return false if and only if there is not enough space in the output array. + virtual bool GetItemDefinitionIDs( + STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // GetItemDefinitionProperty returns a string property from a given item definition. + // Note that some properties (for example, "name") may be localized and will depend + // on the current Steam language settings (see ISteamApps::GetCurrentGameLanguage). + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName, + STEAM_OUT_STRING_COUNT(punValueBufferSizeOut) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Request the list of "eligible" promo items that can be manually granted to the given + // user. These are promo items of type "manual" that won't be granted automatically. + // An example usage of this is an item that becomes available every week. + STEAM_CALL_RESULT( SteamInventoryEligiblePromoItemDefIDs_t ) + virtual SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID ) = 0; + + // After handling a SteamInventoryEligiblePromoItemDefIDs_t call result, use this + // function to pull out the list of item definition ids that the user can be + // manually granted via the AddPromoItems() call. + virtual bool GetEligiblePromoItemDefinitionIDs( + CSteamID steamID, + STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // Starts the purchase process for the given item definitions. The callback SteamInventoryStartPurchaseResult_t + // will be posted if Steam was able to initialize the transaction. + // + // Once the purchase has been authorized and completed by the user, the callback SteamInventoryResultReady_t + // will be posted. + STEAM_CALL_RESULT( SteamInventoryStartPurchaseResult_t ) + virtual SteamAPICall_t StartPurchase( STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // Request current prices for all applicable item definitions + STEAM_CALL_RESULT( SteamInventoryRequestPricesResult_t ) + virtual SteamAPICall_t RequestPrices() = 0; + + // Returns the number of items with prices. Need to call RequestPrices() first. + virtual uint32 GetNumItemsWithPrices() = 0; + + // Returns item definition ids and their prices in the user's local currency. + // Need to call RequestPrices() first. + virtual bool GetItemsWithPrices( STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pArrayItemDefs, Items with prices) SteamItemDef_t *pArrayItemDefs, + STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pCurrentPrices, + STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pBasePrices, + uint32 unArrayLength ) = 0; + + // Retrieves the price for the item definition id + // Returns false if there is no price stored for the item definition. + virtual bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pCurrentPrice, uint64 *pBasePrice ) = 0; + + // Create a request to update properties on items + virtual SteamInventoryUpdateHandle_t StartUpdateProperties() = 0; + // Remove the property on the item + virtual bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName ) = 0; + // Accessor methods to set properties on items + + STEAM_FLAT_NAME( SetPropertyString ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyBool ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyInt64 ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyFloat ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue ) = 0; + + // Submit the update request by handle + virtual bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle ) = 0; + + virtual bool InspectItem( SteamInventoryResult_t *pResultHandle, const char *pchItemToken ) = 0; +}; + +#define STEAMINVENTORY_INTERFACE_VERSION "STEAMINVENTORY_INTERFACE_V003" + +// Global interface accessor +inline ISteamInventory *SteamInventory(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamInventory *, SteamInventory, STEAMINVENTORY_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamInventory *SteamGameServerInventory(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamInventory *, SteamGameServerInventory, STEAMINVENTORY_INTERFACE_VERSION ); + +// SteamInventoryResultReady_t callbacks are fired whenever asynchronous +// results transition from "Pending" to "OK" or an error state. There will +// always be exactly one callback per handle. +struct SteamInventoryResultReady_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 0 }; + SteamInventoryResult_t m_handle; + EResult m_result; +}; + + +// SteamInventoryFullUpdate_t callbacks are triggered when GetAllItems +// successfully returns a result which is newer / fresher than the last +// known result. (It will not trigger if the inventory hasn't changed, +// or if results from two overlapping calls are reversed in flight and +// the earlier result is already known to be stale/out-of-date.) +// The normal ResultReady callback will still be triggered immediately +// afterwards; this is an additional notification for your convenience. +struct SteamInventoryFullUpdate_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 1 }; + SteamInventoryResult_t m_handle; +}; + + +// A SteamInventoryDefinitionUpdate_t callback is triggered whenever +// item definitions have been updated, which could be in response to +// LoadItemDefinitions() or any other async request which required +// a definition update in order to process results from the server. +struct SteamInventoryDefinitionUpdate_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 2 }; +}; + +// Returned +struct SteamInventoryEligiblePromoItemDefIDs_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 3 }; + EResult m_result; + CSteamID m_steamID; + int m_numEligiblePromoItemDefs; + bool m_bCachedData; // indicates that the data was retrieved from the cache and not the server +}; + +// Triggered from StartPurchase call +struct SteamInventoryStartPurchaseResult_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 4 }; + EResult m_result; + uint64 m_ulOrderID; + uint64 m_ulTransID; +}; + + +// Triggered from RequestPrices +struct SteamInventoryRequestPricesResult_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 5 }; + EResult m_result; + char m_rgchCurrency[4]; +}; + +#pragma pack( pop ) + + +#endif // ISTEAMCONTROLLER_H diff --git a/Steam/isteammatchmaking.h b/Steam/isteammatchmaking.h new file mode 100644 index 0000000..12189c7 --- /dev/null +++ b/Steam/isteammatchmaking.h @@ -0,0 +1,1087 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing game server/client match making +// +//============================================================================= + +#ifndef ISTEAMMATCHMAKING +#define ISTEAMMATCHMAKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "matchmakingtypes.h" +#include "isteamfriends.h" + +// lobby type description +enum ELobbyType +{ + k_ELobbyTypePrivate = 0, // only way to join the lobby is to invite to someone else + k_ELobbyTypeFriendsOnly = 1, // shows for friends or invitees, but not in lobby list + k_ELobbyTypePublic = 2, // visible for friends and in lobby list + k_ELobbyTypeInvisible = 3, // returned by search, but not visible to other friends + // useful if you want a user in two lobbies, for example matching groups together + // a user can be in only one regular lobby, and up to two invisible lobbies + k_ELobbyTypePrivateUnique = 4, // private, unique and does not delete when empty - only one of these may exist per unique keypair set + // can only create from webapi +}; + +// lobby search filter tools +enum ELobbyComparison +{ + k_ELobbyComparisonEqualToOrLessThan = -2, + k_ELobbyComparisonLessThan = -1, + k_ELobbyComparisonEqual = 0, + k_ELobbyComparisonGreaterThan = 1, + k_ELobbyComparisonEqualToOrGreaterThan = 2, + k_ELobbyComparisonNotEqual = 3, +}; + +// lobby search distance. Lobby results are sorted from closest to farthest. +enum ELobbyDistanceFilter +{ + k_ELobbyDistanceFilterClose, // only lobbies in the same immediate region will be returned + k_ELobbyDistanceFilterDefault, // only lobbies in the same region or near by regions + k_ELobbyDistanceFilterFar, // for games that don't have many latency requirements, will return lobbies about half-way around the globe + k_ELobbyDistanceFilterWorldwide, // no filtering, will match lobbies as far as India to NY (not recommended, expect multiple seconds of latency between the clients) +}; + +// maximum number of characters a lobby metadata key can be +#define k_nMaxLobbyKeyLength 255 + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to favorites +// and to operate on game lobbies. +//----------------------------------------------------------------------------- +class ISteamMatchmaking +{ +public: + // game server favorites storage + // saves basic details about a multiplayer game server locally + + // returns the number of favorites servers the user has stored + virtual int GetFavoriteGameCount() = 0; + + // returns the details of the game server + // iGame is of range [0,GetFavoriteGameCount()) + // *pnIP, *pnConnPort are filled in the with IP:port of the game server + // *punFlags specify whether the game server was stored as an explicit favorite or in the history of connections + // *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added + virtual bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnPort, uint16 *pnQueryPort, uint32 *punFlags, uint32 *pRTime32LastPlayedOnServer ) = 0; + + // adds the game server to the local list; updates the time played of the server if it already exists in the list + virtual int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer ) = 0; + + // removes the game server from the local storage; returns true if one was removed + virtual bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags ) = 0; + + /////// + // Game lobby functions + + // Get a list of relevant lobbies + // this is an asynchronous request + // results will be returned by LobbyMatchList_t callback & call result, with the number of lobbies found + // this will never return lobbies that are full + // to add more filter, the filter calls below need to be call before each and every RequestLobbyList() call + // use the CCallResult<> object in steam_api.h to match the SteamAPICall_t call result to a function in an object, e.g. + /* + class CMyLobbyListManager + { + CCallResult m_CallResultLobbyMatchList; + void FindLobbies() + { + // SteamMatchmaking()->AddRequestLobbyListFilter*() functions would be called here, before RequestLobbyList() + SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList(); + m_CallResultLobbyMatchList.Set( hSteamAPICall, this, &CMyLobbyListManager::OnLobbyMatchList ); + } + + void OnLobbyMatchList( LobbyMatchList_t *pLobbyMatchList, bool bIOFailure ) + { + // lobby list has be retrieved from Steam back-end, use results + } + } + */ + // + STEAM_CALL_RESULT( LobbyMatchList_t ) + virtual SteamAPICall_t RequestLobbyList() = 0; + // filters for lobbies + // this needs to be called before RequestLobbyList() to take effect + // these are cleared on each call to RequestLobbyList() + virtual void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType ) = 0; + // numerical comparison + virtual void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType ) = 0; + // returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence + virtual void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueToBeCloseTo ) = 0; + // returns only lobbies with the specified number of slots available + virtual void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable ) = 0; + // sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed) + virtual void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilter ) = 0; + // sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client + virtual void AddRequestLobbyListResultCountFilter( int cMaxResults ) = 0; + + virtual void AddRequestLobbyListCompatibleMembersFilter( CSteamID steamIDLobby ) = 0; + + // returns the CSteamID of a lobby, as retrieved by a RequestLobbyList call + // should only be called after a LobbyMatchList_t callback is received + // iLobby is of the range [0, LobbyMatchList_t::m_nLobbiesMatching) + // the returned CSteamID::IsValid() will be false if iLobby is out of range + virtual CSteamID GetLobbyByIndex( int iLobby ) = 0; + + // Create a lobby on the Steam servers. + // If private, then the lobby will not be returned by any RequestLobbyList() call; the CSteamID + // of the lobby will need to be communicated via game channels or via InviteUserToLobby() + // this is an asynchronous request + // results will be returned by LobbyCreated_t callback and call result; lobby is joined & ready to use at this point + // a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) + STEAM_CALL_RESULT( LobbyCreated_t ) + virtual SteamAPICall_t CreateLobby( ELobbyType eLobbyType, int cMaxMembers ) = 0; + + // Joins an existing lobby + // this is an asynchronous request + // results will be returned by LobbyEnter_t callback & call result, check m_EChatRoomEnterResponse to see if was successful + // lobby metadata is available to use immediately on this call completing + STEAM_CALL_RESULT( LobbyEnter_t ) + virtual SteamAPICall_t JoinLobby( CSteamID steamIDLobby ) = 0; + + // Leave a lobby; this will take effect immediately on the client side + // other users in the lobby will be notified by a LobbyChatUpdate_t callback + virtual void LeaveLobby( CSteamID steamIDLobby ) = 0; + + // Invite another user to the lobby + // the target user will receive a LobbyInvite_t callback + // will return true if the invite is successfully sent, whether or not the target responds + // returns false if the local user is not connected to the Steam servers + // if the other user clicks the join link, a GameLobbyJoinRequested_t will be posted if the user is in-game, + // or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id> + virtual bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee ) = 0; + + // Lobby iteration, for viewing details of users in a lobby + // only accessible if the lobby user is a member of the specified lobby + // persona information for other lobby members (name, avatar, etc.) will be asynchronously received + // and accessible via ISteamFriends interface + + // returns the number of users in the specified lobby + virtual int GetNumLobbyMembers( CSteamID steamIDLobby ) = 0; + // returns the CSteamID of a user in the lobby + // iMember is of range [0,GetNumLobbyMembers()) + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + virtual CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember ) = 0; + + // Get data associated with this lobby + // takes a simple key, and returns the string associated with it + // "" will be returned if no value is set, or if steamIDLobby is invalid + virtual const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + // Sets a key/value pair in the lobby metadata + // each user in the lobby will be broadcast this new value, and any new users joining will receive any existing data + // this can be used to set lobby names, map, etc. + // to reset a key, just set it to "" + // other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback + virtual bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // returns the number of metadata keys set on the specified lobby + virtual int GetLobbyDataCount( CSteamID steamIDLobby ) = 0; + + // returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount()) + virtual bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize ) = 0; + + // removes a metadata key from the lobby + virtual bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + + // Gets per-user metadata for someone in this lobby + virtual const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey ) = 0; + // Sets per-user metadata (for the local user implicitly) + virtual void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // Broadcasts a chat message to the all the users in the lobby + // users in the lobby (including the local user) will receive a LobbyChatMsg_t callback + // returns true if the message is successfully sent + // pvMsgBody can be binary or text data, up to 4k + // if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator + virtual bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody ) = 0; + // Get a chat message as specified in a LobbyChatMsg_t callback + // iChatID is the LobbyChatMsg_t::m_iChatID value in the callback + // *pSteamIDUser is filled in with the CSteamID of the member + // *pvData is filled in with the message itself + // return value is the number of bytes written into the buffer + virtual int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CSteamID *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // Refreshes metadata for a lobby you're not necessarily in right now + // you never do this for lobbies you're a member of, only if your + // this will send down all the metadata associated with a lobby + // this is an asynchronous call + // returns false if the local user is not connected to the Steam servers + // results will be returned by a LobbyDataUpdate_t callback + // if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + virtual bool RequestLobbyData( CSteamID steamIDLobby ) = 0; + + // sets the game server associated with the lobby + // usually at this point, the users will join the specified game server + // either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect + virtual void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer ) = 0; + // returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist + virtual bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, STEAM_OUT_STRUCT() CSteamID *psteamIDGameServer ) = 0; + + // set the limit on the # of users who can join the lobby + virtual bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers ) = 0; + // returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined + virtual int GetLobbyMemberLimit( CSteamID steamIDLobby ) = 0; + + // updates which type of lobby it is + // only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls + virtual bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType ) = 0; + + // sets whether or not a lobby is joinable - defaults to true for a new lobby + // if set to false, no user can join, even if they are a friend or have been invited + virtual bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable ) = 0; + + // returns the current lobby owner + // you must be a member of the lobby to access this + // there always one lobby owner - if the current owner leaves, another user will become the owner + // it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner + virtual CSteamID GetLobbyOwner( CSteamID steamIDLobby ) = 0; + + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner ) = 0; + + // link two lobbies for the purposes of checking player compatibility + // you must be the lobby owner of both lobbies + virtual bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobbyDependent ) = 0; + +#ifdef _PS3 + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual void CheckForPSNGameBootInvite( unsigned int iGameBootAttributes ) = 0; +#endif +}; +#define STEAMMATCHMAKING_INTERFACE_VERSION "SteamMatchMaking009" + +// Global interface accessor +inline ISteamMatchmaking *SteamMatchmaking(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMatchmaking *, SteamMatchmaking, STEAMMATCHMAKING_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Callback interfaces for server list functions (see ISteamMatchmakingServers below) +// +// The idea here is that your game code implements objects that implement these +// interfaces to receive callback notifications after calling asynchronous functions +// inside the ISteamMatchmakingServers() interface below. +// +// This is different than normal Steam callback handling due to the potentially +// large size of server lists. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when requesting server list. +//----------------------------------------------------------------------------- +typedef void* HServerListRequest; + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after a server list refresh +// or an individual server update. +// +// Since you get these callbacks after requesting full list refreshes you will +// usually implement this interface inside an object like CServerBrowser. If that +// object is getting destructed you should use ISteamMatchMakingServers()->CancelQuery() +// to cancel any in-progress queries so you don't get a callback into the destructed +// object and crash. +//----------------------------------------------------------------------------- +class ISteamMatchmakingServerListResponse +{ +public: + // Server has responded ok with updated data + virtual void ServerResponded( HServerListRequest hRequest, int iServer ) = 0; + + // Server has failed to respond + virtual void ServerFailedToRespond( HServerListRequest hRequest, int iServer ) = 0; + + // A list refresh you had initiated is now 100% completed + virtual void RefreshComplete( HServerListRequest hRequest, EMatchMakingServerResponse response ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after pinging an individual server +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PingServer() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPingResponse +{ +public: + // Server has responded successfully and has updated data + virtual void ServerResponded( gameserveritem_t &server ) = 0; + + // Server failed to respond to the ping request + virtual void ServerFailedToRespond() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting details on +// who is playing on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PlayerDetails() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPlayersResponse +{ +public: + // Got data on a new player on the server -- you'll get this callback once per player + // on the server which you have requested player data on. + virtual void AddPlayerToList( const char *pchName, int nScore, float flTimePlayed ) = 0; + + // The server failed to respond to the request for player details + virtual void PlayersFailedToRespond() = 0; + + // The server has finished responding to the player details request + // (ie, you won't get anymore AddPlayerToList callbacks) + virtual void PlayersRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting rules +// details on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->ServerRules() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingRulesResponse +{ +public: + // Got data on a rule on the server -- you'll get one of these per rule defined on + // the server you are querying + virtual void RulesResponded( const char *pchRule, const char *pchValue ) = 0; + + // The server failed to respond to the request for rule details + virtual void RulesFailedToRespond() = 0; + + // The server has finished responding to the rule details request + // (ie, you won't get anymore RulesResponded callbacks) + virtual void RulesRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when querying details on an individual server. +//----------------------------------------------------------------------------- +typedef int HServerQuery; +const int HSERVERQUERY_INVALID = 0xffffffff; + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to game lists and details +//----------------------------------------------------------------------------- +class ISteamMatchmakingServers +{ +public: + // Request a new list of servers of a particular type. These calls each correspond to one of the EMatchMakingType values. + // Each call allocates a new asynchronous request object. + // Request object must be released by calling ReleaseRequest( hServerListRequest ) + virtual HServerListRequest RequestInternetServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFriendsServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFavoritesServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestHistoryServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestSpectatorServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + + // Releases the asynchronous request object and cancels any pending query on it if there's a pending query in progress. + // RefreshComplete callback is not posted when request is released. + virtual void ReleaseRequest( HServerListRequest hServerListRequest ) = 0; + + /* the filter operation codes that go in the key part of MatchMakingKeyValuePair_t should be one of these: + + "map" + - Server passes the filter if the server is playing the specified map. + "gamedataand" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains all of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedataor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains at least one of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedatanor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsand" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) contains all + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsnor" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "and" (x1 && x2 && ... && xn) + "or" (x1 || x2 || ... || xn) + "nand" !(x1 && x2 && ... && xn) + "nor" !(x1 || x2 || ... || xn) + - Performs Boolean operation on the following filters. The operand to this filter specifies + the "size" of the Boolean inputs to the operation, in Key/value pairs. (The keyvalue + pairs must immediately follow, i.e. this is a prefix logical operator notation.) + In the simplest case where Boolean expressions are not nested, this is simply + the number of operands. + + For example, to match servers on a particular map or with a particular tag, would would + use these filters. + + ( server.map == "cp_dustbowl" || server.gametags.contains("payload") ) + "or", "2" + "map", "cp_dustbowl" + "gametagsand", "payload" + + If logical inputs are nested, then the operand specifies the size of the entire + "length" of its operands, not the number of immediate children. + + ( server.map == "cp_dustbowl" || ( server.gametags.contains("payload") && !server.gametags.contains("payloadrace") ) ) + "or", "4" + "map", "cp_dustbowl" + "and", "2" + "gametagsand", "payload" + "gametagsnor", "payloadrace" + + Unary NOT can be achieved using either "nand" or "nor" with a single operand. + + "addr" + - Server passes the filter if the server's query address matches the specified IP or IP:port. + "gameaddr" + - Server passes the filter if the server's game address matches the specified IP or IP:port. + + The following filter operations ignore the "value" part of MatchMakingKeyValuePair_t + + "dedicated" + - Server passes the filter if it passed true to SetDedicatedServer. + "secure" + - Server passes the filter if the server is VAC-enabled. + "notfull" + - Server passes the filter if the player count is less than the reported max player count. + "hasplayers" + - Server passes the filter if the player count is greater than zero. + "noplayers" + - Server passes the filter if it doesn't have any players. + "linux" + - Server passes the filter if it's a linux server + */ + + // Get details on a given server in the list, you can get the valid range of index + // values by calling GetServerCount(). You will also receive index values in + // ISteamMatchmakingServerListResponse::ServerResponded() callbacks + virtual gameserveritem_t *GetServerDetails( HServerListRequest hRequest, int iServer ) = 0; + + // Cancel an request which is operation on the given list type. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above list request calls. Not doing so may result in a crash when a callback + // occurs on the destructed object. + // Canceling a query does not release the allocated request handle. + // The request handle must be released using ReleaseRequest( hRequest ) + virtual void CancelQuery( HServerListRequest hRequest ) = 0; + + // Ping every server in your list again but don't update the list of servers + // Query callback installed when the server list was requested will be used + // again to post notifications and RefreshComplete, so the callback must remain + // valid until another RefreshComplete is called on it or the request + // is released with ReleaseRequest( hRequest ) + virtual void RefreshQuery( HServerListRequest hRequest ) = 0; + + // Returns true if the list is currently refreshing its server list + virtual bool IsRefreshing( HServerListRequest hRequest ) = 0; + + // How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1 + virtual int GetServerCount( HServerListRequest hRequest ) = 0; + + // Refresh a single server inside of a query (rather than all the servers ) + virtual void RefreshServer( HServerListRequest hRequest, int iServer ) = 0; + + + //----------------------------------------------------------------------------- + // Queries to individual servers directly via IP/Port + //----------------------------------------------------------------------------- + + // Request updated ping time and other details from a single server + virtual HServerQuery PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse ) = 0; + + // Request the list of players currently playing on a server + virtual HServerQuery PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse ) = 0; + + // Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side) + virtual HServerQuery ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse ) = 0; + + // Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above calls to avoid crashing when callbacks occur. + virtual void CancelServerQuery( HServerQuery hServerQuery ) = 0; +}; +#define STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "SteamMatchMakingServers002" + +// Global interface accessor +inline ISteamMatchmakingServers *SteamMatchmakingServers(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMatchmakingServers *, SteamMatchmakingServers, STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION ); + +// game server flags +const uint32 k_unFavoriteFlagNone = 0x00; +const uint32 k_unFavoriteFlagFavorite = 0x01; // this game favorite entry is for the favorites list +const uint32 k_unFavoriteFlagHistory = 0x02; // this game favorite entry is for the history list + + +//----------------------------------------------------------------------------- +// Purpose: Used in ChatInfo messages - fields specific to a chat member - must fit in a uint32 +//----------------------------------------------------------------------------- +enum EChatMemberStateChange +{ + // Specific to joining / leaving the chatroom + k_EChatMemberStateChangeEntered = 0x0001, // This user has joined or is joining the chat room + k_EChatMemberStateChangeLeft = 0x0002, // This user has left or is leaving the chat room + k_EChatMemberStateChangeDisconnected = 0x0004, // User disconnected without leaving the chat first + k_EChatMemberStateChangeKicked = 0x0008, // User kicked + k_EChatMemberStateChangeBanned = 0x0010, // User kicked and banned +}; + +// returns true of the flags indicate that a user has been removed from the chat +#define BChatMemberStateChangeRemoved( rgfChatMemberStateChangeFlags ) ( rgfChatMemberStateChangeFlags & ( k_EChatMemberStateChangeDisconnected | k_EChatMemberStateChangeLeft | k_EChatMemberStateChangeKicked | k_EChatMemberStateChangeBanned ) ) + + + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to favorites +// and to operate on game lobbies. +//----------------------------------------------------------------------------- +class ISteamGameSearch +{ +public: + // ============================================================================================= + // Game Player APIs + + // a keyname and a list of comma separated values: one of which is must be found in order for the match to qualify + // fails if a search is currently in progress + virtual EGameSearchErrorCode_t AddGameSearchParams( const char *pchKeyToFind, const char *pchValuesToFind ) = 0; + + // all players in lobby enter the queue and await a SearchForGameNotificationCallback_t callback. fails if another search is currently in progress + // if not the owner of the lobby or search already in progress this call fails + // periodic callbacks will be sent as queue time estimates change + virtual EGameSearchErrorCode_t SearchForGameWithLobby( CSteamID steamIDLobby, int nPlayerMin, int nPlayerMax ) = 0; + + // user enter the queue and await a SearchForGameNotificationCallback_t callback. fails if another search is currently in progress + // periodic callbacks will be sent as queue time estimates change + virtual EGameSearchErrorCode_t SearchForGameSolo( int nPlayerMin, int nPlayerMax ) = 0; + + // after receiving SearchForGameResultCallback_t, accept or decline the game + // multiple SearchForGameResultCallback_t will follow as players accept game until the host starts or cancels the game + virtual EGameSearchErrorCode_t AcceptGame() = 0; + virtual EGameSearchErrorCode_t DeclineGame() = 0; + + // after receiving GameStartedByHostCallback_t get connection details to server + virtual EGameSearchErrorCode_t RetrieveConnectionDetails( CSteamID steamIDHost, char *pchConnectionDetails, int cubConnectionDetails ) = 0; + + // leaves queue if still waiting + virtual EGameSearchErrorCode_t EndGameSearch() = 0; + + // ============================================================================================= + // Game Host APIs + + // a keyname and a list of comma separated values: all the values you allow + virtual EGameSearchErrorCode_t SetGameHostParams( const char *pchKey, const char *pchValue ) = 0; + + // set connection details for players once game is found so they can connect to this server + virtual EGameSearchErrorCode_t SetConnectionDetails( const char *pchConnectionDetails, int cubConnectionDetails ) = 0; + + // mark server as available for more players with nPlayerMin,nPlayerMax desired + // accept no lobbies with playercount greater than nMaxTeamSize + // the set of lobbies returned must be partitionable into teams of no more than nMaxTeamSize + // RequestPlayersForGameNotificationCallback_t callback will be sent when the search has started + // multple RequestPlayersForGameResultCallback_t callbacks will follow when players are found + virtual EGameSearchErrorCode_t RequestPlayersForGame( int nPlayerMin, int nPlayerMax, int nMaxTeamSize ) = 0; + + // accept the player list and release connection details to players + // players will only be given connection details and host steamid when this is called + // ( allows host to accept after all players confirm, some confirm, or none confirm. decision is entirely up to the host ) + virtual EGameSearchErrorCode_t HostConfirmGameStart( uint64 ullUniqueGameID ) = 0; + + // cancel request and leave the pool of game hosts looking for players + // if a set of players has already been sent to host, all players will receive SearchForGameHostFailedToConfirm_t + virtual EGameSearchErrorCode_t CancelRequestPlayersForGame() = 0; + + // submit a result for one player. does not end the game. ullUniqueGameID continues to describe this game + virtual EGameSearchErrorCode_t SubmitPlayerResult( uint64 ullUniqueGameID, CSteamID steamIDPlayer, EPlayerResult_t EPlayerResult ) = 0; + + // ends the game. no further SubmitPlayerResults for ullUniqueGameID will be accepted + // any future requests will provide a new ullUniqueGameID + virtual EGameSearchErrorCode_t EndGame( uint64 ullUniqueGameID ) = 0; + +}; +#define STEAMGAMESEARCH_INTERFACE_VERSION "SteamMatchGameSearch001" + +// Global interface accessor +inline ISteamGameSearch *SteamGameSearch(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamGameSearch *, SteamGameSearch, STEAMGAMESEARCH_INTERFACE_VERSION ); + + +//----------------------------------------------------------------------------- +// Purpose: Functions for quickly creating a Party with friends or acquaintances, +// EG from chat rooms. +//----------------------------------------------------------------------------- +enum ESteamPartyBeaconLocationType +{ + k_ESteamPartyBeaconLocationType_Invalid = 0, + k_ESteamPartyBeaconLocationType_ChatGroup = 1, + + k_ESteamPartyBeaconLocationType_Max, +}; + + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +struct SteamPartyBeaconLocation_t +{ + ESteamPartyBeaconLocationType m_eType; + uint64 m_ulLocationID; +}; + +enum ESteamPartyBeaconLocationData +{ + k_ESteamPartyBeaconLocationDataInvalid = 0, + k_ESteamPartyBeaconLocationDataName = 1, + k_ESteamPartyBeaconLocationDataIconURLSmall = 2, + k_ESteamPartyBeaconLocationDataIconURLMedium = 3, + k_ESteamPartyBeaconLocationDataIconURLLarge = 4, +}; + +class ISteamParties +{ +public: + + // ============================================================================================= + // Party Client APIs + + // Enumerate any active beacons for parties you may wish to join + virtual uint32 GetNumActiveBeacons() = 0; + virtual PartyBeaconID_t GetBeaconByIndex( uint32 unIndex ) = 0; + virtual bool GetBeaconDetails( PartyBeaconID_t ulBeaconID, CSteamID *pSteamIDBeaconOwner, STEAM_OUT_STRUCT() SteamPartyBeaconLocation_t *pLocation, STEAM_OUT_STRING_COUNT(cchMetadata) char *pchMetadata, int cchMetadata ) = 0; + + // Join an open party. Steam will reserve one beacon slot for your SteamID, + // and return the necessary JoinGame string for you to use to connect + STEAM_CALL_RESULT( JoinPartyCallback_t ) + virtual SteamAPICall_t JoinParty( PartyBeaconID_t ulBeaconID ) = 0; + + // ============================================================================================= + // Party Host APIs + + // Get a list of possible beacon locations + virtual bool GetNumAvailableBeaconLocations( uint32 *puNumLocations ) = 0; + virtual bool GetAvailableBeaconLocations( SteamPartyBeaconLocation_t *pLocationList, uint32 uMaxNumLocations ) = 0; + + // Create a new party beacon and activate it in the selected location. + // unOpenSlots is the maximum number of users that Steam will send to you. + // When people begin responding to your beacon, Steam will send you + // PartyReservationCallback_t callbacks to let you know who is on the way. + STEAM_CALL_RESULT( CreateBeaconCallback_t ) + virtual SteamAPICall_t CreateBeacon( uint32 unOpenSlots, SteamPartyBeaconLocation_t *pBeaconLocation, const char *pchConnectString, const char *pchMetadata ) = 0; + + // Call this function when a user that had a reservation (see callback below) + // has successfully joined your party. + // Steam will manage the remaining open slots automatically. + virtual void OnReservationCompleted( PartyBeaconID_t ulBeacon, CSteamID steamIDUser ) = 0; + + // To cancel a reservation (due to timeout or user input), call this. + // Steam will open a new reservation slot. + // Note: The user may already be in-flight to your game, so it's possible they will still connect and try to join your party. + virtual void CancelReservation( PartyBeaconID_t ulBeacon, CSteamID steamIDUser ) = 0; + + // Change the number of open beacon reservation slots. + // Call this if, for example, someone without a reservation joins your party (eg a friend, or via your own matchmaking system). + STEAM_CALL_RESULT( ChangeNumOpenSlotsCallback_t ) + virtual SteamAPICall_t ChangeNumOpenSlots( PartyBeaconID_t ulBeacon, uint32 unOpenSlots ) = 0; + + // Turn off the beacon. + virtual bool DestroyBeacon( PartyBeaconID_t ulBeacon ) = 0; + + // Utils + virtual bool GetBeaconLocationData( SteamPartyBeaconLocation_t BeaconLocation, ESteamPartyBeaconLocationData eData, STEAM_OUT_STRING_COUNT(cchDataStringOut) char *pchDataStringOut, int cchDataStringOut ) = 0; + +}; +#define STEAMPARTIES_INTERFACE_VERSION "SteamParties002" + +// Global interface accessor +inline ISteamParties *SteamParties(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamParties *, SteamParties, STEAMPARTIES_INTERFACE_VERSION ); + + +//----------------------------------------------------------------------------- +// Callbacks for ISteamMatchmaking (which go through the regular Steam callback registration system) + +//----------------------------------------------------------------------------- +// Purpose: a server was added/removed from the favorites list, you should refresh now +//----------------------------------------------------------------------------- +struct FavoritesListChanged_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 2 }; + uint32 m_nIP; // an IP of 0 means reload the whole list, any other value means just one server + uint32 m_nQueryPort; + uint32 m_nConnPort; + uint32 m_nAppID; + uint32 m_nFlags; + bool m_bAdd; // true if this is adding the entry, otherwise it is a remove + AccountID_t m_unAccountId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Someone has invited you to join a Lobby +// normally you don't need to do anything with this, since +// the Steam UI will also display a ' has invited you to the lobby, join?' dialog +// +// if the user outside a game chooses to join, your game will be launched with the parameter "+connect_lobby <64-bit lobby id>", +// or with the callback GameLobbyJoinRequested_t if they're already in-game +//----------------------------------------------------------------------------- +struct LobbyInvite_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 3 }; + + uint64 m_ulSteamIDUser; // Steam ID of the person making the invite + uint64 m_ulSteamIDLobby; // Steam ID of the Lobby + uint64 m_ulGameID; // GameID of the Lobby +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent on entering a lobby, or on failing to enter +// m_EChatRoomEnterResponse will be set to k_EChatRoomEnterResponseSuccess on success, +// or a higher value on failure (see enum EChatRoomEnterResponse) +//----------------------------------------------------------------------------- +struct LobbyEnter_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 4 }; + + uint64 m_ulSteamIDLobby; // SteamID of the Lobby you have entered + uint32 m_rgfChatPermissions; // Permissions of the current user + bool m_bLocked; // If true, then only invited users may join + uint32 m_EChatRoomEnterResponse; // EChatRoomEnterResponse +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby metadata has changed +// if m_ulSteamIDMember is the steamID of a lobby member, use GetLobbyMemberData() to access per-user details +// if m_ulSteamIDMember == m_ulSteamIDLobby, use GetLobbyData() to access lobby metadata +//----------------------------------------------------------------------------- +struct LobbyDataUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 5 }; + + uint64 m_ulSteamIDLobby; // steamID of the Lobby + uint64 m_ulSteamIDMember; // steamID of the member whose data changed, or the room itself + uint8 m_bSuccess; // true if we lobby data was successfully changed; + // will only be false if RequestLobbyData() was called on a lobby that no longer exists +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby chat room state has changed +// this is usually sent when a user has joined or left the lobby +//----------------------------------------------------------------------------- +struct LobbyChatUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 6 }; + + uint64 m_ulSteamIDLobby; // Lobby ID + uint64 m_ulSteamIDUserChanged; // user who's status in the lobby just changed - can be recipient + uint64 m_ulSteamIDMakingChange; // Chat member who made the change (different from SteamIDUserChange if kicking, muting, etc.) + // for example, if one user kicks another from the lobby, this will be set to the id of the user who initiated the kick + uint32 m_rgfChatMemberStateChange; // bitfield of EChatMemberStateChange values +}; + + +//----------------------------------------------------------------------------- +// Purpose: A chat message for this lobby has been sent +// use GetLobbyChatEntry( m_iChatID ) to retrieve the contents of this message +//----------------------------------------------------------------------------- +struct LobbyChatMsg_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 7 }; + + uint64 m_ulSteamIDLobby; // the lobby id this is in + uint64 m_ulSteamIDUser; // steamID of the user who has sent this message + uint8 m_eChatEntryType; // type of message + uint32 m_iChatID; // index of the chat entry to lookup +}; + + +//----------------------------------------------------------------------------- +// Purpose: A game created a game for all the members of the lobby to join, +// as triggered by a SetLobbyGameServer() +// it's up to the individual clients to take action on this; the usual +// game behavior is to leave the lobby and connect to the specified game server +//----------------------------------------------------------------------------- +struct LobbyGameCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 9 }; + + uint64 m_ulSteamIDLobby; // the lobby we were in + uint64 m_ulSteamIDGameServer; // the new game server that has been created or found for the lobby members + uint32 m_unIP; // IP & Port of the game server (if any) + uint16 m_usPort; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Number of matching lobbies found +// iterate the returned lobbies with GetLobbyByIndex(), from values 0 to m_nLobbiesMatching-1 +//----------------------------------------------------------------------------- +struct LobbyMatchList_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 10 }; + uint32 m_nLobbiesMatching; // Number of lobbies that matched search criteria and we have SteamIDs for +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted if a user is forcefully removed from a lobby +// can occur if a user loses connection to Steam +//----------------------------------------------------------------------------- +struct LobbyKicked_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 12 }; + uint64 m_ulSteamIDLobby; // Lobby + uint64 m_ulSteamIDAdmin; // User who kicked you - possibly the ID of the lobby itself + uint8 m_bKickedDueToDisconnect; // true if you were kicked from the lobby due to the user losing connection to Steam (currently always true) +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct LobbyCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 13 }; + + EResult m_eResult; // k_EResultOK - the lobby was successfully created + // k_EResultNoConnection - your Steam client doesn't have a connection to the back-end + // k_EResultTimeout - you the message to the Steam servers, but it didn't respond + // k_EResultFail - the server responded, but with an unknown internal error + // k_EResultAccessDenied - your game isn't set to allow lobbies, or your client does haven't rights to play the game + // k_EResultLimitExceeded - your game client has created too many lobbies + + uint64 m_ulSteamIDLobby; // chat room, zero if failed +}; + +// used by now obsolete RequestFriendsLobbiesResponse_t +// enum { k_iCallback = k_iSteamMatchmakingCallbacks + 14 }; + + +//----------------------------------------------------------------------------- +// Purpose: Result of CheckForPSNGameBootInvite +// m_eResult == k_EResultOK on success +// at this point, the local user may not have finishing joining this lobby; +// game code should wait until the subsequent LobbyEnter_t callback is received +//----------------------------------------------------------------------------- +struct PSNGameBootInviteResult_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 15 }; + + bool m_bGameBootInviteExists; + CSteamID m_steamIDLobby; // Should be valid if m_bGameBootInviteExists == true +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct FavoritesListAccountsUpdated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 16 }; + + EResult m_eResult; +}; + + + +//----------------------------------------------------------------------------- +// Callbacks for ISteamGameSearch (which go through the regular Steam callback registration system) + +struct SearchForGameProgressCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 1 }; + + uint64 m_ullSearchID; // all future callbacks referencing this search will include this Search ID + + EResult m_eResult; // if search has started this result will be k_EResultOK, any other value indicates search has failed to start or has terminated + CSteamID m_lobbyID; // lobby ID if lobby search, invalid steamID otherwise + CSteamID m_steamIDEndedSearch; // if search was terminated, steamID that terminated search + + int32 m_nSecondsRemainingEstimate; + int32 m_cPlayersSearching; +}; + +// notification to all players searching that a game has been found +struct SearchForGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 2 }; + + uint64 m_ullSearchID; + + EResult m_eResult; // if game/host was lost this will be an error value + + // if m_bGameFound is true the following are non-zero + int32 m_nCountPlayersInGame; + int32 m_nCountAcceptedGame; + // if m_steamIDHost is valid the host has started the game + CSteamID m_steamIDHost; + bool m_bFinalCallback; +}; + + +//----------------------------------------------------------------------------- +// ISteamGameSearch : Game Host API callbacks + +// callback from RequestPlayersForGame when the matchmaking service has started or ended search +// callback will also follow a call from CancelRequestPlayersForGame - m_bSearchInProgress will be false +struct RequestPlayersForGameProgressCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 11 }; + + EResult m_eResult; // m_ullSearchID will be non-zero if this is k_EResultOK + uint64 m_ullSearchID; // all future callbacks referencing this search will include this Search ID +}; + +// callback from RequestPlayersForGame +// one of these will be sent per player +// followed by additional callbacks when players accept or decline the game +struct RequestPlayersForGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 12 }; + + EResult m_eResult; // m_ullSearchID will be non-zero if this is k_EResultOK + uint64 m_ullSearchID; + + CSteamID m_SteamIDPlayerFound; // player steamID + CSteamID m_SteamIDLobby; // if the player is in a lobby, the lobby ID + enum PlayerAcceptState_t + { + k_EStateUnknown = 0, + k_EStatePlayerAccepted = 1, + k_EStatePlayerDeclined = 2, + }; + PlayerAcceptState_t m_ePlayerAcceptState; + int32 m_nPlayerIndex; + int32 m_nTotalPlayersFound; // expect this many callbacks at minimum + int32 m_nTotalPlayersAcceptedGame; + int32 m_nSuggestedTeamIndex; + uint64 m_ullUniqueGameID; +}; + + +struct RequestPlayersForGameFinalResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 13 }; + + EResult m_eResult; + uint64 m_ullSearchID; + uint64 m_ullUniqueGameID; +}; + + + +// this callback confirms that results were received by the matchmaking service for this player +struct SubmitPlayerResultResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 14 }; + + EResult m_eResult; + uint64 ullUniqueGameID; + CSteamID steamIDPlayer; +}; + + +// this callback confirms that the game is recorded as complete on the matchmaking service +// the next call to RequestPlayersForGame will generate a new unique game ID +struct EndGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 15 }; + + EResult m_eResult; + uint64 ullUniqueGameID; +}; + + +// Steam has responded to the user request to join a party via the given Beacon ID. +// If successful, the connect string contains game-specific instructions to connect +// to the game with that party. +struct JoinPartyCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 1 }; + + EResult m_eResult; + PartyBeaconID_t m_ulBeaconID; + CSteamID m_SteamIDBeaconOwner; + char m_rgchConnectString[256]; +}; + +// Response to CreateBeacon request. If successful, the beacon ID is provided. +struct CreateBeaconCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 2 }; + + EResult m_eResult; + PartyBeaconID_t m_ulBeaconID; +}; + +// Someone has used the beacon to join your party - they are in-flight now +// and we've reserved one of the open slots for them. +// You should confirm when they join your party by calling OnReservationCompleted(). +// Otherwise, Steam may timeout their reservation eventually. +struct ReservationNotificationCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 3 }; + + PartyBeaconID_t m_ulBeaconID; + CSteamID m_steamIDJoiner; +}; + +// Response to ChangeNumOpenSlots call +struct ChangeNumOpenSlotsCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 4 }; + + EResult m_eResult; +}; + +// The list of possible Party beacon locations has changed +struct AvailableBeaconLocationsUpdated_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 5 }; +}; + +// The list of active beacons may have changed +struct ActiveBeaconsUpdated_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 6 }; +}; + + +#pragma pack( pop ) + + +#endif // ISTEAMMATCHMAKING diff --git a/Steam/isteammusic.h b/Steam/isteammusic.h new file mode 100644 index 0000000..ffa49a0 --- /dev/null +++ b/Steam/isteammusic.h @@ -0,0 +1,71 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSIC_H +#define ISTEAMMUSIC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +enum AudioPlayback_Status +{ + AudioPlayback_Undefined = 0, + AudioPlayback_Playing = 1, + AudioPlayback_Paused = 2, + AudioPlayback_Idle = 3 +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions to control music playback in the steam client +//----------------------------------------------------------------------------- +class ISteamMusic +{ +public: + virtual bool BIsEnabled() = 0; + virtual bool BIsPlaying() = 0; + + virtual AudioPlayback_Status GetPlaybackStatus() = 0; + + virtual void Play() = 0; + virtual void Pause() = 0; + virtual void PlayPrevious() = 0; + virtual void PlayNext() = 0; + + // volume is between 0.0 and 1.0 + virtual void SetVolume( float flVolume ) = 0; + virtual float GetVolume() = 0; + +}; + +#define STEAMMUSIC_INTERFACE_VERSION "STEAMMUSIC_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamMusic *SteamMusic(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMusic *, SteamMusic, STEAMMUSIC_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( PlaybackStatusHasChanged_t, k_iSteamMusicCallbacks + 1 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( VolumeHasChanged_t, k_iSteamMusicCallbacks + 2 ) + STEAM_CALLBACK_MEMBER( 0, float, m_flNewVolume ) +STEAM_CALLBACK_END(1) + +#pragma pack( pop ) + + +#endif // #define ISTEAMMUSIC_H diff --git a/Steam/isteammusicremote.h b/Steam/isteammusicremote.h new file mode 100644 index 0000000..a36f4f8 --- /dev/null +++ b/Steam/isteammusicremote.h @@ -0,0 +1,133 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSICREMOTE_H +#define ISTEAMMUSICREMOTE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteammusic.h" + +#define k_SteamMusicNameMaxLength 255 +#define k_SteamMusicPNGMaxLength 65535 + + +class ISteamMusicRemote +{ +public: + // Service Definition + virtual bool RegisterSteamMusicRemote( const char *pchName ) = 0; + virtual bool DeregisterSteamMusicRemote() = 0; + virtual bool BIsCurrentMusicRemote() = 0; + virtual bool BActivationSuccess( bool bValue ) = 0; + + virtual bool SetDisplayName( const char *pchDisplayName ) = 0; + virtual bool SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength ) = 0; + + // Abilities for the user interface + virtual bool EnablePlayPrevious(bool bValue) = 0; + virtual bool EnablePlayNext( bool bValue ) = 0; + virtual bool EnableShuffled( bool bValue ) = 0; + virtual bool EnableLooped( bool bValue ) = 0; + virtual bool EnableQueue( bool bValue ) = 0; + virtual bool EnablePlaylists( bool bValue ) = 0; + + // Status + virtual bool UpdatePlaybackStatus( AudioPlayback_Status nStatus ) = 0; + virtual bool UpdateShuffled( bool bValue ) = 0; + virtual bool UpdateLooped( bool bValue ) = 0; + virtual bool UpdateVolume( float flValue ) = 0; // volume is between 0.0 and 1.0 + + // Current Entry + virtual bool CurrentEntryWillChange() = 0; + virtual bool CurrentEntryIsAvailable( bool bAvailable ) = 0; + virtual bool UpdateCurrentEntryText( const char *pchText ) = 0; + virtual bool UpdateCurrentEntryElapsedSeconds( int nValue ) = 0; + virtual bool UpdateCurrentEntryCoverArt( void *pvBuffer, uint32 cbBufferLength ) = 0; + virtual bool CurrentEntryDidChange() = 0; + + // Queue + virtual bool QueueWillChange() = 0; + virtual bool ResetQueueEntries() = 0; + virtual bool SetQueueEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentQueueEntry( int nID ) = 0; + virtual bool QueueDidChange() = 0; + + // Playlist + virtual bool PlaylistWillChange() = 0; + virtual bool ResetPlaylistEntries() = 0; + virtual bool SetPlaylistEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentPlaylistEntry( int nID ) = 0; + virtual bool PlaylistDidChange() = 0; +}; + +#define STEAMMUSICREMOTE_INTERFACE_VERSION "STEAMMUSICREMOTE_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamMusicRemote *SteamMusicRemote(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMusicRemote *, SteamMusicRemote, STEAMMUSICREMOTE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteWillActivate_t, k_iSteamMusicRemoteCallbacks + 1) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteWillDeactivate_t, k_iSteamMusicRemoteCallbacks + 2 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteToFront_t, k_iSteamMusicRemoteCallbacks + 3 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWillQuit_t, k_iSteamMusicRemoteCallbacks + 4 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlay_t, k_iSteamMusicRemoteCallbacks + 5 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPause_t, k_iSteamMusicRemoteCallbacks + 6 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayPrevious_t, k_iSteamMusicRemoteCallbacks + 7 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayNext_t, k_iSteamMusicRemoteCallbacks + 8 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsShuffled_t, k_iSteamMusicRemoteCallbacks + 9 ) + STEAM_CALLBACK_MEMBER( 0, bool, m_bShuffled ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsLooped_t, k_iSteamMusicRemoteCallbacks + 10 ) + STEAM_CALLBACK_MEMBER(0, bool, m_bLooped ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsVolume_t, k_iSteamMusicCallbacks + 11 ) + STEAM_CALLBACK_MEMBER(0, float, m_flNewVolume) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerSelectsQueueEntry_t, k_iSteamMusicCallbacks + 12 ) + STEAM_CALLBACK_MEMBER(0, int, nID ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerSelectsPlaylistEntry_t, k_iSteamMusicCallbacks + 13 ) + STEAM_CALLBACK_MEMBER(0, int, nID ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayingRepeatStatus_t, k_iSteamMusicRemoteCallbacks + 14 ) + STEAM_CALLBACK_MEMBER(0, int, m_nPlayingRepeatStatus ) +STEAM_CALLBACK_END(1) + +#pragma pack( pop ) + + + +#endif // #define ISTEAMMUSICREMOTE_H diff --git a/Steam/isteamnetworking.h b/Steam/isteamnetworking.h new file mode 100644 index 0000000..b7e077a --- /dev/null +++ b/Steam/isteamnetworking.h @@ -0,0 +1,343 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing network connections between game clients & servers +// +//============================================================================= + +#ifndef ISTEAMNETWORKING +#define ISTEAMNETWORKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// list of possible errors returned by SendP2PPacket() API +// these will be posted in the P2PSessionConnectFail_t callback +enum EP2PSessionError +{ + k_EP2PSessionErrorNone = 0, + k_EP2PSessionErrorNoRightsToApp = 2, // local user doesn't own the app that is running + k_EP2PSessionErrorTimeout = 4, // target isn't responding, perhaps not calling AcceptP2PSessionWithUser() + // corporate firewalls can also block this (NAT traversal is not firewall traversal) + // make sure that UDP ports 3478, 4379, and 4380 are open in an outbound direction + + // The following error codes were removed and will never be sent. + // For privacy reasons, there is no reply if the user is offline or playing another game. + k_EP2PSessionErrorNotRunningApp_DELETED = 1, + k_EP2PSessionErrorDestinationNotLoggedIn_DELETED = 3, + + k_EP2PSessionErrorMax = 5 +}; + +// SendP2PPacket() send types +// Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets +enum EP2PSend +{ + // Basic UDP send. Packets can't be bigger than 1200 bytes (your typical MTU size). Can be lost, or arrive out of order (rare). + // The sending API does have some knowledge of the underlying connection, so if there is no NAT-traversal accomplished or + // there is a recognized adjustment happening on the connection, the packet will be batched until the connection is open again. + k_EP2PSendUnreliable = 0, + + // As above, but if the underlying p2p connection isn't yet established the packet will just be thrown away. Using this on the first + // packet sent to a remote host almost guarantees the packet will be dropped. + // This is only really useful for kinds of data that should never buffer up, i.e. voice payload packets + k_EP2PSendUnreliableNoDelay = 1, + + // Reliable message send. Can send up to 1MB of data in a single message. + // Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. + k_EP2PSendReliable = 2, + + // As above, but applies the Nagle algorithm to the send - sends will accumulate + // until the current MTU size (typically ~1200 bytes, but can change) or ~200ms has passed (Nagle algorithm). + // Useful if you want to send a set of smaller messages but have the coalesced into a single packet + // Since the reliable stream is all ordered, you can do several small message sends with k_EP2PSendReliableWithBuffering and then + // do a normal k_EP2PSendReliable to force all the buffered data to be sent. + k_EP2PSendReliableWithBuffering = 3, + +}; + + +// connection state to a specified user, returned by GetP2PSessionState() +// this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct P2PSessionState_t +{ + uint8 m_bConnectionActive; // true if we've got an active open connection + uint8 m_bConnecting; // true if we're currently trying to establish a connection + uint8 m_eP2PSessionError; // last error recorded (see enum above) + uint8 m_bUsingRelay; // true if it's going through a relay server (TURN) + int32 m_nBytesQueuedForSend; + int32 m_nPacketsQueuedForSend; + uint32 m_nRemoteIP; // potential IP:Port of remote host. Could be TURN server. + uint16 m_nRemotePort; // Only exists for compatibility with older authentication api's +}; +#pragma pack( pop ) + + +// handle to a socket +typedef uint32 SNetSocket_t; // CreateP2PConnectionSocket() +typedef uint32 SNetListenSocket_t; // CreateListenSocket() + +// connection progress indicators, used by CreateP2PConnectionSocket() +enum ESNetSocketState +{ + k_ESNetSocketStateInvalid = 0, + + // communication is valid + k_ESNetSocketStateConnected = 1, + + // states while establishing a connection + k_ESNetSocketStateInitiated = 10, // the connection state machine has started + + // p2p connections + k_ESNetSocketStateLocalCandidatesFound = 11, // we've found our local IP info + k_ESNetSocketStateReceivedRemoteCandidates = 12,// we've received information from the remote machine, via the Steam back-end, about their IP info + + // direct connections + k_ESNetSocketStateChallengeHandshake = 15, // we've received a challenge packet from the server + + // failure states + k_ESNetSocketStateDisconnecting = 21, // the API shut it down, and we're in the process of telling the other end + k_ESNetSocketStateLocalDisconnect = 22, // the API shut it down, and we've completed shutdown + k_ESNetSocketStateTimeoutDuringConnect = 23, // we timed out while trying to creating the connection + k_ESNetSocketStateRemoteEndDisconnected = 24, // the remote end has disconnected from us + k_ESNetSocketStateConnectionBroken = 25, // connection has been broken; either the other end has disappeared or our local network connection has broke + +}; + +// describes how the socket is currently connected +enum ESNetSocketConnectionType +{ + k_ESNetSocketConnectionTypeNotConnected = 0, + k_ESNetSocketConnectionTypeUDP = 1, + k_ESNetSocketConnectionTypeUDPRelay = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for making connections and sending data between clients, +// traversing NAT's where possible +// +// NOTE: This interface is deprecated and may be removed in a future release of +/// the Steamworks SDK. Please see ISteamNetworkingSockets and +/// ISteamNetworkingMessages +//----------------------------------------------------------------------------- +class ISteamNetworking +{ +public: + //////////////////////////////////////////////////////////////////////////////////////////// + // + // UDP-style (connectionless) networking interface. These functions send messages using + // an API organized around the destination. Reliable and unreliable messages are supported. + // + // For a more TCP-style interface (meaning you have a connection handle), see the functions below. + // Both interface styles can send both reliable and unreliable messages. + // + // Automatically establishes NAT-traversing or Relay server connections + // + // These APIs are deprecated, and may be removed in a future version of the Steamworks + // SDK. See ISteamNetworkingMessages. + + // Sends a P2P packet to the specified user + // UDP-like, unreliable and a max packet size of 1200 bytes + // the first packet send may be delayed as the NAT-traversal code runs + // if we can't get through to the user, an error will be posted via the callback P2PSessionConnectFail_t + // see EP2PSend enum above for the descriptions of the different ways of sending packets + // + // nChannel is a routing number you can use to help route message to different systems - you'll have to call ReadP2PPacket() + // with the same channel number in order to retrieve the data on the other end + // using different channels to talk to the same user will still use the same underlying p2p connection, saving on resources + virtual bool SendP2PPacket( CSteamID steamIDRemote, const void *pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel = 0 ) = 0; + + // returns true if any data is available for read, and the amount of data that will need to be read + virtual bool IsP2PPacketAvailable( uint32 *pcubMsgSize, int nChannel = 0 ) = 0; + + // reads in a packet that has been sent from another user via SendP2PPacket() + // returns the size of the message and the steamID of the user who sent it in the last two parameters + // if the buffer passed in is too small, the message will be truncated + // this call is not blocking, and will return false if no data is available + virtual bool ReadP2PPacket( void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, CSteamID *psteamIDRemote, int nChannel = 0 ) = 0; + + // AcceptP2PSessionWithUser() should only be called in response to a P2PSessionRequest_t callback + // P2PSessionRequest_t will be posted if another user tries to send you a packet that you haven't talked to yet + // if you don't want to talk to the user, just ignore the request + // if the user continues to send you packets, another P2PSessionRequest_t will be posted periodically + // this may be called multiple times for a single user + // (if you've called SendP2PPacket() on the other user, this implicitly accepts the session request) + virtual bool AcceptP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PSessionWithUser() when you're done talking to a user, will free up resources under-the-hood + // if the remote user tries to send data to you again, another P2PSessionRequest_t callback will be posted + virtual bool CloseP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PChannelWithUser() when you're done talking to a user on a specific channel. Once all channels + // open channels to a user have been closed, the open session to the user will be closed and new data from this + // user will trigger a P2PSessionRequest_t callback + virtual bool CloseP2PChannelWithUser( CSteamID steamIDRemote, int nChannel ) = 0; + + // fills out P2PSessionState_t structure with details about the underlying connection to the user + // should only needed for debugging purposes + // returns false if no connection exists to the specified user + virtual bool GetP2PSessionState( CSteamID steamIDRemote, P2PSessionState_t *pConnectionState ) = 0; + + // Allow P2P connections to fall back to being relayed through the Steam servers if a direct connection + // or NAT-traversal cannot be established. Only applies to connections created after setting this value, + // or to existing connections that need to automatically reconnect after this value is set. + // + // P2P packet relay is allowed by default + // + // NOTE: This function is deprecated and may be removed in a future version of the SDK. For + // security purposes, we may decide to relay the traffic to certain peers, even if you pass false + // to this function, to prevent revealing the client's IP address top another peer. + virtual bool AllowP2PPacketRelay( bool bAllow ) = 0; + + + //////////////////////////////////////////////////////////////////////////////////////////// + // + // LISTEN / CONNECT connection-oriented interface functions + // + // These functions are more like a client-server TCP API. One side is the "server" + // and "listens" for incoming connections, which then must be "accepted." The "client" + // initiates a connection by "connecting." Sending and receiving is done through a + // connection handle. + // + // For a more UDP-style interface, where you do not track connection handles but + // simply send messages to a SteamID, use the UDP-style functions above. + // + // Both methods can send both reliable and unreliable methods. + // + // These APIs are deprecated, and may be removed in a future version of the Steamworks + // SDK. See ISteamNetworkingSockets. + // + //////////////////////////////////////////////////////////////////////////////////////////// + + + // creates a socket and listens others to connect + // will trigger a SocketStatusCallback_t callback on another client connecting + // nVirtualP2PPort is the unique ID that the client will connect to, in case you have multiple ports + // this can usually just be 0 unless you want multiple sets of connections + // unIP is the local IP address to bind to + // pass in 0 if you just want the default local IP + // unPort is the port to use + // pass in 0 if you don't want users to be able to connect via IP/Port, but expect to be always peer-to-peer connections only + virtual SNetListenSocket_t CreateListenSocket( int nVirtualP2PPort, SteamIPAddress_t nIP, uint16 nPort, bool bAllowUseOfPacketRelay ) = 0; + + // creates a socket and begin connection to a remote destination + // can connect via a known steamID (client or game server), or directly to an IP + // on success will trigger a SocketStatusCallback_t callback + // on failure or timeout will trigger a SocketStatusCallback_t callback with a failure code in m_eSNetSocketState + virtual SNetSocket_t CreateP2PConnectionSocket( CSteamID steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay ) = 0; + virtual SNetSocket_t CreateConnectionSocket( SteamIPAddress_t nIP, uint16 nPort, int nTimeoutSec ) = 0; + + // disconnects the connection to the socket, if any, and invalidates the handle + // any unread data on the socket will be thrown away + // if bNotifyRemoteEnd is set, socket will not be completely destroyed until the remote end acknowledges the disconnect + virtual bool DestroySocket( SNetSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + // destroying a listen socket will automatically kill all the regular sockets generated from it + virtual bool DestroyListenSocket( SNetListenSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + + // sending data + // must be a handle to a connected socket + // data is all sent via UDP, and thus send sizes are limited to 1200 bytes; after this, many routers will start dropping packets + // use the reliable flag with caution; although the resend rate is pretty aggressive, + // it can still cause stalls in receiving data (like TCP) + virtual bool SendDataOnSocket( SNetSocket_t hSocket, void *pubData, uint32 cubData, bool bReliable ) = 0; + + // receiving data + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + virtual bool IsDataAvailableOnSocket( SNetSocket_t hSocket, uint32 *pcubMsgSize ) = 0; + + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + virtual bool RetrieveDataFromSocket( SNetSocket_t hSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + + // checks for data from any socket that has been connected off this listen socket + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + // fills out *phSocket with the socket that data is available on + virtual bool IsDataAvailable( SNetListenSocket_t hListenSocket, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // retrieves data from any socket that has been connected off this listen socket + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + // fills out *phSocket with the socket that data is available on + virtual bool RetrieveData( SNetListenSocket_t hListenSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // returns information about the specified socket, filling out the contents of the pointers + virtual bool GetSocketInfo( SNetSocket_t hSocket, CSteamID *pSteamIDRemote, int *peSocketStatus, SteamIPAddress_t *punIPRemote, uint16 *punPortRemote ) = 0; + + // returns which local port the listen socket is bound to + // *pnIP and *pnPort will be 0 if the socket is set to listen for P2P connections only + virtual bool GetListenSocketInfo( SNetListenSocket_t hListenSocket, SteamIPAddress_t *pnIP, uint16 *pnPort ) = 0; + + // returns true to describe how the socket ended up connecting + virtual ESNetSocketConnectionType GetSocketConnectionType( SNetSocket_t hSocket ) = 0; + + // max packet size, in bytes + virtual int GetMaxPacketSize( SNetSocket_t hSocket ) = 0; +}; +#define STEAMNETWORKING_INTERFACE_VERSION "SteamNetworking006" + +// Global interface accessor +inline ISteamNetworking *SteamNetworking(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworking *, SteamNetworking, STEAMNETWORKING_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamNetworking *SteamGameServerNetworking(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworking *, SteamGameServerNetworking, STEAMNETWORKING_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +// callback notification - a user wants to talk to us over the P2P channel via the SendP2PPacket() API +// in response, a call to AcceptP2PPacketsFromUser() needs to be made, if you want to talk with them +struct P2PSessionRequest_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 2 }; + CSteamID m_steamIDRemote; // user who wants to talk to us +}; + + +// callback notification - packets can't get through to the specified user via the SendP2PPacket() API +// all packets queued packets unsent at this point will be dropped +// further attempts to send will retry making the connection (but will be dropped if we fail again) +struct P2PSessionConnectFail_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 3 }; + CSteamID m_steamIDRemote; // user we were sending packets to + uint8 m_eP2PSessionError; // EP2PSessionError indicating why we're having trouble +}; + + +// callback notification - status of a socket has changed +// used as part of the CreateListenSocket() / CreateP2PConnectionSocket() +struct SocketStatusCallback_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 1 }; + SNetSocket_t m_hSocket; // the socket used to send/receive data to the remote host + SNetListenSocket_t m_hListenSocket; // this is the server socket that we were listening on; NULL if this was an outgoing connection + CSteamID m_steamIDRemote; // remote steamID we have connected to, if it has one + int m_eSNetSocketState; // socket state, ESNetSocketState +}; + +#pragma pack( pop ) + +#endif // ISTEAMNETWORKING diff --git a/Steam/isteamnetworkingmessages.h b/Steam/isteamnetworkingmessages.h new file mode 100644 index 0000000..b7a2cd0 --- /dev/null +++ b/Steam/isteamnetworkingmessages.h @@ -0,0 +1,198 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef ISTEAMNETWORKINGMESSAGES +#define ISTEAMNETWORKINGMESSAGES +#pragma once + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +/// The non-connection-oriented interface to send and receive messages +/// (whether they be "clients" or "servers"). +/// +/// ISteamNetworkingSockets is connection-oriented (like TCP), meaning you +/// need to listen and connect, and then you send messages using a connection +/// handle. ISteamNetworkingMessages is more like UDP, in that you can just send +/// messages to arbitrary peers at any time. The underlying connections are +/// established implicitly. +/// +/// Under the hood ISteamNetworkingMessages works on top of the ISteamNetworkingSockets +/// code, so you get the same routing and messaging efficiency. The difference is +/// mainly in your responsibility to explicitly establish a connection and +/// the type of feedback you get about the state of the connection. Both +/// interfaces can do "P2P" communications, and both support both unreliable +/// and reliable messages, fragmentation and reassembly. +/// +/// The primary purpose of this interface is to be "like UDP", so that UDP-based code +/// can be ported easily to take advantage of relayed connections. If you find +/// yourself needing more low level information or control, or to be able to better +/// handle failure, then you probably need to use ISteamNetworkingSockets directly. +/// Also, note that if your main goal is to obtain a connection between two peers +/// without concerning yourself with assigning roles of "client" and "server", +/// you may find the symmetric connection mode of ISteamNetworkingSockets useful. +/// (See k_ESteamNetworkingConfig_SymmetricConnect.) +/// +class ISteamNetworkingMessages +{ +public: + /// Sends a message to the specified host. If we don't already have a session with that user, + /// a session is implicitly created. There might be some handshaking that needs to happen + /// before we can actually begin sending message data. If this handshaking fails and we can't + /// get through, an error will be posted via the callback SteamNetworkingMessagesSessionFailed_t. + /// There is no notification when the operation succeeds. (You should have the peer send a reply + /// for this purpose.) + /// + /// Sending a message to a host will also implicitly accept any incoming connection from that host. + /// + /// nSendFlags is a bitmask of k_nSteamNetworkingSend_xxx options + /// + /// nRemoteChannel is a routing number you can use to help route message to different systems. + /// You'll have to call ReceiveMessagesOnChannel() with the same channel number in order to retrieve + /// the data on the other end. + /// + /// Using different channels to talk to the same user will still use the same underlying + /// connection, saving on resources. If you don't need this feature, use 0. + /// Otherwise, small integers are the most efficient. + /// + /// It is guaranteed that reliable messages to the same host on the same channel + /// will be be received by the remote host (if they are received at all) exactly once, + /// and in the same order that they were sent. + /// + /// NO other order guarantees exist! In particular, unreliable messages may be dropped, + /// received out of order with respect to each other and with respect to reliable data, + /// or may be received multiple times. Messages on different channels are *not* guaranteed + /// to be received in the order they were sent. + /// + /// A note for those familiar with TCP/IP ports, or converting an existing codebase that + /// opened multiple sockets: You might notice that there is only one channel, and with + /// TCP/IP each endpoint has a port number. You can think of the channel number as the + /// *destination* port. If you need each message to also include a "source port" (so the + /// recipient can route the reply), then just put that in your message. That is essentially + /// how UDP works! + /// + /// Returns: + /// - k_EREsultOK on success. + /// - k_EResultNoConnection, if the session has failed or was closed by the peer and + /// k_nSteamNetworkingSend_AutoRestartBrokenSession was not specified. (You can + /// use GetSessionConnectionInfo to get the details.) In order to acknowledge the + /// broken session and start a new one, you must call CloseSessionWithUser, or you may + /// repeat the call with k_nSteamNetworkingSend_AutoRestartBrokenSession. See + /// k_nSteamNetworkingSend_AutoRestartBrokenSession for more details. + /// - See ISteamNetworkingSockets::SendMessageToConnection for more possible return values + virtual EResult SendMessageToUser( const SteamNetworkingIdentity &identityRemote, const void *pubData, uint32 cubData, int nSendFlags, int nRemoteChannel ) = 0; + + /// Reads the next message that has been sent from another user via SendMessageToUser() on the given channel. + /// Returns number of messages returned into your list. (0 if no message are available on that channel.) + /// + /// When you're done with the message object(s), make sure and call SteamNetworkingMessage_t::Release()! + virtual int ReceiveMessagesOnChannel( int nLocalChannel, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Call this in response to a SteamNetworkingMessagesSessionRequest_t callback. + /// SteamNetworkingMessagesSessionRequest_t are posted when a user tries to send you a message, + /// and you haven't tried to talk to them first. If you don't want to talk to them, just ignore + /// the request. If the user continues to send you messages, SteamNetworkingMessagesSessionRequest_t + /// callbacks will continue to be posted periodically. + /// + /// Returns false if there is no session with the user pending or otherwise. If there is an + /// existing active session, this function will return true, even if it is not pending. + /// + /// Calling SendMessageToUser() will implicitly accepts any pending session request to that user. + virtual bool AcceptSessionWithUser( const SteamNetworkingIdentity &identityRemote ) = 0; + + /// Call this when you're done talking to a user to immediately free up resources under-the-hood. + /// If the remote user tries to send data to you again, another SteamNetworkingMessagesSessionRequest_t + /// callback will be posted. + /// + /// Note that sessions that go unused for a few minutes are automatically timed out. + virtual bool CloseSessionWithUser( const SteamNetworkingIdentity &identityRemote ) = 0; + + /// Call this when you're done talking to a user on a specific channel. Once all + /// open channels to a user have been closed, the open session to the user will be + /// closed, and any new data from this user will trigger a + /// SteamSteamNetworkingMessagesSessionRequest_t callback + virtual bool CloseChannelWithUser( const SteamNetworkingIdentity &identityRemote, int nLocalChannel ) = 0; + + /// Returns information about the latest state of a connection, if any, with the given peer. + /// Primarily intended for debugging purposes, but can also be used to get more detailed + /// failure information. (See SendMessageToUser and k_nSteamNetworkingSend_AutoRestartBrokenSession.) + /// + /// Returns the value of SteamNetConnectionInfo_t::m_eState, or k_ESteamNetworkingConnectionState_None + /// if no connection exists with specified peer. You may pass nullptr for either parameter if + /// you do not need the corresponding details. Note that sessions time out after a while, + /// so if a connection fails, or SendMessageToUser returns k_EResultNoConnection, you cannot wait + /// indefinitely to obtain the reason for failure. + virtual ESteamNetworkingConnectionState GetSessionConnectionInfo( const SteamNetworkingIdentity &identityRemote, SteamNetConnectionInfo_t *pConnectionInfo, SteamNetConnectionRealTimeStatus_t *pQuickStatus ) = 0; +}; +#define STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "SteamNetworkingMessages002" + +// +// Callbacks +// + +#pragma pack( push, 1 ) + +/// Posted when a remote host is sending us a message, and we do not already have a session with them +struct SteamNetworkingMessagesSessionRequest_t +{ + enum { k_iCallback = k_iSteamNetworkingMessagesCallbacks + 1 }; + SteamNetworkingIdentity m_identityRemote; // user who wants to talk to us +}; + +/// Posted when we fail to establish a connection, or we detect that communications +/// have been disrupted it an unusual way. There is no notification when a peer proactively +/// closes the session. ("Closed by peer" is not a concept of UDP-style communications, and +/// SteamNetworkingMessages is primarily intended to make porting UDP code easy.) +/// +/// Remember: callbacks are asynchronous. See notes on SendMessageToUser, +/// and k_nSteamNetworkingSend_AutoRestartBrokenSession in particular. +/// +/// Also, if a session times out due to inactivity, no callbacks will be posted. The only +/// way to detect that this is happening is that querying the session state may return +/// none, connecting, and findingroute again. +struct SteamNetworkingMessagesSessionFailed_t +{ + enum { k_iCallback = k_iSteamNetworkingMessagesCallbacks + 2 }; + + /// Detailed info about the session that failed. + /// SteamNetConnectionInfo_t::m_identityRemote indicates who this session + /// was with. + SteamNetConnectionInfo_t m_info; +}; + +#pragma pack(pop) + +// Global accessors + +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + static_assert( STEAMNETWORKINGMESSAGES_INTERFACE_VERSION[25] == '2', "Version mismatch" ); + + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamNetworkingMessages_LibV2(); + inline ISteamNetworkingMessages *SteamNetworkingMessages_Lib() { return SteamNetworkingMessages_LibV2(); } + + // If running in context of steam, we also define a gameserver instance. + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamGameServerNetworkingMessages_LibV2(); + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages_Lib() { return SteamGameServerNetworkingMessages_LibV2(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingMessages *SteamNetworkingMessages() { return SteamNetworkingMessages_LibV2(); } + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_LibV2(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + + // Steamworks SDK + STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingMessages *, SteamNetworkingMessages_SteamAPI, STEAMNETWORKINGMESSAGES_INTERFACE_VERSION ); + STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingMessages *, SteamGameServerNetworkingMessages_SteamAPI, STEAMNETWORKINGMESSAGES_INTERFACE_VERSION ); + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingMessages *SteamNetworkingMessages() { return SteamNetworkingMessages_SteamAPI(); } + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_SteamAPI(); } + #endif +#endif + +#endif // ISTEAMNETWORKINGMESSAGES diff --git a/Steam/isteamnetworkingsockets.h b/Steam/isteamnetworkingsockets.h new file mode 100644 index 0000000..427727a --- /dev/null +++ b/Steam/isteamnetworkingsockets.h @@ -0,0 +1,1030 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef ISTEAMNETWORKINGSOCKETS +#define ISTEAMNETWORKINGSOCKETS +#pragma once + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +struct SteamNetAuthenticationStatus_t; +struct SteamNetworkingFakeIPResult_t; +class ISteamNetworkingConnectionSignaling; +class ISteamNetworkingSignalingRecvContext; +class ISteamNetworkingFakeUDPPort; + +//----------------------------------------------------------------------------- +/// Lower level networking API. +/// +/// - Connection-oriented API (like TCP, not UDP). When sending and receiving +/// messages, a connection handle is used. (For a UDP-style interface, where +/// the peer is identified by their address with each send/recv call, see +/// ISteamNetworkingMessages.) The typical pattern is for a "server" to "listen" +/// on a "listen socket." A "client" will "connect" to the server, and the +/// server will "accept" the connection. If you have a symmetric situation +/// where either peer may initiate the connection and server/client roles are +/// not clearly defined, check out k_ESteamNetworkingConfig_SymmetricConnect. +/// - But unlike TCP, it's message-oriented, not stream-oriented. +/// - Mix of reliable and unreliable messages +/// - Fragmentation and reassembly +/// - Supports connectivity over plain UDP +/// - Also supports SDR ("Steam Datagram Relay") connections, which are +/// addressed by the identity of the peer. There is a "P2P" use case and +/// a "hosted dedicated server" use case. +/// +/// Note that neither of the terms "connection" nor "socket" necessarily correspond +/// one-to-one with an underlying UDP socket. An attempt has been made to +/// keep the semantics as similar to the standard socket model when appropriate, +/// but some deviations do exist. +/// +/// See also: ISteamNetworkingMessages, the UDP-style interface. This API might be +/// easier to use, especially when porting existing UDP code. +class ISteamNetworkingSockets +{ +public: + + /// Creates a "server" socket that listens for clients to connect to by + /// calling ConnectByIPAddress, over ordinary UDP (IPv4 or IPv6) + /// + /// You must select a specific local port to listen on and set it + /// the port field of the local address. + /// + /// Usually you will set the IP portion of the address to zero (SteamNetworkingIPAddr::Clear()). + /// This means that you will not bind to any particular local interface (i.e. the same + /// as INADDR_ANY in plain socket code). Furthermore, if possible the socket will be bound + /// in "dual stack" mode, which means that it can accept both IPv4 and IPv6 client connections. + /// If you really do wish to bind a particular interface, then set the local address to the + /// appropriate IPv4 or IPv6 IP. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + /// + /// When a client attempts to connect, a SteamNetConnectionStatusChangedCallback_t + /// will be posted. The connection will be in the connecting state. + virtual HSteamListenSocket CreateListenSocketIP( const SteamNetworkingIPAddr &localAddress, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Creates a connection and begins talking to a "server" over UDP at the + /// given IPv4 or IPv6 address. The remote host must be listening with a + /// matching call to CreateListenSocketIP on the specified port. + /// + /// A SteamNetConnectionStatusChangedCallback_t callback will be triggered when we start + /// connecting, and then another one on either timeout or successful connection. + /// + /// If the server does not have any identity configured, then their network address + /// will be the only identity in use. Or, the network host may provide a platform-specific + /// identity with or without a valid certificate to authenticate that identity. (These + /// details will be contained in the SteamNetConnectionStatusChangedCallback_t.) It's + /// up to your application to decide whether to allow the connection. + /// + /// By default, all connections will get basic encryption sufficient to prevent + /// casual eavesdropping. But note that without certificates (or a shared secret + /// distributed through some other out-of-band mechanism), you don't have any + /// way of knowing who is actually on the other end, and thus are vulnerable to + /// man-in-the-middle attacks. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectByIPAddress( const SteamNetworkingIPAddr &address, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Like CreateListenSocketIP, but clients will connect using ConnectP2P. + /// + /// nLocalVirtualPort specifies how clients can connect to this socket using + /// ConnectP2P. It's very common for applications to only have one listening socket; + /// in that case, use zero. If you need to open multiple listen sockets and have clients + /// be able to connect to one or the other, then nLocalVirtualPort should be a small + /// integer (<1000) unique to each listen socket you create. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes. + /// + /// If you are listening on a dedicated servers in known data center, + /// then you can listen using this function instead of CreateHostedDedicatedServerListenSocket, + /// to allow clients to connect without a ticket. Any user that owns + /// the app and is signed into Steam will be able to attempt to connect to + /// your server. Also, a connection attempt may require the client to + /// be connected to Steam, which is one more moving part that may fail. When + /// tickets are used, then once a ticket is obtained, a client can connect to + /// your server even if they got disconnected from Steam or Steam is offline. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamListenSocket CreateListenSocketP2P( int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Begin connecting to a peer that is identified using a platform-specific identifier. + /// This uses the default rendezvous service, which depends on the platform and library + /// configuration. (E.g. on Steam, it goes through the steam backend.) + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + /// + /// To use your own signaling service, see: + /// - ConnectP2PCustomSignaling + /// - k_ESteamNetworkingConfig_Callback_CreateConnectionSignaling + virtual HSteamNetConnection ConnectP2P( const SteamNetworkingIdentity &identityRemote, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Accept an incoming connection that has been received on a listen socket. + /// + /// When a connection attempt is received (perhaps after a few basic handshake + /// packets have been exchanged to prevent trivial spoofing), a connection interface + /// object is created in the k_ESteamNetworkingConnectionState_Connecting state + /// and a SteamNetConnectionStatusChangedCallback_t is posted. At this point, your + /// application MUST either accept or close the connection. (It may not ignore it.) + /// Accepting the connection will transition it either into the connected state, + /// or the finding route state, depending on the connection type. + /// + /// You should take action within a second or two, because accepting the connection is + /// what actually sends the reply notifying the client that they are connected. If you + /// delay taking action, from the client's perspective it is the same as the network + /// being unresponsive, and the client may timeout the connection attempt. In other + /// words, the client cannot distinguish between a delay caused by network problems + /// and a delay caused by the application. + /// + /// This means that if your application goes for more than a few seconds without + /// processing callbacks (for example, while loading a map), then there is a chance + /// that a client may attempt to connect in that interval and fail due to timeout. + /// + /// If the application does not respond to the connection attempt in a timely manner, + /// and we stop receiving communication from the client, the connection attempt will + /// be timed out locally, transitioning the connection to the + /// k_ESteamNetworkingConnectionState_ProblemDetectedLocally state. The client may also + /// close the connection before it is accepted, and a transition to the + /// k_ESteamNetworkingConnectionState_ClosedByPeer is also possible depending the exact + /// sequence of events. + /// + /// Returns k_EResultInvalidParam if the handle is invalid. + /// Returns k_EResultInvalidState if the connection is not in the appropriate state. + /// (Remember that the connection state could change in between the time that the + /// notification being posted to the queue and when it is received by the application.) + /// + /// A note about connection configuration options. If you need to set any configuration + /// options that are common to all connections accepted through a particular listen + /// socket, consider setting the options on the listen socket, since such options are + /// inherited automatically. If you really do need to set options that are connection + /// specific, it is safe to set them on the connection before accepting the connection. + virtual EResult AcceptConnection( HSteamNetConnection hConn ) = 0; + + /// Disconnects from the remote host and invalidates the connection handle. + /// Any unread data on the connection is discarded. + /// + /// nReason is an application defined code that will be received on the other + /// end and recorded (when possible) in backend analytics. The value should + /// come from a restricted range. (See ESteamNetConnectionEnd.) If you don't need + /// to communicate any information to the remote host, and do not want analytics to + /// be able to distinguish "normal" connection terminations from "exceptional" ones, + /// You may pass zero, in which case the generic value of + /// k_ESteamNetConnectionEnd_App_Generic will be used. + /// + /// pszDebug is an optional human-readable diagnostic string that will be received + /// by the remote host and recorded (when possible) in backend analytics. + /// + /// If you wish to put the socket into a "linger" state, where an attempt is made to + /// flush any remaining sent data, use bEnableLinger=true. Otherwise reliable data + /// is not flushed. + /// + /// If the connection has already ended and you are just freeing up the + /// connection interface, the reason code, debug string, and linger flag are + /// ignored. + virtual bool CloseConnection( HSteamNetConnection hPeer, int nReason, const char *pszDebug, bool bEnableLinger ) = 0; + + /// Destroy a listen socket. All the connections that were accepting on the listen + /// socket are closed ungracefully. + virtual bool CloseListenSocket( HSteamListenSocket hSocket ) = 0; + + /// Set connection user data. the data is returned in the following places + /// - You can query it using GetConnectionUserData. + /// - The SteamNetworkingmessage_t structure. + /// - The SteamNetConnectionInfo_t structure. + /// (Which is a member of SteamNetConnectionStatusChangedCallback_t -- but see WARNINGS below!!!!) + /// + /// Do you need to set this atomically when the connection is created? + /// See k_ESteamNetworkingConfig_ConnectionUserData. + /// + /// WARNING: Be *very careful* when using the value provided in callbacks structs. + /// Callbacks are queued, and the value that you will receive in your + /// callback is the userdata that was effective at the time the callback + /// was queued. There are subtle race conditions that can happen if you + /// don't understand this! + /// + /// If any incoming messages for this connection are queued, the userdata + /// field is updated, so that when when you receive messages (e.g. with + /// ReceiveMessagesOnConnection), they will always have the very latest + /// userdata. So the tricky race conditions that can happen with callbacks + /// do not apply to retrieving messages. + /// + /// Returns false if the handle is invalid. + virtual bool SetConnectionUserData( HSteamNetConnection hPeer, int64 nUserData ) = 0; + + /// Fetch connection user data. Returns -1 if handle is invalid + /// or if you haven't set any userdata on the connection. + virtual int64 GetConnectionUserData( HSteamNetConnection hPeer ) = 0; + + /// Set a name for the connection, used mostly for debugging + virtual void SetConnectionName( HSteamNetConnection hPeer, const char *pszName ) = 0; + + /// Fetch connection name. Returns false if handle is invalid + virtual bool GetConnectionName( HSteamNetConnection hPeer, char *pszName, int nMaxLen ) = 0; + + /// Send a message to the remote host on the specified connection. + /// + /// nSendFlags determines the delivery guarantees that will be provided, + /// when data should be buffered, etc. E.g. k_nSteamNetworkingSend_Unreliable + /// + /// Note that the semantics we use for messages are not precisely + /// the same as the semantics of a standard "stream" socket. + /// (SOCK_STREAM) For an ordinary stream socket, the boundaries + /// between chunks are not considered relevant, and the sizes of + /// the chunks of data written will not necessarily match up to + /// the sizes of the chunks that are returned by the reads on + /// the other end. The remote host might read a partial chunk, + /// or chunks might be coalesced. For the message semantics + /// used here, however, the sizes WILL match. Each send call + /// will match a successful read call on the remote host + /// one-for-one. If you are porting existing stream-oriented + /// code to the semantics of reliable messages, your code should + /// work the same, since reliable message semantics are more + /// strict than stream semantics. The only caveat is related to + /// performance: there is per-message overhead to retain the + /// message sizes, and so if your code sends many small chunks + /// of data, performance will suffer. Any code based on stream + /// sockets that does not write excessively small chunks will + /// work without any changes. + /// + /// The pOutMessageNumber is an optional pointer to receive the + /// message number assigned to the message, if sending was successful. + /// + /// Returns: + /// - k_EResultInvalidParam: invalid connection handle, or the individual message is too big. + /// (See k_cbMaxSteamNetworkingSocketsMessageSizeSend) + /// - k_EResultInvalidState: connection is in an invalid state + /// - k_EResultNoConnection: connection has ended + /// - k_EResultIgnored: You used k_nSteamNetworkingSend_NoDelay, and the message was dropped because + /// we were not ready to send it. + /// - k_EResultLimitExceeded: there was already too much data queued to be sent. + /// (See k_ESteamNetworkingConfig_SendBufferSize) + virtual EResult SendMessageToConnection( HSteamNetConnection hConn, const void *pData, uint32 cbData, int nSendFlags, int64 *pOutMessageNumber ) = 0; + + /// Send one or more messages without copying the message payload. + /// This is the most efficient way to send messages. To use this + /// function, you must first allocate a message object using + /// ISteamNetworkingUtils::AllocateMessage. (Do not declare one + /// on the stack or allocate your own.) + /// + /// You should fill in the message payload. You can either let + /// it allocate the buffer for you and then fill in the payload, + /// or if you already have a buffer allocated, you can just point + /// m_pData at your buffer and set the callback to the appropriate function + /// to free it. Note that if you use your own buffer, it MUST remain valid + /// until the callback is executed. And also note that your callback can be + /// invoked at any time from any thread (perhaps even before SendMessages + /// returns!), so it MUST be fast and threadsafe. + /// + /// You MUST also fill in: + /// - m_conn - the handle of the connection to send the message to + /// - m_nFlags - bitmask of k_nSteamNetworkingSend_xxx flags. + /// + /// All other fields are currently reserved and should not be modified. + /// + /// The library will take ownership of the message structures. They may + /// be modified or become invalid at any time, so you must not read them + /// after passing them to this function. + /// + /// pOutMessageNumberOrResult is an optional array that will receive, + /// for each message, the message number that was assigned to the message + /// if sending was successful. If sending failed, then a negative EResult + /// value is placed into the array. For example, the array will hold + /// -k_EResultInvalidState if the connection was in an invalid state. + /// See ISteamNetworkingSockets::SendMessageToConnection for possible + /// failure codes. + virtual void SendMessages( int nMessages, SteamNetworkingMessage_t *const *pMessages, int64 *pOutMessageNumberOrResult ) = 0; + + /// Flush any messages waiting on the Nagle timer and send them + /// at the next transmission opportunity (often that means right now). + /// + /// If Nagle is enabled (it's on by default) then when calling + /// SendMessageToConnection the message will be buffered, up to the Nagle time + /// before being sent, to merge small messages into the same packet. + /// (See k_ESteamNetworkingConfig_NagleTime) + /// + /// Returns: + /// k_EResultInvalidParam: invalid connection handle + /// k_EResultInvalidState: connection is in an invalid state + /// k_EResultNoConnection: connection has ended + /// k_EResultIgnored: We weren't (yet) connected, so this operation has no effect. + virtual EResult FlushMessagesOnConnection( HSteamNetConnection hConn ) = 0; + + /// Fetch the next available message(s) from the connection, if any. + /// Returns the number of messages returned into your array, up to nMaxMessages. + /// If the connection handle is invalid, -1 is returned. + /// + /// The order of the messages returned in the array is relevant. + /// Reliable messages will be received in the order they were sent (and with the + /// same sizes --- see SendMessageToConnection for on this subtle difference from a stream socket). + /// + /// Unreliable messages may be dropped, or delivered out of order with respect to + /// each other or with respect to reliable messages. The same unreliable message + /// may be received multiple times. + /// + /// If any messages are returned, you MUST call SteamNetworkingMessage_t::Release() on each + /// of them free up resources after you are done. It is safe to keep the object alive for + /// a little while (put it into some queue, etc), and you may call Release() from any thread. + virtual int ReceiveMessagesOnConnection( HSteamNetConnection hConn, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Returns basic information about the high-level state of the connection. + virtual bool GetConnectionInfo( HSteamNetConnection hConn, SteamNetConnectionInfo_t *pInfo ) = 0; + + /// Returns a small set of information about the real-time state of the connection + /// and the queue status of each lane. + /// + /// - pStatus may be NULL if the information is not desired. (E.g. you are only interested + /// in the lane information.) + /// - On entry, nLanes specifies the length of the pLanes array. This may be 0 + /// if you do not wish to receive any lane data. It's OK for this to be smaller than + /// the total number of configured lanes. + /// - pLanes points to an array that will receive lane-specific info. It can be NULL + /// if this is not needed. + /// + /// Return value: + /// - k_EResultNoConnection - connection handle is invalid or connection has been closed. + /// - k_EResultInvalidParam - nLanes is bad + virtual EResult GetConnectionRealTimeStatus( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus, + int nLanes, SteamNetConnectionRealTimeLaneStatus_t *pLanes ) = 0; + + /// Returns detailed connection stats in text format. Useful + /// for dumping to a log, etc. + /// + /// Returns: + /// -1 failure (bad connection handle) + /// 0 OK, your buffer was filled in and '\0'-terminated + /// >0 Your buffer was either nullptr, or it was too small and the text got truncated. + /// Try again with a buffer of at least N bytes. + virtual int GetDetailedConnectionStatus( HSteamNetConnection hConn, char *pszBuf, int cbBuf ) = 0; + + /// Returns local IP and port that a listen socket created using CreateListenSocketIP is bound to. + /// + /// An IPv6 address of ::0 means "any IPv4 or IPv6" + /// An IPv6 address of ::ffff:0000:0000 means "any IPv4" + virtual bool GetListenSocketAddress( HSteamListenSocket hSocket, SteamNetworkingIPAddr *address ) = 0; + + /// Create a pair of connections that are talking to each other, e.g. a loopback connection. + /// This is very useful for testing, or so that your client/server code can work the same + /// even when you are running a local "server". + /// + /// The two connections will immediately be placed into the connected state, and no callbacks + /// will be posted immediately. After this, if you close either connection, the other connection + /// will receive a callback, exactly as if they were communicating over the network. You must + /// close *both* sides in order to fully clean up the resources! + /// + /// By default, internal buffers are used, completely bypassing the network, the chopping up of + /// messages into packets, encryption, copying the payload, etc. This means that loopback + /// packets, by default, will not simulate lag or loss. Passing true for bUseNetworkLoopback will + /// cause the socket pair to send packets through the local network loopback device (127.0.0.1) + /// on ephemeral ports. Fake lag and loss are supported in this case, and CPU time is expended + /// to encrypt and decrypt. + /// + /// If you wish to assign a specific identity to either connection, you may pass a particular + /// identity. Otherwise, if you pass nullptr, the respective connection will assume a generic + /// "localhost" identity. If you use real network loopback, this might be translated to the + /// actual bound loopback port. Otherwise, the port will be zero. + virtual bool CreateSocketPair( HSteamNetConnection *pOutConnection1, HSteamNetConnection *pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity *pIdentity1, const SteamNetworkingIdentity *pIdentity2 ) = 0; + + /// Configure multiple outbound messages streams ("lanes") on a connection, and + /// control head-of-line blocking between them. Messages within a given lane + /// are always sent in the order they are queued, but messages from different + /// lanes may be sent out of order. Each lane has its own message number + /// sequence. The first message sent on each lane will be assigned the number 1. + /// + /// Each lane has a "priority". Lanes with higher numeric values will only be processed + /// when all lanes with lower number values are empty. The magnitudes of the priority + /// values are not relevant, only their sort order. + /// + /// Each lane also is assigned a weight, which controls the approximate proportion + /// of the bandwidth that will be consumed by the lane, relative to other lanes + /// of the same priority. (This is assuming the lane stays busy. An idle lane + /// does not build up "credits" to be be spent once a message is queued.) + /// This value is only meaningful as a proportion, relative to other lanes with + /// the same priority. For lanes with different priorities, the strict priority + /// order will prevail, and their weights relative to each other are not relevant. + /// Thus, if a lane has a unique priority value, the weight value for that lane is + /// not relevant. + /// + /// Example: 3 lanes, with priorities [ 0, 10, 10 ] and weights [ (NA), 20, 5 ]. + /// Messages sent on the first will always be sent first, before messages in the + /// other two lanes. Its weight value is irrelevant, since there are no other + /// lanes with priority=0. The other two lanes will share bandwidth, with the second + /// and third lanes sharing bandwidth using a ratio of approximately 4:1. + /// (The weights [ NA, 4, 1 ] would be equivalent.) + /// + /// Notes: + /// - At the time of this writing, some code has performance cost that is linear + /// in the number of lanes, so keep the number of lanes to an absolute minimum. + /// 3 or so is fine; >8 is a lot. The max number of lanes on Steam is 255, + /// which is a very large number and not recommended! If you are compiling this + /// library from source, see STEAMNETWORKINGSOCKETS_MAX_LANES.) + /// - Lane priority values may be any int. Their absolute value is not relevant, + /// only the order matters. + /// - Weights must be positive, and due to implementation details, they are restricted + /// to 16-bit values. The absolute magnitudes don't matter, just the proportions. + /// - Messages sent on a lane index other than 0 have a small overhead on the wire, + /// so for maximum wire efficiency, lane 0 should be the "most common" lane, regardless + /// of priorities or weights. + /// - A connection has a single lane by default. Calling this function with + /// nNumLanes=1 is legal, but pointless, since the priority and weight values are + /// irrelevant in that case. + /// - You may reconfigure connection lanes at any time, however reducing the number of + /// lanes is not allowed. + /// - Reconfiguring lanes might restart any bandwidth sharing balancing. Usually you + /// will call this function once, near the start of the connection, perhaps after + /// exchanging a few messages. + /// - To assign all lanes the same priority, you may use pLanePriorities=NULL. + /// - If you wish all lanes with the same priority to share bandwidth equally (or + /// if no two lanes have the same priority value, and thus priority values are + /// irrelevant), you may use pLaneWeights=NULL + /// - Priorities and weights determine the order that messages are SENT on the wire. + /// There are NO GUARANTEES on the order that messages are RECEIVED! Due to packet + /// loss, out-of-order delivery, and subtle details of packet serialization, messages + /// might still be received slightly out-of-order! The *only* strong guarantee is that + /// *reliable* messages on the *same lane* will be delivered in the order they are sent. + /// - Each host configures the lanes for the packets they send; the lanes for the flow + /// in one direction are completely unrelated to the lanes in the opposite direction. + /// + /// Return value: + /// - k_EResultNoConnection - bad hConn + /// - k_EResultInvalidParam - Invalid number of lanes, bad weights, or you tried to reduce the number of lanes + /// - k_EResultInvalidState - Connection is already dead, etc + /// + /// See also: + /// SteamNetworkingMessage_t::m_idxLane + virtual EResult ConfigureConnectionLanes( HSteamNetConnection hConn, int nNumLanes, const int *pLanePriorities, const uint16 *pLaneWeights ) = 0; + + // + // Identity and authentication + // + + /// Get the identity assigned to this interface. + /// E.g. on Steam, this is the user's SteamID, or for the gameserver interface, the SteamID assigned + /// to the gameserver. Returns false and sets the result to an invalid identity if we don't know + /// our identity yet. (E.g. GameServer has not logged in. On Steam, the user will know their SteamID + /// even if they are not signed into Steam.) + virtual bool GetIdentity( SteamNetworkingIdentity *pIdentity ) = 0; + + /// Indicate our desire to be ready participate in authenticated communications. + /// If we are currently not ready, then steps will be taken to obtain the necessary + /// certificates. (This includes a certificate for us, as well as any CA certificates + /// needed to authenticate peers.) + /// + /// You can call this at program init time if you know that you are going to + /// be making authenticated connections, so that we will be ready immediately when + /// those connections are attempted. (Note that essentially all connections require + /// authentication, with the exception of ordinary UDP connections with authentication + /// disabled using k_ESteamNetworkingConfig_IP_AllowWithoutAuth.) If you don't call + /// this function, we will wait until a feature is utilized that that necessitates + /// these resources. + /// + /// You can also call this function to force a retry, if failure has occurred. + /// Once we make an attempt and fail, we will not automatically retry. + /// In this respect, the behavior of the system after trying and failing is the same + /// as before the first attempt: attempting authenticated communication or calling + /// this function will call the system to attempt to acquire the necessary resources. + /// + /// You can use GetAuthenticationStatus or listen for SteamNetAuthenticationStatus_t + /// to monitor the status. + /// + /// Returns the current value that would be returned from GetAuthenticationStatus. + virtual ESteamNetworkingAvailability InitAuthentication() = 0; + + /// Query our readiness to participate in authenticated communications. A + /// SteamNetAuthenticationStatus_t callback is posted any time this status changes, + /// but you can use this function to query it at any time. + /// + /// The value of SteamNetAuthenticationStatus_t::m_eAvail is returned. If you only + /// want this high level status, you can pass NULL for pDetails. If you want further + /// details, pass non-NULL to receive them. + virtual ESteamNetworkingAvailability GetAuthenticationStatus( SteamNetAuthenticationStatus_t *pDetails ) = 0; + + // + // Poll groups. A poll group is a set of connections that can be polled efficiently. + // (In our API, to "poll" a connection means to retrieve all pending messages. We + // actually don't have an API to "poll" the connection *state*, like BSD sockets.) + // + + /// Create a new poll group. + /// + /// You should destroy the poll group when you are done using DestroyPollGroup + virtual HSteamNetPollGroup CreatePollGroup() = 0; + + /// Destroy a poll group created with CreatePollGroup(). + /// + /// If there are any connections in the poll group, they are removed from the group, + /// and left in a state where they are not part of any poll group. + /// Returns false if passed an invalid poll group handle. + virtual bool DestroyPollGroup( HSteamNetPollGroup hPollGroup ) = 0; + + /// Assign a connection to a poll group. Note that a connection may only belong to a + /// single poll group. Adding a connection to a poll group implicitly removes it from + /// any other poll group it is in. + /// + /// You can pass k_HSteamNetPollGroup_Invalid to remove a connection from its current + /// poll group without adding it to a new poll group. + /// + /// If there are received messages currently pending on the connection, an attempt + /// is made to add them to the queue of messages for the poll group in approximately + /// the order that would have applied if the connection was already part of the poll + /// group at the time that the messages were received. + /// + /// Returns false if the connection handle is invalid, or if the poll group handle + /// is invalid (and not k_HSteamNetPollGroup_Invalid). + virtual bool SetConnectionPollGroup( HSteamNetConnection hConn, HSteamNetPollGroup hPollGroup ) = 0; + + /// Same as ReceiveMessagesOnConnection, but will return the next messages available + /// on any connection in the poll group. Examine SteamNetworkingMessage_t::m_conn + /// to know which connection. (SteamNetworkingMessage_t::m_nConnUserData might also + /// be useful.) + /// + /// Delivery order of messages among different connections will usually match the + /// order that the last packet was received which completed the message. But this + /// is not a strong guarantee, especially for packets received right as a connection + /// is being assigned to poll group. + /// + /// Delivery order of messages on the same connection is well defined and the + /// same guarantees are present as mentioned in ReceiveMessagesOnConnection. + /// (But the messages are not grouped by connection, so they will not necessarily + /// appear consecutively in the list; they may be interleaved with messages for + /// other connections.) + virtual int ReceiveMessagesOnPollGroup( HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + // + // Clients connecting to dedicated servers hosted in a data center, + // using tickets issued by your game coordinator. If you are not + // issuing your own tickets to restrict who can attempt to connect + // to your server, then you won't use these functions. + // + + /// Call this when you receive a ticket from your backend / matchmaking system. Puts the + /// ticket into a persistent cache, and optionally returns the parsed ticket. + /// + /// See stamdatagram_ticketgen.h for more details. + virtual bool ReceivedRelayAuthTicket( const void *pvTicket, int cbTicket, SteamDatagramRelayAuthTicket *pOutParsedTicket ) = 0; + + /// Search cache for a ticket to talk to the server on the specified virtual port. + /// If found, returns the number of seconds until the ticket expires, and optionally + /// the complete cracked ticket. Returns 0 if we don't have a ticket. + /// + /// Typically this is useful just to confirm that you have a ticket, before you + /// call ConnectToHostedDedicatedServer to connect to the server. + virtual int FindRelayAuthTicketForServer( const SteamNetworkingIdentity &identityGameServer, int nRemoteVirtualPort, SteamDatagramRelayAuthTicket *pOutParsedTicket ) = 0; + + /// Client call to connect to a server hosted in a Valve data center, on the specified virtual + /// port. You must have placed a ticket for this server into the cache, or else this connect + /// attempt will fail! If you are not issuing your own tickets, then to connect to a dedicated + /// server via SDR in auto-ticket mode, use ConnectP2P. (The server must be configured to allow + /// this type of connection by listening using CreateListenSocketP2P.) + /// + /// You may wonder why tickets are stored in a cache, instead of simply being passed as an argument + /// here. The reason is to make reconnection to a gameserver robust, even if the client computer loses + /// connection to Steam or the central backend, or the app is restarted or crashes, etc. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectToHostedDedicatedServer( const SteamNetworkingIdentity &identityTarget, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + // + // Servers hosted in data centers known to the Valve relay network + // + + /// Returns the value of the SDR_LISTEN_PORT environment variable. This + /// is the UDP server your server will be listening on. This will + /// configured automatically for you in production environments. + /// + /// In development, you'll need to set it yourself. See + /// https://partner.steamgames.com/doc/api/ISteamNetworkingSockets + /// for more information on how to configure dev environments. + virtual uint16 GetHostedDedicatedServerPort() = 0; + + /// Returns 0 if SDR_LISTEN_PORT is not set. Otherwise, returns the data center the server + /// is running in. This will be k_SteamDatagramPOPID_dev in non-production environment. + virtual SteamNetworkingPOPID GetHostedDedicatedServerPOPID() = 0; + + /// Return info about the hosted server. This contains the PoPID of the server, + /// and opaque routing information that can be used by the relays to send traffic + /// to your server. + /// + /// You will need to send this information to your backend, and put it in tickets, + /// so that the relays will know how to forward traffic from + /// clients to your server. See SteamDatagramRelayAuthTicket for more info. + /// + /// Also, note that the routing information is contained in SteamDatagramGameCoordinatorServerLogin, + /// so if possible, it's preferred to use GetGameCoordinatorServerLogin to send this info + /// to your game coordinator service, and also login securely at the same time. + /// + /// On a successful exit, k_EResultOK is returned + /// + /// Unsuccessful exit: + /// - Something other than k_EResultOK is returned. + /// - k_EResultInvalidState: We are not configured to listen for SDR (SDR_LISTEN_SOCKET + /// is not set.) + /// - k_EResultPending: we do not (yet) have the authentication information needed. + /// (See GetAuthenticationStatus.) If you use environment variables to pre-fetch + /// the network config, this data should always be available immediately. + /// - A non-localized diagnostic debug message will be placed in m_data that describes + /// the cause of the failure. + /// + /// NOTE: The returned blob is not encrypted. Send it to your backend, but don't + /// directly share it with clients. + virtual EResult GetHostedDedicatedServerAddress( SteamDatagramHostedAddress *pRouting ) = 0; + + /// Create a listen socket on the specified virtual port. The physical UDP port to use + /// will be determined by the SDR_LISTEN_PORT environment variable. If a UDP port is not + /// configured, this call will fail. + /// + /// This call MUST be made through the SteamGameServerNetworkingSockets() interface. + /// + /// This function should be used when you are using the ticket generator library + /// to issue your own tickets. Clients connecting to the server on this virtual + /// port will need a ticket, and they must connect using ConnectToHostedDedicatedServer. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamListenSocket CreateHostedDedicatedServerListenSocket( int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Generate an authentication blob that can be used to securely login with + /// your backend, using SteamDatagram_ParseHostedServerLogin. (See + /// steamdatagram_gamecoordinator.h) + /// + /// Before calling the function: + /// - Populate the app data in pLoginInfo (m_cbAppData and m_appData). You can leave + /// all other fields uninitialized. + /// - *pcbSignedBlob contains the size of the buffer at pBlob. (It should be + /// at least k_cbMaxSteamDatagramGameCoordinatorServerLoginSerialized.) + /// + /// On a successful exit: + /// - k_EResultOK is returned + /// - All of the remaining fields of pLoginInfo will be filled out. + /// - *pcbSignedBlob contains the size of the serialized blob that has been + /// placed into pBlob. + /// + /// Unsuccessful exit: + /// - Something other than k_EResultOK is returned. + /// - k_EResultNotLoggedOn: you are not logged in (yet) + /// - See GetHostedDedicatedServerAddress for more potential failure return values. + /// - A non-localized diagnostic debug message will be placed in pBlob that describes + /// the cause of the failure. + /// + /// This works by signing the contents of the SteamDatagramGameCoordinatorServerLogin + /// with the cert that is issued to this server. In dev environments, it's OK if you do + /// not have a cert. (You will need to enable insecure dev login in SteamDatagram_ParseHostedServerLogin.) + /// Otherwise, you will need a signed cert. + /// + /// NOTE: The routing blob returned here is not encrypted. Send it to your backend + /// and don't share it directly with clients. + virtual EResult GetGameCoordinatorServerLogin( SteamDatagramGameCoordinatorServerLogin *pLoginInfo, int *pcbSignedBlob, void *pBlob ) = 0; + + + // + // Relayed connections using custom signaling protocol + // + // This is used if you have your own method of sending out-of-band + // signaling / rendezvous messages through a mutually trusted channel. + // + + /// Create a P2P "client" connection that does signaling over a custom + /// rendezvous/signaling channel. + /// + /// pSignaling points to a new object that you create just for this connection. + /// It must stay valid until Release() is called. Once you pass the + /// object to this function, it assumes ownership. Release() will be called + /// from within the function call if the call fails. Furthermore, until Release() + /// is called, you should be prepared for methods to be invoked on your + /// object from any thread! You need to make sure your object is threadsafe! + /// Furthermore, you should make sure that dispatching the methods is done + /// as quickly as possible. + /// + /// This function will immediately construct a connection in the "connecting" + /// state. Soon after (perhaps before this function returns, perhaps in another thread), + /// the connection will begin sending signaling messages by calling + /// ISteamNetworkingConnectionSignaling::SendSignal. + /// + /// When the remote peer accepts the connection (See + /// ISteamNetworkingSignalingRecvContext::OnConnectRequest), + /// it will begin sending signaling messages. When these messages are received, + /// you can pass them to the connection using ReceivedP2PCustomSignal. + /// + /// If you know the identity of the peer that you expect to be on the other end, + /// you can pass their identity to improve debug output or just detect bugs. + /// If you don't know their identity yet, you can pass NULL, and their + /// identity will be established in the connection handshake. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectP2PCustomSignaling( ISteamNetworkingConnectionSignaling *pSignaling, const SteamNetworkingIdentity *pPeerIdentity, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Called when custom signaling has received a message. When your + /// signaling channel receives a message, it should save off whatever + /// routing information was in the envelope into the context object, + /// and then pass the payload to this function. + /// + /// A few different things can happen next, depending on the message: + /// + /// - If the signal is associated with existing connection, it is dealt + /// with immediately. If any replies need to be sent, they will be + /// dispatched using the ISteamNetworkingConnectionSignaling + /// associated with the connection. + /// - If the message represents a connection request (and the request + /// is not redundant for an existing connection), a new connection + /// will be created, and ReceivedConnectRequest will be called on your + /// context object to determine how to proceed. + /// - Otherwise, the message is for a connection that does not + /// exist (anymore). In this case, we *may* call SendRejectionReply + /// on your context object. + /// + /// In any case, we will not save off pContext or access it after this + /// function returns. + /// + /// Returns true if the message was parsed and dispatched without anything + /// unusual or suspicious happening. Returns false if there was some problem + /// with the message that prevented ordinary handling. (Debug output will + /// usually have more information.) + /// + /// If you expect to be using relayed connections, then you probably want + /// to call ISteamNetworkingUtils::InitRelayNetworkAccess() when your app initializes + virtual bool ReceivedP2PCustomSignal( const void *pMsg, int cbMsg, ISteamNetworkingSignalingRecvContext *pContext ) = 0; + + // + // Certificate provision by the application. On Steam, we normally handle all this automatically + // and you will not need to use these advanced functions. + // + + /// Get blob that describes a certificate request. You can send this to your game coordinator. + /// Upon entry, *pcbBlob should contain the size of the buffer. On successful exit, it will + /// return the number of bytes that were populated. You can pass pBlob=NULL to query for the required + /// size. (512 bytes is a conservative estimate.) + /// + /// Pass this blob to your game coordinator and call SteamDatagram_CreateCert. + virtual bool GetCertificateRequest( int *pcbBlob, void *pBlob, SteamNetworkingErrMsg &errMsg ) = 0; + + /// Set the certificate. The certificate blob should be the output of + /// SteamDatagram_CreateCert. + virtual bool SetCertificate( const void *pCertificate, int cbCertificate, SteamNetworkingErrMsg &errMsg ) = 0; + + /// Reset the identity associated with this instance. + /// Any open connections are closed. Any previous certificates, etc are discarded. + /// You can pass a specific identity that you want to use, or you can pass NULL, + /// in which case the identity will be invalid until you set it using SetCertificate + /// + /// NOTE: This function is not actually supported on Steam! It is included + /// for use on other platforms where the active user can sign out and + /// a new user can sign in. + virtual void ResetIdentity( const SteamNetworkingIdentity *pIdentity ) = 0; + + // + // Misc + // + + /// Invoke all callback functions queued for this interface. + /// See k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, etc + /// + /// You don't need to call this if you are using Steam's callback dispatch + /// mechanism (SteamAPI_RunCallbacks and SteamGameserver_RunCallbacks). + virtual void RunCallbacks() = 0; + + // + // "FakeIP" system. + // + // A FakeIP is essentially a temporary, arbitrary identifier that + // happens to be a valid IPv4 address. The purpose of this system is to make it + // easy to integrate with existing code that identifies hosts using IPv4 addresses. + // The FakeIP address will never actually be used to send or receive any packets + // on the Internet, it is strictly an identifier. + // + // FakeIP addresses are designed to (hopefully) pass through existing code as + // transparently as possible, while conflicting with "real" addresses that might + // be in use on networks (both the Internet and LANs) in the same code as little + // as possible. At the time this comment is being written, they come from the + // 169.254.0.0/16 range, and the port number will always be >1024. HOWEVER, + // this is subject to change! Do not make assumptions about these addresses, + // or your code might break in the future. In particular, you should use + // functions such as ISteamNetworkingUtils::IsFakeIP to determine if an IP + // address is a "fake" one used by this system. + // + + /// Begin asynchronous process of allocating a fake IPv4 address that other + /// peers can use to contact us via P2P. IP addresses returned by this + /// function are globally unique for a given appid. + /// + /// nNumPorts is the numbers of ports you wish to reserve. This is useful + /// for the same reason that listening on multiple UDP ports is useful for + /// different types of traffic. Because these allocations come from a global + /// namespace, there is a relatively strict limit on the maximum number of + /// ports you may request. (At the time of this writing, the limit is 4.) + /// The port assignments are *not* guaranteed to have any particular order + /// or relationship! Do *not* assume they are contiguous, even though that + /// may often occur in practice. + /// + /// Returns false if a request was already in progress, true if a new request + /// was started. A SteamNetworkingFakeIPResult_t will be posted when the request + /// completes. + /// + /// For gameservers, you *must* call this after initializing the SDK but before + /// beginning login. Steam needs to know in advance that FakeIP will be used. + /// Everywhere your public IP would normally appear (such as the server browser) will be + /// replaced by the FakeIP, and the fake port at index 0. The request is actually queued + /// until the logon completes, so you must not wait until the allocation completes + /// before logging in. Except for trivial failures that can be detected locally + /// (e.g. invalid parameter), a SteamNetworkingFakeIPResult_t callback (whether success or + /// failure) will not be posted until after we have logged in. Furthermore, it is assumed + /// that FakeIP allocation is essential for your application to function, and so failure + /// will not be reported until *several* retries have been attempted. This process may + /// last several minutes. It is *highly* recommended to treat failure as fatal. + /// + /// To communicate using a connection-oriented (TCP-style) API: + /// - Server creates a listen socket using CreateListenSocketP2PFakeIP + /// - Client connects using ConnectByIPAddress, passing in the FakeIP address. + /// - The connection will behave mostly like a P2P connection. The identities + /// that appear in SteamNetConnectionInfo_t will be the FakeIP identity until + /// we know the real identity. Then it will be the real identity. If the + /// SteamNetConnectionInfo_t::m_addrRemote is valid, it will be a real IPv4 + /// address of a NAT-punched connection. Otherwise, it will not be valid. + /// + /// To communicate using an ad-hoc sendto/recv from (UDP-style) API, + /// use CreateFakeUDPPort. + virtual bool BeginAsyncRequestFakeIP( int nNumPorts ) = 0; + + /// Return info about the FakeIP and port(s) that we have been assigned, + /// if any. idxFirstPort is currently reserved and must be zero. + /// Make sure and check SteamNetworkingFakeIPResult_t::m_eResult + virtual void GetFakeIP( int idxFirstPort, SteamNetworkingFakeIPResult_t *pInfo ) = 0; + + /// Create a listen socket that will listen for P2P connections sent + /// to our FakeIP. A peer can initiate connections to this listen + /// socket by calling ConnectByIPAddress. + /// + /// idxFakePort refers to the *index* of the fake port requested, + /// not the actual port number. For example, pass 0 to refer to the + /// first port in the reservation. You must call this only after calling + /// BeginAsyncRequestFakeIP. However, you do not need to wait for the + /// request to complete before creating the listen socket. + virtual HSteamListenSocket CreateListenSocketP2PFakeIP( int idxFakePort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// If the connection was initiated using the "FakeIP" system, then we + /// we can get an IP address for the remote host. If the remote host had + /// a global FakeIP at the time the connection was established, this + /// function will return that global IP. Otherwise, a FakeIP that is + /// unique locally will be allocated from the local FakeIP address space, + /// and that will be returned. + /// + /// The allocation of local FakeIPs attempts to assign addresses in + /// a consistent manner. If multiple connections are made to the + /// same remote host, they *probably* will return the same FakeIP. + /// However, since the namespace is limited, this cannot be guaranteed. + /// + /// On failure, returns: + /// - k_EResultInvalidParam: invalid connection handle + /// - k_EResultIPNotFound: This connection wasn't made using FakeIP system + virtual EResult GetRemoteFakeIPForConnection( HSteamNetConnection hConn, SteamNetworkingIPAddr *pOutAddr ) = 0; + + /// Get an interface that can be used like a UDP port to send/receive + /// datagrams to a FakeIP address. This is intended to make it easy + /// to port existing UDP-based code to take advantage of SDR. + /// + /// idxFakeServerPort refers to the *index* of the port allocated using + /// BeginAsyncRequestFakeIP and is used to create "server" ports. You may + /// call this before the allocation has completed. However, any attempts + /// to send packets will fail until the allocation has succeeded. When + /// the peer receives packets sent from this interface, the from address + /// of the packet will be the globally-unique FakeIP. If you call this + /// function multiple times and pass the same (nonnegative) fake port index, + /// the same object will be returned, and this object is not reference counted. + /// + /// To create a "client" port (e.g. the equivalent of an ephemeral UDP port) + /// pass -1. In this case, a distinct object will be returned for each call. + /// When the peer receives packets sent from this interface, the peer will + /// assign a FakeIP from its own locally-controlled namespace. + virtual ISteamNetworkingFakeUDPPort *CreateFakeUDPPort( int idxFakeServerPort ) = 0; + +protected: + ~ISteamNetworkingSockets(); // Silence some warnings +}; +#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets012" + +// Global accessors + +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '2', "Version mismatch" ); + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV12(); + inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV12(); } + + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV12(); + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV12(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV12(); } + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV12(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION ); + STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamGameServerNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION ); + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_SteamAPI(); } + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_SteamAPI(); } + #endif +#endif + +/// Callback struct used to notify when a connection has changed state +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +/// This callback is posted whenever a connection is created, destroyed, or changes state. +/// The m_info field will contain a complete description of the connection at the time the +/// change occurred and the callback was posted. In particular, m_eState will have the +/// new connection state. +/// +/// You will usually need to listen for this callback to know when: +/// - A new connection arrives on a listen socket. +/// m_info.m_hListenSocket will be set, m_eOldState = k_ESteamNetworkingConnectionState_None, +/// and m_info.m_eState = k_ESteamNetworkingConnectionState_Connecting. +/// See ISteamNetworkigSockets::AcceptConnection. +/// - A connection you initiated has been accepted by the remote host. +/// m_eOldState = k_ESteamNetworkingConnectionState_Connecting, and +/// m_info.m_eState = k_ESteamNetworkingConnectionState_Connected. +/// Some connections might transition to k_ESteamNetworkingConnectionState_FindingRoute first. +/// - A connection has been actively rejected or closed by the remote host. +/// m_eOldState = k_ESteamNetworkingConnectionState_Connecting or k_ESteamNetworkingConnectionState_Connected, +/// and m_info.m_eState = k_ESteamNetworkingConnectionState_ClosedByPeer. m_info.m_eEndReason +/// and m_info.m_szEndDebug will have for more details. +/// NOTE: upon receiving this callback, you must still destroy the connection using +/// ISteamNetworkingSockets::CloseConnection to free up local resources. (The details +/// passed to the function are not used in this case, since the connection is already closed.) +/// - A problem was detected with the connection, and it has been closed by the local host. +/// The most common failure is timeout, but other configuration or authentication failures +/// can cause this. m_eOldState = k_ESteamNetworkingConnectionState_Connecting or +/// k_ESteamNetworkingConnectionState_Connected, and m_info.m_eState = k_ESteamNetworkingConnectionState_ProblemDetectedLocally. +/// m_info.m_eEndReason and m_info.m_szEndDebug will have for more details. +/// NOTE: upon receiving this callback, you must still destroy the connection using +/// ISteamNetworkingSockets::CloseConnection to free up local resources. (The details +/// passed to the function are not used in this case, since the connection is already closed.) +/// +/// Remember that callbacks are posted to a queue, and networking connections can +/// change at any time. It is possible that the connection has already changed +/// state by the time you process this callback. +/// +/// Also note that callbacks will be posted when connections are created and destroyed by your own API calls. +struct SteamNetConnectionStatusChangedCallback_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 1 }; + + /// Connection handle + HSteamNetConnection m_hConn; + + /// Full connection info + SteamNetConnectionInfo_t m_info; + + /// Previous state. (Current state is in m_info.m_eState) + ESteamNetworkingConnectionState m_eOldState; +}; + +/// A struct used to describe our readiness to participate in authenticated, +/// encrypted communication. In order to do this we need: +/// +/// - The list of trusted CA certificates that might be relevant for this +/// app. +/// - A valid certificate issued by a CA. +/// +/// This callback is posted whenever the state of our readiness changes. +struct SteamNetAuthenticationStatus_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 2 }; + + /// Status + ESteamNetworkingAvailability m_eAvail; + + /// Non-localized English language status. For diagnostic/debugging + /// purposes only. + char m_debugMsg[ 256 ]; +}; + +#pragma pack( pop ) + +#endif // ISTEAMNETWORKINGSOCKETS diff --git a/Steam/isteamnetworkingutils.h b/Steam/isteamnetworkingutils.h new file mode 100644 index 0000000..626efed --- /dev/null +++ b/Steam/isteamnetworkingutils.h @@ -0,0 +1,500 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: misc networking utilities +// +//============================================================================= + +#ifndef ISTEAMNETWORKINGUTILS +#define ISTEAMNETWORKINGUTILS +#pragma once + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +struct SteamDatagramRelayAuthTicket; +struct SteamRelayNetworkStatus_t; + +//----------------------------------------------------------------------------- +/// Misc networking utilities for checking the local networking environment +/// and estimating pings. +class ISteamNetworkingUtils +{ +public: + // + // Efficient message sending + // + + /// Allocate and initialize a message object. Usually the reason + /// you call this is to pass it to ISteamNetworkingSockets::SendMessages. + /// The returned object will have all of the relevant fields cleared to zero. + /// + /// Optionally you can also request that this system allocate space to + /// hold the payload itself. If cbAllocateBuffer is nonzero, the system + /// will allocate memory to hold a payload of at least cbAllocateBuffer bytes. + /// m_pData will point to the allocated buffer, m_cbSize will be set to the + /// size, and m_pfnFreeData will be set to the proper function to free up + /// the buffer. + /// + /// If cbAllocateBuffer=0, then no buffer is allocated. m_pData will be NULL, + /// m_cbSize will be zero, and m_pfnFreeData will be NULL. You will need to + /// set each of these. + virtual SteamNetworkingMessage_t *AllocateMessage( int cbAllocateBuffer ) = 0; + + // + // Access to Steam Datagram Relay (SDR) network + // + + // + // Initialization and status check + // + + /// If you know that you are going to be using the relay network (for example, + /// because you anticipate making P2P connections), call this to initialize the + /// relay network. If you do not call this, the initialization will + /// be delayed until the first time you use a feature that requires access + /// to the relay network, which will delay that first access. + /// + /// You can also call this to force a retry if the previous attempt has failed. + /// Performing any action that requires access to the relay network will also + /// trigger a retry, and so calling this function is never strictly necessary, + /// but it can be useful to call it a program launch time, if access to the + /// relay network is anticipated. + /// + /// Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + /// callbacks to know when initialization has completed. + /// Typically initialization completes in a few seconds. + /// + /// Note: dedicated servers hosted in known data centers do *not* need + /// to call this, since they do not make routing decisions. However, if + /// the dedicated server will be using P2P functionality, it will act as + /// a "client" and this should be called. + inline void InitRelayNetworkAccess(); + + /// Fetch current status of the relay network. + /// + /// SteamRelayNetworkStatus_t is also a callback. It will be triggered on + /// both the user and gameserver interfaces any time the status changes, or + /// ping measurement starts or stops. + /// + /// SteamRelayNetworkStatus_t::m_eAvail is returned. If you want + /// more details, you can pass a non-NULL value. + virtual ESteamNetworkingAvailability GetRelayNetworkStatus( SteamRelayNetworkStatus_t *pDetails ) = 0; + + // + // "Ping location" functions + // + // We use the ping times to the valve relays deployed worldwide to + // generate a "marker" that describes the location of an Internet host. + // Given two such markers, we can estimate the network latency between + // two hosts, without sending any packets. The estimate is based on the + // optimal route that is found through the Valve network. If you are + // using the Valve network to carry the traffic, then this is precisely + // the ping you want. If you are not, then the ping time will probably + // still be a reasonable estimate. + // + // This is extremely useful to select peers for matchmaking! + // + // The markers can also be converted to a string, so they can be transmitted. + // We have a separate library you can use on your app's matchmaking/coordinating + // server to manipulate these objects. (See steamdatagram_gamecoordinator.h) + + /// Return location info for the current host. Returns the approximate + /// age of the data, in seconds, or -1 if no data is available. + /// + /// It takes a few seconds to initialize access to the relay network. If + /// you call this very soon after calling InitRelayNetworkAccess, + /// the data may not be available yet. + /// + /// This always return the most up-to-date information we have available + /// right now, even if we are in the middle of re-calculating ping times. + virtual float GetLocalPingLocation( SteamNetworkPingLocation_t &result ) = 0; + + /// Estimate the round-trip latency between two arbitrary locations, in + /// milliseconds. This is a conservative estimate, based on routing through + /// the relay network. For most basic relayed connections, this ping time + /// will be pretty accurate, since it will be based on the route likely to + /// be actually used. + /// + /// If a direct IP route is used (perhaps via NAT traversal), then the route + /// will be different, and the ping time might be better. Or it might actually + /// be a bit worse! Standard IP routing is frequently suboptimal! + /// + /// But even in this case, the estimate obtained using this method is a + /// reasonable upper bound on the ping time. (Also it has the advantage + /// of returning immediately and not sending any packets.) + /// + /// In a few cases we might not able to estimate the route. In this case + /// a negative value is returned. k_nSteamNetworkingPing_Failed means + /// the reason was because of some networking difficulty. (Failure to + /// ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot + /// currently answer the question for some other reason. + /// + /// Do you need to be able to do this from a backend/matchmaking server? + /// You are looking for the "game coordinator" library. + virtual int EstimatePingTimeBetweenTwoLocations( const SteamNetworkPingLocation_t &location1, const SteamNetworkPingLocation_t &location2 ) = 0; + + /// Same as EstimatePingTime, but assumes that one location is the local host. + /// This is a bit faster, especially if you need to calculate a bunch of + /// these in a loop to find the fastest one. + /// + /// In rare cases this might return a slightly different estimate than combining + /// GetLocalPingLocation with EstimatePingTimeBetweenTwoLocations. That's because + /// this function uses a slightly more complete set of information about what + /// route would be taken. + virtual int EstimatePingTimeFromLocalHost( const SteamNetworkPingLocation_t &remoteLocation ) = 0; + + /// Convert a ping location into a text format suitable for sending over the wire. + /// The format is a compact and human readable. However, it is subject to change + /// so please do not parse it yourself. Your buffer must be at least + /// k_cchMaxSteamNetworkingPingLocationString bytes. + virtual void ConvertPingLocationToString( const SteamNetworkPingLocation_t &location, char *pszBuf, int cchBufSize ) = 0; + + /// Parse back SteamNetworkPingLocation_t string. Returns false if we couldn't understand + /// the string. + virtual bool ParsePingLocationString( const char *pszString, SteamNetworkPingLocation_t &result ) = 0; + + /// Check if the ping data of sufficient recency is available, and if + /// it's too old, start refreshing it. + /// + /// Please only call this function when you *really* do need to force an + /// immediate refresh of the data. (For example, in response to a specific + /// user input to refresh this information.) Don't call it "just in case", + /// before every connection, etc. That will cause extra traffic to be sent + /// for no benefit. The library will automatically refresh the information + /// as needed. + /// + /// Returns true if sufficiently recent data is already available. + /// + /// Returns false if sufficiently recent data is not available. In this + /// case, ping measurement is initiated, if it is not already active. + /// (You cannot restart a measurement already in progress.) + /// + /// You can use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + /// to know when ping measurement completes. + virtual bool CheckPingDataUpToDate( float flMaxAgeSeconds ) = 0; + + // + // List of Valve data centers, and ping times to them. This might + // be useful to you if you are use our hosting, or just need to measure + // latency to a cloud data center where we are running relays. + // + + /// Fetch ping time of best available relayed route from this host to + /// the specified data center. + virtual int GetPingToDataCenter( SteamNetworkingPOPID popID, SteamNetworkingPOPID *pViaRelayPoP ) = 0; + + /// Get *direct* ping time to the relays at the data center. + virtual int GetDirectPingToPOP( SteamNetworkingPOPID popID ) = 0; + + /// Get number of network points of presence in the config + virtual int GetPOPCount() = 0; + + /// Get list of all POP IDs. Returns the number of entries that were filled into + /// your list. + virtual int GetPOPList( SteamNetworkingPOPID *list, int nListSz ) = 0; + + // + // Misc + // + + /// Fetch current timestamp. This timer has the following properties: + /// + /// - Monotonicity is guaranteed. + /// - The initial value will be at least 24*3600*30*1e6, i.e. about + /// 30 days worth of microseconds. In this way, the timestamp value of + /// 0 will always be at least "30 days ago". Also, negative numbers + /// will never be returned. + /// - Wraparound / overflow is not a practical concern. + /// + /// If you are running under the debugger and stop the process, the clock + /// might not advance the full wall clock time that has elapsed between + /// calls. If the process is not blocked from normal operation, the + /// timestamp values will track wall clock time, even if you don't call + /// the function frequently. + /// + /// The value is only meaningful for this run of the process. Don't compare + /// it to values obtained on another computer, or other runs of the same process. + virtual SteamNetworkingMicroseconds GetLocalTimestamp() = 0; + + /// Set a function to receive network-related information that is useful for debugging. + /// This can be very useful during development, but it can also be useful for troubleshooting + /// problems with tech savvy end users. If you have a console or other log that customers + /// can examine, these log messages can often be helpful to troubleshoot network issues. + /// (Especially any warning/error messages.) + /// + /// The detail level indicates what message to invoke your callback on. Lower numeric + /// value means more important, and the value you pass is the lowest priority (highest + /// numeric value) you wish to receive callbacks for. + /// + /// The value here controls the detail level for most messages. You can control the + /// detail level for various subsystems (perhaps only for certain connections) by + /// adjusting the configuration values k_ESteamNetworkingConfig_LogLevel_Xxxxx. + /// + /// Except when debugging, you should only use k_ESteamNetworkingSocketsDebugOutputType_Msg + /// or k_ESteamNetworkingSocketsDebugOutputType_Warning. For best performance, do NOT + /// request a high detail level and then filter out messages in your callback. This incurs + /// all of the expense of formatting the messages, which are then discarded. Setting a high + /// priority value (low numeric value) here allows the library to avoid doing this work. + /// + /// IMPORTANT: This may be called from a service thread, while we own a mutex, etc. + /// Your output function must be threadsafe and fast! Do not make any other + /// Steamworks calls from within the handler. + virtual void SetDebugOutputFunction( ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc ) = 0; + + // + // Fake IP + // + // Useful for interfacing with code that assumes peers are identified using an IPv4 address + // + + /// Return true if an IPv4 address is one that might be used as a "fake" one. + /// This function is fast; it just does some logical tests on the IP and does + /// not need to do any lookup operations. + inline bool IsFakeIPv4( uint32 nIPv4 ) { return GetIPv4FakeIPType( nIPv4 ) > k_ESteamNetworkingFakeIPType_NotFake; } + virtual ESteamNetworkingFakeIPType GetIPv4FakeIPType( uint32 nIPv4 ) = 0; + + /// Get the real identity associated with a given FakeIP. + /// + /// On failure, returns: + /// - k_EResultInvalidParam: the IP is not a FakeIP. + /// - k_EResultNoMatch: we don't recognize that FakeIP and don't know the corresponding identity. + /// + /// FakeIP's used by active connections, or the FakeIPs assigned to local identities, + /// will always work. FakeIPs for recently destroyed connections will continue to + /// return results for a little while, but not forever. At some point, we will forget + /// FakeIPs to save space. It's reasonably safe to assume that you can read back the + /// real identity of a connection very soon after it is destroyed. But do not wait + /// indefinitely. + virtual EResult GetRealIdentityForFakeIP( const SteamNetworkingIPAddr &fakeIP, SteamNetworkingIdentity *pOutRealIdentity ) = 0; + + // + // Set and get configuration values, see ESteamNetworkingConfigValue for individual descriptions. + // + + // Shortcuts for common cases. (Implemented as inline functions below) + bool SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ); + bool SetGlobalConfigValueFloat( ESteamNetworkingConfigValue eValue, float val ); + bool SetGlobalConfigValueString( ESteamNetworkingConfigValue eValue, const char *val ); + bool SetGlobalConfigValuePtr( ESteamNetworkingConfigValue eValue, void *val ); + bool SetConnectionConfigValueInt32( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ); + bool SetConnectionConfigValueFloat( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ); + bool SetConnectionConfigValueString( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char *val ); + + // + // Set global callbacks. If you do not want to use Steam's callback dispatch mechanism and you + // want to use the same callback on all (or most) listen sockets and connections, then + // simply install these callbacks first thing, and you are good to go. + // See ISteamNetworkingSockets::RunCallbacks + // + bool SetGlobalCallback_SteamNetConnectionStatusChanged( FnSteamNetConnectionStatusChanged fnCallback ); + bool SetGlobalCallback_SteamNetAuthenticationStatusChanged( FnSteamNetAuthenticationStatusChanged fnCallback ); + bool SetGlobalCallback_SteamRelayNetworkStatusChanged( FnSteamRelayNetworkStatusChanged fnCallback ); + bool SetGlobalCallback_FakeIPResult( FnSteamNetworkingFakeIPResult fnCallback ); + bool SetGlobalCallback_MessagesSessionRequest( FnSteamNetworkingMessagesSessionRequest fnCallback ); + bool SetGlobalCallback_MessagesSessionFailed( FnSteamNetworkingMessagesSessionFailed fnCallback ); + + /// Set a configuration value. + /// - eValue: which value is being set + /// - eScope: Onto what type of object are you applying the setting? + /// - scopeArg: Which object you want to change? (Ignored for global scope). E.g. connection handle, listen socket handle, interface pointer, etc. + /// - eDataType: What type of data is in the buffer at pValue? This must match the type of the variable exactly! + /// - pArg: Value to set it to. You can pass NULL to remove a non-global setting at this scope, + /// causing the value for that object to use global defaults. Or at global scope, passing NULL + /// will reset any custom value and restore it to the system default. + /// NOTE: When setting pointers (e.g. callback functions), do not pass the function pointer directly. + /// Your argument should be a pointer to a function pointer. + virtual bool SetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, + ESteamNetworkingConfigDataType eDataType, const void *pArg ) = 0; + + /// Set a configuration value, using a struct to pass the value. + /// (This is just a convenience shortcut; see below for the implementation and + /// a little insight into how SteamNetworkingConfigValue_t is used when + /// setting config options during listen socket and connection creation.) + bool SetConfigValueStruct( const SteamNetworkingConfigValue_t &opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ); + + /// Get a configuration value. + /// - eValue: which value to fetch + /// - eScopeType: query setting on what type of object + /// - eScopeArg: the object to query the setting for + /// - pOutDataType: If non-NULL, the data type of the value is returned. + /// - pResult: Where to put the result. Pass NULL to query the required buffer size. (k_ESteamNetworkingGetConfigValue_BufferTooSmall will be returned.) + /// - cbResult: IN: the size of your buffer. OUT: the number of bytes filled in or required. + virtual ESteamNetworkingGetConfigValueResult GetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, + ESteamNetworkingConfigDataType *pOutDataType, void *pResult, size_t *cbResult ) = 0; + + /// Get info about a configuration value. Returns the name of the value, + /// or NULL if the value doesn't exist. Other output parameters can be NULL + /// if you do not need them. + virtual const char *GetConfigValueInfo( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigDataType *pOutDataType, + ESteamNetworkingConfigScope *pOutScope ) = 0; + + /// Iterate the list of all configuration values in the current environment that it might + /// be possible to display or edit using a generic UI. To get the first iterable value, + /// pass k_ESteamNetworkingConfig_Invalid. Returns k_ESteamNetworkingConfig_Invalid + /// to signal end of list. + /// + /// The bEnumerateDevVars argument can be used to include "dev" vars. These are vars that + /// are recommended to only be editable in "debug" or "dev" mode and typically should not be + /// shown in a retail environment where a malicious local user might use this to cheat. + virtual ESteamNetworkingConfigValue IterateGenericEditableConfigValues( ESteamNetworkingConfigValue eCurrent, bool bEnumerateDevVars ) = 0; + + // + // String conversions. You'll usually access these using the respective + // inline methods. + // + virtual void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr &addr, char *buf, size_t cbBuf, bool bWithPort ) = 0; + virtual bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr ) = 0; + virtual ESteamNetworkingFakeIPType SteamNetworkingIPAddr_GetFakeIPType( const SteamNetworkingIPAddr &addr ) = 0; + virtual void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity &identity, char *buf, size_t cbBuf ) = 0; + virtual bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, const char *pszStr ) = 0; + +protected: + ~ISteamNetworkingUtils(); // Silence some warnings +}; +#define STEAMNETWORKINGUTILS_INTERFACE_VERSION "SteamNetworkingUtils004" + +// Global accessors +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + // Standalone lib + static_assert( STEAMNETWORKINGUTILS_INTERFACE_VERSION[22] == '4', "Version mismatch" ); + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingUtils *SteamNetworkingUtils_LibV4(); + inline ISteamNetworkingUtils *SteamNetworkingUtils_Lib() { return SteamNetworkingUtils_LibV4(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_LibV4(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamNetworkingUtils *, SteamNetworkingUtils_SteamAPI, + /* Prefer user version of the interface. But if it isn't found, then use + gameserver one. Yes, this is a completely terrible hack */ + SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) ? + SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) : + SteamInternal_FindOrCreateGameServerInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ), + "global", + STEAMNETWORKINGUTILS_INTERFACE_VERSION + ) + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_SteamAPI(); } + #endif +#endif + +/// A struct used to describe our readiness to use the relay network. +/// To do this we first need to fetch the network configuration, +/// which describes what POPs are available. +struct SteamRelayNetworkStatus_t +{ + enum { k_iCallback = k_iSteamNetworkingUtilsCallbacks + 1 }; + + /// Summary status. When this is "current", initialization has + /// completed. Anything else means you are not ready yet, or + /// there is a significant problem. + ESteamNetworkingAvailability m_eAvail; + + /// Nonzero if latency measurement is in progress (or pending, + /// awaiting a prerequisite). + int m_bPingMeasurementInProgress; + + /// Status obtaining the network config. This is a prerequisite + /// for relay network access. + /// + /// Failure to obtain the network config almost always indicates + /// a problem with the local internet connection. + ESteamNetworkingAvailability m_eAvailNetworkConfig; + + /// Current ability to communicate with ANY relay. Note that + /// the complete failure to communicate with any relays almost + /// always indicates a problem with the local Internet connection. + /// (However, just because you can reach a single relay doesn't + /// mean that the local connection is in perfect health.) + ESteamNetworkingAvailability m_eAvailAnyRelay; + + /// Non-localized English language status. For diagnostic/debugging + /// purposes only. + char m_debugMsg[ 256 ]; +}; + +#ifndef API_GEN + +/// Utility class for printing a SteamNetworkingIdentity. +/// E.g. printf( "Identity is '%s'\n", SteamNetworkingIdentityRender( identity ).c_str() ); +struct SteamNetworkingIdentityRender +{ + SteamNetworkingIdentityRender( const SteamNetworkingIdentity &x ) { x.ToString( buf, sizeof(buf) ); } + inline const char *c_str() const { return buf; } +private: + char buf[ SteamNetworkingIdentity::k_cchMaxString ]; +}; + +/// Utility class for printing a SteamNetworkingIPAddrRender. +struct SteamNetworkingIPAddrRender +{ + SteamNetworkingIPAddrRender( const SteamNetworkingIPAddr &x, bool bWithPort = true ) { x.ToString( buf, sizeof(buf), bWithPort ); } + inline const char *c_str() const { return buf; } +private: + char buf[ SteamNetworkingIPAddr::k_cchMaxString ]; +}; + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// Internal stuff + +inline void ISteamNetworkingUtils::InitRelayNetworkAccess() { CheckPingDataUpToDate( 1e10f ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Int32, &val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueFloat( ESteamNetworkingConfigValue eValue, float val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Float, &val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueString( ESteamNetworkingConfigValue eValue, const char *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_String, val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValuePtr( ESteamNetworkingConfigValue eValue, void *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Ptr, &val ); } // Note: passing pointer to pointer. +inline bool ISteamNetworkingUtils::SetConnectionConfigValueInt32( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_Int32, &val ); } +inline bool ISteamNetworkingUtils::SetConnectionConfigValueFloat( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_Float, &val ); } +inline bool ISteamNetworkingUtils::SetConnectionConfigValueString( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_String, val ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamNetConnectionStatusChanged( FnSteamNetConnectionStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamNetAuthenticationStatusChanged( FnSteamNetAuthenticationStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_AuthStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamRelayNetworkStatusChanged( FnSteamRelayNetworkStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_RelayNetworkStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_FakeIPResult( FnSteamNetworkingFakeIPResult fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_FakeIPResult, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionRequest( FnSteamNetworkingMessagesSessionRequest fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_MessagesSessionRequest, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionFailed( FnSteamNetworkingMessagesSessionFailed fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_MessagesSessionFailed, (void*)fnCallback ); } + +inline bool ISteamNetworkingUtils::SetConfigValueStruct( const SteamNetworkingConfigValue_t &opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ) +{ + // Locate the argument. Strings are a special case, since the + // "value" (the whole string buffer) doesn't fit in the struct + // NOTE: for pointer values, we pass a pointer to the pointer, + // we do not pass the pointer directly. + const void *pVal = ( opt.m_eDataType == k_ESteamNetworkingConfig_String ) ? (const void *)opt.m_val.m_string : (const void *)&opt.m_val; + return SetConfigValue( opt.m_eValue, eScopeType, scopeObj, opt.m_eDataType, pVal ); +} + +// How to get helper functions. +#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) || defined(STEAMNETWORKINGSOCKETS_FOREXPORT) || defined( STEAMNETWORKINGSOCKETS_STANDALONELIB ) + + // Call direct to static functions + STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr *pAddr, char *buf, size_t cbBuf, bool bWithPort ); + STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr ); + STEAMNETWORKINGSOCKETS_INTERFACE ESteamNetworkingFakeIPType SteamNetworkingIPAddr_GetFakeIPType( const SteamNetworkingIPAddr *pAddr ); + STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity *pIdentity, char *buf, size_t cbBuf ); + STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, size_t sizeofIdentity, const char *pszStr ); + inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingIPAddr_ToString( this, buf, cbBuf, bWithPort ); } + inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingIPAddr_ParseString( this, pszStr ); } + inline ESteamNetworkingFakeIPType SteamNetworkingIPAddr::GetFakeIPType() const { return SteamNetworkingIPAddr_GetFakeIPType( this ); } + inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingIdentity_ToString( this, buf, cbBuf ); } + inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingIdentity_ParseString( this, sizeof(*this), pszStr ); } + +#elif defined( STEAMNETWORKINGSOCKETS_STEAMAPI ) + // Using steamworks SDK - go through SteamNetworkingUtils() + inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingUtils()->SteamNetworkingIPAddr_ToString( *this, buf, cbBuf, bWithPort ); } + inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIPAddr_ParseString( this, pszStr ); } + inline ESteamNetworkingFakeIPType SteamNetworkingIPAddr::GetFakeIPType() const { return SteamNetworkingUtils()->SteamNetworkingIPAddr_GetFakeIPType( *this ); } + inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingUtils()->SteamNetworkingIdentity_ToString( *this, buf, cbBuf ); } + inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIdentity_ParseString( this, pszStr ); } +#else + #error "Invalid config" +#endif + +#endif // ISTEAMNETWORKINGUTILS diff --git a/Steam/isteamparentalsettings.h b/Steam/isteamparentalsettings.h new file mode 100644 index 0000000..972e355 --- /dev/null +++ b/Steam/isteamparentalsettings.h @@ -0,0 +1,65 @@ +//====== Copyright � 2013-, Valve Corporation, All rights reserved. ======= +// +// Purpose: Interface to Steam parental settings (Family View) +// +//============================================================================= + +#ifndef ISTEAMPARENTALSETTINGS_H +#define ISTEAMPARENTALSETTINGS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// Feature types for parental settings +enum EParentalFeature +{ + k_EFeatureInvalid = 0, + k_EFeatureStore = 1, + k_EFeatureCommunity = 2, + k_EFeatureProfile = 3, + k_EFeatureFriends = 4, + k_EFeatureNews = 5, + k_EFeatureTrading = 6, + k_EFeatureSettings = 7, + k_EFeatureConsole = 8, + k_EFeatureBrowser = 9, + k_EFeatureParentalSetup = 10, + k_EFeatureLibrary = 11, + k_EFeatureTest = 12, + k_EFeatureSiteLicense = 13, + k_EFeatureKioskMode_Deprecated = 14, + k_EFeatureBlockAlways = 15, + k_EFeatureMax +}; + +class ISteamParentalSettings +{ +public: + virtual bool BIsParentalLockEnabled() = 0; + virtual bool BIsParentalLockLocked() = 0; + + virtual bool BIsAppBlocked( AppId_t nAppID ) = 0; + virtual bool BIsAppInBlockList( AppId_t nAppID ) = 0; + + virtual bool BIsFeatureBlocked( EParentalFeature eFeature ) = 0; + virtual bool BIsFeatureInBlockList( EParentalFeature eFeature ) = 0; +}; + +#define STEAMPARENTALSETTINGS_INTERFACE_VERSION "STEAMPARENTALSETTINGS_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamParentalSettings *SteamParentalSettings(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamParentalSettings *, SteamParentalSettings, STEAMPARENTALSETTINGS_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamParentalSettingsChanged_t +{ + enum { k_iCallback = k_ISteamParentalSettingsCallbacks + 1 }; +}; + + +#endif // ISTEAMPARENTALSETTINGS_H diff --git a/Steam/isteamps3overlayrenderer.h b/Steam/isteamps3overlayrenderer.h new file mode 100644 index 0000000..4e07d4a --- /dev/null +++ b/Steam/isteamps3overlayrenderer.h @@ -0,0 +1,91 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface the game must provide Steam with on PS3 in order for the +// Steam overlay to render. +// +//============================================================================= + +#ifndef ISTEAMPS3OVERLAYRENDERER_H +#define ISTEAMPS3OVERLAYRENDERER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "cell/pad.h" + +//----------------------------------------------------------------------------- +// Purpose: Enum for supported gradient directions +//----------------------------------------------------------------------------- +enum EOverlayGradientDirection +{ + k_EOverlayGradientHorizontal = 1, + k_EOverlayGradientVertical = 2, + k_EOverlayGradientNone = 3, +}; + +// Helpers for fetching individual color components from ARGB packed DWORD colors Steam PS3 overlay renderer uses. +#define STEAM_COLOR_RED( color ) \ + (int)(((color)>>16)&0xff) + +#define STEAM_COLOR_GREEN( color ) \ + (int)(((color)>>8)&0xff) + +#define STEAM_COLOR_BLUE( color ) \ + (int)((color)&0xff) + +#define STEAM_COLOR_ALPHA( color ) \ + (int)(((color)>>24)&0xff) + + +//----------------------------------------------------------------------------- +// Purpose: Interface the game must expose to Steam for rendering +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRenderHost +{ +public: + + // Interface for game engine to implement which Steam requires to render. + + // Draw a textured rect. This may use only part of the texture and will pass texture coords, it will also possibly request a gradient and will specify colors for vertexes. + virtual void DrawTexturedRect( int x0, int y0, int x1, int y1, float u0, float v0, float u1, float v1, int32 iTextureID, DWORD colorStart, DWORD colorEnd, EOverlayGradientDirection eDirection ) = 0; + + // Load a RGBA texture for Steam, or update a previously loaded one. Updates may be partial. You must not evict or remove this texture once Steam has uploaded it. + virtual void LoadOrUpdateTexture( int32 iTextureID, bool bIsFullTexture, int x0, int y0, uint32 uWidth, uint32 uHeight, int32 iBytes, char *pData ) = 0; + + // Delete a texture Steam previously uploaded + virtual void DeleteTexture( int32 iTextureID ) = 0; + + // Delete all previously uploaded textures + virtual void DeleteAllTextures() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Interface Steam exposes for the game to tell it when to render, etc. +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRender +{ +public: + + // Call once at startup to initialize the Steam overlay and pass it your host interface ptr + virtual bool BHostInitialize( uint32 unScreenWidth, uint32 unScreenHeight, uint32 unRefreshRate, ISteamPS3OverlayRenderHost *pRenderHost, void *CellFontLib ) = 0; + + // Call this once a frame when you are ready for the Steam overlay to render (ie, right before flipping buffers, after all your rendering) + virtual void Render() = 0; + + // Call this everytime you read input on PS3. + // + // If this returns true, then the overlay is active and has consumed the input, your game + // should then ignore all the input until BHandleCellPadData once again returns false, which + // will mean the overlay is deactivated. + virtual bool BHandleCellPadData( const CellPadData &padData ) = 0; + + // Call this if you detect no controllers connected or that the XMB is intercepting input + // + // This is important to clear input state for the overlay, so keys left down during XMB activation + // are not continued to be processed. + virtual bool BResetInputState() = 0; +}; + + +#endif // ISTEAMPS3OVERLAYRENDERER_H \ No newline at end of file diff --git a/Steam/isteamremoteplay.h b/Steam/isteamremoteplay.h new file mode 100644 index 0000000..df5ca3f --- /dev/null +++ b/Steam/isteamremoteplay.h @@ -0,0 +1,99 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMREMOTEPLAY_H +#define ISTEAMREMOTEPLAY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +//----------------------------------------------------------------------------- +// Purpose: The form factor of a device +//----------------------------------------------------------------------------- +enum ESteamDeviceFormFactor +{ + k_ESteamDeviceFormFactorUnknown = 0, + k_ESteamDeviceFormFactorPhone = 1, + k_ESteamDeviceFormFactorTablet = 2, + k_ESteamDeviceFormFactorComputer = 3, + k_ESteamDeviceFormFactorTV = 4, + k_ESteamDeviceFormFactorVRHeadset = 5, +}; + +// Steam Remote Play session ID +typedef uint32 RemotePlaySessionID_t; + + +//----------------------------------------------------------------------------- +// Purpose: Functions to provide information about Steam Remote Play sessions +//----------------------------------------------------------------------------- +class ISteamRemotePlay +{ +public: + // Get the number of currently connected Steam Remote Play sessions + virtual uint32 GetSessionCount() = 0; + + // 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; + + // Get the SteamID of the connected user + virtual CSteamID GetSessionSteamID( 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; + + // Get the form factor of the session client device + virtual ESteamDeviceFormFactor GetSessionClientFormFactor( RemotePlaySessionID_t unSessionID ) = 0; + + // Get the resolution, in pixels, of the session client device + // This is set to 0x0 if the resolution is not available + virtual bool BGetSessionClientResolution( RemotePlaySessionID_t unSessionID, int *pnResolutionX, int *pnResolutionY ) = 0; + + // Start Remote Play Together and optionally show the UI in the overlay + // This returns false if Remote Play Together can't be started or your game is not configured for Remote Play Together + virtual bool BStartRemotePlayTogether( bool bShowOverlay = true ) = 0; + + // Invite a friend to Remote Play Together, or create a guest invite if steamIDFriend is empty + // This will automatically start Remote Play Together if it hasn't already been started + // This returns false if the invite can't be sent or your game is not configured for Remote Play Together + virtual bool BSendRemotePlayTogetherInvite( CSteamID steamIDFriend ) = 0; +}; + +#define STEAMREMOTEPLAY_INTERFACE_VERSION "STEAMREMOTEPLAY_INTERFACE_VERSION002" + +// Global interface accessor +inline ISteamRemotePlay *SteamRemotePlay(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemotePlay *, SteamRemotePlay, STEAMREMOTEPLAY_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionConnected_t, k_iSteamRemotePlayCallbacks + 1 ) + STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID ) +STEAM_CALLBACK_END( 0 ) + + +STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionDisconnected_t, k_iSteamRemotePlayCallbacks + 2 ) + STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID ) +STEAM_CALLBACK_END( 0 ) + + +STEAM_CALLBACK_BEGIN( SteamRemotePlayTogetherGuestInvite_t, k_iSteamRemotePlayCallbacks + 3 ) + STEAM_CALLBACK_MEMBER_ARRAY( 0, char, m_szConnectURL, 1024 ) +STEAM_CALLBACK_END( 0 ) + + +#pragma pack( pop ) + + +#endif // #define ISTEAMREMOTEPLAY_H diff --git a/Steam/isteamremotestorage.h b/Steam/isteamremotestorage.h new file mode 100644 index 0000000..c0da367 --- /dev/null +++ b/Steam/isteamremotestorage.h @@ -0,0 +1,661 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMREMOTESTORAGE_H +#define ISTEAMREMOTESTORAGE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +//----------------------------------------------------------------------------- +// Purpose: Defines the largest allowed file size. Cloud files cannot be written +// in a single chunk over 100MB (and cannot be over 200MB total.) +//----------------------------------------------------------------------------- +const uint32 k_unMaxCloudFileChunkSize = 100 * 1024 * 1024; + + +//----------------------------------------------------------------------------- +// Purpose: Structure that contains an array of const char * strings and the number of those strings +//----------------------------------------------------------------------------- +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct SteamParamStringArray_t +{ + const char ** m_ppStrings; + int32 m_nNumStrings; +}; +#pragma pack( pop ) + +// A handle to a piece of user generated content +typedef uint64 UGCHandle_t; +typedef uint64 PublishedFileUpdateHandle_t; +typedef uint64 PublishedFileId_t; +const PublishedFileId_t k_PublishedFileIdInvalid = 0; +const UGCHandle_t k_UGCHandleInvalid = 0xffffffffffffffffull; +const PublishedFileUpdateHandle_t k_PublishedFileUpdateHandleInvalid = 0xffffffffffffffffull; + +// Handle for writing to Steam Cloud +typedef uint64 UGCFileWriteStreamHandle_t; +const UGCFileWriteStreamHandle_t k_UGCFileStreamHandleInvalid = 0xffffffffffffffffull; + +const uint32 k_cchPublishedDocumentTitleMax = 128 + 1; +const uint32 k_cchPublishedDocumentDescriptionMax = 8000; +const uint32 k_cchPublishedDocumentChangeDescriptionMax = 8000; +const uint32 k_unEnumeratePublishedFilesMaxResults = 50; +const uint32 k_cchTagListMax = 1024 + 1; +const uint32 k_cchFilenameMax = 260; +const uint32 k_cchPublishedFileURLMax = 256; + + +enum ERemoteStoragePlatform +{ + k_ERemoteStoragePlatformNone = 0, + k_ERemoteStoragePlatformWindows = (1 << 0), + k_ERemoteStoragePlatformOSX = (1 << 1), + k_ERemoteStoragePlatformPS3 = (1 << 2), + k_ERemoteStoragePlatformLinux = (1 << 3), + k_ERemoteStoragePlatformSwitch = (1 << 4), + k_ERemoteStoragePlatformAndroid = (1 << 5), + k_ERemoteStoragePlatformIOS = (1 << 6), + // NB we get one more before we need to widen some things + + k_ERemoteStoragePlatformAll = 0xffffffff +}; + +enum ERemoteStoragePublishedFileVisibility +{ + k_ERemoteStoragePublishedFileVisibilityPublic = 0, + k_ERemoteStoragePublishedFileVisibilityFriendsOnly = 1, + k_ERemoteStoragePublishedFileVisibilityPrivate = 2, + k_ERemoteStoragePublishedFileVisibilityUnlisted = 3, +}; + + +enum EWorkshopFileType +{ + k_EWorkshopFileTypeFirst = 0, + + k_EWorkshopFileTypeCommunity = 0, // normal Workshop item that can be subscribed to + k_EWorkshopFileTypeMicrotransaction = 1, // Workshop item that is meant to be voted on for the purpose of selling in-game + k_EWorkshopFileTypeCollection = 2, // a collection of Workshop or Greenlight items + k_EWorkshopFileTypeArt = 3, // artwork + k_EWorkshopFileTypeVideo = 4, // external video + k_EWorkshopFileTypeScreenshot = 5, // screenshot + k_EWorkshopFileTypeGame = 6, // Greenlight game entry + k_EWorkshopFileTypeSoftware = 7, // Greenlight software entry + k_EWorkshopFileTypeConcept = 8, // Greenlight concept + k_EWorkshopFileTypeWebGuide = 9, // Steam web guide + k_EWorkshopFileTypeIntegratedGuide = 10, // application integrated guide + k_EWorkshopFileTypeMerch = 11, // Workshop merchandise meant to be voted on for the purpose of being sold + k_EWorkshopFileTypeControllerBinding = 12, // Steam Controller bindings + k_EWorkshopFileTypeSteamworksAccessInvite = 13, // internal + k_EWorkshopFileTypeSteamVideo = 14, // Steam video + k_EWorkshopFileTypeGameManagedItem = 15, // managed completely by the game, not the user, and not shown on the web + k_EWorkshopFileTypeClip = 16, // internal + + // Update k_EWorkshopFileTypeMax if you add values. + k_EWorkshopFileTypeMax = 17 + +}; + +enum EWorkshopVote +{ + k_EWorkshopVoteUnvoted = 0, + k_EWorkshopVoteFor = 1, + k_EWorkshopVoteAgainst = 2, + k_EWorkshopVoteLater = 3, +}; + +enum EWorkshopFileAction +{ + k_EWorkshopFileActionPlayed = 0, + k_EWorkshopFileActionCompleted = 1, +}; + +enum EWorkshopEnumerationType +{ + k_EWorkshopEnumerationTypeRankedByVote = 0, + k_EWorkshopEnumerationTypeRecent = 1, + k_EWorkshopEnumerationTypeTrending = 2, + k_EWorkshopEnumerationTypeFavoritesOfFriends = 3, + k_EWorkshopEnumerationTypeVotedByFriends = 4, + k_EWorkshopEnumerationTypeContentByFriends = 5, + k_EWorkshopEnumerationTypeRecentFromFollowedUsers = 6, +}; + +enum EWorkshopVideoProvider +{ + k_EWorkshopVideoProviderNone = 0, + k_EWorkshopVideoProviderYoutube = 1 +}; + + +enum EUGCReadAction +{ + // Keeps the file handle open unless the last byte is read. You can use this when reading large files (over 100MB) in sequential chunks. + // If the last byte is read, this will behave the same as k_EUGCRead_Close. Otherwise, it behaves the same as k_EUGCRead_ContinueReading. + // This value maintains the same behavior as before the EUGCReadAction parameter was introduced. + k_EUGCRead_ContinueReadingUntilFinished = 0, + + // Keeps the file handle open. Use this when using UGCRead to seek to different parts of the file. + // When you are done seeking around the file, make a final call with k_EUGCRead_Close to close it. + k_EUGCRead_ContinueReading = 1, + + // Frees the file handle. Use this when you're done reading the content. + // To read the file from Steam again you will need to call UGCDownload again. + k_EUGCRead_Close = 2, +}; + +enum ERemoteStorageLocalFileChange +{ + k_ERemoteStorageLocalFileChange_Invalid = 0, + + // The file was updated from another device + k_ERemoteStorageLocalFileChange_FileUpdated = 1, + + // The file was deleted by another device + k_ERemoteStorageLocalFileChange_FileDeleted = 2, +}; + +enum ERemoteStorageFilePathType +{ + k_ERemoteStorageFilePathType_Invalid = 0, + + // The file is directly accessed by the game and this is the full path + k_ERemoteStorageFilePathType_Absolute = 1, + + // The file is accessed via the ISteamRemoteStorage API and this is the filename + k_ERemoteStorageFilePathType_APIFilename = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing, reading and writing files stored remotely +// and cached locally +//----------------------------------------------------------------------------- +class ISteamRemoteStorage +{ + public: + // NOTE + // + // Filenames are case-insensitive, and will be converted to lowercase automatically. + // So "foo.bar" and "Foo.bar" are the same file, and if you write "Foo.bar" then + // iterate the files, the filename returned will be "foo.bar". + // + + // file operations + virtual bool FileWrite( const char *pchFile, const void *pvData, int32 cubData ) = 0; + virtual int32 FileRead( const char *pchFile, void *pvData, int32 cubDataToRead ) = 0; + + STEAM_CALL_RESULT( RemoteStorageFileWriteAsyncComplete_t ) + virtual SteamAPICall_t FileWriteAsync( const char *pchFile, const void *pvData, uint32 cubData ) = 0; + + STEAM_CALL_RESULT( RemoteStorageFileReadAsyncComplete_t ) + virtual SteamAPICall_t FileReadAsync( const char *pchFile, uint32 nOffset, uint32 cubToRead ) = 0; + virtual bool FileReadAsyncComplete( SteamAPICall_t hReadCall, void *pvBuffer, uint32 cubToRead ) = 0; + + virtual bool FileForget( const char *pchFile ) = 0; + virtual bool FileDelete( const char *pchFile ) = 0; + STEAM_CALL_RESULT( RemoteStorageFileShareResult_t ) + virtual SteamAPICall_t FileShare( const char *pchFile ) = 0; + virtual bool SetSyncPlatforms( const char *pchFile, ERemoteStoragePlatform eRemoteStoragePlatform ) = 0; + + // file operations that cause network IO + virtual UGCFileWriteStreamHandle_t FileWriteStreamOpen( const char *pchFile ) = 0; + virtual bool FileWriteStreamWriteChunk( UGCFileWriteStreamHandle_t writeHandle, const void *pvData, int32 cubData ) = 0; + virtual bool FileWriteStreamClose( UGCFileWriteStreamHandle_t writeHandle ) = 0; + virtual bool FileWriteStreamCancel( UGCFileWriteStreamHandle_t writeHandle ) = 0; + + // file information + virtual bool FileExists( const char *pchFile ) = 0; + virtual bool FilePersisted( const char *pchFile ) = 0; + virtual int32 GetFileSize( const char *pchFile ) = 0; + virtual int64 GetFileTimestamp( const char *pchFile ) = 0; + virtual ERemoteStoragePlatform GetSyncPlatforms( const char *pchFile ) = 0; + + // iteration + virtual int32 GetFileCount() = 0; + virtual const char *GetFileNameAndSize( int iFile, int32 *pnFileSizeInBytes ) = 0; + + // configuration management + virtual bool GetQuota( uint64 *pnTotalBytes, uint64 *puAvailableBytes ) = 0; + virtual bool IsCloudEnabledForAccount() = 0; + virtual bool IsCloudEnabledForApp() = 0; + virtual void SetCloudEnabledForApp( bool bEnabled ) = 0; + + // user generated content + + // Downloads a UGC file. A priority value of 0 will download the file immediately, + // otherwise it will wait to download the file until all downloads with a lower priority + // value are completed. Downloads with equal priority will occur simultaneously. + STEAM_CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownload( UGCHandle_t hContent, uint32 unPriority ) = 0; + + // Gets the amount of data downloaded so far for a piece of content. pnBytesExpected can be 0 if function returns false + // or if the transfer hasn't started yet, so be careful to check for that before dividing to get a percentage + virtual bool GetUGCDownloadProgress( UGCHandle_t hContent, int32 *pnBytesDownloaded, int32 *pnBytesExpected ) = 0; + + // Gets metadata for a file after it has been downloaded. This is the same metadata given in the RemoteStorageDownloadUGCResult_t call result + virtual bool GetUGCDetails( UGCHandle_t hContent, AppId_t *pnAppID, STEAM_OUT_STRING() char **ppchName, int32 *pnFileSizeInBytes, STEAM_OUT_STRUCT() CSteamID *pSteamIDOwner ) = 0; + + // After download, gets the content of the file. + // Small files can be read all at once by calling this function with an offset of 0 and cubDataToRead equal to the size of the file. + // Larger files can be read in chunks to reduce memory usage (since both sides of the IPC client and the game itself must allocate + // enough memory for each chunk). Once the last byte is read, the file is implicitly closed and further calls to UGCRead will fail + // unless UGCDownload is called again. + // For especially large files (anything over 100MB) it is a requirement that the file is read in chunks. + virtual int32 UGCRead( UGCHandle_t hContent, void *pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction ) = 0; + + // Functions to iterate through UGC that has finished downloading but has not yet been read via UGCRead() + virtual int32 GetCachedUGCCount() = 0; + virtual UGCHandle_t GetCachedUGCHandle( int32 iCachedContent ) = 0; + + // publishing UGC + STEAM_CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishWorkshopFile( const char *pchFile, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags, EWorkshopFileType eWorkshopFileType ) = 0; + virtual PublishedFileUpdateHandle_t CreatePublishedFileUpdateRequest( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileFile( PublishedFileUpdateHandle_t updateHandle, const char *pchFile ) = 0; + virtual bool UpdatePublishedFilePreviewFile( PublishedFileUpdateHandle_t updateHandle, const char *pchPreviewFile ) = 0; + virtual bool UpdatePublishedFileTitle( PublishedFileUpdateHandle_t updateHandle, const char *pchTitle ) = 0; + virtual bool UpdatePublishedFileDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchDescription ) = 0; + virtual bool UpdatePublishedFileVisibility( PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; + virtual bool UpdatePublishedFileTags( PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t *pTags ) = 0; + STEAM_CALL_RESULT( RemoteStorageUpdatePublishedFileResult_t ) + virtual SteamAPICall_t CommitPublishedFileUpdate( PublishedFileUpdateHandle_t updateHandle ) = 0; + // Gets published file details for the given publishedfileid. If unMaxSecondsOld is greater than 0, + // cached data may be returned, depending on how long ago it was cached. A value of 0 will force a refresh. + // A value of k_WorkshopForceLoadPublishedFileDetailsFromCache will use cached data if it exists, no matter how old it is. + STEAM_CALL_RESULT( RemoteStorageGetPublishedFileDetailsResult_t ) + virtual SteamAPICall_t GetPublishedFileDetails( PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld ) = 0; + STEAM_CALL_RESULT( RemoteStorageDeletePublishedFileResult_t ) + virtual SteamAPICall_t DeletePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + // enumerate the files that the current user published with this app + STEAM_CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserPublishedFiles( uint32 unStartIndex ) = 0; + STEAM_CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumerateUserSubscribedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSubscribedFiles( uint32 unStartIndex ) = 0; + STEAM_CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileSetChangeDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchChangeDescription ) = 0; + STEAM_CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageUpdateUserPublishedItemVoteResult_t ) + virtual SteamAPICall_t UpdateUserPublishedItemVote( PublishedFileId_t unPublishedFileId, bool bVoteUp ) = 0; + STEAM_CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetUserPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSharedWorkshopFiles( CSteamID steamId, uint32 unStartIndex, SteamParamStringArray_t *pRequiredTags, SteamParamStringArray_t *pExcludedTags ) = 0; + STEAM_CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishVideo( EWorkshopVideoProvider eVideoProvider, const char *pchVideoAccount, const char *pchVideoIdentifier, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags ) = 0; + STEAM_CALL_RESULT( RemoteStorageSetUserPublishedFileActionResult_t ) + virtual SteamAPICall_t SetUserPublishedFileAction( PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumeratePublishedFilesByUserActionResult_t ) + virtual SteamAPICall_t EnumeratePublishedFilesByUserAction( EWorkshopFileAction eAction, uint32 unStartIndex ) = 0; + // this method enumerates the public view of workshop files + STEAM_CALL_RESULT( RemoteStorageEnumerateWorkshopFilesResult_t ) + virtual SteamAPICall_t EnumeratePublishedWorkshopFiles( EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t *pTags, SteamParamStringArray_t *pUserTags ) = 0; + + STEAM_CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *pchLocation, uint32 unPriority ) = 0; + + // Cloud dynamic state change notification + virtual int32 GetLocalFileChangeCount() = 0; + virtual const char *GetLocalFileChange( int iFile, ERemoteStorageLocalFileChange *pEChangeType, ERemoteStorageFilePathType *pEFilePathType ) = 0; + + // Indicate to Steam the beginning / end of a set of local file + // operations - for example, writing a game save that requires updating two files. + virtual bool BeginFileWriteBatch() = 0; + virtual bool EndFileWriteBatch() = 0; +}; + +#define STEAMREMOTESTORAGE_INTERFACE_VERSION "STEAMREMOTESTORAGE_INTERFACE_VERSION016" + +// Global interface accessor +inline ISteamRemoteStorage *SteamRemoteStorage(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemoteStorage *, SteamRemoteStorage, STEAMREMOTESTORAGE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to FileShare() +//----------------------------------------------------------------------------- +struct RemoteStorageFileShareResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 7 }; + EResult m_eResult; // The result of the operation + UGCHandle_t m_hFile; // The handle that can be shared with users and features + char m_rgchFilename[k_cchFilenameMax]; // The name of the file that was shared +}; + + +// k_iSteamRemoteStorageCallbacks + 8 is deprecated! Do not reuse + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to PublishFile() +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 9 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + +// k_iSteamRemoteStorageCallbacks + 10 is deprecated! Do not reuse + + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeletePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageDeletePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 11 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateUserPublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserPublishedFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 12 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageSubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 13 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateSubscribePublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserSubscribedFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 14 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeSubscribed[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +#if defined(VALVE_CALLBACK_PACK_SMALL) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 ); +#elif defined(VALVE_CALLBACK_PACK_LARGE) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 + 4 ); +#else +#warning You must first include steam_api_common.h +#endif + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UnsubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageUnsubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 15 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to CommitPublishedFileUpdate() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdatePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 16 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UGCDownload() +//----------------------------------------------------------------------------- +struct RemoteStorageDownloadUGCResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 17 }; + EResult m_eResult; // The result of the operation. + UGCHandle_t m_hFile; // The handle to the file that was attempted to be downloaded. + AppId_t m_nAppID; // ID of the app that created this file. + int32 m_nSizeInBytes; // The size of the file that was downloaded, in bytes. + char m_pchFileName[k_cchFilenameMax]; // The name of the file that was downloaded. + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetPublishedFileDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedFileDetailsResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 18 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + ERemoteStoragePublishedFileVisibility m_eVisibility; + bool m_bBanned; + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_pchFileName[k_cchFilenameMax]; // The name of the primary file + int32 m_nFileSize; // Size of the primary file + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + EWorkshopFileType m_eFileType; // Type of the file + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop +}; + + +struct RemoteStorageEnumerateWorkshopFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 19 }; + EResult m_eResult; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + float m_rgScore[ k_unEnumeratePublishedFilesMaxResults ]; + AppId_t m_nAppId; + uint32 m_unStartIndex; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of GetPublishedItemVoteDetails +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedItemVoteDetailsResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 20 }; + EResult m_eResult; + PublishedFileId_t m_unPublishedFileId; + int32 m_nVotesFor; + int32 m_nVotesAgainst; + int32 m_nReports; + float m_fScore; +}; + + +//----------------------------------------------------------------------------- +// Purpose: User subscribed to a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileSubscribed_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 21 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + +//----------------------------------------------------------------------------- +// Purpose: User unsubscribed from a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUnsubscribed_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 22 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Published file that a user owns was deleted (from within the app or the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileDeleted_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 23 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UpdateUserPublishedItemVote() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdateUserPublishedItemVoteResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 24 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserPublishedItemVoteDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageUserVoteDetails_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 25 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopVote m_eVote; // what the user voted +}; + +struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 26 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +struct RemoteStorageSetUserPublishedFileActionResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 27 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopFileAction m_eAction; // the action that was attempted +}; + +struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 28 }; + EResult m_eResult; // The result of the operation. + EWorkshopFileAction m_eAction; // the action that was filtered on + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeUpdated[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called periodically while a PublishWorkshopFile is in progress +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileProgress_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 29 }; + double m_dPercentFile; + bool m_bPreview; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called when the content for a published file is updated +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUpdated_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 30 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. + uint64 m_ulUnused; // not used anymore +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileWriteAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileWriteAsyncComplete_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 31 }; + EResult m_eResult; // result +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileReadAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileReadAsyncComplete_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 32 }; + SteamAPICall_t m_hFileReadAsync; // call handle of the async read which was made + EResult m_eResult; // result + uint32 m_nOffset; // offset in the file this read was at + uint32 m_cubRead; // amount read - will the <= the amount requested +}; + +//----------------------------------------------------------------------------- +// Purpose: one or more files for this app have changed locally after syncing +// to remote session changes +// Note: only posted if this happens DURING the local app session +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( RemoteStorageLocalFileChange_t, k_iSteamRemoteStorageCallbacks + 33 ) +STEAM_CALLBACK_END( 0 ) + +#pragma pack( pop ) + + +#endif // ISTEAMREMOTESTORAGE_H diff --git a/Steam/isteamscreenshots.h b/Steam/isteamscreenshots.h new file mode 100644 index 0000000..1824268 --- /dev/null +++ b/Steam/isteamscreenshots.h @@ -0,0 +1,120 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMSCREENSHOTS_H +#define ISTEAMSCREENSHOTS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +const uint32 k_nScreenshotMaxTaggedUsers = 32; +const uint32 k_nScreenshotMaxTaggedPublishedFiles = 32; +const int k_cubUFSTagTypeMax = 255; +const int k_cubUFSTagValueMax = 255; + +// Required with of a thumbnail provided to AddScreenshotToLibrary. If you do not provide a thumbnail +// one will be generated. +const int k_ScreenshotThumbWidth = 200; + +// Handle is valid for the lifetime of your process and no longer +typedef uint32 ScreenshotHandle; +#define INVALID_SCREENSHOT_HANDLE 0 + +enum EVRScreenshotType +{ + k_EVRScreenshotType_None = 0, + k_EVRScreenshotType_Mono = 1, + k_EVRScreenshotType_Stereo = 2, + k_EVRScreenshotType_MonoCubemap = 3, + k_EVRScreenshotType_MonoPanorama = 4, + k_EVRScreenshotType_StereoPanorama = 5 +}; + +//----------------------------------------------------------------------------- +// Purpose: Functions for adding screenshots to the user's screenshot library +//----------------------------------------------------------------------------- +class ISteamScreenshots +{ +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. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, 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; + + // Tags a published file as being visible in the screenshot + virtual bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID ) = 0; + + // Returns true if the app has hooked the screenshot + virtual bool IsScreenshotsHooked() = 0; + + // Adds a VR screenshot to the user's screenshot library from disk in the supported type. + // pchFilename should be the normal 2D image used in the library view + // pchVRFilename should contain the image that matches the correct type + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename ) = 0; +}; + +#define STEAMSCREENSHOTS_INTERFACE_VERSION "STEAMSCREENSHOTS_INTERFACE_VERSION003" + +// Global interface accessor +inline ISteamScreenshots *SteamScreenshots(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamScreenshots *, SteamScreenshots, STEAMSCREENSHOTS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +//----------------------------------------------------------------------------- +// Purpose: Screenshot successfully written or otherwise added to the library +// and can now be tagged +//----------------------------------------------------------------------------- +struct ScreenshotReady_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 1 }; + ScreenshotHandle m_hLocal; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: Screenshot has been requested by the user. Only sent if +// HookScreenshots() has been called, in which case Steam will not take +// the screenshot itself. +//----------------------------------------------------------------------------- +struct ScreenshotRequested_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMSCREENSHOTS_H + diff --git a/Steam/isteamtimeline.h b/Steam/isteamtimeline.h new file mode 100644 index 0000000..6ed12f8 --- /dev/null +++ b/Steam/isteamtimeline.h @@ -0,0 +1,261 @@ +//====== Copyright � Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Timeline +// +//============================================================================= + +#ifndef ISTEAMTIMELINE_H +#define ISTEAMTIMELINE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +// Controls the color of the timeline bar segments. The value names listed here map to a multiplayer game, where +// the user starts a game (in menus), then joins a multiplayer session that first has a character selection lobby +// then finally the multiplayer session starts. However, you can also map these values to any type of game. In a single +// player game where you visit towns & dungeons, you could set k_ETimelineGameMode_Menus when the player is in a town +// buying items, k_ETimelineGameMode_Staging for when a dungeon is loading and k_ETimelineGameMode_Playing for when +// inside the dungeon fighting monsters. +enum ETimelineGameMode +{ + k_ETimelineGameMode_Invalid = 0, + k_ETimelineGameMode_Playing = 1, + k_ETimelineGameMode_Staging = 2, + k_ETimelineGameMode_Menus = 3, + k_ETimelineGameMode_LoadingScreen = 4, + + k_ETimelineGameMode_Max, // one past the last valid value +}; + +// Used in AddTimelineEvent, where Featured events will be offered before Standard events +enum ETimelineEventClipPriority +{ + k_ETimelineEventClipPriority_Invalid = 0, + k_ETimelineEventClipPriority_None = 1, + k_ETimelineEventClipPriority_Standard = 2, + k_ETimelineEventClipPriority_Featured = 3, +}; + + +const uint32 k_unMaxTimelinePriority = 1000; +const uint32 k_unTimelinePriority_KeepCurrentValue = 1000000; // Use with UpdateRangeTimelineEvent to not change the priority +const float k_flMaxTimelineEventDuration = 600.f; +const uint32 k_cchMaxPhaseIDLength = 64; + +typedef uint64 TimelineEventHandle_t; + + +//----------------------------------------------------------------------------- +// Purpose: Steam Timeline API +//----------------------------------------------------------------------------- +class ISteamTimeline +{ +public: + + // Sets a description for the current game state in the timeline. These help the user to find specific + // moments in the timeline when saving clips. Setting a new state description replaces any previous + // description. + // + // Examples could include: + // * Where the user is in the world in a single player game + // * Which round is happening in a multiplayer game + // * The current score for a sports game + // + // Parameters: + // - pchDescription: provide a localized string in the language returned by SteamUtils()->GetSteamUILanguage() + // - flTimeDelta: The time offset in seconds to apply to this event. Negative times indicate an + // event that happened in the past. + virtual void SetTimelineTooltip( const char *pchDescription, float flTimeDelta ) = 0; + virtual void ClearTimelineTooltip( float flTimeDelta ) = 0; + + // Changes the color of the timeline bar. See ETimelineGameMode comments for how to use each value + virtual void SetTimelineGameMode( ETimelineGameMode eMode ) = 0; + + /******************* Timeline Events *******************/ + + // The following functions add events and/or tags to the timeline. There are helpers to add simple events or tags in a single call. + // or you can use StartEvent and CloseEvent to customize what gets added. + // + // Examples of events to add could include: + // * a boss battle + // * a cut scene + // * a large team fight + // * picking up a new weapon or ammunition + // * scoring a goal + // + // Adding an event and a time range with the simple API: + // SteamTimeline()->AddSimpleTimelineEvent( "steam_heart", Localize( "#user healed" ), Localize( "#health_amount", 27 ), 15, 0, 0, k_ETimelineEventClipPriority_None ); + // SteamTimeline()->AddTaggedTimeRange( Localize( "#player_resting" ), "steam_flag", /* don't show filter */nullptr, 15, /* start now */0, 10 ); + // SteamTimeline()->AddTaggedTimeRange( Localize( "#player_cast_light" ), "steam_starburst", Localize( "#player_spells" ), 10, /* start 10 sec ago */ -10, 5 ); + // + // Adding a marker and time range in one event: + // TimelineEventHandle_t event = SteamTimeline()->StartEvent( /* start now */ 0 ); + // SteamTimeline()->ShowEventOnTimeline( event, "steam_heart", Localize( "#player_healed" ), Localize( "#player_healed_amount", 27 ), 15 ); + // SteamTimeline()->AddEventTag( event, Localize( "#player_cast_heal" ), "steam_heart", Localize( "#player_, 15, /* start now */0, 10 ); + // ... // time passes + // SteamTimeline()->CloseEvent( event ); + // + // Parameters used by the event functions: + // + // - ulOpenEvent: An event returned by StartEvent that has not yet had CancelEvent or CloseEvent called on it + // - ulEvent: An event that has had CloseEvent called on it, or an event returned from AddSimpleTimelineEvent or AddTaggedTimeRange (which + // are closed automatically.) + // - pchIcon: specify the name of the icon uploaded through the Steamworks Partner Site for your title + // or one of the provided icons that start with steam_ + // - pchTitle & pchDescription: provide a localized string in the language returned by + // SteamUtils()->GetSteamUILanguage() + // - unIconPriority: specify how important this range is compared to other markers provided by the game. + // Ranges with larger priority values will be displayed more prominently in the UI. This value + // may be between 0 and k_unMaxTimelinePriority. + // - flStartOffsetSeconds: The time that this range started relative to now. Negative times + // indicate an event that happened in the past. + // - flDurationSeconds: How long the time range should be in seconds. For instantaneous events, this + // should be 0 + // - ePossibleClip: By setting this parameter to Featured or Standard, the game indicates to Steam that it + // would be appropriate to offer this range as a clip to the user. For instantaneous events, the + // suggested clip will be for a short time before and after the event itself. + // - pchTagIcon: specify an icon name that will be used next to the tag name in the UI + // - pchTagName: The localized name of the tag to show in the UI. + // - pchTagGroup: The localized name of the tag group to show in the UI. If this is not specified, users will not be able to filter by this tag + // - unTagPriority: specify how important this tag is compared to other tags provided by the game. + // Returns: + // A TimelineEventHandle_t that can be used to make subsequent calls to refer to the timeline event. This event handle is invalid + // after the game exits. + + // quick helpers that add to the timeline in one call + virtual TimelineEventHandle_t AddInstantaneousTimelineEvent( const char *pchTitle, const char *pchDescription, const char *pchIcon, uint32 unIconPriority, float flStartOffsetSeconds = 0.f, ETimelineEventClipPriority ePossibleClip = k_ETimelineEventClipPriority_None ) = 0; + virtual TimelineEventHandle_t AddRangeTimelineEvent( const char *pchTitle, const char *pchDescription, const char *pchIcon, uint32 unIconPriority, float flStartOffsetSeconds = 0.f, float flDuration = 0.f, ETimelineEventClipPriority ePossibleClip = k_ETimelineEventClipPriority_None ) = 0; + + // Starts a timeline event at a the current time, plus an offset in seconds. This event must be ended with EndRangeTimelineEvent. + // Any timeline events that have not been ended when the game exits will be discarded. + virtual TimelineEventHandle_t StartRangeTimelineEvent( const char *pchTitle, const char *pchDescription, const char *pchIcon, uint32 unPriority, float flStartOffsetSeconds, ETimelineEventClipPriority ePossibleClip ) = 0; + + // Updates fields on a range timeline event that was started with StartRangeTimelineEvent, and which has not been ended. + virtual void UpdateRangeTimelineEvent( TimelineEventHandle_t ulEvent, const char *pchTitle, const char *pchDescription, const char *pchIcon, uint32 unPriority, ETimelineEventClipPriority ePossibleClip ) = 0; + + // Ends a range timeline event and shows it in the UI. + virtual void EndRangeTimelineEvent( TimelineEventHandle_t ulEvent, float flEndOffsetSeconds ) = 0; + + // delete the event from the timeline. This can be called on a timeline event from AddInstantaneousTimelineEvent, + // AddRangeTimelineEvent, or StartRangeTimelineEvent/EndRangeTimelineEvent. The timeline event handle must be from the + // current game process. + virtual void RemoveTimelineEvent( TimelineEventHandle_t ulEvent ) = 0; + + // add a tag to whatever time range is represented by the event + STEAM_CALL_RESULT( SteamTimelineEventRecordingExists_t ) + virtual SteamAPICall_t DoesEventRecordingExist( TimelineEventHandle_t ulEvent ) = 0; + + /******************* Game Phases *******************/ + + // Game phases allow the user to navigate their background recordings and clips. Exactly what a game phase means will vary game to game, but + // the game phase should be a section of gameplay that is usually between 10 minutes and a few hours in length, and should be the + // main way a user would think to divide up the game. These are presented to the user in a UI that shows the date the game was played, + // with one row per game slice. Game phases should be used to mark sections of gameplay that the user might be interested in watching. + // + // Examples could include: + // * A single match in a multiplayer PvP game + // * A chapter of a story-based singleplayer game + // * A single run in a roguelike + // + // Game phases are started with StartGamePhase, and while a phase is still happening, they can have tags and attributes added to them. + // + // Phase attributes represent generic text fields that can be updated throughout the duration of the phase. They are meant + // to be used for phase metadata that is not part of a well defined set of options. For example, a KDA attribute that starts + // with the value "0/0/0" and updates as the phase progresses, or something like a played-entered character name. Attributes + // can be set as many times as the game likes with SetGamePhaseAttribute, and only the last value will be shown to the user. + // + // Phase tags represent data with a well defined set of options, which could be data such as match resolution, hero played, + // game mode, etc. Tags can have an icon in addition to a text name. Multiple tags within the same group may be added per phase + // and all will be remembered. For example, AddGamePhaseTag may be called multiple times for a "Bosses Defeated" group, with + // different names and icons for each boss defeated during the phase, all of which will be shown to the user. + // + // The phase will continue until the game exits, until the game calls EndGamePhase, or until the game calls + // StartGamePhase to start a new phase. + // + // The game phase functions take these parameters: + // - pchTagIcon: The name of a game provided timeline icon or builtin "steam_" icon. + // - pchPhaseID: A game-provided persistent ID for a game phase. This could be a the match ID in a multiplayer game, a chapter name in a + // single player game, the ID of a character, etc. + // - pchTagName: The localized name of the tag in the language returned by SteamUtils()->GetSteamUILanguage(). + // - pchTagGroup: The localized name of the tag group. + // - pchAttributeValue: The localized name of the attribute. + // - pchAttributeGroup: The localized name of the attribute group. + // - unPriority: Used to order tags and attributes in the UI displayed to the user, with higher priority values leading + // to more prominent positioning. In contexts where there is limited space, lower priority items may be hidden. + virtual void StartGamePhase() = 0; + virtual void EndGamePhase() = 0; + + // Games can set a phase ID so they can refer back to a phase in OpenOverlayToPhase + virtual void SetGamePhaseID( const char *pchPhaseID ) = 0; + STEAM_CALL_RESULT( SteamTimelineGamePhaseRecordingExists_t ) + virtual SteamAPICall_t DoesGamePhaseRecordingExist( const char *pchPhaseID ) = 0; + + // Add a tag that applies to the entire phase + virtual void AddGamePhaseTag( const char *pchTagName, const char *pchTagIcon, const char *pchTagGroup, uint32 unPriority ) = 0; + + // Add a text attribute that applies to the entire phase + virtual void SetGamePhaseAttribute( const char *pchAttributeGroup, const char *pchAttributeValue, uint32 unPriority ) = 0; + + /******************* Opening the overlay *******************/ + + // Opens the Steam overlay to a game phase. + // + // Parameters: + // - pchPhaseID: The ID of a phase that was previously provided by the game in SetGamePhaseID. + virtual void OpenOverlayToGamePhase( const char *pchPhaseID ) = 0; + + // Opens the Steam overlay to a timeline event. + // + // Parameters: + // - ulEventID: The ID of a timeline event returned by StartEvent or AddSimpleTimelineEvent + virtual void OpenOverlayToTimelineEvent( const TimelineEventHandle_t ulEvent ) = 0; + +}; + +#define STEAMTIMELINE_INTERFACE_VERSION "STEAMTIMELINE_INTERFACE_V004" + +// Global interface accessor +inline ISteamTimeline *SteamTimeline(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamTimeline *, SteamTimeline, STEAMTIMELINE_INTERFACE_VERSION ); + + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamTimelineGamePhaseRecordingExists_t +{ + enum { k_iCallback = k_iSteamTimelineCallbacks + 1 }; + char m_rgchPhaseID[ k_cchMaxPhaseIDLength ]; + uint64 m_ulRecordingMS; + uint64 m_ulLongestClipMS; + uint32 m_unClipCount; + uint32 m_unScreenshotCount; +}; + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamTimelineEventRecordingExists_t +{ + enum { k_iCallback = k_iSteamTimelineCallbacks + 2 }; + uint64 m_ulEventID; + bool m_bRecordingExists; +}; + + + +#pragma pack( pop ) + + +#endif // ISTEAMTIMELINE_H diff --git a/Steam/isteamugc.h b/Steam/isteamugc.h new file mode 100644 index 0000000..40c5947 --- /dev/null +++ b/Steam/isteamugc.h @@ -0,0 +1,632 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam ugc +// +//============================================================================= + +#ifndef ISTEAMUGC_H +#define ISTEAMUGC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteamremotestorage.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +typedef uint64 UGCQueryHandle_t; +typedef uint64 UGCUpdateHandle_t; + + +const UGCQueryHandle_t k_UGCQueryHandleInvalid = 0xffffffffffffffffull; +const UGCUpdateHandle_t k_UGCUpdateHandleInvalid = 0xffffffffffffffffull; + + +// Matching UGC types for queries +enum EUGCMatchingUGCType +{ + k_EUGCMatchingUGCType_Items = 0, // both mtx items and ready-to-use items + k_EUGCMatchingUGCType_Items_Mtx = 1, + k_EUGCMatchingUGCType_Items_ReadyToUse = 2, + k_EUGCMatchingUGCType_Collections = 3, + k_EUGCMatchingUGCType_Artwork = 4, + k_EUGCMatchingUGCType_Videos = 5, + k_EUGCMatchingUGCType_Screenshots = 6, + k_EUGCMatchingUGCType_AllGuides = 7, // both web guides and integrated guides + k_EUGCMatchingUGCType_WebGuides = 8, + k_EUGCMatchingUGCType_IntegratedGuides = 9, + k_EUGCMatchingUGCType_UsableInGame = 10, // ready-to-use items and integrated guides + k_EUGCMatchingUGCType_ControllerBindings = 11, + k_EUGCMatchingUGCType_GameManagedItems = 12, // game managed items (not managed by users) + k_EUGCMatchingUGCType_All = ~0, // @note: will only be valid for CreateQueryUserUGCRequest requests +}; + +// Different lists of published UGC for a user. +// If the current logged in user is different than the specified user, then some options may not be allowed. +enum EUserUGCList +{ + k_EUserUGCList_Published, + k_EUserUGCList_VotedOn, + k_EUserUGCList_VotedUp, + k_EUserUGCList_VotedDown, + k_EUserUGCList_WillVoteLater, + k_EUserUGCList_Favorited, + k_EUserUGCList_Subscribed, + k_EUserUGCList_UsedOrPlayed, + k_EUserUGCList_Followed, +}; + +// Sort order for user published UGC lists (defaults to creation order descending) +enum EUserUGCListSortOrder +{ + k_EUserUGCListSortOrder_CreationOrderDesc, + k_EUserUGCListSortOrder_CreationOrderAsc, + k_EUserUGCListSortOrder_TitleAsc, + k_EUserUGCListSortOrder_LastUpdatedDesc, + k_EUserUGCListSortOrder_SubscriptionDateDesc, + k_EUserUGCListSortOrder_VoteScoreDesc, + k_EUserUGCListSortOrder_ForModeration, +}; + +// Combination of sorting and filtering for queries across all UGC +enum EUGCQuery +{ + k_EUGCQuery_RankedByVote = 0, + k_EUGCQuery_RankedByPublicationDate = 1, + k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate = 2, + k_EUGCQuery_RankedByTrend = 3, + k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate = 4, + k_EUGCQuery_CreatedByFriendsRankedByPublicationDate = 5, + k_EUGCQuery_RankedByNumTimesReported = 6, + k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate = 7, + k_EUGCQuery_NotYetRated = 8, + k_EUGCQuery_RankedByTotalVotesAsc = 9, + k_EUGCQuery_RankedByVotesUp = 10, + k_EUGCQuery_RankedByTextSearch = 11, + k_EUGCQuery_RankedByTotalUniqueSubscriptions = 12, + k_EUGCQuery_RankedByPlaytimeTrend = 13, + k_EUGCQuery_RankedByTotalPlaytime = 14, + k_EUGCQuery_RankedByAveragePlaytimeTrend = 15, + k_EUGCQuery_RankedByLifetimeAveragePlaytime = 16, + k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17, + k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18, + k_EUGCQuery_RankedByLastUpdatedDate = 19, +}; + +enum EItemUpdateStatus +{ + k_EItemUpdateStatusInvalid = 0, // The item update handle was invalid, job might be finished, listen too SubmitItemUpdateResult_t + k_EItemUpdateStatusPreparingConfig = 1, // The item update is processing configuration data + k_EItemUpdateStatusPreparingContent = 2, // The item update is reading and processing content files + k_EItemUpdateStatusUploadingContent = 3, // The item update is uploading content changes to Steam + k_EItemUpdateStatusUploadingPreviewFile = 4, // The item update is uploading new preview file image + k_EItemUpdateStatusCommittingChanges = 5 // The item update is committing all changes +}; + +enum EItemState +{ + k_EItemStateNone = 0, // item not tracked on client + k_EItemStateSubscribed = 1, // current user is subscribed to this item. Not just cached. + k_EItemStateLegacyItem = 2, // item was created with ISteamRemoteStorage + k_EItemStateInstalled = 4, // item is installed and usable (but maybe out of date) + k_EItemStateNeedsUpdate = 8, // items needs an update. Either because it's not installed yet or creator updated content + k_EItemStateDownloading = 16, // item update is currently downloading + k_EItemStateDownloadPending = 32, // DownloadItem() was called for this item, content isn't available until DownloadItemResult_t is fired + k_EItemStateDisabledLocally = 64, // Item is disabled locally, so it shouldn't be considered subscribed +}; + +enum EItemStatistic +{ + k_EItemStatistic_NumSubscriptions = 0, + k_EItemStatistic_NumFavorites = 1, + k_EItemStatistic_NumFollowers = 2, + k_EItemStatistic_NumUniqueSubscriptions = 3, + k_EItemStatistic_NumUniqueFavorites = 4, + k_EItemStatistic_NumUniqueFollowers = 5, + k_EItemStatistic_NumUniqueWebsiteViews = 6, + k_EItemStatistic_ReportScore = 7, + k_EItemStatistic_NumSecondsPlayed = 8, + k_EItemStatistic_NumPlaytimeSessions = 9, + k_EItemStatistic_NumComments = 10, + k_EItemStatistic_NumSecondsPlayedDuringTimePeriod = 11, + k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12, +}; + +enum EItemPreviewType +{ + k_EItemPreviewType_Image = 0, // standard image file expected (e.g. jpg, png, gif, etc.) + k_EItemPreviewType_YouTubeVideo = 1, // video id is stored + k_EItemPreviewType_Sketchfab = 2, // model id is stored + k_EItemPreviewType_EnvironmentMap_HorizontalCross = 3, // standard image file expected - cube map in the layout + // +---+---+-------+ + // | |Up | | + // +---+---+---+---+ + // | L | F | R | B | + // +---+---+---+---+ + // | |Dn | | + // +---+---+---+---+ + k_EItemPreviewType_EnvironmentMap_LatLong = 4, // standard image file expected + k_EItemPreviewType_Clip = 5, // clip id is stored + k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value +}; + +enum EUGCContentDescriptorID +{ + k_EUGCContentDescriptor_NudityOrSexualContent = 1, + k_EUGCContentDescriptor_FrequentViolenceOrGore = 2, + k_EUGCContentDescriptor_AdultOnlySexualContent = 3, + k_EUGCContentDescriptor_GratuitousSexualContent = 4, + k_EUGCContentDescriptor_AnyMatureContent = 5, +}; + +const uint32 kNumUGCResultsPerPage = 50; +const uint32 k_cchDeveloperMetadataMax = 5000; + +// Details for a single published file/UGC +struct SteamUGCDetails_t +{ + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; // The result of the operation. + EWorkshopFileType m_eFileType; // Type of the file + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + uint32 m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable) + ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility + bool m_bBanned; // whether the file was banned + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + // file/url information + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + char m_pchFileName[k_cchFilenameMax]; // The cloud filename of the primary file + int32 m_nFileSize; // Size of the primary file (for legacy items which only support one file). This may not be accurate for non-legacy items which can be greater than 4gb in size. + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + // voting information + uint32 m_unVotesUp; // number of votes up + uint32 m_unVotesDown; // number of votes down + float m_flScore; // calculated score + // collection details + uint32 m_unNumChildren; + uint64 m_ulTotalFilesSize; // Total size of all files (non-legacy), excluding the preview file +}; + +//----------------------------------------------------------------------------- +// Purpose: Steam UGC support API +//----------------------------------------------------------------------------- +class ISteamUGC +{ +public: + + // Query UGC associated with a user. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + virtual UGCQueryHandle_t CreateQueryUserUGCRequest( AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for all matching UGC. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + STEAM_FLAT_NAME( CreateQueryAllUGCRequestPage ) + virtual UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for all matching UGC using the new deep paging interface. Creator app id or consumer app id must be valid and be set to the current running app. pchCursor should be set to NULL or "*" to get the first result set. + STEAM_FLAT_NAME( CreateQueryAllUGCRequestCursor ) + virtual UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char *pchCursor = NULL ) = 0; + + // Query for the details of the given published file ids (the RequestUGCDetails call is deprecated and replaced with this) + virtual UGCQueryHandle_t CreateQueryUGCDetailsRequest( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + + // Send the query to Steam + STEAM_CALL_RESULT( SteamUGCQueryCompleted_t ) + virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Retrieve an individual result after receiving the callback for querying UGC + virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0; + virtual uint32 GetQueryUGCNumTags( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCTag( UGCQueryHandle_t handle, uint32 index, uint32 indexTag, STEAM_OUT_STRING_COUNT( cchValueSize ) char* pchValue, uint32 cchValueSize ) = 0; + virtual bool GetQueryUGCTagDisplayName( UGCQueryHandle_t handle, uint32 index, uint32 indexTag, STEAM_OUT_STRING_COUNT( cchValueSize ) char* pchValue, uint32 cchValueSize ) = 0; + virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchURL, uint32 cchURLSize ) = 0; + virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, STEAM_OUT_STRING_COUNT(cchMetadatasize) char *pchMetadata, uint32 cchMetadatasize ) = 0; + virtual bool GetQueryUGCChildren( UGCQueryHandle_t handle, uint32 index, PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; + virtual bool GetQueryUGCStatistic( UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 *pStatValue ) = 0; + virtual uint32 GetQueryUGCNumAdditionalPreviews( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCAdditionalPreview( UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchURLOrVideoID, uint32 cchURLSize, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType *pPreviewType ) = 0; + virtual uint32 GetQueryUGCNumKeyValueTags( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, STEAM_OUT_STRING_COUNT(cchKeySize) char *pchKey, uint32 cchKeySize, STEAM_OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0; + + // Return the first value matching the pchKey. Note that a key may map to multiple values. Returns false if there was an error or no matching value was found. + STEAM_FLAT_NAME( GetQueryFirstUGCKeyValueTag ) + virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, const char *pchKey, STEAM_OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0; + + // Some items can specify that they have a version that is valid for a range of game versions (Steam branch) + virtual uint32 GetNumSupportedGameVersions( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetSupportedGameVersionData( UGCQueryHandle_t handle, uint32 index, uint32 versionIndex, STEAM_OUT_STRING_COUNT( cchGameBranchSize ) char *pchGameBranchMin, STEAM_OUT_STRING_COUNT( cchGameBranchSize ) char *pchGameBranchMax, uint32 cchGameBranchSize ) = 0; + + virtual uint32 GetQueryUGCContentDescriptors( UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID *pvecDescriptors, uint32 cMaxEntries ) = 0; + + // Release the request to free up memory, after retrieving results + virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Options to set for querying UGC + virtual bool AddRequiredTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool AddRequiredTagGroup( UGCQueryHandle_t handle, const SteamParamStringArray_t *pTagGroups ) = 0; // match any of the tags in this group + virtual bool AddExcludedTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool SetReturnOnlyIDs( UGCQueryHandle_t handle, bool bReturnOnlyIDs ) = 0; + virtual bool SetReturnKeyValueTags( UGCQueryHandle_t handle, bool bReturnKeyValueTags ) = 0; + virtual bool SetReturnLongDescription( UGCQueryHandle_t handle, bool bReturnLongDescription ) = 0; + virtual bool SetReturnMetadata( UGCQueryHandle_t handle, bool bReturnMetadata ) = 0; + virtual bool SetReturnChildren( UGCQueryHandle_t handle, bool bReturnChildren ) = 0; + virtual bool SetReturnAdditionalPreviews( UGCQueryHandle_t handle, bool bReturnAdditionalPreviews ) = 0; + virtual bool SetReturnTotalOnly( UGCQueryHandle_t handle, bool bReturnTotalOnly ) = 0; + virtual bool SetReturnPlaytimeStats( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool SetLanguage( UGCQueryHandle_t handle, const char *pchLanguage ) = 0; + virtual bool SetAllowCachedResponse( UGCQueryHandle_t handle, uint32 unMaxAgeSeconds ) = 0; + virtual bool SetAdminQuery( UGCUpdateHandle_t handle, bool bAdminQuery ) = 0; // admin queries return hidden items + + // Options only for querying user UGC + virtual bool SetCloudFileNameFilter( UGCQueryHandle_t handle, const char *pMatchCloudFileName ) = 0; + + // Options only for querying all UGC + virtual bool SetMatchAnyTag( UGCQueryHandle_t handle, bool bMatchAnyTag ) = 0; + virtual bool SetSearchText( UGCQueryHandle_t handle, const char *pSearchText ) = 0; + virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool SetTimeCreatedDateRange( UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ) = 0; + virtual bool SetTimeUpdatedDateRange( UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ) = 0; + virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0; + + // DEPRECATED - Use CreateQueryUGCDetailsRequest call above instead! + STEAM_CALL_RESULT( SteamUGCRequestUGCDetailsResult_t ) + virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0; + + // Steam Workshop Creator API + STEAM_CALL_RESULT( CreateItemResult_t ) + virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet + + virtual UGCUpdateHandle_t StartItemUpdate( AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID ) = 0; // start an UGC item update. Set changed properties before commiting update with CommitItemUpdate() + + virtual bool SetItemTitle( UGCUpdateHandle_t handle, const char *pchTitle ) = 0; // change the title of an UGC item + virtual bool SetItemDescription( UGCUpdateHandle_t handle, const char *pchDescription ) = 0; // change the description of an UGC item + virtual bool SetItemUpdateLanguage( UGCUpdateHandle_t handle, const char *pchLanguage ) = 0; // specify the language of the title or description that will be set + virtual bool SetItemMetadata( UGCUpdateHandle_t handle, const char *pchMetaData ) = 0; // change the metadata of an UGC item (max = k_cchDeveloperMetadataMax) + virtual bool SetItemVisibility( UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; // change the visibility of an UGC item + virtual bool SetItemTags( UGCUpdateHandle_t updateHandle, const SteamParamStringArray_t *pTags, bool bAllowAdminTags = false ) = 0; // change the tags of an UGC item + virtual bool SetItemContent( UGCUpdateHandle_t handle, const char *pszContentFolder ) = 0; // update item content from this local folder + virtual bool SetItemPreview( UGCUpdateHandle_t handle, const char *pszPreviewFile ) = 0; // change preview image file for this item. pszPreviewFile points to local image file, which must be under 1MB in size + virtual bool SetAllowLegacyUpload( UGCUpdateHandle_t handle, bool bAllowLegacyUpload ) = 0; // use legacy upload for a single small file. The parameter to SetItemContent() should either be a directory with one file or the full path to the file. The file must also be less than 10MB in size. + virtual bool RemoveAllItemKeyValueTags( UGCUpdateHandle_t handle ) = 0; // remove all existing key-value tags (you can add new ones via the AddItemKeyValueTag function) + virtual bool RemoveItemKeyValueTags( UGCUpdateHandle_t handle, const char *pchKey ) = 0; // remove any existing key-value tags with the specified key + virtual bool AddItemKeyValueTag( UGCUpdateHandle_t handle, const char *pchKey, const char *pchValue ) = 0; // add new key-value tags for the item. Note that there can be multiple values for a tag. + virtual bool AddItemPreviewFile( UGCUpdateHandle_t handle, const char *pszPreviewFile, EItemPreviewType type ) = 0; // add preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool AddItemPreviewVideo( UGCUpdateHandle_t handle, const char *pszVideoID ) = 0; // add preview video for this item + virtual bool UpdateItemPreviewFile( UGCUpdateHandle_t handle, uint32 index, const char *pszPreviewFile ) = 0; // updates an existing preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool UpdateItemPreviewVideo( UGCUpdateHandle_t handle, uint32 index, const char *pszVideoID ) = 0; // updates an existing preview video for this item + virtual bool RemoveItemPreview( UGCUpdateHandle_t handle, uint32 index ) = 0; // remove a preview by index starting at 0 (previews are sorted) + virtual bool AddContentDescriptor( UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ) = 0; + virtual bool RemoveContentDescriptor( UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ) = 0; + virtual bool SetRequiredGameVersions( UGCUpdateHandle_t handle, const char *pszGameBranchMin, const char *pszGameBranchMax ) = 0; // an empty string for either parameter means that it will match any version on that end of the range. This will only be applied if the actual content has been changed. + + STEAM_CALL_RESULT( SubmitItemUpdateResult_t ) + virtual SteamAPICall_t SubmitItemUpdate( UGCUpdateHandle_t handle, const char *pchChangeNote ) = 0; // commit update process started with StartItemUpdate() + virtual EItemUpdateStatus GetItemUpdateProgress( UGCUpdateHandle_t handle, uint64 *punBytesProcessed, uint64* punBytesTotal ) = 0; + + // Steam Workshop Consumer API + STEAM_CALL_RESULT( SetUserItemVoteResult_t ) + virtual SteamAPICall_t SetUserItemVote( PublishedFileId_t nPublishedFileID, bool bVoteUp ) = 0; + STEAM_CALL_RESULT( GetUserItemVoteResult_t ) + virtual SteamAPICall_t GetUserItemVote( PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t AddItemToFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t RemoveItemFromFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // subscribe to this item, will be installed ASAP + STEAM_CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // unsubscribe from this item, will be uninstalled after game quits + virtual uint32 GetNumSubscribedItems() = 0; // number of subscribed items + virtual uint32 GetSubscribedItems( PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; // all subscribed item PublishFileIDs + + // get EItemState flags about item on this client + virtual uint32 GetItemState( PublishedFileId_t nPublishedFileID ) = 0; + + // get info about currently installed content on disc for items that have k_EItemStateInstalled set + // if k_EItemStateLegacyItem is set, pchFolder contains the path to the legacy file itself (not a folder) + virtual bool GetItemInstallInfo( PublishedFileId_t nPublishedFileID, uint64 *punSizeOnDisk, STEAM_OUT_STRING_COUNT( cchFolderSize ) char *pchFolder, uint32 cchFolderSize, uint32 *punTimeStamp ) = 0; + + // get info about pending update for items that have k_EItemStateNeedsUpdate set. punBytesTotal will be valid after download started once + virtual bool GetItemDownloadInfo( PublishedFileId_t nPublishedFileID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // download new or update already installed item. If function returns true, wait for DownloadItemResult_t. If the item is already installed, + // then files on disk should not be used until callback received. If item is not subscribed to, it will be cached for some time. + // If bHighPriority is set, any other item download will be suspended and this item downloaded ASAP. + virtual bool DownloadItem( PublishedFileId_t nPublishedFileID, bool bHighPriority ) = 0; + + // game servers can set a specific workshop folder before issuing any UGC commands. + // This is helpful if you want to support multiple game servers running out of the same install folder + virtual bool BInitWorkshopForGameServer( DepotId_t unWorkshopDepotID, const char *pszFolder ) = 0; + + // SuspendDownloads( true ) will suspend all workshop downloads until SuspendDownloads( false ) is called or the game ends + virtual void SuspendDownloads( bool bSuspend ) = 0; + + // usage tracking + STEAM_CALL_RESULT( StartPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StartPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + STEAM_CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + STEAM_CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTrackingForAllItems() = 0; + + // parent-child relationship or dependency management + STEAM_CALL_RESULT( AddUGCDependencyResult_t ) + virtual SteamAPICall_t AddDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + STEAM_CALL_RESULT( RemoveUGCDependencyResult_t ) + virtual SteamAPICall_t RemoveDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + + // add/remove app dependence/requirements (usually DLC) + STEAM_CALL_RESULT( AddAppDependencyResult_t ) + virtual SteamAPICall_t AddAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + STEAM_CALL_RESULT( RemoveAppDependencyResult_t ) + virtual SteamAPICall_t RemoveAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + // request app dependencies. note that whatever callback you register for GetAppDependenciesResult_t may be called multiple times + // until all app dependencies have been returned + STEAM_CALL_RESULT( GetAppDependenciesResult_t ) + virtual SteamAPICall_t GetAppDependencies( PublishedFileId_t nPublishedFileID ) = 0; + + // delete the item without prompting the user + STEAM_CALL_RESULT( DeleteItemResult_t ) + virtual SteamAPICall_t DeleteItem( PublishedFileId_t nPublishedFileID ) = 0; + + // Show the app's latest Workshop EULA to the user in an overlay window, where they can accept it or not + virtual bool ShowWorkshopEULA() = 0; + // Retrieve information related to the user's acceptance or not of the app's specific Workshop EULA + STEAM_CALL_RESULT( WorkshopEULAStatus_t ) + virtual SteamAPICall_t GetWorkshopEULAStatus() = 0; + + // Return the user's community content descriptor preferences + virtual uint32 GetUserContentDescriptorPreferences( EUGCContentDescriptorID *pvecDescriptors, uint32 cMaxEntries ) = 0; +}; + +#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION020" + +// Global interface accessor +inline ISteamUGC *SteamUGC(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUGC *, SteamUGC, STEAMUGC_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamUGC *SteamGameServerUGC(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamUGC *, SteamGameServerUGC, STEAMUGC_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamUGCQueryCompleted_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 1 }; + UGCQueryHandle_t m_handle; + EResult m_eResult; + uint32 m_unNumResultsReturned; + uint32 m_unTotalMatchingResults; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache + char m_rgchNextCursor[k_cchPublishedFileURLMax]; // If a paging cursor was used, then this will be the next cursor to get the next result set. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback for requesting details on one piece of UGC +//----------------------------------------------------------------------------- +struct SteamUGCRequestUGCDetailsResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 2 }; + SteamUGCDetails_t m_details; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::CreateItem() +//----------------------------------------------------------------------------- +struct CreateItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 3 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; // new item got this UGC PublishFileID + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::SubmitItemUpdate() +//----------------------------------------------------------------------------- +struct SubmitItemUpdateResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 4 }; + EResult m_eResult; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a Workshop item has been installed or updated +//----------------------------------------------------------------------------- +struct ItemInstalled_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 5 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; + UGCHandle_t m_hLegacyContent; + uint64 m_unManifestID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of DownloadItem(), existing item files can be accessed again +//----------------------------------------------------------------------------- +struct DownloadItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 6 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: result of AddItemToFavorites() or RemoveItemFromFavorites() +//----------------------------------------------------------------------------- +struct UserFavoriteItemsListChanged_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 7 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bWasAddRequest; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SetUserItemVote() +//----------------------------------------------------------------------------- +struct SetUserItemVoteResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 8 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVoteUp; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserItemVote() +//----------------------------------------------------------------------------- +struct GetUserItemVoteResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 9 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVotedUp; + bool m_bVotedDown; + bool m_bVoteSkipped; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StartPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StartPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 10 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StopPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StopPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 11 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddDependency +//----------------------------------------------------------------------------- +struct AddUGCDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 12 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveDependency +//----------------------------------------------------------------------------- +struct RemoveUGCDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 13 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddAppDependency +//----------------------------------------------------------------------------- +struct AddAppDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 14 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveAppDependency +//----------------------------------------------------------------------------- +struct RemoveAppDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 15 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetAppDependencies. Callback may be called +// multiple times until all app dependencies have been returned. +//----------------------------------------------------------------------------- +struct GetAppDependenciesResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 16 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_rgAppIDs[32]; + uint32 m_nNumAppDependencies; // number returned in this struct + uint32 m_nTotalNumAppDependencies; // total found +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeleteItem +//----------------------------------------------------------------------------- +struct DeleteItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 17 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: signal that the list of subscribed items changed +//----------------------------------------------------------------------------- +struct UserSubscribedItemsListChanged_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 18 }; + AppId_t m_nAppID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Status of the user's acceptable/rejection of the app's specific Workshop EULA +//----------------------------------------------------------------------------- +struct WorkshopEULAStatus_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 20 }; + EResult m_eResult; + AppId_t m_nAppID; + uint32 m_unVersion; + RTime32 m_rtAction; + bool m_bAccepted; + bool m_bNeedsAction; +}; + +#pragma pack( pop ) + +#endif // ISTEAMUGC_H diff --git a/Steam/isteamuser.h b/Steam/isteamuser.h new file mode 100644 index 0000000..182f02e --- /dev/null +++ b/Steam/isteamuser.h @@ -0,0 +1,439 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to user account information in Steam +// +//============================================================================= + +#ifndef ISTEAMUSER_H +#define ISTEAMUSER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing and manipulating a steam account +// associated with one client instance +//----------------------------------------------------------------------------- +class ISteamUser +{ +public: + // returns the HSteamUser this interface represents + // this is only used internally by the API, and by a few select interfaces that support multi-user + virtual HSteamUser GetHSteamUser() = 0; + + // returns true if the Steam client current has a live connection to the Steam servers. + // If false, it means there is no active connection due to either a networking issue on the local machine, or the Steam server is down/busy. + // The Steam client will automatically be trying to recreate the connection as often as possible. + virtual bool BLoggedOn() = 0; + + // returns the CSteamID of the account currently logged into the Steam client + // a CSteamID is a unique identifier for an account, and used to differentiate users in all parts of the Steamworks API + virtual CSteamID GetSteamID() = 0; + + // Multiplayer Authentication functions + + // InitiateGameConnection() starts the state machine for authenticating the game client with the game server + // It is the client portion of a three-way handshake between the client, the game server, and the steam servers + // + // Parameters: + // void *pAuthBlob - a pointer to empty memory that will be filled in with the authentication token. + // int cbMaxAuthBlob - the number of bytes of allocated memory in pBlob. Should be at least 2048 bytes. + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // CGameID gameID - the ID of the current game. For games without mods, this is just CGameID( ) + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + // bool bSecure - whether or not the client thinks that the game server is reporting itself as secure (i.e. VAC is running) + // + // return value - returns the number of bytes written to pBlob. If the return is 0, then the buffer passed in was too small, and the call has failed + // The contents of pBlob should then be sent to the game server, for it to use to complete the authentication process. + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual int InitiateGameConnection_DEPRECATED( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure ) = 0; + + // notify of disconnect + // needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual void TerminateGameConnection_DEPRECATED( uint32 unIPServer, uint16 usPortServer ) = 0; + + // Legacy functions + + // used by only a few games to track usage events + virtual void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo = "" ) = 0; + + // get the local storage folder for current Steam account to write application data, e.g. save games, configs etc. + // this will usually be something like "C:\Progam Files\Steam\userdata\\\local" + virtual bool GetUserDataFolder( char *pchBuffer, int cubBuffer ) = 0; + + // Starts voice recording. Once started, use GetVoice() to get the data + virtual void StartVoiceRecording( ) = 0; + + // Stops voice recording. Because people often release push-to-talk keys early, the system will keep recording for + // a little bit after this function is called. GetVoice() should continue to be called until it returns + // k_eVoiceResultNotRecording + virtual void StopVoiceRecording( ) = 0; + + // Determine the size of captured audio data that is available from GetVoice. + // Most applications will only use compressed data and should ignore the other + // parameters, which exist primarily for backwards compatibility. See comments + // below for further explanation of "uncompressed" data. + virtual EVoiceResult GetAvailableVoice( uint32 *pcbCompressed, uint32 *pcbUncompressed_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // --------------------------------------------------------------------------- + // NOTE: "uncompressed" audio is a deprecated feature and should not be used + // by most applications. It is raw single-channel 16-bit PCM wave data which + // may have been run through preprocessing filters and/or had silence removed, + // so the uncompressed audio could have a shorter duration than you expect. + // There may be no data at all during long periods of silence. Also, fetching + // uncompressed audio will cause GetVoice to discard any leftover compressed + // audio, so you must fetch both types at once. Finally, GetAvailableVoice is + // not precisely accurate when the uncompressed size is requested. So if you + // really need to use uncompressed audio, you should call GetVoice frequently + // with two very large (20kb+) output buffers instead of trying to allocate + // perfectly-sized buffers. But most applications should ignore all of these + // details and simply leave the "uncompressed" parameters as NULL/zero. + // --------------------------------------------------------------------------- + + // Read captured audio data from the microphone buffer. This should be called + // at least once per frame, and preferably every few milliseconds, to keep the + // microphone input delay as low as possible. Most applications will only use + // compressed data and should pass NULL/zero for the "uncompressed" parameters. + // Compressed data can be transmitted by your application and decoded into raw + // using the DecompressVoice function below. + virtual EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, bool bWantUncompressed_Deprecated = false, void *pUncompressedDestBuffer_Deprecated = 0, uint32 cbUncompressedDestBufferSize_Deprecated = 0, uint32 *nUncompressBytesWritten_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // Decodes the compressed voice data returned by GetVoice. The output data is + // raw single-channel 16-bit PCM audio. The decoder supports any sample rate + // from 11025 to 48000; see GetVoiceOptimalSampleRate() below for details. + // If the output buffer is not large enough, then *nBytesWritten will be set + // to the required buffer size, and k_EVoiceResultBufferTooSmall is returned. + // It is suggested to start with a 20kb buffer and reallocate as necessary. + virtual EVoiceResult DecompressVoice( const void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, uint32 nDesiredSampleRate ) = 0; + + // This returns the native sample rate of the Steam voice decompressor; using + // this sample rate for DecompressVoice will perform the least CPU processing. + // However, the final audio quality will depend on how well the audio device + // (and/or your application's audio output SDK) deals with lower sample rates. + // You may find that you get the best audio output quality when you ignore + // this function and use the native sample rate of your audio output device, + // which is usually 48000 or 44100. + virtual uint32 GetVoiceOptimalSampleRate() = 0; + + // Retrieve ticket to be sent to the entity who wishes to authenticate you. + // pcbTicket retrieves the length of the actual ticket. + // SteamNetworkingIdentity is an optional input parameter to hold the public IP address or SteamID of the entity you are connecting to + // if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address + // if a Steam ID is passed Steam will only allow the ticket to be used by that Steam ID + // not to be used for "ISteamUserAuth\AuthenticateUserTicket" - it will fail + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket, const SteamNetworkingIdentity *pSteamNetworkingIdentity ) = 0; + + // Request a ticket which will be used for webapi "ISteamUserAuth\AuthenticateUserTicket" + // pchIdentity is an optional input parameter to identify the service the ticket will be sent to + // the ticket will be returned in callback GetTicketForWebApiResponse_t + virtual HAuthTicket GetAuthTicketForWebApi( const char *pchIdentity ) = 0; + + // Authenticate ticket from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to BeginAuthSession, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // returns true if this users looks like they are behind a NAT device. Only valid once the user has connected to steam + // (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT. + virtual bool BIsBehindNAT() = 0; + + // set data to be replicated to friends so that they can join your game + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + virtual void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer ) = 0; + + // Requests a ticket encrypted with an app specific shared key + // pDataToInclude, cbDataToInclude will be encrypted into the ticket + // ( This is asynchronous, you must wait for the ticket to be completed by the server ) + STEAM_CALL_RESULT( EncryptedAppTicketResponse_t ) + virtual SteamAPICall_t RequestEncryptedAppTicket( void *pDataToInclude, int cbDataToInclude ) = 0; + + // Retrieves a finished ticket. + // If no ticket is available, or your buffer is too small, returns false. + // Upon exit, *pcbTicket will be either the size of the ticket copied into your buffer + // (if true was returned), or the size needed (if false was returned). To determine the + // proper size of the ticket, you can pass pTicket=NULL and cbMaxTicket=0; if a ticket + // is available, *pcbTicket will contain the size needed, otherwise it will be zero. + virtual bool GetEncryptedAppTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket ) = 0; + + // Trading Card badges data access + // if you only have one set of cards, the series will be 1 + // the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1) + virtual int GetGameBadgeLevel( int nSeries, bool bFoil ) = 0; + + // gets the Steam Level of the user, as shown on their profile + virtual int GetPlayerSteamLevel() = 0; + + // Requests a URL which authenticates an in-game browser for store check-out, + // and then redirects to the specified URL. As long as the in-game browser + // accepts and handles session cookies, Steam microtransaction checkout pages + // will automatically recognize the user instead of presenting a login page. + // The result of this API call will be a StoreAuthURLResponse_t callback. + // NOTE: The URL has a very short lifetime to prevent history-snooping attacks, + // so you should only call this API when you are about to launch the browser, + // or else immediately navigate to the result URL using a hidden browser window. + // NOTE 2: The resulting authorization cookie has an expiration time of one day, + // so it would be a good idea to request and visit a new auth URL every 12 hours. + STEAM_CALL_RESULT( StoreAuthURLResponse_t ) + virtual SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL ) = 0; + + // gets whether the users phone number is verified + virtual bool BIsPhoneVerified() = 0; + + // gets whether the user has two factor enabled on their account + virtual bool BIsTwoFactorEnabled() = 0; + + // gets whether the users phone number is identifying + virtual bool BIsPhoneIdentifying() = 0; + + // gets whether the users phone number is awaiting (re)verification + virtual bool BIsPhoneRequiringVerification() = 0; + + STEAM_CALL_RESULT( MarketEligibilityResponse_t ) + virtual SteamAPICall_t GetMarketEligibility() = 0; + + // Retrieves anti indulgence / duration control for current user + STEAM_CALL_RESULT( DurationControl_t ) + virtual SteamAPICall_t GetDurationControl() = 0; + + // Advise steam china duration control system about the online state of the game. + // This will prevent offline gameplay time from counting against a user's + // playtime limits. + virtual bool BSetDurationControlOnlineState( EDurationControlOnlineState eNewState ) = 0; + +}; + +#define STEAMUSER_INTERFACE_VERSION "SteamUser023" + +// Global interface accessor +inline ISteamUser *SteamUser(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUser *, SteamUser, STEAMUSER_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +//----------------------------------------------------------------------------- +// Purpose: Called when an authenticated connection to the Steam back-end has been established. +// This means the Steam client now has a working connection to the Steam servers. +// Usually this will have occurred before the game has launched, and should +// only be seen if the user has dropped connection due to a networking issue +// or a Steam server update. +//----------------------------------------------------------------------------- +struct SteamServersConnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 1 }; +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a connection attempt has failed +// this will occur periodically if the Steam client is not connected, +// and has failed in it's retry to establish a connection +//----------------------------------------------------------------------------- +struct SteamServerConnectFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 2 }; + EResult m_eResult; + bool m_bStillRetrying; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called if the client has lost connection to the Steam servers +// real-time services will be disabled until a matching SteamServersConnected_t has been posted +//----------------------------------------------------------------------------- +struct SteamServersDisconnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 3 }; + EResult m_eResult; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent by the Steam server to the client telling it to disconnect from the specified game server, +// which it may be in the process of or already connected to. +// The game client should immediately disconnect upon receiving this message. +// This can usually occur if the user doesn't have rights to play on the game server. +//----------------------------------------------------------------------------- +struct ClientGameServerDeny_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 13 }; + + uint32 m_uAppID; + uint32 m_unGameServerIP; + uint16 m_usGameServerPort; + uint16 m_bSecure; + uint32 m_uReason; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the callback system for this client is in an error state (and has flushed pending callbacks) +// When getting this message the client should disconnect from Steam, reset any stored Steam state and reconnect. +// This usually occurs in the rare event the Steam client has some kind of fatal error. +//----------------------------------------------------------------------------- +struct IPCFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 17 }; + enum EFailureType + { + k_EFailureFlushedCallbackQueue, + k_EFailurePipeFail, + }; + uint8 m_eFailureType; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Signaled whenever licenses change +//----------------------------------------------------------------------------- +struct LicensesUpdated_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 25 }; +}; + + +//----------------------------------------------------------------------------- +// callback for BeginAuthSession +//----------------------------------------------------------------------------- +struct ValidateAuthTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 43 }; + CSteamID m_SteamID; + EAuthSessionResponse m_eAuthSessionResponse; + CSteamID m_OwnerSteamID; // different from m_SteamID if borrowed +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a user has responded to a microtransaction authorization request +//----------------------------------------------------------------------------- +struct MicroTxnAuthorizationResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 52 }; + + uint32 m_unAppID; // AppID for this microtransaction + uint64 m_ulOrderID; // OrderID provided for the microtransaction + uint8 m_bAuthorized; // if user authorized transaction +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result from RequestEncryptedAppTicket +//----------------------------------------------------------------------------- +struct EncryptedAppTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 54 }; + + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// callback for GetAuthSessionTicket +//----------------------------------------------------------------------------- +struct GetAuthSessionTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 63 }; + HAuthTicket m_hAuthTicket; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to a steam://gamewebcallback/ command +//----------------------------------------------------------------------------- +struct GameWebCallback_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 64 }; + char m_szURL[256]; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to ISteamUser::RequestStoreAuthURL +//----------------------------------------------------------------------------- +struct StoreAuthURLResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 65 }; + char m_szURL[512]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: sent in response to ISteamUser::GetMarketEligibility +//----------------------------------------------------------------------------- +struct MarketEligibilityResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 66 }; + bool m_bAllowed; + EMarketNotAllowedReasonFlags m_eNotAllowedReason; + RTime32 m_rtAllowedAtTime; + + int m_cdaySteamGuardRequiredDays; // The number of days any user is required to have had Steam Guard before they can use the market + int m_cdayNewDeviceCooldown; // The number of days after initial device authorization a user must wait before using the market on that device +}; + + +//----------------------------------------------------------------------------- +// Purpose: sent for games with enabled anti indulgence / duration control, for +// enabled users. Lets the game know whether the user can keep playing or +// whether the game should exit, and returns info about remaining gameplay time. +// +// This callback is fired asynchronously in response to timers triggering. +// It is also fired in response to calls to GetDurationControl(). +//----------------------------------------------------------------------------- +struct DurationControl_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 67 }; + + EResult m_eResult; // result of call (always k_EResultOK for asynchronous timer-based notifications) + AppId_t m_appid; // appid generating playtime + + bool m_bApplicable; // is duration control applicable to user + game combination + int32 m_csecsLast5h; // playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in seconds + + EDurationControlProgress m_progress; // recommended progress (either everything is fine, or please exit game) + EDurationControlNotification m_notification; // notification to show, if any (always k_EDurationControlNotification_None for API calls) + + int32 m_csecsToday; // playtime on current calendar day + int32 m_csecsRemaining; // playtime remaining until the user hits a regulatory limit +}; + + +//----------------------------------------------------------------------------- +// callback for GetTicketForWebApi +//----------------------------------------------------------------------------- +struct GetTicketForWebApiResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 68 }; + HAuthTicket m_hAuthTicket; + EResult m_eResult; + int m_cubTicket; + static const int k_nCubTicketMaxLength = 2560; + uint8 m_rgubTicket[k_nCubTicketMaxLength]; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMUSER_H diff --git a/Steam/isteamuserstats.h b/Steam/isteamuserstats.h new file mode 100644 index 0000000..6f363c8 --- /dev/null +++ b/Steam/isteamuserstats.h @@ -0,0 +1,489 @@ +//====== Copyright � 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to stats, achievements, and leaderboards +// +//============================================================================= + +#ifndef ISTEAMUSERSTATS_H +#define ISTEAMUSERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteamremotestorage.h" + +// size limit on stat or achievement name (UTF-8 encoded) +enum { k_cchStatNameMax = 128 }; + +// maximum number of bytes for a leaderboard name (UTF-8 encoded) +enum { k_cchLeaderboardNameMax = 128 }; + +// maximum number of details int32's storable for a single leaderboard entry +enum { k_cLeaderboardDetailsMax = 64 }; + +// handle to a single leaderboard +typedef uint64 SteamLeaderboard_t; + +// handle to a set of downloaded entries in a leaderboard +typedef uint64 SteamLeaderboardEntries_t; + +// type of data request, when downloading leaderboard entries +enum ELeaderboardDataRequest +{ + k_ELeaderboardDataRequestGlobal = 0, + k_ELeaderboardDataRequestGlobalAroundUser = 1, + k_ELeaderboardDataRequestFriends = 2, + k_ELeaderboardDataRequestUsers = 3 +}; + +// the sort order of a leaderboard +enum ELeaderboardSortMethod +{ + k_ELeaderboardSortMethodNone = 0, + k_ELeaderboardSortMethodAscending = 1, // top-score is lowest number + k_ELeaderboardSortMethodDescending = 2, // top-score is highest number +}; + +// the display type (used by the Steam Community web site) for a leaderboard +enum ELeaderboardDisplayType +{ + k_ELeaderboardDisplayTypeNone = 0, + k_ELeaderboardDisplayTypeNumeric = 1, // simple numerical score + k_ELeaderboardDisplayTypeTimeSeconds = 2, // the score represents a time, in seconds + k_ELeaderboardDisplayTypeTimeMilliSeconds = 3, // the score represents a time, in milliseconds +}; + +enum ELeaderboardUploadScoreMethod +{ + k_ELeaderboardUploadScoreMethodNone = 0, + k_ELeaderboardUploadScoreMethodKeepBest = 1, // Leaderboard will keep user's best score + k_ELeaderboardUploadScoreMethodForceUpdate = 2, // Leaderboard will always replace score with specified +}; + +// a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry() +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +struct LeaderboardEntry_t +{ + CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info + int32 m_nGlobalRank; // [1..N], where N is the number of users with an entry in the leaderboard + int32 m_nScore; // score as set in the leaderboard + int32 m_cDetails; // number of int32 details available for this entry + UGCHandle_t m_hUGC; // handle for UGC attached to the entry +}; + +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing stats, achievements, and leaderboard information +//----------------------------------------------------------------------------- +class ISteamUserStats +{ +public: + + // Note: this call is no longer required as it is managed by the Steam client + // The game stats and achievements will be synchronized with Steam before + // the game process begins. + // virtual bool RequestCurrentStats() = 0; + + // Data accessors + STEAM_FLAT_NAME( GetStatInt32 ) + virtual bool GetStat( const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetStatFloat ) + virtual bool GetStat( const char *pchName, float *pData ) = 0; + + // Set / update data + STEAM_FLAT_NAME( SetStatInt32 ) + virtual bool SetStat( const char *pchName, int32 nData ) = 0; + + STEAM_FLAT_NAME( SetStatFloat ) + virtual bool SetStat( const char *pchName, float fData ) = 0; + + virtual bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + // Achievement flag accessors + virtual bool GetAchievement( const char *pchName, bool *pbAchieved ) = 0; + virtual bool SetAchievement( const char *pchName ) = 0; + virtual bool ClearAchievement( const char *pchName ) = 0; + + // Get the achievement status, and the time it was unlocked if unlocked. + // If the return value is true, but the unlock time is zero, that means it was unlocked before Steam + // began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970. + virtual bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Store the current data on the server, will get a callback when set + // And one callback for every new achievement + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + virtual bool StoreStats() = 0; + + // Achievement / GroupAchievement metadata + + // Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set. + // A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback + // which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the + // specified achievement. + virtual int GetAchievementIcon( const char *pchName ) = 0; + + // Get general attributes for an achievement. Accepts the following keys: + // - "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8) + // - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden) + virtual const char *GetAchievementDisplayAttribute( const char *pchName, const char *pchKey ) = 0; + + // Achievement progress - triggers an AchievementProgress callback, that is all. + // Calling this w/ N out of N progress will NOT set the achievement, the game must still do that. + virtual bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress ) = 0; + + // Used for iterating achievements. In general games should not need these functions because they should have a + // list of existing achievements compiled into them + virtual uint32 GetNumAchievements() = 0; + // Get achievement name iAchievement in [0,GetNumAchievements) + virtual const char *GetAchievementName( uint32 iAchievement ) = 0; + + // Friends stats & achievements + + // downloads stats for the user + // returns a UserStatsReceived_t received when completed + // if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data + STEAM_CALL_RESULT( UserStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + STEAM_FLAT_NAME( GetUserStatInt32 ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetUserStatFloat ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + // See notes for GetAchievementAndUnlockTime above + virtual bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Reset stats + virtual bool ResetAllStats( bool bAchievementsToo ) = 0; + + // Leaderboard functions + + // asks the Steam back-end for a leaderboard by name, and will create it if it's not yet + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + STEAM_CALL_RESULT(LeaderboardFindResult_t) + virtual SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) = 0; + + // as above, but won't create the leaderboard if it's not found + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + STEAM_CALL_RESULT( LeaderboardFindResult_t ) + virtual SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName ) = 0; + + // returns the name of a leaderboard + virtual const char *GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the total number of entries in a leaderboard, as of the last request + virtual int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the sort method of the leaderboard + virtual ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the display type of the leaderboard + virtual ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // Asks the Steam back-end for a set of rows in the leaderboard. + // This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t + // LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below) + // You can ask for more entries than exist, and it will return as many as do exist. + // k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries] + // k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate + // e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after + // k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user + STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) = 0; + // as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + // if a user doesn't have a leaderboard entry, they won't be included in the result + // a max of 100 users can be downloaded at a time, with only one outstanding call at a time + STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, + STEAM_ARRAY_COUNT_D(cUsers, Array of users to retrieve) CSteamID *prgUsers, int cUsers ) = 0; + + // Returns data about a single leaderboard entry + // use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries + // e.g. + // void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded ) + // { + // for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ ) + // { + // LeaderboardEntry_t leaderboardEntry; + // int32 details[3]; // we know this is how many we've stored previously + // GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 ); + // assert( leaderboardEntry.m_cDetails == 3 ); + // ... + // } + // once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid + virtual bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) = 0; + + // Uploads a user score to the Steam back-end. + // This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t + // Details are extra game-defined information regarding how the user got that score + // pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list + STEAM_CALL_RESULT( LeaderboardScoreUploaded_t ) + virtual SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount ) = 0; + + // Attaches a piece of user generated content the user's entry on a leaderboard. + // hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare(). + // This call is asynchronous, with the result returned in LeaderboardUGCSet_t. + STEAM_CALL_RESULT( LeaderboardUGCSet_t ) + virtual SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC ) = 0; + + // Retrieves the number of players currently playing your game (online + offline) + // This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t + STEAM_CALL_RESULT( NumberOfCurrentPlayers_t ) + virtual SteamAPICall_t GetNumberOfCurrentPlayers() = 0; + + // Requests that Steam fetch data on the percentage of players who have received each achievement + // for the game globally. + // This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t. + STEAM_CALL_RESULT( GlobalAchievementPercentagesReady_t ) + virtual SteamAPICall_t RequestGlobalAchievementPercentages() = 0; + + // Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch + // the next most achieved afterwards. Will return -1 if there is no data on achievement + // percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback). + virtual int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another + // GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last + // achievement has been iterated. + virtual int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Returns the percentage of users who have achieved the specified achievement. + virtual bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent ) = 0; + + // Requests global stats data, which is available for stats marked as "aggregated". + // This call is asynchronous, with the results returned in GlobalStatsReceived_t. + // nHistoryDays specifies how many days of day-by-day history to retrieve in addition + // to the overall totals. The limit is 60. + STEAM_CALL_RESULT( GlobalStatsReceived_t ) + virtual SteamAPICall_t RequestGlobalStats( int nHistoryDays ) = 0; + + // Gets the lifetime totals for an aggregated stat + STEAM_FLAT_NAME( GetGlobalStatInt64 ) + virtual bool GetGlobalStat( const char *pchStatName, int64 *pData ) = 0; + + STEAM_FLAT_NAME( GetGlobalStatDouble ) + virtual bool GetGlobalStat( const char *pchStatName, double *pData ) = 0; + + // Gets history for an aggregated stat. pData will be filled with daily values, starting with today. + // So when called, pData[0] will be today, pData[1] will be yesterday, and pData[2] will be two days ago, + // etc. cubData is the size in bytes of the pubData buffer. Returns the number of + // elements actually set. + + STEAM_FLAT_NAME( GetGlobalStatHistoryInt64 ) + virtual int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) int64 *pData, uint32 cubData ) = 0; + + STEAM_FLAT_NAME( GetGlobalStatHistoryDouble ) + virtual int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) double *pData, uint32 cubData ) = 0; + + // For achievements that have related Progress stats, use this to query what the bounds of that progress are. + // You may want this info to selectively call IndicateAchievementProgress when appropriate milestones of progress + // have been made, to show a progress notification to the user. + STEAM_FLAT_NAME( GetAchievementProgressLimitsInt32 ) + virtual bool GetAchievementProgressLimits( const char *pchName, int32 *pnMinProgress, int32 *pnMaxProgress ) = 0; + + STEAM_FLAT_NAME( GetAchievementProgressLimitsFloat ) + virtual bool GetAchievementProgressLimits( const char *pchName, float *pfMinProgress, float *pfMaxProgress ) = 0; + +}; + +#define STEAMUSERSTATS_INTERFACE_VERSION "STEAMUSERSTATS_INTERFACE_VERSION013" + +// Global interface accessor +inline ISteamUserStats *SteamUserStats(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUserStats *, SteamUserStats, STEAMUSERSTATS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct UserStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 1 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct UserStatsStored_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 2 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // success / error +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the achievements for a game, or an +// "indicate progress" call. If both m_nCurProgress and m_nMaxProgress +// are zero, that means the achievement has been fully unlocked. +//----------------------------------------------------------------------------- +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 + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + uint32 m_nCurProgress; // current progress towards the achievement + uint32 m_nMaxProgress; // "out of" this many +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result for finding a leaderboard, returned as a result of FindOrCreateLeaderboard() or FindLeaderboard() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardFindResult_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 4 }; + SteamLeaderboard_t m_hSteamLeaderboard; // handle to the leaderboard serarched for, 0 if no leaderboard found + uint8 m_bLeaderboardFound; // 0 if no leaderboard found +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores for a leaderboard have been downloaded and are ready to be retrieved, returned as a result of DownloadLeaderboardEntries() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoresDownloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 5 }; + SteamLeaderboard_t m_hSteamLeaderboard; + SteamLeaderboardEntries_t m_hSteamLeaderboardEntries; // the handle to pass into GetDownloadedLeaderboardEntries() + int m_cEntryCount; // the number of entries downloaded +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores has been uploaded, returned as a result of UploadLeaderboardScore() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoreUploaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 6 }; + uint8 m_bSuccess; // 1 if the call was successful + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was + int32 m_nScore; // the score that was attempted to set + uint8 m_bScoreChanged; // true if the score in the leaderboard change, false if the existing score was better + int m_nGlobalRankNew; // the new global rank of the user in this leaderboard + int m_nGlobalRankPrevious; // the previous global rank of the user in this leaderboard; 0 if the user had no existing entry in the leaderboard +}; + +struct NumberOfCurrentPlayers_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 7 }; + uint8 m_bSuccess; // 1 if the call was successful + int32 m_cPlayers; // Number of players currently playing +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct UserStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that an achievement icon has been fetched +//----------------------------------------------------------------------------- +struct UserAchievementIconFetched_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 9 }; + + CGameID m_nGameID; // Game this is for + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + bool m_bAchieved; // Is the icon for the achieved or not achieved version? + int m_nIconHandle; // Handle to the image, which can be used in SteamUtils()->GetImageRGBA(), 0 means no image is set for the achievement +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that global achievement percentages are fetched +//----------------------------------------------------------------------------- +struct GlobalAchievementPercentagesReady_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 10 }; + + uint64 m_nGameID; // Game this is for + EResult m_eResult; // Result of the operation +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating UGC has been uploaded, returned as a result of SetLeaderboardUGC() +//----------------------------------------------------------------------------- +struct LeaderboardUGCSet_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 11 }; + EResult m_eResult; // The result of the operation + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating that PS3 trophies have been installed +//----------------------------------------------------------------------------- +struct PS3TrophiesInstalled_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // The result of the operation + uint64 m_ulRequiredDiskSpace; // If m_eResult is k_EResultDiskFull, will contain the amount of space needed to install trophies + +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating global stats have been received. +// Returned as a result of RequestGlobalStats() +//----------------------------------------------------------------------------- +struct GlobalStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game global stats were requested for + EResult m_eResult; // The result of the request +}; + +#pragma pack( pop ) + + +#endif // ISTEAMUSER_H diff --git a/Steam/isteamutils.h b/Steam/isteamutils.h new file mode 100644 index 0000000..be5acb2 --- /dev/null +++ b/Steam/isteamutils.h @@ -0,0 +1,343 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to utility functions in Steam +// +//============================================================================= + +#ifndef ISTEAMUTILS_H +#define ISTEAMUTILS_H + +#include "steam_api_common.h" + + +// Steam API call failure results +enum ESteamAPICallFailure +{ + k_ESteamAPICallFailureNone = -1, // no failure + k_ESteamAPICallFailureSteamGone = 0, // the local Steam process has gone away + k_ESteamAPICallFailureNetworkFailure = 1, // the network connection to Steam has been broken, or was already broken + // SteamServersDisconnected_t callback will be sent around the same time + // SteamServersConnected_t will be sent when the client is able to talk to the Steam servers again + k_ESteamAPICallFailureInvalidHandle = 2, // the SteamAPICall_t handle passed in no longer exists + k_ESteamAPICallFailureMismatchedCallback = 3,// GetAPICallResult() was called with the wrong callback type for this API call +}; + + +// Input modes for the Big Picture gamepad text entry +enum EGamepadTextInputMode +{ + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1 +}; + + +// Controls number of allowed lines for the Big Picture gamepad text entry +enum EGamepadTextInputLineMode +{ + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 +}; + +enum EFloatingGamepadTextInputMode +{ + k_EFloatingGamepadTextInputModeModeSingleLine = 0, // Enter dismisses the keyboard + k_EFloatingGamepadTextInputModeModeMultipleLines = 1, // User needs to explictly close the keyboard + k_EFloatingGamepadTextInputModeModeEmail = 2, // Keyboard layout is email, enter dismisses the keyboard + k_EFloatingGamepadTextInputModeModeNumeric = 3, // Keyboard layout is numeric, enter dismisses the keyboard + +}; + +// The context where text filtering is being done +enum ETextFilteringContext +{ + k_ETextFilteringContextUnknown = 0, // Unknown context + k_ETextFilteringContextGameContent = 1, // Game content, only legally required filtering is performed + k_ETextFilteringContextChat = 2, // Chat from another player + k_ETextFilteringContextName = 3, // Character or item name +}; + + +//----------------------------------------------------------------------------- +// Purpose: interface to user independent utility functions +//----------------------------------------------------------------------------- +class ISteamUtils +{ +public: + // return the number of seconds since the user + virtual uint32 GetSecondsSinceAppActive() = 0; + virtual uint32 GetSecondsSinceComputerActive() = 0; + + // the universe this client is connecting to + virtual EUniverse GetConnectedUniverse() = 0; + + // Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + virtual uint32 GetServerRealTime() = 0; + + // returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) + // e.g "US" or "UK". + virtual const char *GetIPCountry() = 0; + + // returns true if the image exists, and valid sizes were filled out + virtual bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight ) = 0; + + // returns true if the image exists, and the buffer was successfully filled out + // results are returned in RGBA format + // the destination buffer size should be 4 * height * width * sizeof(char) + virtual bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize ) = 0; + + // Deprecated. Do not call this. + STEAM_PRIVATE_API( virtual bool GetCSERIPPort( uint32 *unIP, uint16 *usPort ) = 0; ) + + // return the amount of battery power left in the current system in % [0..100], 255 for being on AC power + virtual uint8 GetCurrentBatteryPower() = 0; + + // returns the appID of the current process + virtual uint32 GetAppID() = 0; + + // Sets the position where the overlay instance for the currently calling game should show notifications. + // This position is per-game and if this function is called from outside of a game context it will do nothing. + virtual void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition ) = 0; + + // API asynchronous call results + // can be used directly, but more commonly used via the callback dispatch API (see steam_api.h) + virtual bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed ) = 0; + virtual ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall ) = 0; + virtual bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() instead. Game servers do not need to call this function. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Returns true if the overlay is running & the user can access it. The overlay process could take a few seconds to + // start & hook the game process, so this function will initially return false while the overlay is loading. + virtual bool IsOverlayEnabled() = 0; + + // Normally this call is unneeded if your game has a constantly running frame loop that calls the + // D3D Present API, or OGL SwapBuffers API every frame. + // + // However, if you have a game that only refreshes the screen on an event driven basis then that can break + // the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + // need to Present() to the screen any time an even needing a notification happens or when the overlay is + // brought up over the game by a user. You can use this API to ask the overlay if it currently need a present + // in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + // refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + virtual bool BOverlayNeedsPresent() = 0; + + // Asynchronous call to check if an executable file has been signed using the public key set on the signing tab + // of the partner site, for example to refuse to load modified executable files. + // The result is returned in CheckFileSignature_t. + // k_ECheckFileSignatureNoSignaturesFoundForThisApp - This app has not been configured on the signing tab of the partner site to enable this function. + // k_ECheckFileSignatureNoSignaturesFoundForThisFile - This file is not listed on the signing tab for the partner site. + // k_ECheckFileSignatureFileNotFound - The file does not exist on disk. + // k_ECheckFileSignatureInvalidSignature - The file exists, and the signing tab has been set for this file, but the file is either not signed or the signature does not match. + // k_ECheckFileSignatureValidSignature - The file is signed and the signature is valid. + STEAM_CALL_RESULT( CheckFileSignature_t ) + virtual SteamAPICall_t CheckFileSignature( const char *szFileName ) = 0; + + // Activates the full-screen text input dialog which takes a initial text string and returns the text the user has typed + virtual bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText ) = 0; + + // Returns previously entered text & length + virtual uint32 GetEnteredGamepadTextLength() = 0; + virtual bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText ) = 0; + + // returns the language the steam client is running in, you probably want ISteamApps::GetCurrentGameLanguage instead, this is for very special usage cases + virtual const char *GetSteamUILanguage() = 0; + + // returns true if Steam itself is running in VR mode + virtual bool IsSteamRunningInVR() = 0; + + // Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition. + virtual void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset ) = 0; + + // returns true if Steam & the Steam Overlay are running in Big Picture mode + // Games much be launched through the Steam client to enable the Big Picture overlay. During development, + // a game can be added as a non-steam game to the developers library to test this feature + virtual bool IsSteamInBigPictureMode() = 0; + + // ask SteamUI to create and render its OpenVR dashboard + virtual void StartVRDashboard() = 0; + + // Returns true if the HMD content will be streamed via Steam Remote Play + virtual bool IsVRHeadsetStreamingEnabled() = 0; + + // Set whether the HMD content will be streamed via Steam Remote Play + // If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. + // If this is set to false, then the application window will be streamed instead, and remote input will be allowed. + // The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + // (this is useful for games that have asymmetric multiplayer gameplay) + virtual void SetVRHeadsetStreamingEnabled( bool bEnabled ) = 0; + + // Returns whether this steam client is a Steam China specific client, vs the global client. + virtual bool IsSteamChinaLauncher() = 0; + + // Initializes text filtering, loading dictionaries for the language the game is running in. + // unFilterOptions are reserved for future use and should be set to 0 + // Returns false if filtering is unavailable for the game's language, in which case FilterText() will act as a passthrough. + // + // Users can customize the text filter behavior in their Steam Account preferences: + // https://store.steampowered.com/account/preferences#CommunityContentPreferences + virtual bool InitFilterText( uint32 unFilterOptions = 0 ) = 0; + + // Filters the provided input message and places the filtered result into pchOutFilteredText, using legally required filtering and additional filtering based on the context and user settings + // eContext is the type of content in the input string + // sourceSteamID is the Steam ID that is the source of the input string (e.g. the player with the name, or who said the chat text) + // pchInputText is the input string that should be filtered, which can be ASCII or UTF-8 + // pchOutFilteredText is where the output will be placed, even if no filtering is performed + // nByteSizeOutFilteredText is the size (in bytes) of pchOutFilteredText, should be at least strlen(pchInputText)+1 + // Returns the number of characters (not bytes) filtered + virtual int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText ) = 0; + + // Return what we believe your current ipv6 connectivity to "the internet" is on the specified protocol. + // This does NOT tell you if the Steam client is currently connected to Steam via ipv6. + virtual ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProtocol eProtocol ) = 0; + + // returns true if currently running on the Steam Deck device + virtual bool IsSteamRunningOnSteamDeck() = 0; + + // Opens a floating keyboard over the game content and sends OS keyboard keys directly to the game. + // The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field + virtual bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ) = 0; + + // In game launchers that don't have controller support you can call this to have Steam Input translate the controller input into mouse/kb to navigate the launcher + virtual void SetGameLauncherMode( bool bLauncherMode ) = 0; + + // Dismisses the floating keyboard. + virtual bool DismissFloatingGamepadTextInput() = 0; + + // Dismisses the full-screen text input dialog. + virtual bool DismissGamepadTextInput() = 0; +}; + +#define STEAMUTILS_INTERFACE_VERSION "SteamUtils010" + +// Global interface accessor +inline ISteamUtils *SteamUtils(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamUtils *, SteamUtils, SteamInternal_FindOrCreateUserInterface( 0, STEAMUTILS_INTERFACE_VERSION ), "user", STEAMUTILS_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamUtils *SteamGameServerUtils(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamUtils *, SteamGameServerUtils, SteamInternal_FindOrCreateGameServerInterface( 0, STEAMUTILS_INTERFACE_VERSION ), "gameserver", STEAMUTILS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: The country of the user changed +//----------------------------------------------------------------------------- +struct IPCountry_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 1 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Fired when running on a handheld PC or laptop with less than 10 minutes of battery is left, fires then every minute +//----------------------------------------------------------------------------- +struct LowBatteryPower_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 2 }; + uint8 m_nMinutesBatteryLeft; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a SteamAsyncCall_t has completed (or failed) +//----------------------------------------------------------------------------- +struct SteamAPICallCompleted_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 3 }; + SteamAPICall_t m_hAsyncCall; + int m_iCallback; + uint32 m_cubParam; +}; + + +//----------------------------------------------------------------------------- +// called when Steam wants to shutdown +//----------------------------------------------------------------------------- +struct SteamShutdown_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 4 }; +}; + +//----------------------------------------------------------------------------- +// results for CheckFileSignature +//----------------------------------------------------------------------------- +enum ECheckFileSignature +{ + k_ECheckFileSignatureInvalidSignature = 0, + k_ECheckFileSignatureValidSignature = 1, + k_ECheckFileSignatureFileNotFound = 2, + k_ECheckFileSignatureNoSignaturesFoundForThisApp = 3, + k_ECheckFileSignatureNoSignaturesFoundForThisFile = 4, +}; + +//----------------------------------------------------------------------------- +// callback for CheckFileSignature +//----------------------------------------------------------------------------- +struct CheckFileSignature_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 5 }; + ECheckFileSignature m_eCheckFileSignature; +}; + + +// k_iSteamUtilsCallbacks + 13 is taken + + +//----------------------------------------------------------------------------- +// Full Screen gamepad text input has been closed +//----------------------------------------------------------------------------- +struct GamepadTextInputDismissed_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 14 }; + bool m_bSubmitted; // true if user entered & accepted text (Call ISteamUtils::GetEnteredGamepadTextInput() for text), false if canceled input + uint32 m_unSubmittedText; + AppId_t m_unAppID; +}; + +// k_iSteamUtilsCallbacks + 15 through 35 are taken + +STEAM_CALLBACK_BEGIN( AppResumingFromSuspend_t, k_iSteamUtilsCallbacks + 36 ) +STEAM_CALLBACK_END(0) + +// k_iSteamUtilsCallbacks + 37 is taken + +//----------------------------------------------------------------------------- +// The floating on-screen keyboard has been closed +//----------------------------------------------------------------------------- +struct FloatingGamepadTextInputDismissed_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 38 }; +}; + +//----------------------------------------------------------------------------- +// The text filtering dictionary has changed +//----------------------------------------------------------------------------- +struct FilterTextDictionaryChanged_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 39 }; + int m_eLanguage; // One of ELanguage, or k_LegallyRequiredFiltering +}; + +#pragma pack( pop ) + +#endif // ISTEAMUTILS_H diff --git a/Steam/isteamvideo.h b/Steam/isteamvideo.h new file mode 100644 index 0000000..6cda0c5 --- /dev/null +++ b/Steam/isteamvideo.h @@ -0,0 +1,74 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Video +// +//============================================================================= + +#ifndef ISTEAMVIDEO_H +#define ISTEAMVIDEO_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: Steam Video API +//----------------------------------------------------------------------------- +class ISteamVideo +{ +public: + + // Get a URL suitable for streaming the given Video app ID's video + virtual void GetVideoURL( AppId_t unVideoAppID ) = 0; + + // returns true if user is uploading a live broadcast + virtual bool IsBroadcasting( int *pnNumViewers ) = 0; + + // Get the OPF Details for 360 Video Playback + STEAM_CALL_BACK( GetOPFSettingsResult_t ) + virtual void GetOPFSettings( AppId_t unVideoAppID ) = 0; + virtual bool GetOPFStringForApp( AppId_t unVideoAppID, char *pchBuffer, int32 *pnBufferSize ) = 0; + + +}; + +#define STEAMVIDEO_INTERFACE_VERSION "STEAMVIDEO_INTERFACE_V007" + +// Global interface accessor +inline ISteamVideo *SteamVideo(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamVideo *, SteamVideo, STEAMVIDEO_INTERFACE_VERSION ); + +STEAM_CALLBACK_BEGIN( GetVideoURLResult_t, k_iSteamVideoCallbacks + 11 ) + STEAM_CALLBACK_MEMBER( 0, EResult, m_eResult ) + STEAM_CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) + STEAM_CALLBACK_MEMBER( 2, char, m_rgchURL[256] ) +STEAM_CALLBACK_END(3) + + +STEAM_CALLBACK_BEGIN( GetOPFSettingsResult_t, k_iSteamVideoCallbacks + 24 ) + STEAM_CALLBACK_MEMBER( 0, EResult, m_eResult ) + STEAM_CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) +STEAM_CALLBACK_END(2) + +STEAM_CALLBACK_BEGIN( BroadcastUploadStart_t, k_iSteamVideoCallbacks + 4 ) + STEAM_CALLBACK_MEMBER( 0, bool, m_bIsRTMP ) +STEAM_CALLBACK_END( 1 ) + +STEAM_CALLBACK_BEGIN( BroadcastUploadStop_t, k_iSteamVideoCallbacks + 5 ) + STEAM_CALLBACK_MEMBER( 0, EBroadcastUploadResult, m_eResult ) +STEAM_CALLBACK_END( 1 ) + +#pragma pack( pop ) + + +#endif // ISTEAMVIDEO_H diff --git a/Steam/lib/linux32/libsdkencryptedappticket.so b/Steam/lib/linux32/libsdkencryptedappticket.so new file mode 100644 index 0000000000000000000000000000000000000000..086ca2b29e98b9a77266470ccbe323a96d4b90d6 GIT binary patch literal 1447164 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ɀSFWIb1)b4FdqxhhlN;##aN1E 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ɀ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� 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 nyh(33}FN749KF_4Bl8VRMo0O=l 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

W33;ej*!2DB2F@gXe?~q+4wvtm2%ZMM+*U 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 z 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

^jIU@{&O6Llj@h;JKgaJ%^sb{m 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

)| zEp3){|C88RLyR_n=@2{j(ezpVKZKq7$KMKj4tS zADNFD85d;!i?jqULJQGrTs03XOQ^Z!n5(D507>bKw^}~;^J}m71XXu z+{?jD19t<@p13cw%TjzDz=me*z95VZ-|*TXKL>S~w!|ayyOCdp{B}S2+TEUl-43?t z%J_b~#};i9R`R}za%n~G76V(hz3qv6WSH|ok>6_8#Mckn;TuDT8i#H1^2zy|mz~vG z?E^GyV%_K}#yiwAw{7mb8TS zoWmk1iz@h9ui2%3uiUuU%SRjS_`PT0X@h6pwYy@R3JV#tbKEmnU2S(*mt?gGY23_`hoTu2`4w&Gq5iA%V8@OX}M8UsAX0U4689pSk2m=pE+d z^x@aYvwKaf%9bT|H=+MUun&r_e|^i7A7NP&IazZS9??;Sjx{&zidFOM(cwA=*8+Ac z*rk40b;DzPkT4B;Hoj%!oBEch#>XDMC92Ag&d(3sWIF<%^}NY=u$1^kMK<4-K%aM z(?aNSK3_8GE z6`-RR`U2?5d>DjYl*9&+Z~TV6s{r}A&?hG0kHTLJeLVCaAF9C|8la;Yx&b|z51r75 zRwmDrP0+VOPnIV;p!X)>7auaVFjj;e5irG zCW#GF4y&NAf}YHW_0X3m;g7=K2fYerpG8g&7%9gi zc~00&?5y8qlCs(k=Cd^I%IuHlO^{s$VDgA_kj`>2lAr0sq7iH{*dU!9U@B7R+yrJ( znmR|p)`6Yjiko%MT$J|{f6uqQDRdTsk@hMbKdZq$kwWJxFdI|o>;m&@nmV_E9RM2? z+t7Qgi3I4BSmc8FBn74f%zMlMljViTsR7du=BqsG`Fg&#UfcqvBZaPRFzZw38UXVY zn6JBZS!1s#@5f9z$uKfci2i|d0LVE`m!syK>Z2qz5EEPpxDDW@dT{n{az&xlg8PX2 z_)Q&0owe@E75*X0Z7s6CD)YQwz3iQ5$?xGj@0h-ZM0Ovty8~nkW+#|eQnVS_1Nf3= zn^6SzU9ic@RQ%~7&YQtJ$g?rQ>ksFpZgF};+`+aZTiP0F$Mk%uH1kDdPsE=BFiQ3t z8$7W}CVMZkrG5v=u0!_ymh2Vj%P#+8yiNtl-h%8=OZIW;%kDz zJnOk+-Jvg-%=cMmP9diNjLd11wR7TMIhZyur}Lc9WsZ;ZJruz2Y7=_#lb_zZ?+GX}rxXMknw<2!?m=@%*eD0AKe$ifz5q}3o z-W9>?wt~z26Z1fD2k0_SSNmBr_lv7m?b1|m&r$~*Z8&FGE;0A7qVO*OBXucXm&KX3 zYOU?+m$Jf#y{NVzNRKZH-w-yH*0}C|qwlfqZxq>5 zPK&^_@oaQ^Wy`&*#XdHzh3^&kmI&YXy?mT;b{}z$?|;BI2;Vg6>n`>3NeupN7pGc_ z>i&TGO#kRN7SBR|KXe&qAX5E_^4}f2dxLk$>aFl){+aO?n0*vie9g6%aK#XIE^zJEA5qv)vL9t!<&rK>-njxRCmxa8s}vOfUxSDuZL7d(FWeb+1XxF6Xose6tw zn`+p5@sXd)^aYzwZ*FV5fe_yfTIE z1z$B@Y*To!Jl#Ea{<1;1CKgyf3}y$ z@4S5;^0O%5zI$Bfev|yJv&66sJ+Fd)Qf%ADt4F>CD08O2%BL;x<=?w2_JHsWc6nkC zpZk+~wU^R`eJkNx2A?Nx7urFP7;gi+39O@kHv3%d$i0%AL2y3=d!e7)Qm5RhV6$6x z#cuP%Y9D4ud^S+dx6yts4C7~(*U!i}*;72zvDqbMz7xLV&@s%j5qr)PpKzBmsMEmZ z;&1KMj2lGP-+g#KqcB?XLvjxKY}+N(4^_h3ZRz`i53fsKA^KY3nM^xdCi-6U;gPex zXO7DcsYXx>jM&QGhQA@BJa~^tRExBkQPDVDWHrFzkgS3lJMN^ z<&izc@K5a^NPCg_5#x#{b~%5~SNm=!4|+57iC`1CXWk7fW!-_!P3Y{Ac(i$SMrKG^ zU!z$XpXW6pw*
  • 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�?rToeKA#EgBu{(jKtgPPymY5fSnT~EN7oxl? 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 literal 0 HcmV?d00001 diff --git a/Steam/lib/linux64/libsdkencryptedappticket.so b/Steam/lib/linux64/libsdkencryptedappticket.so new file mode 100644 index 0000000000000000000000000000000000000000..f204163bf655ecfb5fb3aa20df3254805d89832b GIT binary patch literal 1399360 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%0DnHfB&{W6ZvWV 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�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%0A9}!x8VnOVFZmAZ;h|LiaI&MbjYce(RJ6 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 >IFSzzB=qN>ck&?;73Z5`VqOBcJdypZ4KkP? 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⁢n4>yX?e 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�=gn-!Tj;p-5BBiglN+NP@;T!lFW*+K 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

    6j}#(l_R?S>TvEM0ZN%+}D#f_}M! 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%0Ah2e2r73)mgUV1eJM@>VaBzv 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 z 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

    sY>?T)*+Jnx;VVq_yir`D;z{ql7 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 z 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%0Db|YE%Z$`ec&}xwF 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 T6J%o6{&k6n9zl6y8XigSKFvH$hOQi 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 z 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%0D{@{lo7g@3{N0`eUk3jzedxE9NQq4O2qpT|O3D-T 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 AcmMzZ literal 0 HcmV?d00001 diff --git a/Steam/lib/win64/sdkencryptedappticket64.lib b/Steam/lib/win64/sdkencryptedappticket64.lib new file mode 100644 index 0000000000000000000000000000000000000000..52437e3559a737b1bbeb12ddcf91648871358d88 GIT binary patch literal 5954 zcmcgw&2JM&6n{1R4TRo3wnZcCCVwi(VjS0LZX!lNEMZOK=@M8H@h>t{@9(Fl?*FA&&U4Wo8P{D z^X9GJ`&iWrS3e0)N1Ly6v&~~RnxUQ9*bMFF!vJs=pby&t6JYQGKqPL<$Q=M8r*GIY zb_#&VspnL(*rJTywd2J)7q?b3(Z)7g#);1KQ zculJm^uwB|71dhJEETS4=6oC!CA+n{+O7a!`Dobq+{LZzijrQ+Ey1R#spVy6d#P5- zS+)(hqzFwTvH^$zOam8oBOP)<4Pid5(LfaM~ zla{s2;6l6T26?MC*w1Ea%h2?-gNi|56}k83rNXtJF}Br0O0871qQDmxokqB?U3?!% zIj!xM(CW6jw=a5uDGv=l>j)(exvlCYb!SgYtEMU-?xo>pJ;h>lvvftmB`s)<)zwl# zs~B3Us_WGQv9B{mtAf~ePAk`{x~d-v{DIF%jk_Ab^XaUUPlqs}hWh}_0e}aC0PzUG zoe_W=r!iZO0X)YHnnk%k3h)r`-Nm^H?B|C8>L{3up$Gb45Qg9w3_uu8!U;GIz0eOK z=<>bSEt~6nT^AtiT&Fp&(ATVoe>vEu3@XIYxb(%5y&<(pgJcTylg*N!upF41xczuK zPz!(=lLPeF?j1N#108?@utyvTG@KA|qDfZ4-LpcCrpS^+%jLb+C=(d>iZ#B96CZZO zNrK(DlT={QCxo}fpmaSp-I7{GmFnCAt6lS9pPFx~xVHz>thA+Yk=;b%BZ|z2i?_Ss z-uL>G4?}>N*1o2S+Rpx!iA_3$b?ki22DD8=BsEnk;*mQs$8KR_hsP-Y(urJ_*sIE^Nm!qZNxiiZ;s=8`0U z^*C4AjP>yLx)c*97*qlWlW=Fq{0#Y_7qJeIp(E0CfsVg#_k$uFG}7kg=Nlre3vR9F z>%Us$$s+)GMOx9m<@`28T8vGSNc)KmXiFmPtwfMa9K4I9d_UlVdNDT35`n#66W@IC z=L=lG4hnBCa`tP2IgadivR@moBqZ5>jk9@z`-=@|OK@-8+cKU$hlJ!aaKKEtz!GJY z{8vCWeew3>m!G~oZ+W4|w^V8Q!sca_za`)xcUI6iEb;Mu4EIt04_^Vrrms@A?hz0f60^8ILvGwim zw;rXDR}Y_8Q#JRdIqly2yiPbBli@^b#*T7YY>)SY>#u%WMo!0hoLVbW9;x6_6>Dd8 zef`BhFx18@NuLY0T lO8ngalEhY6h8O#4=qM|%4BtDx@`_}vK0d3qj}soT{{b-;lQRGS literal 0 HcmV?d00001 diff --git a/Steam/matchmakingtypes.h b/Steam/matchmakingtypes.h new file mode 100644 index 0000000..791802a --- /dev/null +++ b/Steam/matchmakingtypes.h @@ -0,0 +1,231 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef MATCHMAKINGTYPES_H +#define MATCHMAKINGTYPES_H + +#include +#include + +// +// Max size (in bytes of UTF-8 data, not in characters) of server fields, including null terminator. +// WARNING: These cannot be changed easily, without breaking clients using old interfaces. +// +const int k_cbMaxGameServerGameDir = 32; +const int k_cbMaxGameServerMapName = 32; +const int k_cbMaxGameServerGameDescription = 64; +const int k_cbMaxGameServerName = 64; +const int k_cbMaxGameServerTags = 128; +const int k_cbMaxGameServerGameData = 2048; + +/// Store key/value pair used in matchmaking queries. +/// +/// Actually, the name Key/Value is a bit misleading. The "key" is better +/// understood as "filter operation code" and the "value" is the operand to this +/// filter operation. The meaning of the operand depends upon the filter. +struct MatchMakingKeyValuePair_t +{ + MatchMakingKeyValuePair_t() { m_szKey[0] = m_szValue[0] = 0; } + MatchMakingKeyValuePair_t( const char *pchKey, const char *pchValue ) + { + strncpy( m_szKey, pchKey, sizeof(m_szKey) ); // this is a public header, use basic c library string funcs only! + m_szKey[ sizeof( m_szKey ) - 1 ] = '\0'; + strncpy( m_szValue, pchValue, sizeof(m_szValue) ); + m_szValue[ sizeof( m_szValue ) - 1 ] = '\0'; + } + char m_szKey[ 256 ]; + char m_szValue[ 256 ]; +}; + + +enum EMatchMakingServerResponse +{ + eServerResponded = 0, + eServerFailedToRespond, + eNoServersListedOnMasterServer // for the Internet query type, returned in response callback if no servers of this type match +}; + +// servernetadr_t is all the addressing info the serverbrowser needs to know about a game server, +// namely: its IP, its connection port, and its query port. +class servernetadr_t +{ +public: + + servernetadr_t() : m_usConnectionPort( 0 ), m_usQueryPort( 0 ), m_unIP( 0 ) {} + + void Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ); + + // Access the query port. + uint16 GetQueryPort() const; + void SetQueryPort( uint16 usPort ); + + // Access the connection port. + uint16 GetConnectionPort() const; + void SetConnectionPort( uint16 usPort ); + + // Access the IP + uint32 GetIP() const; + void SetIP( uint32 unIP ); + + // This gets the 'a.b.c.d:port' string with the connection port (instead of the query port). + const char *GetConnectionAddressString() const; + const char *GetQueryAddressString() const; + + // Comparison operators and functions. + bool operator<(const servernetadr_t &netadr) const; + void operator=( const servernetadr_t &that ) + { + m_usConnectionPort = that.m_usConnectionPort; + m_usQueryPort = that.m_usQueryPort; + m_unIP = that.m_unIP; + } + + +private: + const char *ToString( uint32 unIP, uint16 usPort ) const; + uint16 m_usConnectionPort; // (in HOST byte order) + uint16 m_usQueryPort; + uint32 m_unIP; +}; + + +inline void servernetadr_t::Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ) +{ + m_unIP = ip; + m_usQueryPort = usQueryPort; + m_usConnectionPort = usConnectionPort; +} + +inline uint16 servernetadr_t::GetQueryPort() const +{ + return m_usQueryPort; +} + +inline void servernetadr_t::SetQueryPort( uint16 usPort ) +{ + m_usQueryPort = usPort; +} + +inline uint16 servernetadr_t::GetConnectionPort() const +{ + return m_usConnectionPort; +} + +inline void servernetadr_t::SetConnectionPort( uint16 usPort ) +{ + m_usConnectionPort = usPort; +} + +inline uint32 servernetadr_t::GetIP() const +{ + return m_unIP; +} + +inline void servernetadr_t::SetIP( uint32 unIP ) +{ + m_unIP = unIP; +} + +inline const char *servernetadr_t::ToString( uint32 unIP, uint16 usPort ) const +{ + static char s[4][64]; + static int nBuf = 0; + unsigned char *ipByte = (unsigned char *)&unIP; +#ifdef VALVE_BIG_ENDIAN + snprintf(s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[0]), (int)(ipByte[1]), (int)(ipByte[2]), (int)(ipByte[3]), usPort ); +#else + snprintf(s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[3]), (int)(ipByte[2]), (int)(ipByte[1]), (int)(ipByte[0]), usPort ); +#endif + const char *pchRet = s[nBuf]; + ++nBuf; + nBuf %= ( (sizeof(s)/sizeof(s[0])) ); + return pchRet; +} + +inline const char* servernetadr_t::GetConnectionAddressString() const +{ + return ToString( m_unIP, m_usConnectionPort ); +} + +inline const char* servernetadr_t::GetQueryAddressString() const +{ + return ToString( m_unIP, m_usQueryPort ); +} + +inline bool servernetadr_t::operator<(const servernetadr_t &netadr) const +{ + return ( m_unIP < netadr.m_unIP ) || ( m_unIP == netadr.m_unIP && m_usQueryPort < netadr.m_usQueryPort ); +} + +//----------------------------------------------------------------------------- +// Purpose: Data describing a single server +//----------------------------------------------------------------------------- +class gameserveritem_t +{ +public: + gameserveritem_t(); + + const char* GetName() const; + void SetName( const char *pName ); + +public: + servernetadr_t m_NetAdr; ///< IP/Query Port/Connection Port for this server + int m_nPing; ///< current ping time in milliseconds + bool m_bHadSuccessfulResponse; ///< server has responded successfully in the past + bool m_bDoNotRefresh; ///< server is marked as not responding and should no longer be refreshed + char m_szGameDir[k_cbMaxGameServerGameDir]; ///< current game directory + char m_szMap[k_cbMaxGameServerMapName]; ///< current map + char m_szGameDescription[k_cbMaxGameServerGameDescription]; ///< game description + uint32 m_nAppID; ///< Steam App ID of this server + int m_nPlayers; ///< total number of players currently on the server. INCLUDES BOTS!! + int m_nMaxPlayers; ///< Maximum players that can join this server + int m_nBotPlayers; ///< Number of bots (i.e simulated players) on this server + bool m_bPassword; ///< true if this server needs a password to join + bool m_bSecure; ///< Is this server protected by VAC + uint32 m_ulTimeLastPlayed; ///< time (in unix time) when this server was last played on (for favorite/history servers) + int m_nServerVersion; ///< server version as reported to Steam + +private: + + /// Game server name + char m_szServerName[k_cbMaxGameServerName]; + + // For data added after SteamMatchMaking001 add it here +public: + /// the tags this server exposes + char m_szGameTags[k_cbMaxGameServerTags]; + + /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam) + CSteamID m_steamID; +}; + + +inline gameserveritem_t::gameserveritem_t() +{ + m_szGameDir[0] = m_szMap[0] = m_szGameDescription[0] = m_szServerName[0] = 0; + m_bHadSuccessfulResponse = m_bDoNotRefresh = m_bPassword = m_bSecure = false; + m_nPing = m_nAppID = m_nPlayers = m_nMaxPlayers = m_nBotPlayers = m_ulTimeLastPlayed = m_nServerVersion = 0; + m_szGameTags[0] = 0; +} + +inline const char* gameserveritem_t::GetName() const +{ + // Use the IP address as the name if nothing is set yet. + if ( m_szServerName[0] == 0 ) + return m_NetAdr.GetConnectionAddressString(); + else + return m_szServerName; +} + +inline void gameserveritem_t::SetName( const char *pName ) +{ + strncpy( m_szServerName, pName, sizeof( m_szServerName ) ); + m_szServerName[ sizeof( m_szServerName ) - 1 ] = '\0'; +} + + +#endif // MATCHMAKINGTYPES_H diff --git a/Steam/steam_api.h b/Steam/steam_api.h new file mode 100644 index 0000000..71d3a8b --- /dev/null +++ b/Steam/steam_api.h @@ -0,0 +1,266 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// This header includes *all* of the interfaces and callback structures +// in the Steamworks SDK, and some high level functions to control the SDK +// (init, shutdown, etc) that you probably only need in one or two files. +// +// To save your compile times, we recommend that you not include this file +// in header files. Instead, include the specific headers for the interfaces +// and callback structures you need. The one file you might consider including +// in your precompiled header (e.g. stdafx.h) is steam_api_common.h +// +//============================================================================= + +#ifndef STEAM_API_H +#define STEAM_API_H +#ifdef _WIN32 +#pragma once +#endif + +// Basic stuff +#include "steam_api_common.h" + +// All of the interfaces +#include "isteamclient.h" +#include "isteamuser.h" +#include "isteamfriends.h" +#include "isteamutils.h" +#include "isteammatchmaking.h" +#include "isteamuserstats.h" +#include "isteamapps.h" +#include "isteamnetworking.h" +#include "isteamremotestorage.h" +#include "isteamscreenshots.h" +#include "isteammusic.h" +#include "isteammusicremote.h" +#include "isteamhttp.h" +#include "isteamcontroller.h" +#include "isteamugc.h" +#include "isteamhtmlsurface.h" +#include "isteaminventory.h" +#include "isteamtimeline.h" +#include "isteamvideo.h" +#include "isteamparentalsettings.h" +#include "isteaminput.h" +#include "isteamremoteplay.h" +#include "isteamnetworkingmessages.h" +#include "isteamnetworkingsockets.h" +#include "isteamnetworkingutils.h" + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// Steam API setup & shutdown +// +// These functions manage loading, initializing and shutdown of the steamclient.dll +// +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +enum ESteamAPIInitResult +{ + k_ESteamAPIInitResult_OK = 0, + k_ESteamAPIInitResult_FailedGeneric = 1, // Some other failure + k_ESteamAPIInitResult_NoSteamClient = 2, // We cannot connect to Steam, steam probably isn't running + k_ESteamAPIInitResult_VersionMismatch = 3, // Steam client appears to be out of date +}; + +// Initializing the Steamworks SDK +// ----------------------------- +// +// There are three different methods you can use to initialize the Steamworks SDK, depending on +// your project's environment. You should only use one method in your project. +// +// If you are able to include this C++ header in your project, we recommend using the following +// initialization methods. They will ensure that all ISteam* interfaces defined in other +// C++ header files have versions that are supported by the user's Steam Client: +// - SteamAPI_InitEx() for new projects so you can show a detailed error message to the user +// - SteamAPI_Init() for existing projects that only display a generic error message +// +// If you are unable to include this C++ header in your project and are dynamically loading +// Steamworks SDK methods from dll/so, you can use the following method: +// - SteamAPI_InitFlat() + + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// On success k_ESteamAPIInitResult_OK is returned. Otherwise, returns a value that can be used +// to create a localized error message for the user. If pOutErrMsg is non-NULL, +// it will receive an example error message, in English, that explains the reason for the failure. +// +// Example usage: +// +// SteamErrMsg errMsg; +// if ( SteamAPI_Init(&errMsg) != k_ESteamAPIInitResult_OK ) +// FatalError( "Failed to init Steam. %s", errMsg ); +inline ESteamAPIInitResult SteamAPI_InitEx( SteamErrMsg *pOutErrMsg ); + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// Returns true on success +inline bool SteamAPI_Init() +{ + return SteamAPI_InitEx( NULL ) == k_ESteamAPIInitResult_OK; +} + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// Same usage as SteamAPI_InitEx(), however does not verify ISteam* interfaces are +// supported by the user's client and is exported from the dll +S_API ESteamAPIInitResult S_CALLTYPE SteamAPI_InitFlat( SteamErrMsg *pOutErrMsg ); + +// SteamAPI_Shutdown should be called during process shutdown if possible. +S_API void S_CALLTYPE SteamAPI_Shutdown(); + +// SteamAPI_RestartAppIfNecessary ensures that your executable was launched through Steam. +// +// Returns true if the current process should terminate. Steam is now re-launching your application. +// +// Returns false if no action needs to be taken. This means that your executable was started through +// the Steam client, or a steam_appid.txt file is present in your game's directory (for development). +// Your current process should continue if false is returned. +// +// NOTE: If you use the Steam DRM wrapper on your primary executable file, this check is unnecessary +// since the DRM wrapper will ensure that your application was launched properly through Steam. +S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID ); + +// Many Steam API functions allocate a small amount of thread-local memory for parameter storage. +// SteamAPI_ReleaseCurrentThreadMemory() will free API memory associated with the calling thread. +// This function is also called automatically by SteamAPI_RunCallbacks(), so a single-threaded +// program never needs to explicitly call this function. +S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory(); + + +// crash dump recording functions +S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID ); +S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg ); + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steamclient.dll private wrapper functions +// +// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// SteamAPI_IsSteamRunning() returns true if Steam is currently running +S_API bool S_CALLTYPE SteamAPI_IsSteamRunning(); + +// returns the filename path of the current running Steam process, used if you need to load an explicit steam dll by name. +// DEPRECATED - implementation is Windows only, and the path returned is a UTF-8 string which must be converted to UTF-16 for use with Win32 APIs +S_API const char *SteamAPI_GetSteamInstallPath(); + +// sets whether or not Steam_RunCallbacks() should do a try {} catch (...) {} around calls to issuing callbacks +// This is ignored if you are using the manual callback dispatch method +S_API void SteamAPI_SetTryCatchCallbacks( bool bTryCatchCallbacks ); + +#if defined( VERSION_SAFE_STEAM_API_INTERFACES ) +// exists only for backwards compat with code written against older SDKs +S_API bool S_CALLTYPE SteamAPI_InitSafe(); +#endif + +#if defined(USE_BREAKPAD_HANDLER) || defined(STEAM_API_EXPORTS) +// this should be called before the game initialized the steam APIs +// pchDate should be of the format "Mmm dd yyyy" (such as from the __ DATE __ macro ) +// pchTime should be of the format "hh:mm:ss" (such as from the __ TIME __ macro ) +// bFullMemoryDumps (Win32 only) -- writes out a uuid-full.dmp in the client/dumps folder +// pvContext-- can be NULL, will be the void * context passed into m_pfnPreMinidumpCallback +// PFNPreMinidumpCallback m_pfnPreMinidumpCallback -- optional callback which occurs just before a .dmp file is written during a crash. Applications can hook this to allow adding additional information into the .dmp comment stream. +S_API void S_CALLTYPE SteamAPI_UseBreakpadCrashHandler( char const *pchVersion, char const *pchDate, char const *pchTime, bool bFullMemoryDumps, void *pvContext, PFNPreMinidumpCallback m_pfnPreMinidumpCallback ); +S_API void S_CALLTYPE SteamAPI_SetBreakpadAppID( uint32 unAppID ); +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// +// Manual callback loop +// +// An alternative method for dispatching callbacks. Similar to a windows message loop. +// +// If you use the manual callback dispatch, you must NOT use: +// +// - SteamAPI_RunCallbacks or SteamGameServer_RunCallbacks +// - STEAM_CALLBACK, CCallResult, CCallback, or CCallbackManual +// +// Here is the basic template for replacing SteamAPI_RunCallbacks() with manual dispatch +/* + + HSteamPipe hSteamPipe = SteamAPI_GetHSteamPipe(); // See also SteamGameServer_GetHSteamPipe() + SteamAPI_ManualDispatch_RunFrame( hSteamPipe ) + CallbackMsg_t callback; + while ( SteamAPI_ManualDispatch_GetNextCallback( hSteamPipe, &callback ) ) + { + // Check for dispatching API call results + if ( callback.m_iCallback == SteamAPICallCompleted_t::k_iCallback ) + { + SteamAPICallCompleted_t *pCallCompleted = (SteamAPICallCompleted_t *)callback. + void *pTmpCallResult = malloc( pCallback->m_cubParam ); + bool bFailed; + if ( SteamAPI_ManualDispatch_GetAPICallResult( hSteamPipe, pCallCompleted->m_hAsyncCall, pTmpCallResult, pCallback->m_cubParam, pCallback->m_iCallback, &bFailed ) ) + { + // Dispatch the call result to the registered handler(s) for the + // call identified by pCallCompleted->m_hAsyncCall + } + free( pTmpCallResult ); + } + else + { + // Look at callback.m_iCallback to see what kind of callback it is, + // and dispatch to appropriate handler(s) + } + SteamAPI_ManualDispatch_FreeLastCallback( hSteamPipe ); + } + +*/ +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +/// Inform the API that you wish to use manual event dispatch. This must be called after SteamAPI_Init, but before +/// you use any of the other manual dispatch functions below. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_Init(); + +/// Perform certain periodic actions that need to be performed. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_RunFrame( HSteamPipe hSteamPipe ); + +/// Fetch the next pending callback on the given pipe, if any. If a callback is available, true is returned +/// and the structure is populated. In this case, you MUST call SteamAPI_ManualDispatch_FreeLastCallback +/// (after dispatching the callback) before calling SteamAPI_ManualDispatch_GetNextCallback again. +S_API bool S_CALLTYPE SteamAPI_ManualDispatch_GetNextCallback( HSteamPipe hSteamPipe, CallbackMsg_t *pCallbackMsg ); + +/// You must call this after dispatching the callback, if SteamAPI_ManualDispatch_GetNextCallback returns true. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_FreeLastCallback( HSteamPipe hSteamPipe ); + +/// Return the call result for the specified call on the specified pipe. You really should +/// only call this in a handler for SteamAPICallCompleted_t callback. +S_API bool S_CALLTYPE SteamAPI_ManualDispatch_GetAPICallResult( HSteamPipe hSteamPipe, SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed ); + +// Internal implementation of SteamAPI_InitEx. This is done in a way that checks +// all of the versions of interfaces from headers being compiled into this code. +S_API ESteamAPIInitResult S_CALLTYPE SteamInternal_SteamAPI_Init( const char *pszInternalCheckInterfaceVersions, SteamErrMsg *pOutErrMsg ); +inline ESteamAPIInitResult SteamAPI_InitEx( SteamErrMsg *pOutErrMsg ) +{ + const char *pszInternalCheckInterfaceVersions = + STEAMUTILS_INTERFACE_VERSION "\0" + STEAMNETWORKINGUTILS_INTERFACE_VERSION "\0" + STEAMAPPS_INTERFACE_VERSION "\0" + STEAMCONTROLLER_INTERFACE_VERSION "\0" + STEAMFRIENDS_INTERFACE_VERSION "\0" + STEAMGAMESEARCH_INTERFACE_VERSION "\0" + STEAMHTMLSURFACE_INTERFACE_VERSION "\0" + STEAMHTTP_INTERFACE_VERSION "\0" + STEAMINPUT_INTERFACE_VERSION "\0" + STEAMINVENTORY_INTERFACE_VERSION "\0" + STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "\0" + STEAMMATCHMAKING_INTERFACE_VERSION "\0" + STEAMMUSICREMOTE_INTERFACE_VERSION "\0" + STEAMMUSIC_INTERFACE_VERSION "\0" + STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "\0" + STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "\0" + STEAMNETWORKING_INTERFACE_VERSION "\0" + STEAMPARENTALSETTINGS_INTERFACE_VERSION "\0" + STEAMPARTIES_INTERFACE_VERSION "\0" + STEAMREMOTEPLAY_INTERFACE_VERSION "\0" + STEAMREMOTESTORAGE_INTERFACE_VERSION "\0" + STEAMSCREENSHOTS_INTERFACE_VERSION "\0" + STEAMUGC_INTERFACE_VERSION "\0" + STEAMUSERSTATS_INTERFACE_VERSION "\0" + STEAMUSER_INTERFACE_VERSION "\0" + STEAMVIDEO_INTERFACE_VERSION "\0" + + "\0"; + + return SteamInternal_SteamAPI_Init( pszInternalCheckInterfaceVersions, pOutErrMsg ); +} + +#endif // STEAM_API_H diff --git a/Steam/steam_api.json b/Steam/steam_api.json new file mode 100644 index 0000000..af747fa --- /dev/null +++ b/Steam/steam_api.json @@ -0,0 +1,14422 @@ +{ + "callback_structs": [ + { + "callback_id": 101, + "fields": [], + "struct": "SteamServersConnected_t" + }, + { + "callback_id": 102, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_bStillRetrying", "fieldtype":"bool" } + ], + "struct": "SteamServerConnectFailure_t" + }, + { + "callback_id": 103, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "SteamServersDisconnected_t" + }, + { + "callback_id": 113, + "fields": [ + { "fieldname":"m_uAppID", "fieldtype":"uint32" }, + { "fieldname":"m_unGameServerIP", "fieldtype":"uint32" }, + { "fieldname":"m_usGameServerPort", "fieldtype":"uint16" }, + { "fieldname":"m_bSecure", "fieldtype":"uint16" }, + { "fieldname":"m_uReason", "fieldtype":"uint32" } + ], + "struct": "ClientGameServerDeny_t" + }, + { + "callback_id": 117, + "enums": [ + { + "enumname": "EFailureType", + "fqname": "IPCFailure_t::EFailureType", + "values": [ + { "name":"k_EFailureFlushedCallbackQueue", "value":"0" }, + { "name":"k_EFailurePipeFail", "value":"1" } + ] + } + ], + "fields": [ + { "fieldname":"m_eFailureType", "fieldtype":"uint8" } + ], + "struct": "IPCFailure_t" + }, + { + "callback_id": 125, + "fields": [], + "struct": "LicensesUpdated_t" + }, + { + "callback_id": 143, + "fields": [ + { "fieldname":"m_SteamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_eAuthSessionResponse", "fieldtype":"EAuthSessionResponse" }, + { "fieldname":"m_OwnerSteamID", "fieldtype":"CSteamID" } + ], + "struct": "ValidateAuthTicketResponse_t" + }, + { + "callback_id": 152, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"uint32" }, + { "fieldname":"m_ulOrderID", "fieldtype":"uint64" }, + { "fieldname":"m_bAuthorized", "fieldtype":"uint8" } + ], + "struct": "MicroTxnAuthorizationResponse_t" + }, + { + "callback_id": 154, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "EncryptedAppTicketResponse_t" + }, + { + "callback_id": 163, + "fields": [ + { "fieldname":"m_hAuthTicket", "fieldtype":"HAuthTicket" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "GetAuthSessionTicketResponse_t" + }, + { + "callback_id": 164, + "fields": [ + { "fieldname":"m_szURL", "fieldtype":"char [256]" } + ], + "struct": "GameWebCallback_t" + }, + { + "callback_id": 165, + "fields": [ + { "fieldname":"m_szURL", "fieldtype":"char [512]" } + ], + "struct": "StoreAuthURLResponse_t" + }, + { + "callback_id": 166, + "fields": [ + { "fieldname":"m_bAllowed", "fieldtype":"bool" }, + { "fieldname":"m_eNotAllowedReason", "fieldtype":"EMarketNotAllowedReasonFlags" }, + { "fieldname":"m_rtAllowedAtTime", "fieldtype":"RTime32" }, + { "fieldname":"m_cdaySteamGuardRequiredDays", "fieldtype":"int" }, + { "fieldname":"m_cdayNewDeviceCooldown", "fieldtype":"int" } + ], + "struct": "MarketEligibilityResponse_t" + }, + { + "callback_id": 167, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_appid", "fieldtype":"AppId_t" }, + { "fieldname":"m_bApplicable", "fieldtype":"bool" }, + { "fieldname":"m_csecsLast5h", "fieldtype":"int32" }, + { "fieldname":"m_progress", "fieldtype":"EDurationControlProgress" }, + { "fieldname":"m_notification", "fieldtype":"EDurationControlNotification" }, + { "fieldname":"m_csecsToday", "fieldtype":"int32" }, + { "fieldname":"m_csecsRemaining", "fieldtype":"int32" } + ], + "struct": "DurationControl_t" + }, + { + "callback_id": 168, + "fields": [ + { "fieldname":"m_hAuthTicket", "fieldtype":"HAuthTicket" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_cubTicket", "fieldtype":"int" }, + { "fieldname":"m_rgubTicket", "fieldtype":"uint8 [2560]" } + ], + "struct": "GetTicketForWebApiResponse_t" + }, + { + "callback_id": 304, + "fields": [ + { "fieldname":"m_ulSteamID", "fieldtype":"uint64" }, + { "fieldname":"m_nChangeFlags", "fieldtype":"int" } + ], + "struct": "PersonaStateChange_t" + }, + { + "callback_id": 331, + "fields": [ + { "fieldname":"m_bActive", "fieldtype":"uint8" }, + { "fieldname":"m_bUserInitiated", "fieldtype":"bool" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_dwOverlayPID", "fieldtype":"uint32" } + ], + "struct": "GameOverlayActivated_t" + }, + { + "callback_id": 332, + "fields": [ + { "fieldname":"m_rgchServer", "fieldtype":"char [64]" }, + { "fieldname":"m_rgchPassword", "fieldtype":"char [64]" } + ], + "struct": "GameServerChangeRequested_t" + }, + { + "callback_id": 333, + "fields": [ + { "fieldname":"m_steamIDLobby", "fieldtype":"CSteamID" }, + { "fieldname":"m_steamIDFriend", "fieldtype":"CSteamID" } + ], + "struct": "GameLobbyJoinRequested_t" + }, + { + "callback_id": 334, + "fields": [ + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_iImage", "fieldtype":"int" }, + { "fieldname":"m_iWide", "fieldtype":"int" }, + { "fieldname":"m_iTall", "fieldtype":"int" } + ], + "struct": "AvatarImageLoaded_t" + }, + { + "callback_id": 335, + "fields": [ + { "fieldname":"m_steamIDClan", "fieldtype":"CSteamID" }, + { "fieldname":"m_cOfficers", "fieldtype":"int" }, + { "fieldname":"m_bSuccess", "fieldtype":"uint8" } + ], + "struct": "ClanOfficerListResponse_t" + }, + { + "callback_id": 336, + "fields": [ + { "fieldname":"m_steamIDFriend", "fieldtype":"CSteamID" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "FriendRichPresenceUpdate_t" + }, + { + "callback_id": 337, + "fields": [ + { "fieldname":"m_steamIDFriend", "fieldtype":"CSteamID" }, + { "fieldname":"m_rgchConnect", "fieldtype":"char [256]" } + ], + "struct": "GameRichPresenceJoinRequested_t" + }, + { + "callback_id": 338, + "fields": [ + { "fieldname":"m_steamIDClanChat", "fieldtype":"CSteamID" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" }, + { "fieldname":"m_iMessageID", "fieldtype":"int" } + ], + "struct": "GameConnectedClanChatMsg_t" + }, + { + "callback_id": 339, + "fields": [ + { "fieldname":"m_steamIDClanChat", "fieldtype":"CSteamID" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "GameConnectedChatJoin_t" + }, + { + "callback_id": 340, + "fields": [ + { "fieldname":"m_steamIDClanChat", "fieldtype":"CSteamID" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" }, + { "fieldname":"m_bKicked", "fieldtype":"bool" }, + { "fieldname":"m_bDropped", "fieldtype":"bool" } + ], + "struct": "GameConnectedChatLeave_t" + }, + { + "callback_id": 341, + "fields": [ + { "fieldname":"m_bSuccess", "fieldtype":"bool" } + ], + "struct": "DownloadClanActivityCountsResult_t" + }, + { + "callback_id": 342, + "fields": [ + { "fieldname":"m_steamIDClanChat", "fieldtype":"CSteamID" }, + { "fieldname":"m_eChatRoomEnterResponse", "fieldtype":"EChatRoomEnterResponse" } + ], + "struct": "JoinClanChatRoomCompletionResult_t" + }, + { + "callback_id": 343, + "fields": [ + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" }, + { "fieldname":"m_iMessageID", "fieldtype":"int" } + ], + "struct": "GameConnectedFriendChatMsg_t" + }, + { + "callback_id": 344, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_nCount", "fieldtype":"int" } + ], + "struct": "FriendsGetFollowerCount_t" + }, + { + "callback_id": 345, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_bIsFollowing", "fieldtype":"bool" } + ], + "struct": "FriendsIsFollowing_t" + }, + { + "callback_id": 346, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_rgSteamID", "fieldtype":"CSteamID [50]" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" } + ], + "struct": "FriendsEnumerateFollowingList_t" + }, + { + "callback_id": 347, + "fields": [ + { "fieldname":"m_bSuccess", "fieldtype":"bool" }, + { "fieldname":"m_bLocalSuccess", "fieldtype":"bool" }, + { "fieldname":"m_result", "fieldtype":"EResult" } + ], + "struct": "SetPersonaNameResponse_t" + }, + { + "callback_id": 348, + "fields": [], + "struct": "UnreadChatMessagesChanged_t" + }, + { + "callback_id": 349, + "fields": [ + { "fieldname":"rgchURI", "fieldtype":"char [1024]" } + ], + "struct": "OverlayBrowserProtocolNavigation_t" + }, + { + "callback_id": 350, + "fields": [ + { "fieldname":"m_steamID", "fieldtype":"CSteamID" } + ], + "struct": "EquippedProfileItemsChanged_t" + }, + { + "callback_id": 351, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_bHasAnimatedAvatar", "fieldtype":"bool" }, + { "fieldname":"m_bHasAvatarFrame", "fieldtype":"bool" }, + { "fieldname":"m_bHasProfileModifier", "fieldtype":"bool" }, + { "fieldname":"m_bHasProfileBackground", "fieldtype":"bool" }, + { "fieldname":"m_bHasMiniProfileBackground", "fieldtype":"bool" }, + { "fieldname":"m_bFromCache", "fieldtype":"bool" } + ], + "struct": "EquippedProfileItems_t" + }, + { + "callback_id": 701, + "fields": [], + "struct": "IPCountry_t" + }, + { + "callback_id": 702, + "fields": [ + { "fieldname":"m_nMinutesBatteryLeft", "fieldtype":"uint8" } + ], + "struct": "LowBatteryPower_t" + }, + { + "callback_id": 703, + "fields": [ + { "fieldname":"m_hAsyncCall", "fieldtype":"SteamAPICall_t" }, + { "fieldname":"m_iCallback", "fieldtype":"int" }, + { "fieldname":"m_cubParam", "fieldtype":"uint32" } + ], + "struct": "SteamAPICallCompleted_t" + }, + { + "callback_id": 704, + "fields": [], + "struct": "SteamShutdown_t" + }, + { + "callback_id": 705, + "fields": [ + { "fieldname":"m_eCheckFileSignature", "fieldtype":"ECheckFileSignature" } + ], + "struct": "CheckFileSignature_t" + }, + { + "callback_id": 714, + "fields": [ + { "fieldname":"m_bSubmitted", "fieldtype":"bool" }, + { "fieldname":"m_unSubmittedText", "fieldtype":"uint32" }, + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" } + ], + "struct": "GamepadTextInputDismissed_t" + }, + { + "callback_id": 736, + "fields": [], + "struct": "AppResumingFromSuspend_t" + }, + { + "callback_id": 738, + "fields": [], + "struct": "FloatingGamepadTextInputDismissed_t" + }, + { + "callback_id": 739, + "fields": [ + { "fieldname":"m_eLanguage", "fieldtype":"int" } + ], + "struct": "FilterTextDictionaryChanged_t" + }, + { + "callback_id": 502, + "fields": [ + { "fieldname":"m_nIP", "fieldtype":"uint32" }, + { "fieldname":"m_nQueryPort", "fieldtype":"uint32" }, + { "fieldname":"m_nConnPort", "fieldtype":"uint32" }, + { "fieldname":"m_nAppID", "fieldtype":"uint32" }, + { "fieldname":"m_nFlags", "fieldtype":"uint32" }, + { "fieldname":"m_bAdd", "fieldtype":"bool" }, + { "fieldname":"m_unAccountId", "fieldtype":"AccountID_t" } + ], + "struct": "FavoritesListChanged_t" + }, + { + "callback_id": 503, + "fields": [ + { "fieldname":"m_ulSteamIDUser", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulGameID", "fieldtype":"uint64" } + ], + "struct": "LobbyInvite_t" + }, + { + "callback_id": 504, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_rgfChatPermissions", "fieldtype":"uint32" }, + { "fieldname":"m_bLocked", "fieldtype":"bool" }, + { "fieldname":"m_EChatRoomEnterResponse", "fieldtype":"uint32" } + ], + "struct": "LobbyEnter_t" + }, + { + "callback_id": 505, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDMember", "fieldtype":"uint64" }, + { "fieldname":"m_bSuccess", "fieldtype":"uint8" } + ], + "struct": "LobbyDataUpdate_t" + }, + { + "callback_id": 506, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDUserChanged", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDMakingChange", "fieldtype":"uint64" }, + { "fieldname":"m_rgfChatMemberStateChange", "fieldtype":"uint32" } + ], + "struct": "LobbyChatUpdate_t" + }, + { + "callback_id": 507, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDUser", "fieldtype":"uint64" }, + { "fieldname":"m_eChatEntryType", "fieldtype":"uint8" }, + { "fieldname":"m_iChatID", "fieldtype":"uint32" } + ], + "struct": "LobbyChatMsg_t" + }, + { + "callback_id": 509, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDGameServer", "fieldtype":"uint64" }, + { "fieldname":"m_unIP", "fieldtype":"uint32" }, + { "fieldname":"m_usPort", "fieldtype":"uint16" } + ], + "struct": "LobbyGameCreated_t" + }, + { + "callback_id": 510, + "fields": [ + { "fieldname":"m_nLobbiesMatching", "fieldtype":"uint32" } + ], + "struct": "LobbyMatchList_t" + }, + { + "callback_id": 512, + "fields": [ + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" }, + { "fieldname":"m_ulSteamIDAdmin", "fieldtype":"uint64" }, + { "fieldname":"m_bKickedDueToDisconnect", "fieldtype":"uint8" } + ], + "struct": "LobbyKicked_t" + }, + { + "callback_id": 513, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ulSteamIDLobby", "fieldtype":"uint64" } + ], + "struct": "LobbyCreated_t" + }, + { + "callback_id": 515, + "fields": [ + { "fieldname":"m_bGameBootInviteExists", "fieldtype":"bool" }, + { "fieldname":"m_steamIDLobby", "fieldtype":"CSteamID" } + ], + "struct": "PSNGameBootInviteResult_t" + }, + { + "callback_id": 516, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "FavoritesListAccountsUpdated_t" + }, + { + "callback_id": 5201, + "fields": [ + { "fieldname":"m_ullSearchID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_lobbyID", "fieldtype":"CSteamID" }, + { "fieldname":"m_steamIDEndedSearch", "fieldtype":"CSteamID" }, + { "fieldname":"m_nSecondsRemainingEstimate", "fieldtype":"int32" }, + { "fieldname":"m_cPlayersSearching", "fieldtype":"int32" } + ], + "struct": "SearchForGameProgressCallback_t" + }, + { + "callback_id": 5202, + "fields": [ + { "fieldname":"m_ullSearchID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nCountPlayersInGame", "fieldtype":"int32" }, + { "fieldname":"m_nCountAcceptedGame", "fieldtype":"int32" }, + { "fieldname":"m_steamIDHost", "fieldtype":"CSteamID" }, + { "fieldname":"m_bFinalCallback", "fieldtype":"bool" } + ], + "struct": "SearchForGameResultCallback_t" + }, + { + "callback_id": 5211, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ullSearchID", "fieldtype":"uint64" } + ], + "struct": "RequestPlayersForGameProgressCallback_t" + }, + { + "callback_id": 5212, + "enums": [ + { + "enumname": "PlayerAcceptState_t", + "fqname": "RequestPlayersForGameResultCallback_t::PlayerAcceptState_t", + "values": [ + { "name":"k_EStateUnknown", "value":"0" }, + { "name":"k_EStatePlayerAccepted", "value":"1" }, + { "name":"k_EStatePlayerDeclined", "value":"2" } + ] + } + ], + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ullSearchID", "fieldtype":"uint64" }, + { "fieldname":"m_SteamIDPlayerFound", "fieldtype":"CSteamID" }, + { "fieldname":"m_SteamIDLobby", "fieldtype":"CSteamID" }, + { "fieldname":"m_ePlayerAcceptState", "fieldtype":"RequestPlayersForGameResultCallback_t::PlayerAcceptState_t" }, + { "fieldname":"m_nPlayerIndex", "fieldtype":"int32" }, + { "fieldname":"m_nTotalPlayersFound", "fieldtype":"int32" }, + { "fieldname":"m_nTotalPlayersAcceptedGame", "fieldtype":"int32" }, + { "fieldname":"m_nSuggestedTeamIndex", "fieldtype":"int32" }, + { "fieldname":"m_ullUniqueGameID", "fieldtype":"uint64" } + ], + "struct": "RequestPlayersForGameResultCallback_t" + }, + { + "callback_id": 5213, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ullSearchID", "fieldtype":"uint64" }, + { "fieldname":"m_ullUniqueGameID", "fieldtype":"uint64" } + ], + "struct": "RequestPlayersForGameFinalResultCallback_t" + }, + { + "callback_id": 5214, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"ullUniqueGameID", "fieldtype":"uint64" }, + { "fieldname":"steamIDPlayer", "fieldtype":"CSteamID" } + ], + "struct": "SubmitPlayerResultResultCallback_t" + }, + { + "callback_id": 5215, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"ullUniqueGameID", "fieldtype":"uint64" } + ], + "struct": "EndGameResultCallback_t" + }, + { + "callback_id": 5301, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ulBeaconID", "fieldtype":"PartyBeaconID_t" }, + { "fieldname":"m_SteamIDBeaconOwner", "fieldtype":"CSteamID" }, + { "fieldname":"m_rgchConnectString", "fieldtype":"char [256]" } + ], + "struct": "JoinPartyCallback_t" + }, + { + "callback_id": 5302, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ulBeaconID", "fieldtype":"PartyBeaconID_t" } + ], + "struct": "CreateBeaconCallback_t" + }, + { + "callback_id": 5303, + "fields": [ + { "fieldname":"m_ulBeaconID", "fieldtype":"PartyBeaconID_t" }, + { "fieldname":"m_steamIDJoiner", "fieldtype":"CSteamID" } + ], + "struct": "ReservationNotificationCallback_t" + }, + { + "callback_id": 5304, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "ChangeNumOpenSlotsCallback_t" + }, + { + "callback_id": 5305, + "fields": [], + "struct": "AvailableBeaconLocationsUpdated_t" + }, + { + "callback_id": 5306, + "fields": [], + "struct": "ActiveBeaconsUpdated_t" + }, + { + "callback_id": 1307, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_hFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_rgchFilename", "fieldtype":"char [260]" } + ], + "struct": "RemoteStorageFileShareResult_t" + }, + { + "callback_id": 1309, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype":"bool" } + ], + "struct": "RemoteStoragePublishFileResult_t" + }, + { + "callback_id": 1311, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "RemoteStorageDeletePublishedFileResult_t" + }, + { + "callback_id": 1312, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" }, + { "fieldname":"m_rgPublishedFileId", "fieldtype":"PublishedFileId_t [50]" } + ], + "struct": "RemoteStorageEnumerateUserPublishedFilesResult_t" + }, + { + "callback_id": 1313, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "RemoteStorageSubscribePublishedFileResult_t" + }, + { + "callback_id": 1314, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" }, + { "fieldname":"m_rgPublishedFileId", "fieldtype":"PublishedFileId_t [50]" }, + { "fieldname":"m_rgRTimeSubscribed", "fieldtype":"uint32 [50]" } + ], + "struct": "RemoteStorageEnumerateUserSubscribedFilesResult_t" + }, + { + "callback_id": 1315, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "RemoteStorageUnsubscribePublishedFileResult_t" + }, + { + "callback_id": 1316, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype":"bool" } + ], + "struct": "RemoteStorageUpdatePublishedFileResult_t" + }, + { + "callback_id": 1317, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_hFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_nSizeInBytes", "fieldtype":"int32" }, + { "fieldname":"m_pchFileName", "fieldtype":"char [260]" }, + { "fieldname":"m_ulSteamIDOwner", "fieldtype":"uint64" } + ], + "struct": "RemoteStorageDownloadUGCResult_t" + }, + { + "callback_id": 1318, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nCreatorAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_nConsumerAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_rgchTitle", "fieldtype":"char [129]" }, + { "fieldname":"m_rgchDescription", "fieldtype":"char [8000]" }, + { "fieldname":"m_hFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_hPreviewFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_ulSteamIDOwner", "fieldtype":"uint64" }, + { "fieldname":"m_rtimeCreated", "fieldtype":"uint32" }, + { "fieldname":"m_rtimeUpdated", "fieldtype":"uint32" }, + { "fieldname":"m_eVisibility", "fieldtype":"ERemoteStoragePublishedFileVisibility" }, + { "fieldname":"m_bBanned", "fieldtype":"bool" }, + { "fieldname":"m_rgchTags", "fieldtype":"char [1025]" }, + { "fieldname":"m_bTagsTruncated", "fieldtype":"bool" }, + { "fieldname":"m_pchFileName", "fieldtype":"char [260]" }, + { "fieldname":"m_nFileSize", "fieldtype":"int32" }, + { "fieldname":"m_nPreviewFileSize", "fieldtype":"int32" }, + { "fieldname":"m_rgchURL", "fieldtype":"char [256]" }, + { "fieldname":"m_eFileType", "fieldtype":"EWorkshopFileType" }, + { "fieldname":"m_bAcceptedForUse", "fieldtype":"bool" } + ], + "struct": "RemoteStorageGetPublishedFileDetailsResult_t" + }, + { + "callback_id": 1319, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" }, + { "fieldname":"m_rgPublishedFileId", "fieldtype":"PublishedFileId_t [50]" }, + { "fieldname":"m_rgScore", "fieldtype":"float [50]" }, + { "fieldname":"m_nAppId", "fieldtype":"AppId_t" }, + { "fieldname":"m_unStartIndex", "fieldtype":"uint32" } + ], + "struct": "RemoteStorageEnumerateWorkshopFilesResult_t" + }, + { + "callback_id": 1320, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_unPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nVotesFor", "fieldtype":"int32" }, + { "fieldname":"m_nVotesAgainst", "fieldtype":"int32" }, + { "fieldname":"m_nReports", "fieldtype":"int32" }, + { "fieldname":"m_fScore", "fieldtype":"float" } + ], + "struct": "RemoteStorageGetPublishedItemVoteDetailsResult_t" + }, + { + "callback_id": 1321, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "RemoteStoragePublishedFileSubscribed_t" + }, + { + "callback_id": 1322, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "RemoteStoragePublishedFileUnsubscribed_t" + }, + { + "callback_id": 1323, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "RemoteStoragePublishedFileDeleted_t" + }, + { + "callback_id": 1324, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "RemoteStorageUpdateUserPublishedItemVoteResult_t" + }, + { + "callback_id": 1325, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eVote", "fieldtype":"EWorkshopVote" } + ], + "struct": "RemoteStorageUserVoteDetails_t" + }, + { + "callback_id": 1326, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" }, + { "fieldname":"m_rgPublishedFileId", "fieldtype":"PublishedFileId_t [50]" } + ], + "struct": "RemoteStorageEnumerateUserSharedWorkshopFilesResult_t" + }, + { + "callback_id": 1327, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eAction", "fieldtype":"EWorkshopFileAction" } + ], + "struct": "RemoteStorageSetUserPublishedFileActionResult_t" + }, + { + "callback_id": 1328, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_eAction", "fieldtype":"EWorkshopFileAction" }, + { "fieldname":"m_nResultsReturned", "fieldtype":"int32" }, + { "fieldname":"m_nTotalResultCount", "fieldtype":"int32" }, + { "fieldname":"m_rgPublishedFileId", "fieldtype":"PublishedFileId_t [50]" }, + { "fieldname":"m_rgRTimeUpdated", "fieldtype":"uint32 [50]" } + ], + "struct": "RemoteStorageEnumeratePublishedFilesByUserActionResult_t" + }, + { + "callback_id": 1329, + "fields": [ + { "fieldname":"m_dPercentFile", "fieldtype":"double" }, + { "fieldname":"m_bPreview", "fieldtype":"bool" } + ], + "struct": "RemoteStoragePublishFileProgress_t" + }, + { + "callback_id": 1330, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_ulUnused", "fieldtype":"uint64" } + ], + "struct": "RemoteStoragePublishedFileUpdated_t" + }, + { + "callback_id": 1331, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "RemoteStorageFileWriteAsyncComplete_t" + }, + { + "callback_id": 1332, + "fields": [ + { "fieldname":"m_hFileReadAsync", "fieldtype":"SteamAPICall_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nOffset", "fieldtype":"uint32" }, + { "fieldname":"m_cubRead", "fieldtype":"uint32" } + ], + "struct": "RemoteStorageFileReadAsyncComplete_t" + }, + { + "callback_id": 1333, + "fields": [], + "struct": "RemoteStorageLocalFileChange_t" + }, + { + "callback_id": 1101, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "UserStatsReceived_t" + }, + { + "callback_id": 1102, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "UserStatsStored_t" + }, + { + "callback_id": 1103, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_bGroupAchievement", "fieldtype":"bool" }, + { "fieldname":"m_rgchAchievementName", "fieldtype":"char [128]" }, + { "fieldname":"m_nCurProgress", "fieldtype":"uint32" }, + { "fieldname":"m_nMaxProgress", "fieldtype":"uint32" } + ], + "struct": "UserAchievementStored_t" + }, + { + "callback_id": 1104, + "fields": [ + { "fieldname":"m_hSteamLeaderboard", "fieldtype":"SteamLeaderboard_t" }, + { "fieldname":"m_bLeaderboardFound", "fieldtype":"uint8" } + ], + "struct": "LeaderboardFindResult_t" + }, + { + "callback_id": 1105, + "fields": [ + { "fieldname":"m_hSteamLeaderboard", "fieldtype":"SteamLeaderboard_t" }, + { "fieldname":"m_hSteamLeaderboardEntries", "fieldtype":"SteamLeaderboardEntries_t" }, + { "fieldname":"m_cEntryCount", "fieldtype":"int" } + ], + "struct": "LeaderboardScoresDownloaded_t" + }, + { + "callback_id": 1106, + "fields": [ + { "fieldname":"m_bSuccess", "fieldtype":"uint8" }, + { "fieldname":"m_hSteamLeaderboard", "fieldtype":"SteamLeaderboard_t" }, + { "fieldname":"m_nScore", "fieldtype":"int32" }, + { "fieldname":"m_bScoreChanged", "fieldtype":"uint8" }, + { "fieldname":"m_nGlobalRankNew", "fieldtype":"int" }, + { "fieldname":"m_nGlobalRankPrevious", "fieldtype":"int" } + ], + "struct": "LeaderboardScoreUploaded_t" + }, + { + "callback_id": 1107, + "fields": [ + { "fieldname":"m_bSuccess", "fieldtype":"uint8" }, + { "fieldname":"m_cPlayers", "fieldtype":"int32" } + ], + "struct": "NumberOfCurrentPlayers_t" + }, + { + "callback_id": 1108, + "fields": [ + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "UserStatsUnloaded_t" + }, + { + "callback_id": 1109, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"CGameID" }, + { "fieldname":"m_rgchAchievementName", "fieldtype":"char [128]" }, + { "fieldname":"m_bAchieved", "fieldtype":"bool" }, + { "fieldname":"m_nIconHandle", "fieldtype":"int" } + ], + "struct": "UserAchievementIconFetched_t" + }, + { + "callback_id": 1110, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "GlobalAchievementPercentagesReady_t" + }, + { + "callback_id": 1111, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_hSteamLeaderboard", "fieldtype":"SteamLeaderboard_t" } + ], + "struct": "LeaderboardUGCSet_t" + }, + { + "callback_id": 1112, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ulRequiredDiskSpace", "fieldtype":"uint64" } + ], + "struct": "PS3TrophiesInstalled_t" + }, + { + "callback_id": 1112, + "fields": [ + { "fieldname":"m_nGameID", "fieldtype":"uint64" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "GlobalStatsReceived_t" + }, + { + "callback_id": 1005, + "fields": [ + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "DlcInstalled_t" + }, + { + "callback_id": 1014, + "fields": [], + "struct": "NewUrlLaunchParameters_t" + }, + { + "callback_id": 1021, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nAppID", "fieldtype":"uint32" }, + { "fieldname":"m_cchKeyLength", "fieldtype":"uint32" }, + { "fieldname":"m_rgchKey", "fieldtype":"char [240]" } + ], + "struct": "AppProofOfPurchaseKeyResponse_t" + }, + { + "callback_id": 1023, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_ulFileSize", "fieldtype":"uint64" }, + { "fieldname":"m_FileSHA", "fieldtype":"uint8 [20]" }, + { "fieldname":"m_unFlags", "fieldtype":"uint32" } + ], + "struct": "FileDetailsResult_t" + }, + { + "callback_id": 1030, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_bIsOffline", "fieldtype":"bool" }, + { "fieldname":"m_unSecondsAllowed", "fieldtype":"uint32" }, + { "fieldname":"m_unSecondsPlayed", "fieldtype":"uint32" } + ], + "struct": "TimedTrialStatus_t" + }, + { + "callback_id": 1202, + "fields": [ + { "fieldname":"m_steamIDRemote", "fieldtype":"CSteamID" } + ], + "struct": "P2PSessionRequest_t" + }, + { + "callback_id": 1203, + "fields": [ + { "fieldname":"m_steamIDRemote", "fieldtype":"CSteamID" }, + { "fieldname":"m_eP2PSessionError", "fieldtype":"uint8" } + ], + "struct": "P2PSessionConnectFail_t" + }, + { + "callback_id": 1201, + "fields": [ + { "fieldname":"m_hSocket", "fieldtype":"SNetSocket_t" }, + { "fieldname":"m_hListenSocket", "fieldtype":"SNetListenSocket_t" }, + { "fieldname":"m_steamIDRemote", "fieldtype":"CSteamID" }, + { "fieldname":"m_eSNetSocketState", "fieldtype":"int" } + ], + "struct": "SocketStatusCallback_t" + }, + { + "callback_id": 2301, + "fields": [ + { "fieldname":"m_hLocal", "fieldtype":"ScreenshotHandle" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "ScreenshotReady_t" + }, + { + "callback_id": 2302, + "fields": [], + "struct": "ScreenshotRequested_t" + }, + { + "callback_id": 4001, + "fields": [], + "struct": "PlaybackStatusHasChanged_t" + }, + { + "callback_id": 4002, + "fields": [ + { "fieldname":"m_flNewVolume", "fieldtype":"float" } + ], + "struct": "VolumeHasChanged_t" + }, + { + "callback_id": 4101, + "fields": [], + "struct": "MusicPlayerRemoteWillActivate_t" + }, + { + "callback_id": 4102, + "fields": [], + "struct": "MusicPlayerRemoteWillDeactivate_t" + }, + { + "callback_id": 4103, + "fields": [], + "struct": "MusicPlayerRemoteToFront_t" + }, + { + "callback_id": 4104, + "fields": [], + "struct": "MusicPlayerWillQuit_t" + }, + { + "callback_id": 4105, + "fields": [], + "struct": "MusicPlayerWantsPlay_t" + }, + { + "callback_id": 4106, + "fields": [], + "struct": "MusicPlayerWantsPause_t" + }, + { + "callback_id": 4107, + "fields": [], + "struct": "MusicPlayerWantsPlayPrevious_t" + }, + { + "callback_id": 4108, + "fields": [], + "struct": "MusicPlayerWantsPlayNext_t" + }, + { + "callback_id": 4109, + "fields": [ + { "fieldname":"m_bShuffled", "fieldtype":"bool" } + ], + "struct": "MusicPlayerWantsShuffled_t" + }, + { + "callback_id": 4110, + "fields": [ + { "fieldname":"m_bLooped", "fieldtype":"bool" } + ], + "struct": "MusicPlayerWantsLooped_t" + }, + { + "callback_id": 4011, + "fields": [ + { "fieldname":"m_flNewVolume", "fieldtype":"float" } + ], + "struct": "MusicPlayerWantsVolume_t" + }, + { + "callback_id": 4012, + "fields": [ + { "fieldname":"nID", "fieldtype":"int" } + ], + "struct": "MusicPlayerSelectsQueueEntry_t" + }, + { + "callback_id": 4013, + "fields": [ + { "fieldname":"nID", "fieldtype":"int" } + ], + "struct": "MusicPlayerSelectsPlaylistEntry_t" + }, + { + "callback_id": 4114, + "fields": [ + { "fieldname":"m_nPlayingRepeatStatus", "fieldtype":"int" } + ], + "struct": "MusicPlayerWantsPlayingRepeatStatus_t" + }, + { + "callback_id": 2101, + "fields": [ + { "fieldname":"m_hRequest", "fieldtype":"HTTPRequestHandle" }, + { "fieldname":"m_ulContextValue", "fieldtype":"uint64" }, + { "fieldname":"m_bRequestSuccessful", "fieldtype":"bool" }, + { "fieldname":"m_eStatusCode", "fieldtype":"EHTTPStatusCode" }, + { "fieldname":"m_unBodySize", "fieldtype":"uint32" } + ], + "struct": "HTTPRequestCompleted_t" + }, + { + "callback_id": 2102, + "fields": [ + { "fieldname":"m_hRequest", "fieldtype":"HTTPRequestHandle" }, + { "fieldname":"m_ulContextValue", "fieldtype":"uint64" } + ], + "struct": "HTTPRequestHeadersReceived_t" + }, + { + "callback_id": 2103, + "fields": [ + { "fieldname":"m_hRequest", "fieldtype":"HTTPRequestHandle" }, + { "fieldname":"m_ulContextValue", "fieldtype":"uint64" }, + { "fieldname":"m_cOffset", "fieldtype":"uint32" }, + { "fieldname":"m_cBytesReceived", "fieldtype":"uint32" } + ], + "struct": "HTTPRequestDataReceived_t" + }, + { + "callback_id": 2801, + "fields": [ + { "fieldname":"m_ulConnectedDeviceHandle", "fieldtype":"InputHandle_t" } + ], + "struct": "SteamInputDeviceConnected_t" + }, + { + "callback_id": 2802, + "fields": [ + { "fieldname":"m_ulDisconnectedDeviceHandle", "fieldtype":"InputHandle_t" } + ], + "struct": "SteamInputDeviceDisconnected_t" + }, + { + "callback_id": 2803, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_ulDeviceHandle", "fieldtype":"InputHandle_t" }, + { "fieldname":"m_ulMappingCreator", "fieldtype":"CSteamID" }, + { "fieldname":"m_unMajorRevision", "fieldtype":"uint32" }, + { "fieldname":"m_unMinorRevision", "fieldtype":"uint32" }, + { "fieldname":"m_bUsesSteamInputAPI", "fieldtype":"bool" }, + { "fieldname":"m_bUsesGamepadAPI", "fieldtype":"bool" } + ], + "struct": "SteamInputConfigurationLoaded_t" + }, + { + "callback_id": 2804, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_ulDeviceHandle", "fieldtype":"InputHandle_t" }, + { "fieldname":"m_eDeviceType", "fieldtype":"ESteamInputType" }, + { "fieldname":"m_nOldGamepadSlot", "fieldtype":"int" }, + { "fieldname":"m_nNewGamepadSlot", "fieldtype":"int" } + ], + "struct": "SteamInputGamepadSlotChange_t" + }, + { + "callback_id": 3401, + "fields": [ + { "fieldname":"m_handle", "fieldtype":"UGCQueryHandle_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_unNumResultsReturned", "fieldtype":"uint32" }, + { "fieldname":"m_unTotalMatchingResults", "fieldtype":"uint32" }, + { "fieldname":"m_bCachedData", "fieldtype":"bool" }, + { "fieldname":"m_rgchNextCursor", "fieldtype":"char [256]" } + ], + "struct": "SteamUGCQueryCompleted_t" + }, + { + "callback_id": 3402, + "fields": [ + { "fieldname":"m_details", "fieldtype":"SteamUGCDetails_t" }, + { "fieldname":"m_bCachedData", "fieldtype":"bool" } + ], + "struct": "SteamUGCRequestUGCDetailsResult_t" + }, + { + "callback_id": 3403, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype":"bool" } + ], + "struct": "CreateItemResult_t" + }, + { + "callback_id": 3404, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype":"bool" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "SubmitItemUpdateResult_t" + }, + { + "callback_id": 3405, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_hLegacyContent", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_unManifestID", "fieldtype":"uint64" } + ], + "struct": "ItemInstalled_t" + }, + { + "callback_id": 3406, + "fields": [ + { "fieldname":"m_unAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "DownloadItemResult_t" + }, + { + "callback_id": 3407, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_bWasAddRequest", "fieldtype":"bool" } + ], + "struct": "UserFavoriteItemsListChanged_t" + }, + { + "callback_id": 3408, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_bVoteUp", "fieldtype":"bool" } + ], + "struct": "SetUserItemVoteResult_t" + }, + { + "callback_id": 3409, + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_bVotedUp", "fieldtype":"bool" }, + { "fieldname":"m_bVotedDown", "fieldtype":"bool" }, + { "fieldname":"m_bVoteSkipped", "fieldtype":"bool" } + ], + "struct": "GetUserItemVoteResult_t" + }, + { + "callback_id": 3410, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "StartPlaytimeTrackingResult_t" + }, + { + "callback_id": 3411, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "StopPlaytimeTrackingResult_t" + }, + { + "callback_id": 3412, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nChildPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "AddUGCDependencyResult_t" + }, + { + "callback_id": 3413, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nChildPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "RemoveUGCDependencyResult_t" + }, + { + "callback_id": 3414, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "AddAppDependencyResult_t" + }, + { + "callback_id": 3415, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "RemoveAppDependencyResult_t" + }, + { + "callback_id": 3416, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_rgAppIDs", "fieldtype":"AppId_t [32]" }, + { "fieldname":"m_nNumAppDependencies", "fieldtype":"uint32" }, + { "fieldname":"m_nTotalNumAppDependencies", "fieldtype":"uint32" } + ], + "struct": "GetAppDependenciesResult_t" + }, + { + "callback_id": 3417, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" } + ], + "struct": "DeleteItemResult_t" + }, + { + "callback_id": 3418, + "fields": [ + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" } + ], + "struct": "UserSubscribedItemsListChanged_t" + }, + { + "callback_id": 3420, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_unVersion", "fieldtype":"uint32" }, + { "fieldname":"m_rtAction", "fieldtype":"RTime32" }, + { "fieldname":"m_bAccepted", "fieldtype":"bool" }, + { "fieldname":"m_bNeedsAction", "fieldtype":"bool" } + ], + "struct": "WorkshopEULAStatus_t" + }, + { + "callback_id": 4501, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" } + ], + "struct": "HTML_BrowserReady_t" + }, + { + "callback_id": 4502, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pBGRA", "fieldtype":"const char *" }, + { "fieldname":"unWide", "fieldtype":"uint32" }, + { "fieldname":"unTall", "fieldtype":"uint32" }, + { "fieldname":"unUpdateX", "fieldtype":"uint32" }, + { "fieldname":"unUpdateY", "fieldtype":"uint32" }, + { "fieldname":"unUpdateWide", "fieldtype":"uint32" }, + { "fieldname":"unUpdateTall", "fieldtype":"uint32" }, + { "fieldname":"unScrollX", "fieldtype":"uint32" }, + { "fieldname":"unScrollY", "fieldtype":"uint32" }, + { "fieldname":"flPageScale", "fieldtype":"float" }, + { "fieldname":"unPageSerial", "fieldtype":"uint32" } + ], + "struct": "HTML_NeedsPaint_t" + }, + { + "callback_id": 4503, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchURL", "fieldtype":"const char *" }, + { "fieldname":"pchTarget", "fieldtype":"const char *" }, + { "fieldname":"pchPostData", "fieldtype":"const char *" }, + { "fieldname":"bIsRedirect", "fieldtype":"bool" } + ], + "struct": "HTML_StartRequest_t" + }, + { + "callback_id": 4504, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" } + ], + "struct": "HTML_CloseBrowser_t" + }, + { + "callback_id": 4505, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchURL", "fieldtype":"const char *" }, + { "fieldname":"pchPostData", "fieldtype":"const char *" }, + { "fieldname":"bIsRedirect", "fieldtype":"bool" }, + { "fieldname":"pchPageTitle", "fieldtype":"const char *" }, + { "fieldname":"bNewNavigation", "fieldtype":"bool" } + ], + "struct": "HTML_URLChanged_t" + }, + { + "callback_id": 4506, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchURL", "fieldtype":"const char *" }, + { "fieldname":"pchPageTitle", "fieldtype":"const char *" } + ], + "struct": "HTML_FinishedRequest_t" + }, + { + "callback_id": 4507, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchURL", "fieldtype":"const char *" } + ], + "struct": "HTML_OpenLinkInNewTab_t" + }, + { + "callback_id": 4508, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchTitle", "fieldtype":"const char *" } + ], + "struct": "HTML_ChangedTitle_t" + }, + { + "callback_id": 4509, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"unResults", "fieldtype":"uint32" }, + { "fieldname":"unCurrentMatch", "fieldtype":"uint32" } + ], + "struct": "HTML_SearchResults_t" + }, + { + "callback_id": 4510, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"bCanGoBack", "fieldtype":"bool" }, + { "fieldname":"bCanGoForward", "fieldtype":"bool" } + ], + "struct": "HTML_CanGoBackAndForward_t" + }, + { + "callback_id": 4511, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"unScrollMax", "fieldtype":"uint32" }, + { "fieldname":"unScrollCurrent", "fieldtype":"uint32" }, + { "fieldname":"flPageScale", "fieldtype":"float" }, + { "fieldname":"bVisible", "fieldtype":"bool" }, + { "fieldname":"unPageSize", "fieldtype":"uint32" } + ], + "struct": "HTML_HorizontalScroll_t" + }, + { + "callback_id": 4512, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"unScrollMax", "fieldtype":"uint32" }, + { "fieldname":"unScrollCurrent", "fieldtype":"uint32" }, + { "fieldname":"flPageScale", "fieldtype":"float" }, + { "fieldname":"bVisible", "fieldtype":"bool" }, + { "fieldname":"unPageSize", "fieldtype":"uint32" } + ], + "struct": "HTML_VerticalScroll_t" + }, + { + "callback_id": 4513, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"x", "fieldtype":"uint32" }, + { "fieldname":"y", "fieldtype":"uint32" }, + { "fieldname":"pchURL", "fieldtype":"const char *" }, + { "fieldname":"bInput", "fieldtype":"bool" }, + { "fieldname":"bLiveLink", "fieldtype":"bool" } + ], + "struct": "HTML_LinkAtPosition_t" + }, + { + "callback_id": 4514, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchMessage", "fieldtype":"const char *" } + ], + "struct": "HTML_JSAlert_t" + }, + { + "callback_id": 4515, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchMessage", "fieldtype":"const char *" } + ], + "struct": "HTML_JSConfirm_t" + }, + { + "callback_id": 4516, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchTitle", "fieldtype":"const char *" }, + { "fieldname":"pchInitialFile", "fieldtype":"const char *" } + ], + "struct": "HTML_FileOpenDialog_t" + }, + { + "callback_id": 4521, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchURL", "fieldtype":"const char *" }, + { "fieldname":"unX", "fieldtype":"uint32" }, + { "fieldname":"unY", "fieldtype":"uint32" }, + { "fieldname":"unWide", "fieldtype":"uint32" }, + { "fieldname":"unTall", "fieldtype":"uint32" }, + { "fieldname":"unNewWindow_BrowserHandle_IGNORE", "fieldtype":"HHTMLBrowser" } + ], + "struct": "HTML_NewWindow_t" + }, + { + "callback_id": 4522, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"eMouseCursor", "fieldtype":"uint32" } + ], + "struct": "HTML_SetCursor_t" + }, + { + "callback_id": 4523, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchMsg", "fieldtype":"const char *" } + ], + "struct": "HTML_StatusText_t" + }, + { + "callback_id": 4524, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchMsg", "fieldtype":"const char *" } + ], + "struct": "HTML_ShowToolTip_t" + }, + { + "callback_id": 4525, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"pchMsg", "fieldtype":"const char *" } + ], + "struct": "HTML_UpdateToolTip_t" + }, + { + "callback_id": 4526, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" } + ], + "struct": "HTML_HideToolTip_t" + }, + { + "callback_id": 4527, + "fields": [ + { "fieldname":"unBrowserHandle", "fieldtype":"HHTMLBrowser" }, + { "fieldname":"unOldBrowserHandle", "fieldtype":"HHTMLBrowser" } + ], + "struct": "HTML_BrowserRestarted_t" + }, + { + "callback_id": 4700, + "fields": [ + { "fieldname":"m_handle", "fieldtype":"SteamInventoryResult_t" }, + { "fieldname":"m_result", "fieldtype":"EResult" } + ], + "struct": "SteamInventoryResultReady_t" + }, + { + "callback_id": 4701, + "fields": [ + { "fieldname":"m_handle", "fieldtype":"SteamInventoryResult_t" } + ], + "struct": "SteamInventoryFullUpdate_t" + }, + { + "callback_id": 4702, + "fields": [], + "struct": "SteamInventoryDefinitionUpdate_t" + }, + { + "callback_id": 4703, + "fields": [ + { "fieldname":"m_result", "fieldtype":"EResult" }, + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_numEligiblePromoItemDefs", "fieldtype":"int" }, + { "fieldname":"m_bCachedData", "fieldtype":"bool" } + ], + "struct": "SteamInventoryEligiblePromoItemDefIDs_t" + }, + { + "callback_id": 4704, + "fields": [ + { "fieldname":"m_result", "fieldtype":"EResult" }, + { "fieldname":"m_ulOrderID", "fieldtype":"uint64" }, + { "fieldname":"m_ulTransID", "fieldtype":"uint64" } + ], + "struct": "SteamInventoryStartPurchaseResult_t" + }, + { + "callback_id": 4705, + "fields": [ + { "fieldname":"m_result", "fieldtype":"EResult" }, + { "fieldname":"m_rgchCurrency", "fieldtype":"char [4]" } + ], + "struct": "SteamInventoryRequestPricesResult_t" + }, + { + "callback_id": 6001, + "fields": [ + { "fieldname":"m_rgchPhaseID", "fieldtype":"char [64]" }, + { "fieldname":"m_ulRecordingMS", "fieldtype":"uint64" }, + { "fieldname":"m_ulLongestClipMS", "fieldtype":"uint64" }, + { "fieldname":"m_unClipCount", "fieldtype":"uint32" }, + { "fieldname":"m_unScreenshotCount", "fieldtype":"uint32" } + ], + "struct": "SteamTimelineGamePhaseRecordingExists_t" + }, + { + "callback_id": 6002, + "fields": [ + { "fieldname":"m_ulEventID", "fieldtype":"uint64" }, + { "fieldname":"m_bRecordingExists", "fieldtype":"bool" } + ], + "struct": "SteamTimelineEventRecordingExists_t" + }, + { + "callback_id": 4611, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_unVideoAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_rgchURL", "fieldtype":"char [256]" } + ], + "struct": "GetVideoURLResult_t" + }, + { + "callback_id": 4624, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_unVideoAppID", "fieldtype":"AppId_t" } + ], + "struct": "GetOPFSettingsResult_t" + }, + { + "callback_id": 4604, + "fields": [ + { "fieldname":"m_bIsRTMP", "fieldtype":"bool" } + ], + "struct": "BroadcastUploadStart_t" + }, + { + "callback_id": 4605, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EBroadcastUploadResult" } + ], + "struct": "BroadcastUploadStop_t" + }, + { + "callback_id": 5001, + "fields": [], + "struct": "SteamParentalSettingsChanged_t" + }, + { + "callback_id": 5701, + "fields": [ + { "fieldname":"m_unSessionID", "fieldtype":"RemotePlaySessionID_t" } + ], + "struct": "SteamRemotePlaySessionConnected_t" + }, + { + "callback_id": 5702, + "fields": [ + { "fieldname":"m_unSessionID", "fieldtype":"RemotePlaySessionID_t" } + ], + "struct": "SteamRemotePlaySessionDisconnected_t" + }, + { + "callback_id": 5703, + "fields": [ + { "fieldname":"m_szConnectURL", "fieldtype":"char [1024]" } + ], + "struct": "SteamRemotePlayTogetherGuestInvite_t" + }, + { + "callback_id": 1251, + "fields": [ + { "fieldname":"m_identityRemote", "fieldtype":"SteamNetworkingIdentity" } + ], + "struct": "SteamNetworkingMessagesSessionRequest_t" + }, + { + "callback_id": 1252, + "fields": [ + { "fieldname":"m_info", "fieldtype":"SteamNetConnectionInfo_t" } + ], + "struct": "SteamNetworkingMessagesSessionFailed_t" + }, + { + "callback_id": 1221, + "fields": [ + { "fieldname":"m_hConn", "fieldtype":"HSteamNetConnection" }, + { "fieldname":"m_info", "fieldtype":"SteamNetConnectionInfo_t" }, + { "fieldname":"m_eOldState", "fieldtype":"ESteamNetworkingConnectionState" } + ], + "struct": "SteamNetConnectionStatusChangedCallback_t" + }, + { + "callback_id": 1222, + "fields": [ + { "fieldname":"m_eAvail", "fieldtype":"ESteamNetworkingAvailability" }, + { "fieldname":"m_debugMsg", "fieldtype":"char [256]" } + ], + "struct": "SteamNetAuthenticationStatus_t" + }, + { + "callback_id": 1281, + "fields": [ + { "fieldname":"m_eAvail", "fieldtype":"ESteamNetworkingAvailability" }, + { "fieldname":"m_bPingMeasurementInProgress", "fieldtype":"int" }, + { "fieldname":"m_eAvailNetworkConfig", "fieldtype":"ESteamNetworkingAvailability" }, + { "fieldname":"m_eAvailAnyRelay", "fieldtype":"ESteamNetworkingAvailability" }, + { "fieldname":"m_debugMsg", "fieldtype":"char [256]" } + ], + "struct": "SteamRelayNetworkStatus_t" + }, + { + "callback_id": 201, + "fields": [ + { "fieldname":"m_SteamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_OwnerSteamID", "fieldtype":"CSteamID" } + ], + "struct": "GSClientApprove_t" + }, + { + "callback_id": 202, + "fields": [ + { "fieldname":"m_SteamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_eDenyReason", "fieldtype":"EDenyReason" }, + { "fieldname":"m_rgchOptionalText", "fieldtype":"char [128]" } + ], + "struct": "GSClientDeny_t" + }, + { + "callback_id": 203, + "fields": [ + { "fieldname":"m_SteamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_eDenyReason", "fieldtype":"EDenyReason" } + ], + "struct": "GSClientKick_t" + }, + { + "callback_id": 206, + "fields": [ + { "fieldname":"m_SteamID", "fieldtype":"uint64" }, + { "fieldname":"m_pchAchievement", "fieldtype":"char [128]" }, + { "fieldname":"m_bUnlocked", "fieldtype":"bool" } + ], + "struct": "GSClientAchievementStatus_t" + }, + { + "callback_id": 115, + "fields": [ + { "fieldname":"m_bSecure", "fieldtype":"uint8" } + ], + "struct": "GSPolicyResponse_t" + }, + { + "callback_id": 207, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_nRank", "fieldtype":"int32" }, + { "fieldname":"m_unTotalConnects", "fieldtype":"uint32" }, + { "fieldname":"m_unTotalMinutesPlayed", "fieldtype":"uint32" } + ], + "struct": "GSGameplayStats_t" + }, + { + "callback_id": 208, + "fields": [ + { "fieldname":"m_SteamIDUser", "fieldtype":"CSteamID" }, + { "fieldname":"m_SteamIDGroup", "fieldtype":"CSteamID" }, + { "fieldname":"m_bMember", "fieldtype":"bool" }, + { "fieldname":"m_bOfficer", "fieldtype":"bool" } + ], + "struct": "GSClientGroupStatus_t" + }, + { + "callback_id": 209, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_unReputationScore", "fieldtype":"uint32" }, + { "fieldname":"m_bBanned", "fieldtype":"bool" }, + { "fieldname":"m_unBannedIP", "fieldtype":"uint32" }, + { "fieldname":"m_usBannedPort", "fieldtype":"uint16" }, + { "fieldname":"m_ulBannedGameID", "fieldtype":"uint64" }, + { "fieldname":"m_unBanExpires", "fieldtype":"uint32" } + ], + "struct": "GSReputation_t" + }, + { + "callback_id": 210, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" } + ], + "struct": "AssociateWithClanResult_t" + }, + { + "callback_id": 211, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_cPlayersThatDontLikeCandidate", "fieldtype":"int" }, + { "fieldname":"m_cPlayersThatCandidateDoesntLike", "fieldtype":"int" }, + { "fieldname":"m_cClanPlayersThatDontLikeCandidate", "fieldtype":"int" }, + { "fieldname":"m_SteamIDCandidate", "fieldtype":"CSteamID" } + ], + "struct": "ComputeNewPlayerCompatibilityResult_t" + }, + { + "callback_id": 1800, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "GSStatsReceived_t" + }, + { + "callback_id": 1801, + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "GSStatsStored_t" + }, + { + "callback_id": 1108, + "fields": [ + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" } + ], + "struct": "GSStatsUnloaded_t" + }, + { + "callback_id": 1223, + "consts": [ + { "constname":"k_nMaxReturnPorts", "consttype":"int", "constval":"8" } + ], + "fields": [ + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_identity", "fieldtype":"SteamNetworkingIdentity" }, + { "fieldname":"m_unIP", "fieldtype":"uint32" }, + { "fieldname":"m_unPorts", "fieldtype":"uint16 [8]" } + ], + "struct": "SteamNetworkingFakeIPResult_t" + } + ], + "consts": [ + { "constname":"k_uAppIdInvalid", "consttype":"AppId_t", "constval":"0x0" }, + { "constname":"k_uDepotIdInvalid", "consttype":"DepotId_t", "constval":"0x0" }, + { "constname":"k_uAPICallInvalid", "consttype":"SteamAPICall_t", "constval":"0x0" }, + { "constname":"k_uAccountIdInvalid", "consttype":"AccountID_t", "constval":"0" }, + { "constname":"k_ulPartyBeaconIdInvalid", "consttype":"PartyBeaconID_t", "constval":"0" }, + { "constname":"k_HAuthTicketInvalid", "consttype":"HAuthTicket", "constval":"0" }, + { "constname":"k_unSteamAccountIDMask", "consttype":"unsigned int", "constval":"0xFFFFFFFF" }, + { "constname":"k_unSteamAccountInstanceMask", "consttype":"unsigned int", "constval":"0x000FFFFF" }, + { "constname":"k_unSteamUserDefaultInstance", "consttype":"unsigned int", "constval":"1" }, + { "constname":"k_cchGameExtraInfoMax", "consttype":"int", "constval":"64" }, + { "constname":"k_cchMaxSteamErrMsg", "consttype":"int", "constval":"1024" }, + { "constname":"k_cchMaxFriendsGroupName", "consttype":"int", "constval":"64" }, + { "constname":"k_cFriendsGroupLimit", "consttype":"int", "constval":"100" }, + { "constname":"k_FriendsGroupID_Invalid", "consttype":"FriendsGroupID_t", "constval":"- 1" }, + { "constname":"k_cEnumerateFollowersMax", "consttype":"int", "constval":"50" }, + { "constname":"k_usFriendGameInfoQueryPort_NotInitialized", "consttype":"uint16", "constval":"0xFFFF" }, + { "constname":"k_usFriendGameInfoQueryPort_Error", "consttype":"uint16", "constval":"0xFFFE" }, + { "constname":"k_cubChatMetadataMax", "consttype":"uint32", "constval":"8192" }, + { "constname":"k_cbMaxGameServerGameDir", "consttype":"int", "constval":"32" }, + { "constname":"k_cbMaxGameServerMapName", "consttype":"int", "constval":"32" }, + { "constname":"k_cbMaxGameServerGameDescription", "consttype":"int", "constval":"64" }, + { "constname":"k_cbMaxGameServerName", "consttype":"int", "constval":"64" }, + { "constname":"k_cbMaxGameServerTags", "consttype":"int", "constval":"128" }, + { "constname":"k_cbMaxGameServerGameData", "consttype":"int", "constval":"2048" }, + { "constname":"HSERVERQUERY_INVALID", "consttype":"int", "constval":"0xffffffff" }, + { "constname":"k_unFavoriteFlagNone", "consttype":"uint32", "constval":"0x00" }, + { "constname":"k_unFavoriteFlagFavorite", "consttype":"uint32", "constval":"0x01" }, + { "constname":"k_unFavoriteFlagHistory", "consttype":"uint32", "constval":"0x02" }, + { "constname":"k_unMaxCloudFileChunkSize", "consttype":"uint32", "constval":"100 * 1024 * 1024" }, + { "constname":"k_PublishedFileIdInvalid", "consttype":"PublishedFileId_t", "constval":"0" }, + { "constname":"k_UGCHandleInvalid", "consttype":"UGCHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"k_PublishedFileUpdateHandleInvalid", "consttype":"PublishedFileUpdateHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"k_UGCFileStreamHandleInvalid", "consttype":"UGCFileWriteStreamHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"k_cchPublishedDocumentTitleMax", "consttype":"uint32", "constval":"128 + 1" }, + { "constname":"k_cchPublishedDocumentDescriptionMax", "consttype":"uint32", "constval":"8000" }, + { "constname":"k_cchPublishedDocumentChangeDescriptionMax", "consttype":"uint32", "constval":"8000" }, + { "constname":"k_unEnumeratePublishedFilesMaxResults", "consttype":"uint32", "constval":"50" }, + { "constname":"k_cchTagListMax", "consttype":"uint32", "constval":"1024 + 1" }, + { "constname":"k_cchFilenameMax", "consttype":"uint32", "constval":"260" }, + { "constname":"k_cchPublishedFileURLMax", "consttype":"uint32", "constval":"256" }, + { "constname":"k_cubAppProofOfPurchaseKeyMax", "consttype":"int", "constval":"240" }, + { "constname":"k_nScreenshotMaxTaggedUsers", "consttype":"uint32", "constval":"32" }, + { "constname":"k_nScreenshotMaxTaggedPublishedFiles", "consttype":"uint32", "constval":"32" }, + { "constname":"k_cubUFSTagTypeMax", "consttype":"int", "constval":"255" }, + { "constname":"k_cubUFSTagValueMax", "consttype":"int", "constval":"255" }, + { "constname":"k_ScreenshotThumbWidth", "consttype":"int", "constval":"200" }, + { "constname":"k_UGCQueryHandleInvalid", "consttype":"UGCQueryHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"k_UGCUpdateHandleInvalid", "consttype":"UGCUpdateHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"kNumUGCResultsPerPage", "consttype":"uint32", "constval":"50" }, + { "constname":"k_cchDeveloperMetadataMax", "consttype":"uint32", "constval":"5000" }, + { "constname":"INVALID_HTMLBROWSER", "consttype":"uint32", "constval":"0" }, + { "constname":"k_SteamItemInstanceIDInvalid", "consttype":"SteamItemInstanceID_t", "constval":"( SteamItemInstanceID_t ) ~ 0" }, + { "constname":"k_SteamInventoryResultInvalid", "consttype":"SteamInventoryResult_t", "constval":"- 1" }, + { "constname":"k_SteamInventoryUpdateHandleInvalid", "consttype":"SteamInventoryUpdateHandle_t", "constval":"0xffffffffffffffffull" }, + { "constname":"k_unMaxTimelinePriority", "consttype":"uint32", "constval":"1000" }, + { "constname":"k_unTimelinePriority_KeepCurrentValue", "consttype":"uint32", "constval":"1000000" }, + { "constname":"k_flMaxTimelineEventDuration", "consttype":"float", "constval":"600.f" }, + { "constname":"k_cchMaxPhaseIDLength", "consttype":"uint32", "constval":"64" }, + { "constname":"k_HSteamNetConnection_Invalid", "consttype":"HSteamNetConnection", "constval":"0" }, + { "constname":"k_HSteamListenSocket_Invalid", "consttype":"HSteamListenSocket", "constval":"0" }, + { "constname":"k_HSteamNetPollGroup_Invalid", "consttype":"HSteamNetPollGroup", "constval":"0" }, + { "constname":"k_cchMaxSteamNetworkingErrMsg", "consttype":"int", "constval":"1024" }, + { "constname":"k_cchSteamNetworkingMaxConnectionCloseReason", "consttype":"int", "constval":"128" }, + { "constname":"k_cchSteamNetworkingMaxConnectionDescription", "consttype":"int", "constval":"128" }, + { "constname":"k_cchSteamNetworkingMaxConnectionAppName", "consttype":"int", "constval":"32" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_Unauthenticated", "consttype":"int", "constval":"1" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_Unencrypted", "consttype":"int", "constval":"2" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_LoopbackBuffers", "consttype":"int", "constval":"4" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_Fast", "consttype":"int", "constval":"8" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_Relayed", "consttype":"int", "constval":"16" }, + { "constname":"k_nSteamNetworkConnectionInfoFlags_DualWifi", "consttype":"int", "constval":"32" }, + { "constname":"k_cbMaxSteamNetworkingSocketsMessageSizeSend", "consttype":"int", "constval":"512 * 1024" }, + { "constname":"k_nSteamNetworkingSend_Unreliable", "consttype":"int", "constval":"0" }, + { "constname":"k_nSteamNetworkingSend_NoNagle", "consttype":"int", "constval":"1" }, + { "constname":"k_nSteamNetworkingSend_UnreliableNoNagle", "consttype":"int", "constval":"k_nSteamNetworkingSend_Unreliable | k_nSteamNetworkingSend_NoNagle" }, + { "constname":"k_nSteamNetworkingSend_NoDelay", "consttype":"int", "constval":"4" }, + { "constname":"k_nSteamNetworkingSend_UnreliableNoDelay", "consttype":"int", "constval":"k_nSteamNetworkingSend_Unreliable | k_nSteamNetworkingSend_NoDelay | k_nSteamNetworkingSend_NoNagle" }, + { "constname":"k_nSteamNetworkingSend_Reliable", "consttype":"int", "constval":"8" }, + { "constname":"k_nSteamNetworkingSend_ReliableNoNagle", "consttype":"int", "constval":"k_nSteamNetworkingSend_Reliable | k_nSteamNetworkingSend_NoNagle" }, + { "constname":"k_nSteamNetworkingSend_UseCurrentThread", "consttype":"int", "constval":"16" }, + { "constname":"k_nSteamNetworkingSend_AutoRestartBrokenSession", "consttype":"int", "constval":"32" }, + { "constname":"k_cchMaxSteamNetworkingPingLocationString", "consttype":"int", "constval":"1024" }, + { "constname":"k_nSteamNetworkingPing_Failed", "consttype":"int", "constval":"- 1" }, + { "constname":"k_nSteamNetworkingPing_Unknown", "consttype":"int", "constval":"- 2" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Default", "consttype":"int", "constval":"- 1" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Disable", "consttype":"int", "constval":"0" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Relay", "consttype":"int", "constval":"1" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Private", "consttype":"int", "constval":"2" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Public", "consttype":"int", "constval":"4" }, + { "constname":"k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_All", "consttype":"int", "constval":"0x7fffffff" }, + { "constname":"k_SteamDatagramPOPID_dev", "consttype":"SteamNetworkingPOPID", "constval":"( ( uint32 ) 'd' << 16U ) | ( ( uint32 ) 'e' << 8U ) | ( uint32 ) 'v'" }, + { "constname":"STEAMGAMESERVER_QUERY_PORT_SHARED", "consttype":"uint16", "constval":"0xffff" }, + { "constname":"MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE", "consttype":"uint16", "constval":"STEAMGAMESERVER_QUERY_PORT_SHARED" }, + { "constname":"k_cbSteamDatagramMaxSerializedTicket", "consttype":"uint32", "constval":"512" }, + { "constname":"k_cbMaxSteamDatagramGameCoordinatorServerLoginAppData", "consttype":"uint32", "constval":"2048" }, + { "constname":"k_cbMaxSteamDatagramGameCoordinatorServerLoginSerialized", "consttype":"uint32", "constval":"4096" }, + { "constname":"k_cbSteamNetworkingSocketsFakeUDPPortRecommendedMTU", "consttype":"int", "constval":"1200" }, + { "constname":"k_cbSteamNetworkingSocketsFakeUDPPortMaxMessageSize", "consttype":"int", "constval":"4096" } + ], + "enums": [ + { + "enumname": "ESteamIPType", + "values": [ + { "name":"k_ESteamIPTypeIPv4", "value":"0" }, + { "name":"k_ESteamIPTypeIPv6", "value":"1" } + ] + }, + { + "enumname": "EUniverse", + "values": [ + { "name":"k_EUniverseInvalid", "value":"0" }, + { "name":"k_EUniversePublic", "value":"1" }, + { "name":"k_EUniverseBeta", "value":"2" }, + { "name":"k_EUniverseInternal", "value":"3" }, + { "name":"k_EUniverseDev", "value":"4" }, + { "name":"k_EUniverseMax", "value":"5" } + ] + }, + { + "enumname": "EResult", + "values": [ + { "name":"k_EResultNone", "value":"0" }, + { "name":"k_EResultOK", "value":"1" }, + { "name":"k_EResultFail", "value":"2" }, + { "name":"k_EResultNoConnection", "value":"3" }, + { "name":"k_EResultInvalidPassword", "value":"5" }, + { "name":"k_EResultLoggedInElsewhere", "value":"6" }, + { "name":"k_EResultInvalidProtocolVer", "value":"7" }, + { "name":"k_EResultInvalidParam", "value":"8" }, + { "name":"k_EResultFileNotFound", "value":"9" }, + { "name":"k_EResultBusy", "value":"10" }, + { "name":"k_EResultInvalidState", "value":"11" }, + { "name":"k_EResultInvalidName", "value":"12" }, + { "name":"k_EResultInvalidEmail", "value":"13" }, + { "name":"k_EResultDuplicateName", "value":"14" }, + { "name":"k_EResultAccessDenied", "value":"15" }, + { "name":"k_EResultTimeout", "value":"16" }, + { "name":"k_EResultBanned", "value":"17" }, + { "name":"k_EResultAccountNotFound", "value":"18" }, + { "name":"k_EResultInvalidSteamID", "value":"19" }, + { "name":"k_EResultServiceUnavailable", "value":"20" }, + { "name":"k_EResultNotLoggedOn", "value":"21" }, + { "name":"k_EResultPending", "value":"22" }, + { "name":"k_EResultEncryptionFailure", "value":"23" }, + { "name":"k_EResultInsufficientPrivilege", "value":"24" }, + { "name":"k_EResultLimitExceeded", "value":"25" }, + { "name":"k_EResultRevoked", "value":"26" }, + { "name":"k_EResultExpired", "value":"27" }, + { "name":"k_EResultAlreadyRedeemed", "value":"28" }, + { "name":"k_EResultDuplicateRequest", "value":"29" }, + { "name":"k_EResultAlreadyOwned", "value":"30" }, + { "name":"k_EResultIPNotFound", "value":"31" }, + { "name":"k_EResultPersistFailed", "value":"32" }, + { "name":"k_EResultLockingFailed", "value":"33" }, + { "name":"k_EResultLogonSessionReplaced", "value":"34" }, + { "name":"k_EResultConnectFailed", "value":"35" }, + { "name":"k_EResultHandshakeFailed", "value":"36" }, + { "name":"k_EResultIOFailure", "value":"37" }, + { "name":"k_EResultRemoteDisconnect", "value":"38" }, + { "name":"k_EResultShoppingCartNotFound", "value":"39" }, + { "name":"k_EResultBlocked", "value":"40" }, + { "name":"k_EResultIgnored", "value":"41" }, + { "name":"k_EResultNoMatch", "value":"42" }, + { "name":"k_EResultAccountDisabled", "value":"43" }, + { "name":"k_EResultServiceReadOnly", "value":"44" }, + { "name":"k_EResultAccountNotFeatured", "value":"45" }, + { "name":"k_EResultAdministratorOK", "value":"46" }, + { "name":"k_EResultContentVersion", "value":"47" }, + { "name":"k_EResultTryAnotherCM", "value":"48" }, + { "name":"k_EResultPasswordRequiredToKickSession", "value":"49" }, + { "name":"k_EResultAlreadyLoggedInElsewhere", "value":"50" }, + { "name":"k_EResultSuspended", "value":"51" }, + { "name":"k_EResultCancelled", "value":"52" }, + { "name":"k_EResultDataCorruption", "value":"53" }, + { "name":"k_EResultDiskFull", "value":"54" }, + { "name":"k_EResultRemoteCallFailed", "value":"55" }, + { "name":"k_EResultPasswordUnset", "value":"56" }, + { "name":"k_EResultExternalAccountUnlinked", "value":"57" }, + { "name":"k_EResultPSNTicketInvalid", "value":"58" }, + { "name":"k_EResultExternalAccountAlreadyLinked", "value":"59" }, + { "name":"k_EResultRemoteFileConflict", "value":"60" }, + { "name":"k_EResultIllegalPassword", "value":"61" }, + { "name":"k_EResultSameAsPreviousValue", "value":"62" }, + { "name":"k_EResultAccountLogonDenied", "value":"63" }, + { "name":"k_EResultCannotUseOldPassword", "value":"64" }, + { "name":"k_EResultInvalidLoginAuthCode", "value":"65" }, + { "name":"k_EResultAccountLogonDeniedNoMail", "value":"66" }, + { "name":"k_EResultHardwareNotCapableOfIPT", "value":"67" }, + { "name":"k_EResultIPTInitError", "value":"68" }, + { "name":"k_EResultParentalControlRestricted", "value":"69" }, + { "name":"k_EResultFacebookQueryError", "value":"70" }, + { "name":"k_EResultExpiredLoginAuthCode", "value":"71" }, + { "name":"k_EResultIPLoginRestrictionFailed", "value":"72" }, + { "name":"k_EResultAccountLockedDown", "value":"73" }, + { "name":"k_EResultAccountLogonDeniedVerifiedEmailRequired", "value":"74" }, + { "name":"k_EResultNoMatchingURL", "value":"75" }, + { "name":"k_EResultBadResponse", "value":"76" }, + { "name":"k_EResultRequirePasswordReEntry", "value":"77" }, + { "name":"k_EResultValueOutOfRange", "value":"78" }, + { "name":"k_EResultUnexpectedError", "value":"79" }, + { "name":"k_EResultDisabled", "value":"80" }, + { "name":"k_EResultInvalidCEGSubmission", "value":"81" }, + { "name":"k_EResultRestrictedDevice", "value":"82" }, + { "name":"k_EResultRegionLocked", "value":"83" }, + { "name":"k_EResultRateLimitExceeded", "value":"84" }, + { "name":"k_EResultAccountLoginDeniedNeedTwoFactor", "value":"85" }, + { "name":"k_EResultItemDeleted", "value":"86" }, + { "name":"k_EResultAccountLoginDeniedThrottle", "value":"87" }, + { "name":"k_EResultTwoFactorCodeMismatch", "value":"88" }, + { "name":"k_EResultTwoFactorActivationCodeMismatch", "value":"89" }, + { "name":"k_EResultAccountAssociatedToMultiplePartners", "value":"90" }, + { "name":"k_EResultNotModified", "value":"91" }, + { "name":"k_EResultNoMobileDevice", "value":"92" }, + { "name":"k_EResultTimeNotSynced", "value":"93" }, + { "name":"k_EResultSmsCodeFailed", "value":"94" }, + { "name":"k_EResultAccountLimitExceeded", "value":"95" }, + { "name":"k_EResultAccountActivityLimitExceeded", "value":"96" }, + { "name":"k_EResultPhoneActivityLimitExceeded", "value":"97" }, + { "name":"k_EResultRefundToWallet", "value":"98" }, + { "name":"k_EResultEmailSendFailure", "value":"99" }, + { "name":"k_EResultNotSettled", "value":"100" }, + { "name":"k_EResultNeedCaptcha", "value":"101" }, + { "name":"k_EResultGSLTDenied", "value":"102" }, + { "name":"k_EResultGSOwnerDenied", "value":"103" }, + { "name":"k_EResultInvalidItemType", "value":"104" }, + { "name":"k_EResultIPBanned", "value":"105" }, + { "name":"k_EResultGSLTExpired", "value":"106" }, + { "name":"k_EResultInsufficientFunds", "value":"107" }, + { "name":"k_EResultTooManyPending", "value":"108" }, + { "name":"k_EResultNoSiteLicensesFound", "value":"109" }, + { "name":"k_EResultWGNetworkSendExceeded", "value":"110" }, + { "name":"k_EResultAccountNotFriends", "value":"111" }, + { "name":"k_EResultLimitedUserAccount", "value":"112" }, + { "name":"k_EResultCantRemoveItem", "value":"113" }, + { "name":"k_EResultAccountDeleted", "value":"114" }, + { "name":"k_EResultExistingUserCancelledLicense", "value":"115" }, + { "name":"k_EResultCommunityCooldown", "value":"116" }, + { "name":"k_EResultNoLauncherSpecified", "value":"117" }, + { "name":"k_EResultMustAgreeToSSA", "value":"118" }, + { "name":"k_EResultLauncherMigrated", "value":"119" }, + { "name":"k_EResultSteamRealmMismatch", "value":"120" }, + { "name":"k_EResultInvalidSignature", "value":"121" }, + { "name":"k_EResultParseFailure", "value":"122" }, + { "name":"k_EResultNoVerifiedPhone", "value":"123" }, + { "name":"k_EResultInsufficientBattery", "value":"124" }, + { "name":"k_EResultChargerRequired", "value":"125" }, + { "name":"k_EResultCachedCredentialInvalid", "value":"126" }, + { "name":"K_EResultPhoneNumberIsVOIP", "value":"127" }, + { "name":"k_EResultNotSupported", "value":"128" }, + { "name":"k_EResultFamilySizeLimitExceeded", "value":"129" }, + { "name":"k_EResultOfflineAppCacheInvalid", "value":"130" } + ] + }, + { + "enumname": "EVoiceResult", + "values": [ + { "name":"k_EVoiceResultOK", "value":"0" }, + { "name":"k_EVoiceResultNotInitialized", "value":"1" }, + { "name":"k_EVoiceResultNotRecording", "value":"2" }, + { "name":"k_EVoiceResultNoData", "value":"3" }, + { "name":"k_EVoiceResultBufferTooSmall", "value":"4" }, + { "name":"k_EVoiceResultDataCorrupted", "value":"5" }, + { "name":"k_EVoiceResultRestricted", "value":"6" }, + { "name":"k_EVoiceResultUnsupportedCodec", "value":"7" }, + { "name":"k_EVoiceResultReceiverOutOfDate", "value":"8" }, + { "name":"k_EVoiceResultReceiverDidNotAnswer", "value":"9" } + ] + }, + { + "enumname": "EDenyReason", + "values": [ + { "name":"k_EDenyInvalid", "value":"0" }, + { "name":"k_EDenyInvalidVersion", "value":"1" }, + { "name":"k_EDenyGeneric", "value":"2" }, + { "name":"k_EDenyNotLoggedOn", "value":"3" }, + { "name":"k_EDenyNoLicense", "value":"4" }, + { "name":"k_EDenyCheater", "value":"5" }, + { "name":"k_EDenyLoggedInElseWhere", "value":"6" }, + { "name":"k_EDenyUnknownText", "value":"7" }, + { "name":"k_EDenyIncompatibleAnticheat", "value":"8" }, + { "name":"k_EDenyMemoryCorruption", "value":"9" }, + { "name":"k_EDenyIncompatibleSoftware", "value":"10" }, + { "name":"k_EDenySteamConnectionLost", "value":"11" }, + { "name":"k_EDenySteamConnectionError", "value":"12" }, + { "name":"k_EDenySteamResponseTimedOut", "value":"13" }, + { "name":"k_EDenySteamValidationStalled", "value":"14" }, + { "name":"k_EDenySteamOwnerLeftGuestUser", "value":"15" } + ] + }, + { + "enumname": "EBeginAuthSessionResult", + "values": [ + { "name":"k_EBeginAuthSessionResultOK", "value":"0" }, + { "name":"k_EBeginAuthSessionResultInvalidTicket", "value":"1" }, + { "name":"k_EBeginAuthSessionResultDuplicateRequest", "value":"2" }, + { "name":"k_EBeginAuthSessionResultInvalidVersion", "value":"3" }, + { "name":"k_EBeginAuthSessionResultGameMismatch", "value":"4" }, + { "name":"k_EBeginAuthSessionResultExpiredTicket", "value":"5" } + ] + }, + { + "enumname": "EAuthSessionResponse", + "values": [ + { "name":"k_EAuthSessionResponseOK", "value":"0" }, + { "name":"k_EAuthSessionResponseUserNotConnectedToSteam", "value":"1" }, + { "name":"k_EAuthSessionResponseNoLicenseOrExpired", "value":"2" }, + { "name":"k_EAuthSessionResponseVACBanned", "value":"3" }, + { "name":"k_EAuthSessionResponseLoggedInElseWhere", "value":"4" }, + { "name":"k_EAuthSessionResponseVACCheckTimedOut", "value":"5" }, + { "name":"k_EAuthSessionResponseAuthTicketCanceled", "value":"6" }, + { "name":"k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed", "value":"7" }, + { "name":"k_EAuthSessionResponseAuthTicketInvalid", "value":"8" }, + { "name":"k_EAuthSessionResponsePublisherIssuedBan", "value":"9" }, + { "name":"k_EAuthSessionResponseAuthTicketNetworkIdentityFailure", "value":"10" } + ] + }, + { + "enumname": "EUserHasLicenseForAppResult", + "values": [ + { "name":"k_EUserHasLicenseResultHasLicense", "value":"0" }, + { "name":"k_EUserHasLicenseResultDoesNotHaveLicense", "value":"1" }, + { "name":"k_EUserHasLicenseResultNoAuth", "value":"2" } + ] + }, + { + "enumname": "EAccountType", + "values": [ + { "name":"k_EAccountTypeInvalid", "value":"0" }, + { "name":"k_EAccountTypeIndividual", "value":"1" }, + { "name":"k_EAccountTypeMultiseat", "value":"2" }, + { "name":"k_EAccountTypeGameServer", "value":"3" }, + { "name":"k_EAccountTypeAnonGameServer", "value":"4" }, + { "name":"k_EAccountTypePending", "value":"5" }, + { "name":"k_EAccountTypeContentServer", "value":"6" }, + { "name":"k_EAccountTypeClan", "value":"7" }, + { "name":"k_EAccountTypeChat", "value":"8" }, + { "name":"k_EAccountTypeConsoleUser", "value":"9" }, + { "name":"k_EAccountTypeAnonUser", "value":"10" }, + { "name":"k_EAccountTypeMax", "value":"11" } + ] + }, + { + "enumname": "EChatEntryType", + "values": [ + { "name":"k_EChatEntryTypeInvalid", "value":"0" }, + { "name":"k_EChatEntryTypeChatMsg", "value":"1" }, + { "name":"k_EChatEntryTypeTyping", "value":"2" }, + { "name":"k_EChatEntryTypeInviteGame", "value":"3" }, + { "name":"k_EChatEntryTypeEmote", "value":"4" }, + { "name":"k_EChatEntryTypeLeftConversation", "value":"6" }, + { "name":"k_EChatEntryTypeEntered", "value":"7" }, + { "name":"k_EChatEntryTypeWasKicked", "value":"8" }, + { "name":"k_EChatEntryTypeWasBanned", "value":"9" }, + { "name":"k_EChatEntryTypeDisconnected", "value":"10" }, + { "name":"k_EChatEntryTypeHistoricalChat", "value":"11" }, + { "name":"k_EChatEntryTypeLinkBlocked", "value":"14" } + ] + }, + { + "enumname": "EChatRoomEnterResponse", + "values": [ + { "name":"k_EChatRoomEnterResponseSuccess", "value":"1" }, + { "name":"k_EChatRoomEnterResponseDoesntExist", "value":"2" }, + { "name":"k_EChatRoomEnterResponseNotAllowed", "value":"3" }, + { "name":"k_EChatRoomEnterResponseFull", "value":"4" }, + { "name":"k_EChatRoomEnterResponseError", "value":"5" }, + { "name":"k_EChatRoomEnterResponseBanned", "value":"6" }, + { "name":"k_EChatRoomEnterResponseLimited", "value":"7" }, + { "name":"k_EChatRoomEnterResponseClanDisabled", "value":"8" }, + { "name":"k_EChatRoomEnterResponseCommunityBan", "value":"9" }, + { "name":"k_EChatRoomEnterResponseMemberBlockedYou", "value":"10" }, + { "name":"k_EChatRoomEnterResponseYouBlockedMember", "value":"11" }, + { "name":"k_EChatRoomEnterResponseRatelimitExceeded", "value":"15" } + ] + }, + { + "enumname": "EChatSteamIDInstanceFlags", + "values": [ + { "name":"k_EChatAccountInstanceMask", "value":"4095" }, + { "name":"k_EChatInstanceFlagClan", "value":"524288" }, + { "name":"k_EChatInstanceFlagLobby", "value":"262144" }, + { "name":"k_EChatInstanceFlagMMSLobby", "value":"131072" } + ] + }, + { + "enumname": "ENotificationPosition", + "values": [ + { "name":"k_EPositionInvalid", "value":"-1" }, + { "name":"k_EPositionTopLeft", "value":"0" }, + { "name":"k_EPositionTopRight", "value":"1" }, + { "name":"k_EPositionBottomLeft", "value":"2" }, + { "name":"k_EPositionBottomRight", "value":"3" } + ] + }, + { + "enumname": "EBroadcastUploadResult", + "values": [ + { "name":"k_EBroadcastUploadResultNone", "value":"0" }, + { "name":"k_EBroadcastUploadResultOK", "value":"1" }, + { "name":"k_EBroadcastUploadResultInitFailed", "value":"2" }, + { "name":"k_EBroadcastUploadResultFrameFailed", "value":"3" }, + { "name":"k_EBroadcastUploadResultTimeout", "value":"4" }, + { "name":"k_EBroadcastUploadResultBandwidthExceeded", "value":"5" }, + { "name":"k_EBroadcastUploadResultLowFPS", "value":"6" }, + { "name":"k_EBroadcastUploadResultMissingKeyFrames", "value":"7" }, + { "name":"k_EBroadcastUploadResultNoConnection", "value":"8" }, + { "name":"k_EBroadcastUploadResultRelayFailed", "value":"9" }, + { "name":"k_EBroadcastUploadResultSettingsChanged", "value":"10" }, + { "name":"k_EBroadcastUploadResultMissingAudio", "value":"11" }, + { "name":"k_EBroadcastUploadResultTooFarBehind", "value":"12" }, + { "name":"k_EBroadcastUploadResultTranscodeBehind", "value":"13" }, + { "name":"k_EBroadcastUploadResultNotAllowedToPlay", "value":"14" }, + { "name":"k_EBroadcastUploadResultBusy", "value":"15" }, + { "name":"k_EBroadcastUploadResultBanned", "value":"16" }, + { "name":"k_EBroadcastUploadResultAlreadyActive", "value":"17" }, + { "name":"k_EBroadcastUploadResultForcedOff", "value":"18" }, + { "name":"k_EBroadcastUploadResultAudioBehind", "value":"19" }, + { "name":"k_EBroadcastUploadResultShutdown", "value":"20" }, + { "name":"k_EBroadcastUploadResultDisconnect", "value":"21" }, + { "name":"k_EBroadcastUploadResultVideoInitFailed", "value":"22" }, + { "name":"k_EBroadcastUploadResultAudioInitFailed", "value":"23" } + ] + }, + { + "enumname": "EMarketNotAllowedReasonFlags", + "values": [ + { "name":"k_EMarketNotAllowedReason_None", "value":"0" }, + { "name":"k_EMarketNotAllowedReason_TemporaryFailure", "value":"1" }, + { "name":"k_EMarketNotAllowedReason_AccountDisabled", "value":"2" }, + { "name":"k_EMarketNotAllowedReason_AccountLockedDown", "value":"4" }, + { "name":"k_EMarketNotAllowedReason_AccountLimited", "value":"8" }, + { "name":"k_EMarketNotAllowedReason_TradeBanned", "value":"16" }, + { "name":"k_EMarketNotAllowedReason_AccountNotTrusted", "value":"32" }, + { "name":"k_EMarketNotAllowedReason_SteamGuardNotEnabled", "value":"64" }, + { "name":"k_EMarketNotAllowedReason_SteamGuardOnlyRecentlyEnabled", "value":"128" }, + { "name":"k_EMarketNotAllowedReason_RecentPasswordReset", "value":"256" }, + { "name":"k_EMarketNotAllowedReason_NewPaymentMethod", "value":"512" }, + { "name":"k_EMarketNotAllowedReason_InvalidCookie", "value":"1024" }, + { "name":"k_EMarketNotAllowedReason_UsingNewDevice", "value":"2048" }, + { "name":"k_EMarketNotAllowedReason_RecentSelfRefund", "value":"4096" }, + { "name":"k_EMarketNotAllowedReason_NewPaymentMethodCannotBeVerified", "value":"8192" }, + { "name":"k_EMarketNotAllowedReason_NoRecentPurchases", "value":"16384" }, + { "name":"k_EMarketNotAllowedReason_AcceptedWalletGift", "value":"32768" } + ] + }, + { + "enumname": "EDurationControlProgress", + "values": [ + { "name":"k_EDurationControlProgress_Full", "value":"0" }, + { "name":"k_EDurationControlProgress_Half", "value":"1" }, + { "name":"k_EDurationControlProgress_None", "value":"2" }, + { "name":"k_EDurationControl_ExitSoon_3h", "value":"3" }, + { "name":"k_EDurationControl_ExitSoon_5h", "value":"4" }, + { "name":"k_EDurationControl_ExitSoon_Night", "value":"5" } + ] + }, + { + "enumname": "EDurationControlNotification", + "values": [ + { "name":"k_EDurationControlNotification_None", "value":"0" }, + { "name":"k_EDurationControlNotification_1Hour", "value":"1" }, + { "name":"k_EDurationControlNotification_3Hours", "value":"2" }, + { "name":"k_EDurationControlNotification_HalfProgress", "value":"3" }, + { "name":"k_EDurationControlNotification_NoProgress", "value":"4" }, + { "name":"k_EDurationControlNotification_ExitSoon_3h", "value":"5" }, + { "name":"k_EDurationControlNotification_ExitSoon_5h", "value":"6" }, + { "name":"k_EDurationControlNotification_ExitSoon_Night", "value":"7" } + ] + }, + { + "enumname": "EDurationControlOnlineState", + "values": [ + { "name":"k_EDurationControlOnlineState_Invalid", "value":"0" }, + { "name":"k_EDurationControlOnlineState_Offline", "value":"1" }, + { "name":"k_EDurationControlOnlineState_Online", "value":"2" }, + { "name":"k_EDurationControlOnlineState_OnlineHighPri", "value":"3" } + ] + }, + { + "enumname": "EBetaBranchFlags", + "values": [ + { "name":"k_EBetaBranch_None", "value":"0" }, + { "name":"k_EBetaBranch_Default", "value":"1" }, + { "name":"k_EBetaBranch_Available", "value":"2" }, + { "name":"k_EBetaBranch_Private", "value":"4" }, + { "name":"k_EBetaBranch_Selected", "value":"8" }, + { "name":"k_EBetaBranch_Installed", "value":"16" } + ] + }, + { + "enumname": "EGameSearchErrorCode_t", + "values": [ + { "name":"k_EGameSearchErrorCode_OK", "value":"1" }, + { "name":"k_EGameSearchErrorCode_Failed_Search_Already_In_Progress", "value":"2" }, + { "name":"k_EGameSearchErrorCode_Failed_No_Search_In_Progress", "value":"3" }, + { "name":"k_EGameSearchErrorCode_Failed_Not_Lobby_Leader", "value":"4" }, + { "name":"k_EGameSearchErrorCode_Failed_No_Host_Available", "value":"5" }, + { "name":"k_EGameSearchErrorCode_Failed_Search_Params_Invalid", "value":"6" }, + { "name":"k_EGameSearchErrorCode_Failed_Offline", "value":"7" }, + { "name":"k_EGameSearchErrorCode_Failed_NotAuthorized", "value":"8" }, + { "name":"k_EGameSearchErrorCode_Failed_Unknown_Error", "value":"9" } + ] + }, + { + "enumname": "EPlayerResult_t", + "values": [ + { "name":"k_EPlayerResultFailedToConnect", "value":"1" }, + { "name":"k_EPlayerResultAbandoned", "value":"2" }, + { "name":"k_EPlayerResultKicked", "value":"3" }, + { "name":"k_EPlayerResultIncomplete", "value":"4" }, + { "name":"k_EPlayerResultCompleted", "value":"5" } + ] + }, + { + "enumname": "ESteamIPv6ConnectivityProtocol", + "values": [ + { "name":"k_ESteamIPv6ConnectivityProtocol_Invalid", "value":"0" }, + { "name":"k_ESteamIPv6ConnectivityProtocol_HTTP", "value":"1" }, + { "name":"k_ESteamIPv6ConnectivityProtocol_UDP", "value":"2" } + ] + }, + { + "enumname": "ESteamIPv6ConnectivityState", + "values": [ + { "name":"k_ESteamIPv6ConnectivityState_Unknown", "value":"0" }, + { "name":"k_ESteamIPv6ConnectivityState_Good", "value":"1" }, + { "name":"k_ESteamIPv6ConnectivityState_Bad", "value":"2" } + ] + }, + { + "enumname": "EFriendRelationship", + "values": [ + { "name":"k_EFriendRelationshipNone", "value":"0" }, + { "name":"k_EFriendRelationshipBlocked", "value":"1" }, + { "name":"k_EFriendRelationshipRequestRecipient", "value":"2" }, + { "name":"k_EFriendRelationshipFriend", "value":"3" }, + { "name":"k_EFriendRelationshipRequestInitiator", "value":"4" }, + { "name":"k_EFriendRelationshipIgnored", "value":"5" }, + { "name":"k_EFriendRelationshipIgnoredFriend", "value":"6" }, + { "name":"k_EFriendRelationshipSuggested_DEPRECATED", "value":"7" }, + { "name":"k_EFriendRelationshipMax", "value":"8" } + ] + }, + { + "enumname": "EPersonaState", + "values": [ + { "name":"k_EPersonaStateOffline", "value":"0" }, + { "name":"k_EPersonaStateOnline", "value":"1" }, + { "name":"k_EPersonaStateBusy", "value":"2" }, + { "name":"k_EPersonaStateAway", "value":"3" }, + { "name":"k_EPersonaStateSnooze", "value":"4" }, + { "name":"k_EPersonaStateLookingToTrade", "value":"5" }, + { "name":"k_EPersonaStateLookingToPlay", "value":"6" }, + { "name":"k_EPersonaStateInvisible", "value":"7" }, + { "name":"k_EPersonaStateMax", "value":"8" } + ] + }, + { + "enumname": "EFriendFlags", + "values": [ + { "name":"k_EFriendFlagNone", "value":"0" }, + { "name":"k_EFriendFlagBlocked", "value":"1" }, + { "name":"k_EFriendFlagFriendshipRequested", "value":"2" }, + { "name":"k_EFriendFlagImmediate", "value":"4" }, + { "name":"k_EFriendFlagClanMember", "value":"8" }, + { "name":"k_EFriendFlagOnGameServer", "value":"16" }, + { "name":"k_EFriendFlagRequestingFriendship", "value":"128" }, + { "name":"k_EFriendFlagRequestingInfo", "value":"256" }, + { "name":"k_EFriendFlagIgnored", "value":"512" }, + { "name":"k_EFriendFlagIgnoredFriend", "value":"1024" }, + { "name":"k_EFriendFlagChatMember", "value":"4096" }, + { "name":"k_EFriendFlagAll", "value":"65535" } + ] + }, + { + "enumname": "EUserRestriction", + "values": [ + { "name":"k_nUserRestrictionNone", "value":"0" }, + { "name":"k_nUserRestrictionUnknown", "value":"1" }, + { "name":"k_nUserRestrictionAnyChat", "value":"2" }, + { "name":"k_nUserRestrictionVoiceChat", "value":"4" }, + { "name":"k_nUserRestrictionGroupChat", "value":"8" }, + { "name":"k_nUserRestrictionRating", "value":"16" }, + { "name":"k_nUserRestrictionGameInvites", "value":"32" }, + { "name":"k_nUserRestrictionTrading", "value":"64" } + ] + }, + { + "enumname": "EOverlayToStoreFlag", + "values": [ + { "name":"k_EOverlayToStoreFlag_None", "value":"0" }, + { "name":"k_EOverlayToStoreFlag_AddToCart", "value":"1" }, + { "name":"k_EOverlayToStoreFlag_AddToCartAndShow", "value":"2" } + ] + }, + { + "enumname": "EActivateGameOverlayToWebPageMode", + "values": [ + { "name":"k_EActivateGameOverlayToWebPageMode_Default", "value":"0" }, + { "name":"k_EActivateGameOverlayToWebPageMode_Modal", "value":"1" } + ] + }, + { + "enumname": "ECommunityProfileItemType", + "values": [ + { "name":"k_ECommunityProfileItemType_AnimatedAvatar", "value":"0" }, + { "name":"k_ECommunityProfileItemType_AvatarFrame", "value":"1" }, + { "name":"k_ECommunityProfileItemType_ProfileModifier", "value":"2" }, + { "name":"k_ECommunityProfileItemType_ProfileBackground", "value":"3" }, + { "name":"k_ECommunityProfileItemType_MiniProfileBackground", "value":"4" } + ] + }, + { + "enumname": "ECommunityProfileItemProperty", + "values": [ + { "name":"k_ECommunityProfileItemProperty_ImageSmall", "value":"0" }, + { "name":"k_ECommunityProfileItemProperty_ImageLarge", "value":"1" }, + { "name":"k_ECommunityProfileItemProperty_InternalName", "value":"2" }, + { "name":"k_ECommunityProfileItemProperty_Title", "value":"3" }, + { "name":"k_ECommunityProfileItemProperty_Description", "value":"4" }, + { "name":"k_ECommunityProfileItemProperty_AppID", "value":"5" }, + { "name":"k_ECommunityProfileItemProperty_TypeID", "value":"6" }, + { "name":"k_ECommunityProfileItemProperty_Class", "value":"7" }, + { "name":"k_ECommunityProfileItemProperty_MovieWebM", "value":"8" }, + { "name":"k_ECommunityProfileItemProperty_MovieMP4", "value":"9" }, + { "name":"k_ECommunityProfileItemProperty_MovieWebMSmall", "value":"10" }, + { "name":"k_ECommunityProfileItemProperty_MovieMP4Small", "value":"11" } + ] + }, + { + "enumname": "EPersonaChange", + "values": [ + { "name":"k_EPersonaChangeName", "value":"1" }, + { "name":"k_EPersonaChangeStatus", "value":"2" }, + { "name":"k_EPersonaChangeComeOnline", "value":"4" }, + { "name":"k_EPersonaChangeGoneOffline", "value":"8" }, + { "name":"k_EPersonaChangeGamePlayed", "value":"16" }, + { "name":"k_EPersonaChangeGameServer", "value":"32" }, + { "name":"k_EPersonaChangeAvatar", "value":"64" }, + { "name":"k_EPersonaChangeJoinedSource", "value":"128" }, + { "name":"k_EPersonaChangeLeftSource", "value":"256" }, + { "name":"k_EPersonaChangeRelationshipChanged", "value":"512" }, + { "name":"k_EPersonaChangeNameFirstSet", "value":"1024" }, + { "name":"k_EPersonaChangeBroadcast", "value":"2048" }, + { "name":"k_EPersonaChangeNickname", "value":"4096" }, + { "name":"k_EPersonaChangeSteamLevel", "value":"8192" }, + { "name":"k_EPersonaChangeRichPresence", "value":"16384" } + ] + }, + { + "enumname": "ESteamAPICallFailure", + "values": [ + { "name":"k_ESteamAPICallFailureNone", "value":"-1" }, + { "name":"k_ESteamAPICallFailureSteamGone", "value":"0" }, + { "name":"k_ESteamAPICallFailureNetworkFailure", "value":"1" }, + { "name":"k_ESteamAPICallFailureInvalidHandle", "value":"2" }, + { "name":"k_ESteamAPICallFailureMismatchedCallback", "value":"3" } + ] + }, + { + "enumname": "EGamepadTextInputMode", + "values": [ + { "name":"k_EGamepadTextInputModeNormal", "value":"0" }, + { "name":"k_EGamepadTextInputModePassword", "value":"1" } + ] + }, + { + "enumname": "EGamepadTextInputLineMode", + "values": [ + { "name":"k_EGamepadTextInputLineModeSingleLine", "value":"0" }, + { "name":"k_EGamepadTextInputLineModeMultipleLines", "value":"1" } + ] + }, + { + "enumname": "EFloatingGamepadTextInputMode", + "values": [ + { "name":"k_EFloatingGamepadTextInputModeModeSingleLine", "value":"0" }, + { "name":"k_EFloatingGamepadTextInputModeModeMultipleLines", "value":"1" }, + { "name":"k_EFloatingGamepadTextInputModeModeEmail", "value":"2" }, + { "name":"k_EFloatingGamepadTextInputModeModeNumeric", "value":"3" } + ] + }, + { + "enumname": "ETextFilteringContext", + "values": [ + { "name":"k_ETextFilteringContextUnknown", "value":"0" }, + { "name":"k_ETextFilteringContextGameContent", "value":"1" }, + { "name":"k_ETextFilteringContextChat", "value":"2" }, + { "name":"k_ETextFilteringContextName", "value":"3" } + ] + }, + { + "enumname": "ECheckFileSignature", + "values": [ + { "name":"k_ECheckFileSignatureInvalidSignature", "value":"0" }, + { "name":"k_ECheckFileSignatureValidSignature", "value":"1" }, + { "name":"k_ECheckFileSignatureFileNotFound", "value":"2" }, + { "name":"k_ECheckFileSignatureNoSignaturesFoundForThisApp", "value":"3" }, + { "name":"k_ECheckFileSignatureNoSignaturesFoundForThisFile", "value":"4" } + ] + }, + { + "enumname": "EMatchMakingServerResponse", + "values": [ + { "name":"eServerResponded", "value":"0" }, + { "name":"eServerFailedToRespond", "value":"1" }, + { "name":"eNoServersListedOnMasterServer", "value":"2" } + ] + }, + { + "enumname": "ELobbyType", + "values": [ + { "name":"k_ELobbyTypePrivate", "value":"0" }, + { "name":"k_ELobbyTypeFriendsOnly", "value":"1" }, + { "name":"k_ELobbyTypePublic", "value":"2" }, + { "name":"k_ELobbyTypeInvisible", "value":"3" }, + { "name":"k_ELobbyTypePrivateUnique", "value":"4" } + ] + }, + { + "enumname": "ELobbyComparison", + "values": [ + { "name":"k_ELobbyComparisonEqualToOrLessThan", "value":"-2" }, + { "name":"k_ELobbyComparisonLessThan", "value":"-1" }, + { "name":"k_ELobbyComparisonEqual", "value":"0" }, + { "name":"k_ELobbyComparisonGreaterThan", "value":"1" }, + { "name":"k_ELobbyComparisonEqualToOrGreaterThan", "value":"2" }, + { "name":"k_ELobbyComparisonNotEqual", "value":"3" } + ] + }, + { + "enumname": "ELobbyDistanceFilter", + "values": [ + { "name":"k_ELobbyDistanceFilterClose", "value":"0" }, + { "name":"k_ELobbyDistanceFilterDefault", "value":"1" }, + { "name":"k_ELobbyDistanceFilterFar", "value":"2" }, + { "name":"k_ELobbyDistanceFilterWorldwide", "value":"3" } + ] + }, + { + "enumname": "EChatMemberStateChange", + "values": [ + { "name":"k_EChatMemberStateChangeEntered", "value":"1" }, + { "name":"k_EChatMemberStateChangeLeft", "value":"2" }, + { "name":"k_EChatMemberStateChangeDisconnected", "value":"4" }, + { "name":"k_EChatMemberStateChangeKicked", "value":"8" }, + { "name":"k_EChatMemberStateChangeBanned", "value":"16" } + ] + }, + { + "enumname": "ESteamPartyBeaconLocationType", + "values": [ + { "name":"k_ESteamPartyBeaconLocationType_Invalid", "value":"0" }, + { "name":"k_ESteamPartyBeaconLocationType_ChatGroup", "value":"1" }, + { "name":"k_ESteamPartyBeaconLocationType_Max", "value":"2" } + ] + }, + { + "enumname": "ESteamPartyBeaconLocationData", + "values": [ + { "name":"k_ESteamPartyBeaconLocationDataInvalid", "value":"0" }, + { "name":"k_ESteamPartyBeaconLocationDataName", "value":"1" }, + { "name":"k_ESteamPartyBeaconLocationDataIconURLSmall", "value":"2" }, + { "name":"k_ESteamPartyBeaconLocationDataIconURLMedium", "value":"3" }, + { "name":"k_ESteamPartyBeaconLocationDataIconURLLarge", "value":"4" } + ] + }, + { + "enumname": "ERemoteStoragePlatform", + "values": [ + { "name":"k_ERemoteStoragePlatformNone", "value":"0" }, + { "name":"k_ERemoteStoragePlatformWindows", "value":"1" }, + { "name":"k_ERemoteStoragePlatformOSX", "value":"2" }, + { "name":"k_ERemoteStoragePlatformPS3", "value":"4" }, + { "name":"k_ERemoteStoragePlatformLinux", "value":"8" }, + { "name":"k_ERemoteStoragePlatformSwitch", "value":"16" }, + { "name":"k_ERemoteStoragePlatformAndroid", "value":"32" }, + { "name":"k_ERemoteStoragePlatformIOS", "value":"64" }, + { "name":"k_ERemoteStoragePlatformAll", "value":"-1" } + ] + }, + { + "enumname": "ERemoteStoragePublishedFileVisibility", + "values": [ + { "name":"k_ERemoteStoragePublishedFileVisibilityPublic", "value":"0" }, + { "name":"k_ERemoteStoragePublishedFileVisibilityFriendsOnly", "value":"1" }, + { "name":"k_ERemoteStoragePublishedFileVisibilityPrivate", "value":"2" }, + { "name":"k_ERemoteStoragePublishedFileVisibilityUnlisted", "value":"3" } + ] + }, + { + "enumname": "EWorkshopFileType", + "values": [ + { "name":"k_EWorkshopFileTypeFirst", "value":"0" }, + { "name":"k_EWorkshopFileTypeCommunity", "value":"0" }, + { "name":"k_EWorkshopFileTypeMicrotransaction", "value":"1" }, + { "name":"k_EWorkshopFileTypeCollection", "value":"2" }, + { "name":"k_EWorkshopFileTypeArt", "value":"3" }, + { "name":"k_EWorkshopFileTypeVideo", "value":"4" }, + { "name":"k_EWorkshopFileTypeScreenshot", "value":"5" }, + { "name":"k_EWorkshopFileTypeGame", "value":"6" }, + { "name":"k_EWorkshopFileTypeSoftware", "value":"7" }, + { "name":"k_EWorkshopFileTypeConcept", "value":"8" }, + { "name":"k_EWorkshopFileTypeWebGuide", "value":"9" }, + { "name":"k_EWorkshopFileTypeIntegratedGuide", "value":"10" }, + { "name":"k_EWorkshopFileTypeMerch", "value":"11" }, + { "name":"k_EWorkshopFileTypeControllerBinding", "value":"12" }, + { "name":"k_EWorkshopFileTypeSteamworksAccessInvite", "value":"13" }, + { "name":"k_EWorkshopFileTypeSteamVideo", "value":"14" }, + { "name":"k_EWorkshopFileTypeGameManagedItem", "value":"15" }, + { "name":"k_EWorkshopFileTypeClip", "value":"16" }, + { "name":"k_EWorkshopFileTypeMax", "value":"17" } + ] + }, + { + "enumname": "EWorkshopVote", + "values": [ + { "name":"k_EWorkshopVoteUnvoted", "value":"0" }, + { "name":"k_EWorkshopVoteFor", "value":"1" }, + { "name":"k_EWorkshopVoteAgainst", "value":"2" }, + { "name":"k_EWorkshopVoteLater", "value":"3" } + ] + }, + { + "enumname": "EWorkshopFileAction", + "values": [ + { "name":"k_EWorkshopFileActionPlayed", "value":"0" }, + { "name":"k_EWorkshopFileActionCompleted", "value":"1" } + ] + }, + { + "enumname": "EWorkshopEnumerationType", + "values": [ + { "name":"k_EWorkshopEnumerationTypeRankedByVote", "value":"0" }, + { "name":"k_EWorkshopEnumerationTypeRecent", "value":"1" }, + { "name":"k_EWorkshopEnumerationTypeTrending", "value":"2" }, + { "name":"k_EWorkshopEnumerationTypeFavoritesOfFriends", "value":"3" }, + { "name":"k_EWorkshopEnumerationTypeVotedByFriends", "value":"4" }, + { "name":"k_EWorkshopEnumerationTypeContentByFriends", "value":"5" }, + { "name":"k_EWorkshopEnumerationTypeRecentFromFollowedUsers", "value":"6" } + ] + }, + { + "enumname": "EWorkshopVideoProvider", + "values": [ + { "name":"k_EWorkshopVideoProviderNone", "value":"0" }, + { "name":"k_EWorkshopVideoProviderYoutube", "value":"1" } + ] + }, + { + "enumname": "EUGCReadAction", + "values": [ + { "name":"k_EUGCRead_ContinueReadingUntilFinished", "value":"0" }, + { "name":"k_EUGCRead_ContinueReading", "value":"1" }, + { "name":"k_EUGCRead_Close", "value":"2" } + ] + }, + { + "enumname": "ERemoteStorageLocalFileChange", + "values": [ + { "name":"k_ERemoteStorageLocalFileChange_Invalid", "value":"0" }, + { "name":"k_ERemoteStorageLocalFileChange_FileUpdated", "value":"1" }, + { "name":"k_ERemoteStorageLocalFileChange_FileDeleted", "value":"2" } + ] + }, + { + "enumname": "ERemoteStorageFilePathType", + "values": [ + { "name":"k_ERemoteStorageFilePathType_Invalid", "value":"0" }, + { "name":"k_ERemoteStorageFilePathType_Absolute", "value":"1" }, + { "name":"k_ERemoteStorageFilePathType_APIFilename", "value":"2" } + ] + }, + { + "enumname": "ELeaderboardDataRequest", + "values": [ + { "name":"k_ELeaderboardDataRequestGlobal", "value":"0" }, + { "name":"k_ELeaderboardDataRequestGlobalAroundUser", "value":"1" }, + { "name":"k_ELeaderboardDataRequestFriends", "value":"2" }, + { "name":"k_ELeaderboardDataRequestUsers", "value":"3" } + ] + }, + { + "enumname": "ELeaderboardSortMethod", + "values": [ + { "name":"k_ELeaderboardSortMethodNone", "value":"0" }, + { "name":"k_ELeaderboardSortMethodAscending", "value":"1" }, + { "name":"k_ELeaderboardSortMethodDescending", "value":"2" } + ] + }, + { + "enumname": "ELeaderboardDisplayType", + "values": [ + { "name":"k_ELeaderboardDisplayTypeNone", "value":"0" }, + { "name":"k_ELeaderboardDisplayTypeNumeric", "value":"1" }, + { "name":"k_ELeaderboardDisplayTypeTimeSeconds", "value":"2" }, + { "name":"k_ELeaderboardDisplayTypeTimeMilliSeconds", "value":"3" } + ] + }, + { + "enumname": "ELeaderboardUploadScoreMethod", + "values": [ + { "name":"k_ELeaderboardUploadScoreMethodNone", "value":"0" }, + { "name":"k_ELeaderboardUploadScoreMethodKeepBest", "value":"1" }, + { "name":"k_ELeaderboardUploadScoreMethodForceUpdate", "value":"2" } + ] + }, + { + "enumname": "EP2PSessionError", + "values": [ + { "name":"k_EP2PSessionErrorNone", "value":"0" }, + { "name":"k_EP2PSessionErrorNoRightsToApp", "value":"2" }, + { "name":"k_EP2PSessionErrorTimeout", "value":"4" }, + { "name":"k_EP2PSessionErrorNotRunningApp_DELETED", "value":"1" }, + { "name":"k_EP2PSessionErrorDestinationNotLoggedIn_DELETED", "value":"3" }, + { "name":"k_EP2PSessionErrorMax", "value":"5" } + ] + }, + { + "enumname": "EP2PSend", + "values": [ + { "name":"k_EP2PSendUnreliable", "value":"0" }, + { "name":"k_EP2PSendUnreliableNoDelay", "value":"1" }, + { "name":"k_EP2PSendReliable", "value":"2" }, + { "name":"k_EP2PSendReliableWithBuffering", "value":"3" } + ] + }, + { + "enumname": "ESNetSocketState", + "values": [ + { "name":"k_ESNetSocketStateInvalid", "value":"0" }, + { "name":"k_ESNetSocketStateConnected", "value":"1" }, + { "name":"k_ESNetSocketStateInitiated", "value":"10" }, + { "name":"k_ESNetSocketStateLocalCandidatesFound", "value":"11" }, + { "name":"k_ESNetSocketStateReceivedRemoteCandidates", "value":"12" }, + { "name":"k_ESNetSocketStateChallengeHandshake", "value":"15" }, + { "name":"k_ESNetSocketStateDisconnecting", "value":"21" }, + { "name":"k_ESNetSocketStateLocalDisconnect", "value":"22" }, + { "name":"k_ESNetSocketStateTimeoutDuringConnect", "value":"23" }, + { "name":"k_ESNetSocketStateRemoteEndDisconnected", "value":"24" }, + { "name":"k_ESNetSocketStateConnectionBroken", "value":"25" } + ] + }, + { + "enumname": "ESNetSocketConnectionType", + "values": [ + { "name":"k_ESNetSocketConnectionTypeNotConnected", "value":"0" }, + { "name":"k_ESNetSocketConnectionTypeUDP", "value":"1" }, + { "name":"k_ESNetSocketConnectionTypeUDPRelay", "value":"2" } + ] + }, + { + "enumname": "EVRScreenshotType", + "values": [ + { "name":"k_EVRScreenshotType_None", "value":"0" }, + { "name":"k_EVRScreenshotType_Mono", "value":"1" }, + { "name":"k_EVRScreenshotType_Stereo", "value":"2" }, + { "name":"k_EVRScreenshotType_MonoCubemap", "value":"3" }, + { "name":"k_EVRScreenshotType_MonoPanorama", "value":"4" }, + { "name":"k_EVRScreenshotType_StereoPanorama", "value":"5" } + ] + }, + { + "enumname": "AudioPlayback_Status", + "values": [ + { "name":"AudioPlayback_Undefined", "value":"0" }, + { "name":"AudioPlayback_Playing", "value":"1" }, + { "name":"AudioPlayback_Paused", "value":"2" }, + { "name":"AudioPlayback_Idle", "value":"3" } + ] + }, + { + "enumname": "EHTTPMethod", + "values": [ + { "name":"k_EHTTPMethodInvalid", "value":"0" }, + { "name":"k_EHTTPMethodGET", "value":"1" }, + { "name":"k_EHTTPMethodHEAD", "value":"2" }, + { "name":"k_EHTTPMethodPOST", "value":"3" }, + { "name":"k_EHTTPMethodPUT", "value":"4" }, + { "name":"k_EHTTPMethodDELETE", "value":"5" }, + { "name":"k_EHTTPMethodOPTIONS", "value":"6" }, + { "name":"k_EHTTPMethodPATCH", "value":"7" } + ] + }, + { + "enumname": "EHTTPStatusCode", + "values": [ + { "name":"k_EHTTPStatusCodeInvalid", "value":"0" }, + { "name":"k_EHTTPStatusCode100Continue", "value":"100" }, + { "name":"k_EHTTPStatusCode101SwitchingProtocols", "value":"101" }, + { "name":"k_EHTTPStatusCode200OK", "value":"200" }, + { "name":"k_EHTTPStatusCode201Created", "value":"201" }, + { "name":"k_EHTTPStatusCode202Accepted", "value":"202" }, + { "name":"k_EHTTPStatusCode203NonAuthoritative", "value":"203" }, + { "name":"k_EHTTPStatusCode204NoContent", "value":"204" }, + { "name":"k_EHTTPStatusCode205ResetContent", "value":"205" }, + { "name":"k_EHTTPStatusCode206PartialContent", "value":"206" }, + { "name":"k_EHTTPStatusCode300MultipleChoices", "value":"300" }, + { "name":"k_EHTTPStatusCode301MovedPermanently", "value":"301" }, + { "name":"k_EHTTPStatusCode302Found", "value":"302" }, + { "name":"k_EHTTPStatusCode303SeeOther", "value":"303" }, + { "name":"k_EHTTPStatusCode304NotModified", "value":"304" }, + { "name":"k_EHTTPStatusCode305UseProxy", "value":"305" }, + { "name":"k_EHTTPStatusCode307TemporaryRedirect", "value":"307" }, + { "name":"k_EHTTPStatusCode308PermanentRedirect", "value":"308" }, + { "name":"k_EHTTPStatusCode400BadRequest", "value":"400" }, + { "name":"k_EHTTPStatusCode401Unauthorized", "value":"401" }, + { "name":"k_EHTTPStatusCode402PaymentRequired", "value":"402" }, + { "name":"k_EHTTPStatusCode403Forbidden", "value":"403" }, + { "name":"k_EHTTPStatusCode404NotFound", "value":"404" }, + { "name":"k_EHTTPStatusCode405MethodNotAllowed", "value":"405" }, + { "name":"k_EHTTPStatusCode406NotAcceptable", "value":"406" }, + { "name":"k_EHTTPStatusCode407ProxyAuthRequired", "value":"407" }, + { "name":"k_EHTTPStatusCode408RequestTimeout", "value":"408" }, + { "name":"k_EHTTPStatusCode409Conflict", "value":"409" }, + { "name":"k_EHTTPStatusCode410Gone", "value":"410" }, + { "name":"k_EHTTPStatusCode411LengthRequired", "value":"411" }, + { "name":"k_EHTTPStatusCode412PreconditionFailed", "value":"412" }, + { "name":"k_EHTTPStatusCode413RequestEntityTooLarge", "value":"413" }, + { "name":"k_EHTTPStatusCode414RequestURITooLong", "value":"414" }, + { "name":"k_EHTTPStatusCode415UnsupportedMediaType", "value":"415" }, + { "name":"k_EHTTPStatusCode416RequestedRangeNotSatisfiable", "value":"416" }, + { "name":"k_EHTTPStatusCode417ExpectationFailed", "value":"417" }, + { "name":"k_EHTTPStatusCode4xxUnknown", "value":"418" }, + { "name":"k_EHTTPStatusCode429TooManyRequests", "value":"429" }, + { "name":"k_EHTTPStatusCode444ConnectionClosed", "value":"444" }, + { "name":"k_EHTTPStatusCode500InternalServerError", "value":"500" }, + { "name":"k_EHTTPStatusCode501NotImplemented", "value":"501" }, + { "name":"k_EHTTPStatusCode502BadGateway", "value":"502" }, + { "name":"k_EHTTPStatusCode503ServiceUnavailable", "value":"503" }, + { "name":"k_EHTTPStatusCode504GatewayTimeout", "value":"504" }, + { "name":"k_EHTTPStatusCode505HTTPVersionNotSupported", "value":"505" }, + { "name":"k_EHTTPStatusCode5xxUnknown", "value":"599" } + ] + }, + { + "enumname": "EInputSourceMode", + "values": [ + { "name":"k_EInputSourceMode_None", "value":"0" }, + { "name":"k_EInputSourceMode_Dpad", "value":"1" }, + { "name":"k_EInputSourceMode_Buttons", "value":"2" }, + { "name":"k_EInputSourceMode_FourButtons", "value":"3" }, + { "name":"k_EInputSourceMode_AbsoluteMouse", "value":"4" }, + { "name":"k_EInputSourceMode_RelativeMouse", "value":"5" }, + { "name":"k_EInputSourceMode_JoystickMove", "value":"6" }, + { "name":"k_EInputSourceMode_JoystickMouse", "value":"7" }, + { "name":"k_EInputSourceMode_JoystickCamera", "value":"8" }, + { "name":"k_EInputSourceMode_ScrollWheel", "value":"9" }, + { "name":"k_EInputSourceMode_Trigger", "value":"10" }, + { "name":"k_EInputSourceMode_TouchMenu", "value":"11" }, + { "name":"k_EInputSourceMode_MouseJoystick", "value":"12" }, + { "name":"k_EInputSourceMode_MouseRegion", "value":"13" }, + { "name":"k_EInputSourceMode_RadialMenu", "value":"14" }, + { "name":"k_EInputSourceMode_SingleButton", "value":"15" }, + { "name":"k_EInputSourceMode_Switches", "value":"16" } + ] + }, + { + "enumname": "EInputActionOrigin", + "values": [ + { "name":"k_EInputActionOrigin_None", "value":"0" }, + { "name":"k_EInputActionOrigin_SteamController_A", "value":"1" }, + { "name":"k_EInputActionOrigin_SteamController_B", "value":"2" }, + { "name":"k_EInputActionOrigin_SteamController_X", "value":"3" }, + { "name":"k_EInputActionOrigin_SteamController_Y", "value":"4" }, + { "name":"k_EInputActionOrigin_SteamController_LeftBumper", "value":"5" }, + { "name":"k_EInputActionOrigin_SteamController_RightBumper", "value":"6" }, + { "name":"k_EInputActionOrigin_SteamController_LeftGrip", "value":"7" }, + { "name":"k_EInputActionOrigin_SteamController_RightGrip", "value":"8" }, + { "name":"k_EInputActionOrigin_SteamController_Start", "value":"9" }, + { "name":"k_EInputActionOrigin_SteamController_Back", "value":"10" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_Touch", "value":"11" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_Swipe", "value":"12" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_Click", "value":"13" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_DPadNorth", "value":"14" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_DPadSouth", "value":"15" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_DPadWest", "value":"16" }, + { "name":"k_EInputActionOrigin_SteamController_LeftPad_DPadEast", "value":"17" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_Touch", "value":"18" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_Swipe", "value":"19" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_Click", "value":"20" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_DPadNorth", "value":"21" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_DPadSouth", "value":"22" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_DPadWest", "value":"23" }, + { "name":"k_EInputActionOrigin_SteamController_RightPad_DPadEast", "value":"24" }, + { "name":"k_EInputActionOrigin_SteamController_LeftTrigger_Pull", "value":"25" }, + { "name":"k_EInputActionOrigin_SteamController_LeftTrigger_Click", "value":"26" }, + { "name":"k_EInputActionOrigin_SteamController_RightTrigger_Pull", "value":"27" }, + { "name":"k_EInputActionOrigin_SteamController_RightTrigger_Click", "value":"28" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_Move", "value":"29" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_Click", "value":"30" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_DPadNorth", "value":"31" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_DPadSouth", "value":"32" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_DPadWest", "value":"33" }, + { "name":"k_EInputActionOrigin_SteamController_LeftStick_DPadEast", "value":"34" }, + { "name":"k_EInputActionOrigin_SteamController_Gyro_Move", "value":"35" }, + { "name":"k_EInputActionOrigin_SteamController_Gyro_Pitch", "value":"36" }, + { "name":"k_EInputActionOrigin_SteamController_Gyro_Yaw", "value":"37" }, + { "name":"k_EInputActionOrigin_SteamController_Gyro_Roll", "value":"38" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved0", "value":"39" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved1", "value":"40" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved2", "value":"41" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved3", "value":"42" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved4", "value":"43" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved5", "value":"44" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved6", "value":"45" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved7", "value":"46" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved8", "value":"47" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved9", "value":"48" }, + { "name":"k_EInputActionOrigin_SteamController_Reserved10", "value":"49" }, + { "name":"k_EInputActionOrigin_PS4_X", "value":"50" }, + { "name":"k_EInputActionOrigin_PS4_Circle", "value":"51" }, + { "name":"k_EInputActionOrigin_PS4_Triangle", "value":"52" }, + { "name":"k_EInputActionOrigin_PS4_Square", "value":"53" }, + { "name":"k_EInputActionOrigin_PS4_LeftBumper", "value":"54" }, + { "name":"k_EInputActionOrigin_PS4_RightBumper", "value":"55" }, + { "name":"k_EInputActionOrigin_PS4_Options", "value":"56" }, + { "name":"k_EInputActionOrigin_PS4_Share", "value":"57" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_Touch", "value":"58" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_Swipe", "value":"59" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_Click", "value":"60" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_DPadNorth", "value":"61" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_DPadSouth", "value":"62" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_DPadWest", "value":"63" }, + { "name":"k_EInputActionOrigin_PS4_LeftPad_DPadEast", "value":"64" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_Touch", "value":"65" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_Swipe", "value":"66" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_Click", "value":"67" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_DPadNorth", "value":"68" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_DPadSouth", "value":"69" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_DPadWest", "value":"70" }, + { "name":"k_EInputActionOrigin_PS4_RightPad_DPadEast", "value":"71" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_Touch", "value":"72" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_Swipe", "value":"73" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_Click", "value":"74" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_DPadNorth", "value":"75" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_DPadSouth", "value":"76" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_DPadWest", "value":"77" }, + { "name":"k_EInputActionOrigin_PS4_CenterPad_DPadEast", "value":"78" }, + { "name":"k_EInputActionOrigin_PS4_LeftTrigger_Pull", "value":"79" }, + { "name":"k_EInputActionOrigin_PS4_LeftTrigger_Click", "value":"80" }, + { "name":"k_EInputActionOrigin_PS4_RightTrigger_Pull", "value":"81" }, + { "name":"k_EInputActionOrigin_PS4_RightTrigger_Click", "value":"82" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_Move", "value":"83" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_Click", "value":"84" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_DPadNorth", "value":"85" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_DPadSouth", "value":"86" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_DPadWest", "value":"87" }, + { "name":"k_EInputActionOrigin_PS4_LeftStick_DPadEast", "value":"88" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_Move", "value":"89" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_Click", "value":"90" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_DPadNorth", "value":"91" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_DPadSouth", "value":"92" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_DPadWest", "value":"93" }, + { "name":"k_EInputActionOrigin_PS4_RightStick_DPadEast", "value":"94" }, + { "name":"k_EInputActionOrigin_PS4_DPad_North", "value":"95" }, + { "name":"k_EInputActionOrigin_PS4_DPad_South", "value":"96" }, + { "name":"k_EInputActionOrigin_PS4_DPad_West", "value":"97" }, + { "name":"k_EInputActionOrigin_PS4_DPad_East", "value":"98" }, + { "name":"k_EInputActionOrigin_PS4_Gyro_Move", "value":"99" }, + { "name":"k_EInputActionOrigin_PS4_Gyro_Pitch", "value":"100" }, + { "name":"k_EInputActionOrigin_PS4_Gyro_Yaw", "value":"101" }, + { "name":"k_EInputActionOrigin_PS4_Gyro_Roll", "value":"102" }, + { "name":"k_EInputActionOrigin_PS4_DPad_Move", "value":"103" }, + { "name":"k_EInputActionOrigin_PS4_Reserved1", "value":"104" }, + { "name":"k_EInputActionOrigin_PS4_Reserved2", "value":"105" }, + { "name":"k_EInputActionOrigin_PS4_Reserved3", "value":"106" }, + { "name":"k_EInputActionOrigin_PS4_Reserved4", "value":"107" }, + { "name":"k_EInputActionOrigin_PS4_Reserved5", "value":"108" }, + { "name":"k_EInputActionOrigin_PS4_Reserved6", "value":"109" }, + { "name":"k_EInputActionOrigin_PS4_Reserved7", "value":"110" }, + { "name":"k_EInputActionOrigin_PS4_Reserved8", "value":"111" }, + { "name":"k_EInputActionOrigin_PS4_Reserved9", "value":"112" }, + { "name":"k_EInputActionOrigin_PS4_Reserved10", "value":"113" }, + { "name":"k_EInputActionOrigin_XBoxOne_A", "value":"114" }, + { "name":"k_EInputActionOrigin_XBoxOne_B", "value":"115" }, + { "name":"k_EInputActionOrigin_XBoxOne_X", "value":"116" }, + { "name":"k_EInputActionOrigin_XBoxOne_Y", "value":"117" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftBumper", "value":"118" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightBumper", "value":"119" }, + { "name":"k_EInputActionOrigin_XBoxOne_Menu", "value":"120" }, + { "name":"k_EInputActionOrigin_XBoxOne_View", "value":"121" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull", "value":"122" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftTrigger_Click", "value":"123" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightTrigger_Pull", "value":"124" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightTrigger_Click", "value":"125" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_Move", "value":"126" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_Click", "value":"127" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth", "value":"128" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth", "value":"129" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest", "value":"130" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast", "value":"131" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_Move", "value":"132" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_Click", "value":"133" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth", "value":"134" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth", "value":"135" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_DPadWest", "value":"136" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightStick_DPadEast", "value":"137" }, + { "name":"k_EInputActionOrigin_XBoxOne_DPad_North", "value":"138" }, + { "name":"k_EInputActionOrigin_XBoxOne_DPad_South", "value":"139" }, + { "name":"k_EInputActionOrigin_XBoxOne_DPad_West", "value":"140" }, + { "name":"k_EInputActionOrigin_XBoxOne_DPad_East", "value":"141" }, + { "name":"k_EInputActionOrigin_XBoxOne_DPad_Move", "value":"142" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftGrip_Lower", "value":"143" }, + { "name":"k_EInputActionOrigin_XBoxOne_LeftGrip_Upper", "value":"144" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightGrip_Lower", "value":"145" }, + { "name":"k_EInputActionOrigin_XBoxOne_RightGrip_Upper", "value":"146" }, + { "name":"k_EInputActionOrigin_XBoxOne_Share", "value":"147" }, + { "name":"k_EInputActionOrigin_XBoxOne_Reserved6", "value":"148" }, + { "name":"k_EInputActionOrigin_XBoxOne_Reserved7", "value":"149" }, + { "name":"k_EInputActionOrigin_XBoxOne_Reserved8", "value":"150" }, + { "name":"k_EInputActionOrigin_XBoxOne_Reserved9", "value":"151" }, + { "name":"k_EInputActionOrigin_XBoxOne_Reserved10", "value":"152" }, + { "name":"k_EInputActionOrigin_XBox360_A", "value":"153" }, + { "name":"k_EInputActionOrigin_XBox360_B", "value":"154" }, + { "name":"k_EInputActionOrigin_XBox360_X", "value":"155" }, + { "name":"k_EInputActionOrigin_XBox360_Y", "value":"156" }, + { "name":"k_EInputActionOrigin_XBox360_LeftBumper", "value":"157" }, + { "name":"k_EInputActionOrigin_XBox360_RightBumper", "value":"158" }, + { "name":"k_EInputActionOrigin_XBox360_Start", "value":"159" }, + { "name":"k_EInputActionOrigin_XBox360_Back", "value":"160" }, + { "name":"k_EInputActionOrigin_XBox360_LeftTrigger_Pull", "value":"161" }, + { "name":"k_EInputActionOrigin_XBox360_LeftTrigger_Click", "value":"162" }, + { "name":"k_EInputActionOrigin_XBox360_RightTrigger_Pull", "value":"163" }, + { "name":"k_EInputActionOrigin_XBox360_RightTrigger_Click", "value":"164" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_Move", "value":"165" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_Click", "value":"166" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_DPadNorth", "value":"167" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_DPadSouth", "value":"168" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_DPadWest", "value":"169" }, + { "name":"k_EInputActionOrigin_XBox360_LeftStick_DPadEast", "value":"170" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_Move", "value":"171" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_Click", "value":"172" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_DPadNorth", "value":"173" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_DPadSouth", "value":"174" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_DPadWest", "value":"175" }, + { "name":"k_EInputActionOrigin_XBox360_RightStick_DPadEast", "value":"176" }, + { "name":"k_EInputActionOrigin_XBox360_DPad_North", "value":"177" }, + { "name":"k_EInputActionOrigin_XBox360_DPad_South", "value":"178" }, + { "name":"k_EInputActionOrigin_XBox360_DPad_West", "value":"179" }, + { "name":"k_EInputActionOrigin_XBox360_DPad_East", "value":"180" }, + { "name":"k_EInputActionOrigin_XBox360_DPad_Move", "value":"181" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved1", "value":"182" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved2", "value":"183" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved3", "value":"184" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved4", "value":"185" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved5", "value":"186" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved6", "value":"187" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved7", "value":"188" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved8", "value":"189" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved9", "value":"190" }, + { "name":"k_EInputActionOrigin_XBox360_Reserved10", "value":"191" }, + { "name":"k_EInputActionOrigin_Switch_A", "value":"192" }, + { "name":"k_EInputActionOrigin_Switch_B", "value":"193" }, + { "name":"k_EInputActionOrigin_Switch_X", "value":"194" }, + { "name":"k_EInputActionOrigin_Switch_Y", "value":"195" }, + { "name":"k_EInputActionOrigin_Switch_LeftBumper", "value":"196" }, + { "name":"k_EInputActionOrigin_Switch_RightBumper", "value":"197" }, + { "name":"k_EInputActionOrigin_Switch_Plus", "value":"198" }, + { "name":"k_EInputActionOrigin_Switch_Minus", "value":"199" }, + { "name":"k_EInputActionOrigin_Switch_Capture", "value":"200" }, + { "name":"k_EInputActionOrigin_Switch_LeftTrigger_Pull", "value":"201" }, + { "name":"k_EInputActionOrigin_Switch_LeftTrigger_Click", "value":"202" }, + { "name":"k_EInputActionOrigin_Switch_RightTrigger_Pull", "value":"203" }, + { "name":"k_EInputActionOrigin_Switch_RightTrigger_Click", "value":"204" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_Move", "value":"205" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_Click", "value":"206" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_DPadNorth", "value":"207" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_DPadSouth", "value":"208" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_DPadWest", "value":"209" }, + { "name":"k_EInputActionOrigin_Switch_LeftStick_DPadEast", "value":"210" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_Move", "value":"211" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_Click", "value":"212" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_DPadNorth", "value":"213" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_DPadSouth", "value":"214" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_DPadWest", "value":"215" }, + { "name":"k_EInputActionOrigin_Switch_RightStick_DPadEast", "value":"216" }, + { "name":"k_EInputActionOrigin_Switch_DPad_North", "value":"217" }, + { "name":"k_EInputActionOrigin_Switch_DPad_South", "value":"218" }, + { "name":"k_EInputActionOrigin_Switch_DPad_West", "value":"219" }, + { "name":"k_EInputActionOrigin_Switch_DPad_East", "value":"220" }, + { "name":"k_EInputActionOrigin_Switch_ProGyro_Move", "value":"221" }, + { "name":"k_EInputActionOrigin_Switch_ProGyro_Pitch", "value":"222" }, + { "name":"k_EInputActionOrigin_Switch_ProGyro_Yaw", "value":"223" }, + { "name":"k_EInputActionOrigin_Switch_ProGyro_Roll", "value":"224" }, + { "name":"k_EInputActionOrigin_Switch_DPad_Move", "value":"225" }, + { "name":"k_EInputActionOrigin_Switch_Reserved1", "value":"226" }, + { "name":"k_EInputActionOrigin_Switch_Reserved2", "value":"227" }, + { "name":"k_EInputActionOrigin_Switch_Reserved3", "value":"228" }, + { "name":"k_EInputActionOrigin_Switch_Reserved4", "value":"229" }, + { "name":"k_EInputActionOrigin_Switch_Reserved5", "value":"230" }, + { "name":"k_EInputActionOrigin_Switch_Reserved6", "value":"231" }, + { "name":"k_EInputActionOrigin_Switch_Reserved7", "value":"232" }, + { "name":"k_EInputActionOrigin_Switch_Reserved8", "value":"233" }, + { "name":"k_EInputActionOrigin_Switch_Reserved9", "value":"234" }, + { "name":"k_EInputActionOrigin_Switch_Reserved10", "value":"235" }, + { "name":"k_EInputActionOrigin_Switch_RightGyro_Move", "value":"236" }, + { "name":"k_EInputActionOrigin_Switch_RightGyro_Pitch", "value":"237" }, + { "name":"k_EInputActionOrigin_Switch_RightGyro_Yaw", "value":"238" }, + { "name":"k_EInputActionOrigin_Switch_RightGyro_Roll", "value":"239" }, + { "name":"k_EInputActionOrigin_Switch_LeftGyro_Move", "value":"240" }, + { "name":"k_EInputActionOrigin_Switch_LeftGyro_Pitch", "value":"241" }, + { "name":"k_EInputActionOrigin_Switch_LeftGyro_Yaw", "value":"242" }, + { "name":"k_EInputActionOrigin_Switch_LeftGyro_Roll", "value":"243" }, + { "name":"k_EInputActionOrigin_Switch_LeftGrip_Lower", "value":"244" }, + { "name":"k_EInputActionOrigin_Switch_LeftGrip_Upper", "value":"245" }, + { "name":"k_EInputActionOrigin_Switch_RightGrip_Lower", "value":"246" }, + { "name":"k_EInputActionOrigin_Switch_RightGrip_Upper", "value":"247" }, + { "name":"k_EInputActionOrigin_Switch_JoyConButton_N", "value":"248" }, + { "name":"k_EInputActionOrigin_Switch_JoyConButton_E", "value":"249" }, + { "name":"k_EInputActionOrigin_Switch_JoyConButton_S", "value":"250" }, + { "name":"k_EInputActionOrigin_Switch_JoyConButton_W", "value":"251" }, + { "name":"k_EInputActionOrigin_Switch_Reserved15", "value":"252" }, + { "name":"k_EInputActionOrigin_Switch_Reserved16", "value":"253" }, + { "name":"k_EInputActionOrigin_Switch_Reserved17", "value":"254" }, + { "name":"k_EInputActionOrigin_Switch_Reserved18", "value":"255" }, + { "name":"k_EInputActionOrigin_Switch_Reserved19", "value":"256" }, + { "name":"k_EInputActionOrigin_Switch_Reserved20", "value":"257" }, + { "name":"k_EInputActionOrigin_PS5_X", "value":"258" }, + { "name":"k_EInputActionOrigin_PS5_Circle", "value":"259" }, + { "name":"k_EInputActionOrigin_PS5_Triangle", "value":"260" }, + { "name":"k_EInputActionOrigin_PS5_Square", "value":"261" }, + { "name":"k_EInputActionOrigin_PS5_LeftBumper", "value":"262" }, + { "name":"k_EInputActionOrigin_PS5_RightBumper", "value":"263" }, + { "name":"k_EInputActionOrigin_PS5_Option", "value":"264" }, + { "name":"k_EInputActionOrigin_PS5_Create", "value":"265" }, + { "name":"k_EInputActionOrigin_PS5_Mute", "value":"266" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_Touch", "value":"267" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_Swipe", "value":"268" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_Click", "value":"269" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_DPadNorth", "value":"270" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_DPadSouth", "value":"271" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_DPadWest", "value":"272" }, + { "name":"k_EInputActionOrigin_PS5_LeftPad_DPadEast", "value":"273" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_Touch", "value":"274" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_Swipe", "value":"275" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_Click", "value":"276" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_DPadNorth", "value":"277" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_DPadSouth", "value":"278" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_DPadWest", "value":"279" }, + { "name":"k_EInputActionOrigin_PS5_RightPad_DPadEast", "value":"280" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_Touch", "value":"281" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_Swipe", "value":"282" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_Click", "value":"283" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_DPadNorth", "value":"284" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_DPadSouth", "value":"285" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_DPadWest", "value":"286" }, + { "name":"k_EInputActionOrigin_PS5_CenterPad_DPadEast", "value":"287" }, + { "name":"k_EInputActionOrigin_PS5_LeftTrigger_Pull", "value":"288" }, + { "name":"k_EInputActionOrigin_PS5_LeftTrigger_Click", "value":"289" }, + { "name":"k_EInputActionOrigin_PS5_RightTrigger_Pull", "value":"290" }, + { "name":"k_EInputActionOrigin_PS5_RightTrigger_Click", "value":"291" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_Move", "value":"292" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_Click", "value":"293" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_DPadNorth", "value":"294" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_DPadSouth", "value":"295" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_DPadWest", "value":"296" }, + { "name":"k_EInputActionOrigin_PS5_LeftStick_DPadEast", "value":"297" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_Move", "value":"298" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_Click", "value":"299" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_DPadNorth", "value":"300" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_DPadSouth", "value":"301" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_DPadWest", "value":"302" }, + { "name":"k_EInputActionOrigin_PS5_RightStick_DPadEast", "value":"303" }, + { "name":"k_EInputActionOrigin_PS5_DPad_North", "value":"304" }, + { "name":"k_EInputActionOrigin_PS5_DPad_South", "value":"305" }, + { "name":"k_EInputActionOrigin_PS5_DPad_West", "value":"306" }, + { "name":"k_EInputActionOrigin_PS5_DPad_East", "value":"307" }, + { "name":"k_EInputActionOrigin_PS5_Gyro_Move", "value":"308" }, + { "name":"k_EInputActionOrigin_PS5_Gyro_Pitch", "value":"309" }, + { "name":"k_EInputActionOrigin_PS5_Gyro_Yaw", "value":"310" }, + { "name":"k_EInputActionOrigin_PS5_Gyro_Roll", "value":"311" }, + { "name":"k_EInputActionOrigin_PS5_DPad_Move", "value":"312" }, + { "name":"k_EInputActionOrigin_PS5_LeftGrip", "value":"313" }, + { "name":"k_EInputActionOrigin_PS5_RightGrip", "value":"314" }, + { "name":"k_EInputActionOrigin_PS5_LeftFn", "value":"315" }, + { "name":"k_EInputActionOrigin_PS5_RightFn", "value":"316" }, + { "name":"k_EInputActionOrigin_PS5_Reserved5", "value":"317" }, + { "name":"k_EInputActionOrigin_PS5_Reserved6", "value":"318" }, + { "name":"k_EInputActionOrigin_PS5_Reserved7", "value":"319" }, + { "name":"k_EInputActionOrigin_PS5_Reserved8", "value":"320" }, + { "name":"k_EInputActionOrigin_PS5_Reserved9", "value":"321" }, + { "name":"k_EInputActionOrigin_PS5_Reserved10", "value":"322" }, + { "name":"k_EInputActionOrigin_PS5_Reserved11", "value":"323" }, + { "name":"k_EInputActionOrigin_PS5_Reserved12", "value":"324" }, + { "name":"k_EInputActionOrigin_PS5_Reserved13", "value":"325" }, + { "name":"k_EInputActionOrigin_PS5_Reserved14", "value":"326" }, + { "name":"k_EInputActionOrigin_PS5_Reserved15", "value":"327" }, + { "name":"k_EInputActionOrigin_PS5_Reserved16", "value":"328" }, + { "name":"k_EInputActionOrigin_PS5_Reserved17", "value":"329" }, + { "name":"k_EInputActionOrigin_PS5_Reserved18", "value":"330" }, + { "name":"k_EInputActionOrigin_PS5_Reserved19", "value":"331" }, + { "name":"k_EInputActionOrigin_PS5_Reserved20", "value":"332" }, + { "name":"k_EInputActionOrigin_SteamDeck_A", "value":"333" }, + { "name":"k_EInputActionOrigin_SteamDeck_B", "value":"334" }, + { "name":"k_EInputActionOrigin_SteamDeck_X", "value":"335" }, + { "name":"k_EInputActionOrigin_SteamDeck_Y", "value":"336" }, + { "name":"k_EInputActionOrigin_SteamDeck_L1", "value":"337" }, + { "name":"k_EInputActionOrigin_SteamDeck_R1", "value":"338" }, + { "name":"k_EInputActionOrigin_SteamDeck_Menu", "value":"339" }, + { "name":"k_EInputActionOrigin_SteamDeck_View", "value":"340" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_Touch", "value":"341" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_Swipe", "value":"342" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_Click", "value":"343" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_DPadNorth", "value":"344" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_DPadSouth", "value":"345" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_DPadWest", "value":"346" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftPad_DPadEast", "value":"347" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_Touch", "value":"348" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_Swipe", "value":"349" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_Click", "value":"350" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_DPadNorth", "value":"351" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_DPadSouth", "value":"352" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_DPadWest", "value":"353" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightPad_DPadEast", "value":"354" }, + { "name":"k_EInputActionOrigin_SteamDeck_L2_SoftPull", "value":"355" }, + { "name":"k_EInputActionOrigin_SteamDeck_L2", "value":"356" }, + { "name":"k_EInputActionOrigin_SteamDeck_R2_SoftPull", "value":"357" }, + { "name":"k_EInputActionOrigin_SteamDeck_R2", "value":"358" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_Move", "value":"359" }, + { "name":"k_EInputActionOrigin_SteamDeck_L3", "value":"360" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_DPadNorth", "value":"361" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_DPadSouth", "value":"362" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_DPadWest", "value":"363" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_DPadEast", "value":"364" }, + { "name":"k_EInputActionOrigin_SteamDeck_LeftStick_Touch", "value":"365" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_Move", "value":"366" }, + { "name":"k_EInputActionOrigin_SteamDeck_R3", "value":"367" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_DPadNorth", "value":"368" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_DPadSouth", "value":"369" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_DPadWest", "value":"370" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_DPadEast", "value":"371" }, + { "name":"k_EInputActionOrigin_SteamDeck_RightStick_Touch", "value":"372" }, + { "name":"k_EInputActionOrigin_SteamDeck_L4", "value":"373" }, + { "name":"k_EInputActionOrigin_SteamDeck_R4", "value":"374" }, + { "name":"k_EInputActionOrigin_SteamDeck_L5", "value":"375" }, + { "name":"k_EInputActionOrigin_SteamDeck_R5", "value":"376" }, + { "name":"k_EInputActionOrigin_SteamDeck_DPad_Move", "value":"377" }, + { "name":"k_EInputActionOrigin_SteamDeck_DPad_North", "value":"378" }, + { "name":"k_EInputActionOrigin_SteamDeck_DPad_South", "value":"379" }, + { "name":"k_EInputActionOrigin_SteamDeck_DPad_West", "value":"380" }, + { "name":"k_EInputActionOrigin_SteamDeck_DPad_East", "value":"381" }, + { "name":"k_EInputActionOrigin_SteamDeck_Gyro_Move", "value":"382" }, + { "name":"k_EInputActionOrigin_SteamDeck_Gyro_Pitch", "value":"383" }, + { "name":"k_EInputActionOrigin_SteamDeck_Gyro_Yaw", "value":"384" }, + { "name":"k_EInputActionOrigin_SteamDeck_Gyro_Roll", "value":"385" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved1", "value":"386" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved2", "value":"387" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved3", "value":"388" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved4", "value":"389" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved5", "value":"390" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved6", "value":"391" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved7", "value":"392" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved8", "value":"393" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved9", "value":"394" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved10", "value":"395" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved11", "value":"396" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved12", "value":"397" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved13", "value":"398" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved14", "value":"399" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved15", "value":"400" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved16", "value":"401" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved17", "value":"402" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved18", "value":"403" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved19", "value":"404" }, + { "name":"k_EInputActionOrigin_SteamDeck_Reserved20", "value":"405" }, + { "name":"k_EInputActionOrigin_Horipad_M1", "value":"406" }, + { "name":"k_EInputActionOrigin_Horipad_M2", "value":"407" }, + { "name":"k_EInputActionOrigin_Horipad_L4", "value":"408" }, + { "name":"k_EInputActionOrigin_Horipad_R4", "value":"409" }, + { "name":"k_EInputActionOrigin_Count", "value":"410" }, + { "name":"k_EInputActionOrigin_MaximumPossibleValue", "value":"32767" } + ] + }, + { + "enumname": "EXboxOrigin", + "values": [ + { "name":"k_EXboxOrigin_A", "value":"0" }, + { "name":"k_EXboxOrigin_B", "value":"1" }, + { "name":"k_EXboxOrigin_X", "value":"2" }, + { "name":"k_EXboxOrigin_Y", "value":"3" }, + { "name":"k_EXboxOrigin_LeftBumper", "value":"4" }, + { "name":"k_EXboxOrigin_RightBumper", "value":"5" }, + { "name":"k_EXboxOrigin_Menu", "value":"6" }, + { "name":"k_EXboxOrigin_View", "value":"7" }, + { "name":"k_EXboxOrigin_LeftTrigger_Pull", "value":"8" }, + { "name":"k_EXboxOrigin_LeftTrigger_Click", "value":"9" }, + { "name":"k_EXboxOrigin_RightTrigger_Pull", "value":"10" }, + { "name":"k_EXboxOrigin_RightTrigger_Click", "value":"11" }, + { "name":"k_EXboxOrigin_LeftStick_Move", "value":"12" }, + { "name":"k_EXboxOrigin_LeftStick_Click", "value":"13" }, + { "name":"k_EXboxOrigin_LeftStick_DPadNorth", "value":"14" }, + { "name":"k_EXboxOrigin_LeftStick_DPadSouth", "value":"15" }, + { "name":"k_EXboxOrigin_LeftStick_DPadWest", "value":"16" }, + { "name":"k_EXboxOrigin_LeftStick_DPadEast", "value":"17" }, + { "name":"k_EXboxOrigin_RightStick_Move", "value":"18" }, + { "name":"k_EXboxOrigin_RightStick_Click", "value":"19" }, + { "name":"k_EXboxOrigin_RightStick_DPadNorth", "value":"20" }, + { "name":"k_EXboxOrigin_RightStick_DPadSouth", "value":"21" }, + { "name":"k_EXboxOrigin_RightStick_DPadWest", "value":"22" }, + { "name":"k_EXboxOrigin_RightStick_DPadEast", "value":"23" }, + { "name":"k_EXboxOrigin_DPad_North", "value":"24" }, + { "name":"k_EXboxOrigin_DPad_South", "value":"25" }, + { "name":"k_EXboxOrigin_DPad_West", "value":"26" }, + { "name":"k_EXboxOrigin_DPad_East", "value":"27" }, + { "name":"k_EXboxOrigin_Count", "value":"28" } + ] + }, + { + "enumname": "ESteamControllerPad", + "values": [ + { "name":"k_ESteamControllerPad_Left", "value":"0" }, + { "name":"k_ESteamControllerPad_Right", "value":"1" } + ] + }, + { + "enumname": "EControllerHapticLocation", + "values": [ + { "name":"k_EControllerHapticLocation_Left", "value":"1" }, + { "name":"k_EControllerHapticLocation_Right", "value":"2" }, + { "name":"k_EControllerHapticLocation_Both", "value":"3" } + ] + }, + { + "enumname": "EControllerHapticType", + "values": [ + { "name":"k_EControllerHapticType_Off", "value":"0" }, + { "name":"k_EControllerHapticType_Tick", "value":"1" }, + { "name":"k_EControllerHapticType_Click", "value":"2" } + ] + }, + { + "enumname": "ESteamInputType", + "values": [ + { "name":"k_ESteamInputType_Unknown", "value":"0" }, + { "name":"k_ESteamInputType_SteamController", "value":"1" }, + { "name":"k_ESteamInputType_XBox360Controller", "value":"2" }, + { "name":"k_ESteamInputType_XBoxOneController", "value":"3" }, + { "name":"k_ESteamInputType_GenericGamepad", "value":"4" }, + { "name":"k_ESteamInputType_PS4Controller", "value":"5" }, + { "name":"k_ESteamInputType_AppleMFiController", "value":"6" }, + { "name":"k_ESteamInputType_AndroidController", "value":"7" }, + { "name":"k_ESteamInputType_SwitchJoyConPair", "value":"8" }, + { "name":"k_ESteamInputType_SwitchJoyConSingle", "value":"9" }, + { "name":"k_ESteamInputType_SwitchProController", "value":"10" }, + { "name":"k_ESteamInputType_MobileTouch", "value":"11" }, + { "name":"k_ESteamInputType_PS3Controller", "value":"12" }, + { "name":"k_ESteamInputType_PS5Controller", "value":"13" }, + { "name":"k_ESteamInputType_SteamDeckController", "value":"14" }, + { "name":"k_ESteamInputType_Count", "value":"15" }, + { "name":"k_ESteamInputType_MaximumPossibleValue", "value":"255" } + ] + }, + { + "enumname": "ESteamInputConfigurationEnableType", + "values": [ + { "name":"k_ESteamInputConfigurationEnableType_None", "value":"0" }, + { "name":"k_ESteamInputConfigurationEnableType_Playstation", "value":"1" }, + { "name":"k_ESteamInputConfigurationEnableType_Xbox", "value":"2" }, + { "name":"k_ESteamInputConfigurationEnableType_Generic", "value":"4" }, + { "name":"k_ESteamInputConfigurationEnableType_Switch", "value":"8" } + ] + }, + { + "enumname": "ESteamInputLEDFlag", + "values": [ + { "name":"k_ESteamInputLEDFlag_SetColor", "value":"0" }, + { "name":"k_ESteamInputLEDFlag_RestoreUserDefault", "value":"1" } + ] + }, + { + "enumname": "ESteamInputGlyphSize", + "values": [ + { "name":"k_ESteamInputGlyphSize_Small", "value":"0" }, + { "name":"k_ESteamInputGlyphSize_Medium", "value":"1" }, + { "name":"k_ESteamInputGlyphSize_Large", "value":"2" }, + { "name":"k_ESteamInputGlyphSize_Count", "value":"3" } + ] + }, + { + "enumname": "ESteamInputGlyphStyle", + "values": [ + { "name":"ESteamInputGlyphStyle_Knockout", "value":"0" }, + { "name":"ESteamInputGlyphStyle_Light", "value":"1" }, + { "name":"ESteamInputGlyphStyle_Dark", "value":"2" }, + { "name":"ESteamInputGlyphStyle_NeutralColorABXY", "value":"16" }, + { "name":"ESteamInputGlyphStyle_SolidABXY", "value":"32" } + ] + }, + { + "enumname": "ESteamInputActionEventType", + "values": [ + { "name":"ESteamInputActionEventType_DigitalAction", "value":"0" }, + { "name":"ESteamInputActionEventType_AnalogAction", "value":"1" } + ] + }, + { + "enumname": "EControllerActionOrigin", + "values": [ + { "name":"k_EControllerActionOrigin_None", "value":"0" }, + { "name":"k_EControllerActionOrigin_A", "value":"1" }, + { "name":"k_EControllerActionOrigin_B", "value":"2" }, + { "name":"k_EControllerActionOrigin_X", "value":"3" }, + { "name":"k_EControllerActionOrigin_Y", "value":"4" }, + { "name":"k_EControllerActionOrigin_LeftBumper", "value":"5" }, + { "name":"k_EControllerActionOrigin_RightBumper", "value":"6" }, + { "name":"k_EControllerActionOrigin_LeftGrip", "value":"7" }, + { "name":"k_EControllerActionOrigin_RightGrip", "value":"8" }, + { "name":"k_EControllerActionOrigin_Start", "value":"9" }, + { "name":"k_EControllerActionOrigin_Back", "value":"10" }, + { "name":"k_EControllerActionOrigin_LeftPad_Touch", "value":"11" }, + { "name":"k_EControllerActionOrigin_LeftPad_Swipe", "value":"12" }, + { "name":"k_EControllerActionOrigin_LeftPad_Click", "value":"13" }, + { "name":"k_EControllerActionOrigin_LeftPad_DPadNorth", "value":"14" }, + { "name":"k_EControllerActionOrigin_LeftPad_DPadSouth", "value":"15" }, + { "name":"k_EControllerActionOrigin_LeftPad_DPadWest", "value":"16" }, + { "name":"k_EControllerActionOrigin_LeftPad_DPadEast", "value":"17" }, + { "name":"k_EControllerActionOrigin_RightPad_Touch", "value":"18" }, + { "name":"k_EControllerActionOrigin_RightPad_Swipe", "value":"19" }, + { "name":"k_EControllerActionOrigin_RightPad_Click", "value":"20" }, + { "name":"k_EControllerActionOrigin_RightPad_DPadNorth", "value":"21" }, + { "name":"k_EControllerActionOrigin_RightPad_DPadSouth", "value":"22" }, + { "name":"k_EControllerActionOrigin_RightPad_DPadWest", "value":"23" }, + { "name":"k_EControllerActionOrigin_RightPad_DPadEast", "value":"24" }, + { "name":"k_EControllerActionOrigin_LeftTrigger_Pull", "value":"25" }, + { "name":"k_EControllerActionOrigin_LeftTrigger_Click", "value":"26" }, + { "name":"k_EControllerActionOrigin_RightTrigger_Pull", "value":"27" }, + { "name":"k_EControllerActionOrigin_RightTrigger_Click", "value":"28" }, + { "name":"k_EControllerActionOrigin_LeftStick_Move", "value":"29" }, + { "name":"k_EControllerActionOrigin_LeftStick_Click", "value":"30" }, + { "name":"k_EControllerActionOrigin_LeftStick_DPadNorth", "value":"31" }, + { "name":"k_EControllerActionOrigin_LeftStick_DPadSouth", "value":"32" }, + { "name":"k_EControllerActionOrigin_LeftStick_DPadWest", "value":"33" }, + { "name":"k_EControllerActionOrigin_LeftStick_DPadEast", "value":"34" }, + { "name":"k_EControllerActionOrigin_Gyro_Move", "value":"35" }, + { "name":"k_EControllerActionOrigin_Gyro_Pitch", "value":"36" }, + { "name":"k_EControllerActionOrigin_Gyro_Yaw", "value":"37" }, + { "name":"k_EControllerActionOrigin_Gyro_Roll", "value":"38" }, + { "name":"k_EControllerActionOrigin_PS4_X", "value":"39" }, + { "name":"k_EControllerActionOrigin_PS4_Circle", "value":"40" }, + { "name":"k_EControllerActionOrigin_PS4_Triangle", "value":"41" }, + { "name":"k_EControllerActionOrigin_PS4_Square", "value":"42" }, + { "name":"k_EControllerActionOrigin_PS4_LeftBumper", "value":"43" }, + { "name":"k_EControllerActionOrigin_PS4_RightBumper", "value":"44" }, + { "name":"k_EControllerActionOrigin_PS4_Options", "value":"45" }, + { "name":"k_EControllerActionOrigin_PS4_Share", "value":"46" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_Touch", "value":"47" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_Swipe", "value":"48" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_Click", "value":"49" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_DPadNorth", "value":"50" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_DPadSouth", "value":"51" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_DPadWest", "value":"52" }, + { "name":"k_EControllerActionOrigin_PS4_LeftPad_DPadEast", "value":"53" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_Touch", "value":"54" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_Swipe", "value":"55" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_Click", "value":"56" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_DPadNorth", "value":"57" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_DPadSouth", "value":"58" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_DPadWest", "value":"59" }, + { "name":"k_EControllerActionOrigin_PS4_RightPad_DPadEast", "value":"60" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_Touch", "value":"61" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_Swipe", "value":"62" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_Click", "value":"63" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_DPadNorth", "value":"64" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_DPadSouth", "value":"65" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_DPadWest", "value":"66" }, + { "name":"k_EControllerActionOrigin_PS4_CenterPad_DPadEast", "value":"67" }, + { "name":"k_EControllerActionOrigin_PS4_LeftTrigger_Pull", "value":"68" }, + { "name":"k_EControllerActionOrigin_PS4_LeftTrigger_Click", "value":"69" }, + { "name":"k_EControllerActionOrigin_PS4_RightTrigger_Pull", "value":"70" }, + { "name":"k_EControllerActionOrigin_PS4_RightTrigger_Click", "value":"71" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_Move", "value":"72" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_Click", "value":"73" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_DPadNorth", "value":"74" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_DPadSouth", "value":"75" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_DPadWest", "value":"76" }, + { "name":"k_EControllerActionOrigin_PS4_LeftStick_DPadEast", "value":"77" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_Move", "value":"78" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_Click", "value":"79" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_DPadNorth", "value":"80" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_DPadSouth", "value":"81" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_DPadWest", "value":"82" }, + { "name":"k_EControllerActionOrigin_PS4_RightStick_DPadEast", "value":"83" }, + { "name":"k_EControllerActionOrigin_PS4_DPad_North", "value":"84" }, + { "name":"k_EControllerActionOrigin_PS4_DPad_South", "value":"85" }, + { "name":"k_EControllerActionOrigin_PS4_DPad_West", "value":"86" }, + { "name":"k_EControllerActionOrigin_PS4_DPad_East", "value":"87" }, + { "name":"k_EControllerActionOrigin_PS4_Gyro_Move", "value":"88" }, + { "name":"k_EControllerActionOrigin_PS4_Gyro_Pitch", "value":"89" }, + { "name":"k_EControllerActionOrigin_PS4_Gyro_Yaw", "value":"90" }, + { "name":"k_EControllerActionOrigin_PS4_Gyro_Roll", "value":"91" }, + { "name":"k_EControllerActionOrigin_XBoxOne_A", "value":"92" }, + { "name":"k_EControllerActionOrigin_XBoxOne_B", "value":"93" }, + { "name":"k_EControllerActionOrigin_XBoxOne_X", "value":"94" }, + { "name":"k_EControllerActionOrigin_XBoxOne_Y", "value":"95" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftBumper", "value":"96" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightBumper", "value":"97" }, + { "name":"k_EControllerActionOrigin_XBoxOne_Menu", "value":"98" }, + { "name":"k_EControllerActionOrigin_XBoxOne_View", "value":"99" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull", "value":"100" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click", "value":"101" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull", "value":"102" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightTrigger_Click", "value":"103" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_Move", "value":"104" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_Click", "value":"105" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth", "value":"106" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth", "value":"107" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest", "value":"108" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast", "value":"109" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_Move", "value":"110" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_Click", "value":"111" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth", "value":"112" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth", "value":"113" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest", "value":"114" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast", "value":"115" }, + { "name":"k_EControllerActionOrigin_XBoxOne_DPad_North", "value":"116" }, + { "name":"k_EControllerActionOrigin_XBoxOne_DPad_South", "value":"117" }, + { "name":"k_EControllerActionOrigin_XBoxOne_DPad_West", "value":"118" }, + { "name":"k_EControllerActionOrigin_XBoxOne_DPad_East", "value":"119" }, + { "name":"k_EControllerActionOrigin_XBox360_A", "value":"120" }, + { "name":"k_EControllerActionOrigin_XBox360_B", "value":"121" }, + { "name":"k_EControllerActionOrigin_XBox360_X", "value":"122" }, + { "name":"k_EControllerActionOrigin_XBox360_Y", "value":"123" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftBumper", "value":"124" }, + { "name":"k_EControllerActionOrigin_XBox360_RightBumper", "value":"125" }, + { "name":"k_EControllerActionOrigin_XBox360_Start", "value":"126" }, + { "name":"k_EControllerActionOrigin_XBox360_Back", "value":"127" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftTrigger_Pull", "value":"128" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftTrigger_Click", "value":"129" }, + { "name":"k_EControllerActionOrigin_XBox360_RightTrigger_Pull", "value":"130" }, + { "name":"k_EControllerActionOrigin_XBox360_RightTrigger_Click", "value":"131" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_Move", "value":"132" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_Click", "value":"133" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth", "value":"134" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth", "value":"135" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_DPadWest", "value":"136" }, + { "name":"k_EControllerActionOrigin_XBox360_LeftStick_DPadEast", "value":"137" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_Move", "value":"138" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_Click", "value":"139" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_DPadNorth", "value":"140" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_DPadSouth", "value":"141" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_DPadWest", "value":"142" }, + { "name":"k_EControllerActionOrigin_XBox360_RightStick_DPadEast", "value":"143" }, + { "name":"k_EControllerActionOrigin_XBox360_DPad_North", "value":"144" }, + { "name":"k_EControllerActionOrigin_XBox360_DPad_South", "value":"145" }, + { "name":"k_EControllerActionOrigin_XBox360_DPad_West", "value":"146" }, + { "name":"k_EControllerActionOrigin_XBox360_DPad_East", "value":"147" }, + { "name":"k_EControllerActionOrigin_SteamV2_A", "value":"148" }, + { "name":"k_EControllerActionOrigin_SteamV2_B", "value":"149" }, + { "name":"k_EControllerActionOrigin_SteamV2_X", "value":"150" }, + { "name":"k_EControllerActionOrigin_SteamV2_Y", "value":"151" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftBumper", "value":"152" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightBumper", "value":"153" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftGrip_Lower", "value":"154" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftGrip_Upper", "value":"155" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightGrip_Lower", "value":"156" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightGrip_Upper", "value":"157" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure", "value":"158" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightBumper_Pressure", "value":"159" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure", "value":"160" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightGrip_Pressure", "value":"161" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure", "value":"162" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure", "value":"163" }, + { "name":"k_EControllerActionOrigin_SteamV2_Start", "value":"164" }, + { "name":"k_EControllerActionOrigin_SteamV2_Back", "value":"165" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_Touch", "value":"166" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_Swipe", "value":"167" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_Click", "value":"168" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_Pressure", "value":"169" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth", "value":"170" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth", "value":"171" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest", "value":"172" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast", "value":"173" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_Touch", "value":"174" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_Swipe", "value":"175" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_Click", "value":"176" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_Pressure", "value":"177" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth", "value":"178" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth", "value":"179" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_DPadWest", "value":"180" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightPad_DPadEast", "value":"181" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull", "value":"182" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftTrigger_Click", "value":"183" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightTrigger_Pull", "value":"184" }, + { "name":"k_EControllerActionOrigin_SteamV2_RightTrigger_Click", "value":"185" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_Move", "value":"186" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_Click", "value":"187" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth", "value":"188" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth", "value":"189" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest", "value":"190" }, + { "name":"k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast", "value":"191" }, + { "name":"k_EControllerActionOrigin_SteamV2_Gyro_Move", "value":"192" }, + { "name":"k_EControllerActionOrigin_SteamV2_Gyro_Pitch", "value":"193" }, + { "name":"k_EControllerActionOrigin_SteamV2_Gyro_Yaw", "value":"194" }, + { "name":"k_EControllerActionOrigin_SteamV2_Gyro_Roll", "value":"195" }, + { "name":"k_EControllerActionOrigin_Switch_A", "value":"196" }, + { "name":"k_EControllerActionOrigin_Switch_B", "value":"197" }, + { "name":"k_EControllerActionOrigin_Switch_X", "value":"198" }, + { "name":"k_EControllerActionOrigin_Switch_Y", "value":"199" }, + { "name":"k_EControllerActionOrigin_Switch_LeftBumper", "value":"200" }, + { "name":"k_EControllerActionOrigin_Switch_RightBumper", "value":"201" }, + { "name":"k_EControllerActionOrigin_Switch_Plus", "value":"202" }, + { "name":"k_EControllerActionOrigin_Switch_Minus", "value":"203" }, + { "name":"k_EControllerActionOrigin_Switch_Capture", "value":"204" }, + { "name":"k_EControllerActionOrigin_Switch_LeftTrigger_Pull", "value":"205" }, + { "name":"k_EControllerActionOrigin_Switch_LeftTrigger_Click", "value":"206" }, + { "name":"k_EControllerActionOrigin_Switch_RightTrigger_Pull", "value":"207" }, + { "name":"k_EControllerActionOrigin_Switch_RightTrigger_Click", "value":"208" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_Move", "value":"209" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_Click", "value":"210" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_DPadNorth", "value":"211" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_DPadSouth", "value":"212" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_DPadWest", "value":"213" }, + { "name":"k_EControllerActionOrigin_Switch_LeftStick_DPadEast", "value":"214" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_Move", "value":"215" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_Click", "value":"216" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_DPadNorth", "value":"217" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_DPadSouth", "value":"218" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_DPadWest", "value":"219" }, + { "name":"k_EControllerActionOrigin_Switch_RightStick_DPadEast", "value":"220" }, + { "name":"k_EControllerActionOrigin_Switch_DPad_North", "value":"221" }, + { "name":"k_EControllerActionOrigin_Switch_DPad_South", "value":"222" }, + { "name":"k_EControllerActionOrigin_Switch_DPad_West", "value":"223" }, + { "name":"k_EControllerActionOrigin_Switch_DPad_East", "value":"224" }, + { "name":"k_EControllerActionOrigin_Switch_ProGyro_Move", "value":"225" }, + { "name":"k_EControllerActionOrigin_Switch_ProGyro_Pitch", "value":"226" }, + { "name":"k_EControllerActionOrigin_Switch_ProGyro_Yaw", "value":"227" }, + { "name":"k_EControllerActionOrigin_Switch_ProGyro_Roll", "value":"228" }, + { "name":"k_EControllerActionOrigin_Switch_RightGyro_Move", "value":"229" }, + { "name":"k_EControllerActionOrigin_Switch_RightGyro_Pitch", "value":"230" }, + { "name":"k_EControllerActionOrigin_Switch_RightGyro_Yaw", "value":"231" }, + { "name":"k_EControllerActionOrigin_Switch_RightGyro_Roll", "value":"232" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGyro_Move", "value":"233" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGyro_Pitch", "value":"234" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGyro_Yaw", "value":"235" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGyro_Roll", "value":"236" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGrip_Lower", "value":"237" }, + { "name":"k_EControllerActionOrigin_Switch_LeftGrip_Upper", "value":"238" }, + { "name":"k_EControllerActionOrigin_Switch_RightGrip_Lower", "value":"239" }, + { "name":"k_EControllerActionOrigin_Switch_RightGrip_Upper", "value":"240" }, + { "name":"k_EControllerActionOrigin_PS4_DPad_Move", "value":"241" }, + { "name":"k_EControllerActionOrigin_XBoxOne_DPad_Move", "value":"242" }, + { "name":"k_EControllerActionOrigin_XBox360_DPad_Move", "value":"243" }, + { "name":"k_EControllerActionOrigin_Switch_DPad_Move", "value":"244" }, + { "name":"k_EControllerActionOrigin_PS5_X", "value":"245" }, + { "name":"k_EControllerActionOrigin_PS5_Circle", "value":"246" }, + { "name":"k_EControllerActionOrigin_PS5_Triangle", "value":"247" }, + { "name":"k_EControllerActionOrigin_PS5_Square", "value":"248" }, + { "name":"k_EControllerActionOrigin_PS5_LeftBumper", "value":"249" }, + { "name":"k_EControllerActionOrigin_PS5_RightBumper", "value":"250" }, + { "name":"k_EControllerActionOrigin_PS5_Option", "value":"251" }, + { "name":"k_EControllerActionOrigin_PS5_Create", "value":"252" }, + { "name":"k_EControllerActionOrigin_PS5_Mute", "value":"253" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_Touch", "value":"254" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_Swipe", "value":"255" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_Click", "value":"256" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_DPadNorth", "value":"257" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_DPadSouth", "value":"258" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_DPadWest", "value":"259" }, + { "name":"k_EControllerActionOrigin_PS5_LeftPad_DPadEast", "value":"260" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_Touch", "value":"261" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_Swipe", "value":"262" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_Click", "value":"263" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_DPadNorth", "value":"264" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_DPadSouth", "value":"265" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_DPadWest", "value":"266" }, + { "name":"k_EControllerActionOrigin_PS5_RightPad_DPadEast", "value":"267" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_Touch", "value":"268" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_Swipe", "value":"269" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_Click", "value":"270" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_DPadNorth", "value":"271" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_DPadSouth", "value":"272" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_DPadWest", "value":"273" }, + { "name":"k_EControllerActionOrigin_PS5_CenterPad_DPadEast", "value":"274" }, + { "name":"k_EControllerActionOrigin_PS5_LeftTrigger_Pull", "value":"275" }, + { "name":"k_EControllerActionOrigin_PS5_LeftTrigger_Click", "value":"276" }, + { "name":"k_EControllerActionOrigin_PS5_RightTrigger_Pull", "value":"277" }, + { "name":"k_EControllerActionOrigin_PS5_RightTrigger_Click", "value":"278" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_Move", "value":"279" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_Click", "value":"280" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_DPadNorth", "value":"281" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_DPadSouth", "value":"282" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_DPadWest", "value":"283" }, + { "name":"k_EControllerActionOrigin_PS5_LeftStick_DPadEast", "value":"284" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_Move", "value":"285" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_Click", "value":"286" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_DPadNorth", "value":"287" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_DPadSouth", "value":"288" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_DPadWest", "value":"289" }, + { "name":"k_EControllerActionOrigin_PS5_RightStick_DPadEast", "value":"290" }, + { "name":"k_EControllerActionOrigin_PS5_DPad_Move", "value":"291" }, + { "name":"k_EControllerActionOrigin_PS5_DPad_North", "value":"292" }, + { "name":"k_EControllerActionOrigin_PS5_DPad_South", "value":"293" }, + { "name":"k_EControllerActionOrigin_PS5_DPad_West", "value":"294" }, + { "name":"k_EControllerActionOrigin_PS5_DPad_East", "value":"295" }, + { "name":"k_EControllerActionOrigin_PS5_Gyro_Move", "value":"296" }, + { "name":"k_EControllerActionOrigin_PS5_Gyro_Pitch", "value":"297" }, + { "name":"k_EControllerActionOrigin_PS5_Gyro_Yaw", "value":"298" }, + { "name":"k_EControllerActionOrigin_PS5_Gyro_Roll", "value":"299" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftGrip_Lower", "value":"300" }, + { "name":"k_EControllerActionOrigin_XBoxOne_LeftGrip_Upper", "value":"301" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightGrip_Lower", "value":"302" }, + { "name":"k_EControllerActionOrigin_XBoxOne_RightGrip_Upper", "value":"303" }, + { "name":"k_EControllerActionOrigin_XBoxOne_Share", "value":"304" }, + { "name":"k_EControllerActionOrigin_SteamDeck_A", "value":"305" }, + { "name":"k_EControllerActionOrigin_SteamDeck_B", "value":"306" }, + { "name":"k_EControllerActionOrigin_SteamDeck_X", "value":"307" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Y", "value":"308" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L1", "value":"309" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R1", "value":"310" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Menu", "value":"311" }, + { "name":"k_EControllerActionOrigin_SteamDeck_View", "value":"312" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_Touch", "value":"313" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_Swipe", "value":"314" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_Click", "value":"315" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_DPadNorth", "value":"316" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_DPadSouth", "value":"317" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_DPadWest", "value":"318" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftPad_DPadEast", "value":"319" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_Touch", "value":"320" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_Swipe", "value":"321" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_Click", "value":"322" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_DPadNorth", "value":"323" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_DPadSouth", "value":"324" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_DPadWest", "value":"325" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightPad_DPadEast", "value":"326" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L2_SoftPull", "value":"327" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L2", "value":"328" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R2_SoftPull", "value":"329" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R2", "value":"330" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_Move", "value":"331" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L3", "value":"332" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_DPadNorth", "value":"333" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_DPadSouth", "value":"334" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_DPadWest", "value":"335" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_DPadEast", "value":"336" }, + { "name":"k_EControllerActionOrigin_SteamDeck_LeftStick_Touch", "value":"337" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_Move", "value":"338" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R3", "value":"339" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_DPadNorth", "value":"340" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_DPadSouth", "value":"341" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_DPadWest", "value":"342" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_DPadEast", "value":"343" }, + { "name":"k_EControllerActionOrigin_SteamDeck_RightStick_Touch", "value":"344" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L4", "value":"345" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R4", "value":"346" }, + { "name":"k_EControllerActionOrigin_SteamDeck_L5", "value":"347" }, + { "name":"k_EControllerActionOrigin_SteamDeck_R5", "value":"348" }, + { "name":"k_EControllerActionOrigin_SteamDeck_DPad_Move", "value":"349" }, + { "name":"k_EControllerActionOrigin_SteamDeck_DPad_North", "value":"350" }, + { "name":"k_EControllerActionOrigin_SteamDeck_DPad_South", "value":"351" }, + { "name":"k_EControllerActionOrigin_SteamDeck_DPad_West", "value":"352" }, + { "name":"k_EControllerActionOrigin_SteamDeck_DPad_East", "value":"353" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Gyro_Move", "value":"354" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Gyro_Pitch", "value":"355" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Gyro_Yaw", "value":"356" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Gyro_Roll", "value":"357" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved1", "value":"358" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved2", "value":"359" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved3", "value":"360" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved4", "value":"361" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved5", "value":"362" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved6", "value":"363" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved7", "value":"364" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved8", "value":"365" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved9", "value":"366" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved10", "value":"367" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved11", "value":"368" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved12", "value":"369" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved13", "value":"370" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved14", "value":"371" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved15", "value":"372" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved16", "value":"373" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved17", "value":"374" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved18", "value":"375" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved19", "value":"376" }, + { "name":"k_EControllerActionOrigin_SteamDeck_Reserved20", "value":"377" }, + { "name":"k_EControllerActionOrigin_Switch_JoyConButton_N", "value":"378" }, + { "name":"k_EControllerActionOrigin_Switch_JoyConButton_E", "value":"379" }, + { "name":"k_EControllerActionOrigin_Switch_JoyConButton_S", "value":"380" }, + { "name":"k_EControllerActionOrigin_Switch_JoyConButton_W", "value":"381" }, + { "name":"k_EControllerActionOrigin_PS5_LeftGrip", "value":"382" }, + { "name":"k_EControllerActionOrigin_PS5_RightGrip", "value":"383" }, + { "name":"k_EControllerActionOrigin_PS5_LeftFn", "value":"384" }, + { "name":"k_EControllerActionOrigin_PS5_RightFn", "value":"385" }, + { "name":"k_EControllerActionOrigin_Horipad_M1", "value":"386" }, + { "name":"k_EControllerActionOrigin_Horipad_M2", "value":"387" }, + { "name":"k_EControllerActionOrigin_Horipad_L4", "value":"388" }, + { "name":"k_EControllerActionOrigin_Horipad_R4", "value":"389" }, + { "name":"k_EControllerActionOrigin_Count", "value":"390" }, + { "name":"k_EControllerActionOrigin_MaximumPossibleValue", "value":"32767" } + ] + }, + { + "enumname": "ESteamControllerLEDFlag", + "values": [ + { "name":"k_ESteamControllerLEDFlag_SetColor", "value":"0" }, + { "name":"k_ESteamControllerLEDFlag_RestoreUserDefault", "value":"1" } + ] + }, + { + "enumname": "EUGCMatchingUGCType", + "values": [ + { "name":"k_EUGCMatchingUGCType_Items", "value":"0" }, + { "name":"k_EUGCMatchingUGCType_Items_Mtx", "value":"1" }, + { "name":"k_EUGCMatchingUGCType_Items_ReadyToUse", "value":"2" }, + { "name":"k_EUGCMatchingUGCType_Collections", "value":"3" }, + { "name":"k_EUGCMatchingUGCType_Artwork", "value":"4" }, + { "name":"k_EUGCMatchingUGCType_Videos", "value":"5" }, + { "name":"k_EUGCMatchingUGCType_Screenshots", "value":"6" }, + { "name":"k_EUGCMatchingUGCType_AllGuides", "value":"7" }, + { "name":"k_EUGCMatchingUGCType_WebGuides", "value":"8" }, + { "name":"k_EUGCMatchingUGCType_IntegratedGuides", "value":"9" }, + { "name":"k_EUGCMatchingUGCType_UsableInGame", "value":"10" }, + { "name":"k_EUGCMatchingUGCType_ControllerBindings", "value":"11" }, + { "name":"k_EUGCMatchingUGCType_GameManagedItems", "value":"12" }, + { "name":"k_EUGCMatchingUGCType_All", "value":"-1" } + ] + }, + { + "enumname": "EUserUGCList", + "values": [ + { "name":"k_EUserUGCList_Published", "value":"0" }, + { "name":"k_EUserUGCList_VotedOn", "value":"1" }, + { "name":"k_EUserUGCList_VotedUp", "value":"2" }, + { "name":"k_EUserUGCList_VotedDown", "value":"3" }, + { "name":"k_EUserUGCList_WillVoteLater", "value":"4" }, + { "name":"k_EUserUGCList_Favorited", "value":"5" }, + { "name":"k_EUserUGCList_Subscribed", "value":"6" }, + { "name":"k_EUserUGCList_UsedOrPlayed", "value":"7" }, + { "name":"k_EUserUGCList_Followed", "value":"8" } + ] + }, + { + "enumname": "EUserUGCListSortOrder", + "values": [ + { "name":"k_EUserUGCListSortOrder_CreationOrderDesc", "value":"0" }, + { "name":"k_EUserUGCListSortOrder_CreationOrderAsc", "value":"1" }, + { "name":"k_EUserUGCListSortOrder_TitleAsc", "value":"2" }, + { "name":"k_EUserUGCListSortOrder_LastUpdatedDesc", "value":"3" }, + { "name":"k_EUserUGCListSortOrder_SubscriptionDateDesc", "value":"4" }, + { "name":"k_EUserUGCListSortOrder_VoteScoreDesc", "value":"5" }, + { "name":"k_EUserUGCListSortOrder_ForModeration", "value":"6" } + ] + }, + { + "enumname": "EUGCQuery", + "values": [ + { "name":"k_EUGCQuery_RankedByVote", "value":"0" }, + { "name":"k_EUGCQuery_RankedByPublicationDate", "value":"1" }, + { "name":"k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate", "value":"2" }, + { "name":"k_EUGCQuery_RankedByTrend", "value":"3" }, + { "name":"k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate", "value":"4" }, + { "name":"k_EUGCQuery_CreatedByFriendsRankedByPublicationDate", "value":"5" }, + { "name":"k_EUGCQuery_RankedByNumTimesReported", "value":"6" }, + { "name":"k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate", "value":"7" }, + { "name":"k_EUGCQuery_NotYetRated", "value":"8" }, + { "name":"k_EUGCQuery_RankedByTotalVotesAsc", "value":"9" }, + { "name":"k_EUGCQuery_RankedByVotesUp", "value":"10" }, + { "name":"k_EUGCQuery_RankedByTextSearch", "value":"11" }, + { "name":"k_EUGCQuery_RankedByTotalUniqueSubscriptions", "value":"12" }, + { "name":"k_EUGCQuery_RankedByPlaytimeTrend", "value":"13" }, + { "name":"k_EUGCQuery_RankedByTotalPlaytime", "value":"14" }, + { "name":"k_EUGCQuery_RankedByAveragePlaytimeTrend", "value":"15" }, + { "name":"k_EUGCQuery_RankedByLifetimeAveragePlaytime", "value":"16" }, + { "name":"k_EUGCQuery_RankedByPlaytimeSessionsTrend", "value":"17" }, + { "name":"k_EUGCQuery_RankedByLifetimePlaytimeSessions", "value":"18" }, + { "name":"k_EUGCQuery_RankedByLastUpdatedDate", "value":"19" } + ] + }, + { + "enumname": "EItemUpdateStatus", + "values": [ + { "name":"k_EItemUpdateStatusInvalid", "value":"0" }, + { "name":"k_EItemUpdateStatusPreparingConfig", "value":"1" }, + { "name":"k_EItemUpdateStatusPreparingContent", "value":"2" }, + { "name":"k_EItemUpdateStatusUploadingContent", "value":"3" }, + { "name":"k_EItemUpdateStatusUploadingPreviewFile", "value":"4" }, + { "name":"k_EItemUpdateStatusCommittingChanges", "value":"5" } + ] + }, + { + "enumname": "EItemState", + "values": [ + { "name":"k_EItemStateNone", "value":"0" }, + { "name":"k_EItemStateSubscribed", "value":"1" }, + { "name":"k_EItemStateLegacyItem", "value":"2" }, + { "name":"k_EItemStateInstalled", "value":"4" }, + { "name":"k_EItemStateNeedsUpdate", "value":"8" }, + { "name":"k_EItemStateDownloading", "value":"16" }, + { "name":"k_EItemStateDownloadPending", "value":"32" }, + { "name":"k_EItemStateDisabledLocally", "value":"64" } + ] + }, + { + "enumname": "EItemStatistic", + "values": [ + { "name":"k_EItemStatistic_NumSubscriptions", "value":"0" }, + { "name":"k_EItemStatistic_NumFavorites", "value":"1" }, + { "name":"k_EItemStatistic_NumFollowers", "value":"2" }, + { "name":"k_EItemStatistic_NumUniqueSubscriptions", "value":"3" }, + { "name":"k_EItemStatistic_NumUniqueFavorites", "value":"4" }, + { "name":"k_EItemStatistic_NumUniqueFollowers", "value":"5" }, + { "name":"k_EItemStatistic_NumUniqueWebsiteViews", "value":"6" }, + { "name":"k_EItemStatistic_ReportScore", "value":"7" }, + { "name":"k_EItemStatistic_NumSecondsPlayed", "value":"8" }, + { "name":"k_EItemStatistic_NumPlaytimeSessions", "value":"9" }, + { "name":"k_EItemStatistic_NumComments", "value":"10" }, + { "name":"k_EItemStatistic_NumSecondsPlayedDuringTimePeriod", "value":"11" }, + { "name":"k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod", "value":"12" } + ] + }, + { + "enumname": "EItemPreviewType", + "values": [ + { "name":"k_EItemPreviewType_Image", "value":"0" }, + { "name":"k_EItemPreviewType_YouTubeVideo", "value":"1" }, + { "name":"k_EItemPreviewType_Sketchfab", "value":"2" }, + { "name":"k_EItemPreviewType_EnvironmentMap_HorizontalCross", "value":"3" }, + { "name":"k_EItemPreviewType_EnvironmentMap_LatLong", "value":"4" }, + { "name":"k_EItemPreviewType_Clip", "value":"5" }, + { "name":"k_EItemPreviewType_ReservedMax", "value":"255" } + ] + }, + { + "enumname": "EUGCContentDescriptorID", + "values": [ + { "name":"k_EUGCContentDescriptor_NudityOrSexualContent", "value":"1" }, + { "name":"k_EUGCContentDescriptor_FrequentViolenceOrGore", "value":"2" }, + { "name":"k_EUGCContentDescriptor_AdultOnlySexualContent", "value":"3" }, + { "name":"k_EUGCContentDescriptor_GratuitousSexualContent", "value":"4" }, + { "name":"k_EUGCContentDescriptor_AnyMatureContent", "value":"5" } + ] + }, + { + "enumname": "ESteamItemFlags", + "values": [ + { "name":"k_ESteamItemNoTrade", "value":"1" }, + { "name":"k_ESteamItemRemoved", "value":"256" }, + { "name":"k_ESteamItemConsumed", "value":"512" } + ] + }, + { + "enumname": "ETimelineGameMode", + "values": [ + { "name":"k_ETimelineGameMode_Invalid", "value":"0" }, + { "name":"k_ETimelineGameMode_Playing", "value":"1" }, + { "name":"k_ETimelineGameMode_Staging", "value":"2" }, + { "name":"k_ETimelineGameMode_Menus", "value":"3" }, + { "name":"k_ETimelineGameMode_LoadingScreen", "value":"4" }, + { "name":"k_ETimelineGameMode_Max", "value":"5" } + ] + }, + { + "enumname": "ETimelineEventClipPriority", + "values": [ + { "name":"k_ETimelineEventClipPriority_Invalid", "value":"0" }, + { "name":"k_ETimelineEventClipPriority_None", "value":"1" }, + { "name":"k_ETimelineEventClipPriority_Standard", "value":"2" }, + { "name":"k_ETimelineEventClipPriority_Featured", "value":"3" } + ] + }, + { + "enumname": "EParentalFeature", + "values": [ + { "name":"k_EFeatureInvalid", "value":"0" }, + { "name":"k_EFeatureStore", "value":"1" }, + { "name":"k_EFeatureCommunity", "value":"2" }, + { "name":"k_EFeatureProfile", "value":"3" }, + { "name":"k_EFeatureFriends", "value":"4" }, + { "name":"k_EFeatureNews", "value":"5" }, + { "name":"k_EFeatureTrading", "value":"6" }, + { "name":"k_EFeatureSettings", "value":"7" }, + { "name":"k_EFeatureConsole", "value":"8" }, + { "name":"k_EFeatureBrowser", "value":"9" }, + { "name":"k_EFeatureParentalSetup", "value":"10" }, + { "name":"k_EFeatureLibrary", "value":"11" }, + { "name":"k_EFeatureTest", "value":"12" }, + { "name":"k_EFeatureSiteLicense", "value":"13" }, + { "name":"k_EFeatureKioskMode_Deprecated", "value":"14" }, + { "name":"k_EFeatureBlockAlways", "value":"15" }, + { "name":"k_EFeatureMax", "value":"16" } + ] + }, + { + "enumname": "ESteamDeviceFormFactor", + "values": [ + { "name":"k_ESteamDeviceFormFactorUnknown", "value":"0" }, + { "name":"k_ESteamDeviceFormFactorPhone", "value":"1" }, + { "name":"k_ESteamDeviceFormFactorTablet", "value":"2" }, + { "name":"k_ESteamDeviceFormFactorComputer", "value":"3" }, + { "name":"k_ESteamDeviceFormFactorTV", "value":"4" }, + { "name":"k_ESteamDeviceFormFactorVRHeadset", "value":"5" } + ] + }, + { + "enumname": "ESteamNetworkingAvailability", + "values": [ + { "name":"k_ESteamNetworkingAvailability_CannotTry", "value":"-102" }, + { "name":"k_ESteamNetworkingAvailability_Failed", "value":"-101" }, + { "name":"k_ESteamNetworkingAvailability_Previously", "value":"-100" }, + { "name":"k_ESteamNetworkingAvailability_Retrying", "value":"-10" }, + { "name":"k_ESteamNetworkingAvailability_NeverTried", "value":"1" }, + { "name":"k_ESteamNetworkingAvailability_Waiting", "value":"2" }, + { "name":"k_ESteamNetworkingAvailability_Attempting", "value":"3" }, + { "name":"k_ESteamNetworkingAvailability_Current", "value":"100" }, + { "name":"k_ESteamNetworkingAvailability_Unknown", "value":"0" }, + { "name":"k_ESteamNetworkingAvailability__Force32bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingIdentityType", + "values": [ + { "name":"k_ESteamNetworkingIdentityType_Invalid", "value":"0" }, + { "name":"k_ESteamNetworkingIdentityType_SteamID", "value":"16" }, + { "name":"k_ESteamNetworkingIdentityType_XboxPairwiseID", "value":"17" }, + { "name":"k_ESteamNetworkingIdentityType_SonyPSN", "value":"18" }, + { "name":"k_ESteamNetworkingIdentityType_IPAddress", "value":"1" }, + { "name":"k_ESteamNetworkingIdentityType_GenericString", "value":"2" }, + { "name":"k_ESteamNetworkingIdentityType_GenericBytes", "value":"3" }, + { "name":"k_ESteamNetworkingIdentityType_UnknownType", "value":"4" }, + { "name":"k_ESteamNetworkingIdentityType__Force32bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingFakeIPType", + "values": [ + { "name":"k_ESteamNetworkingFakeIPType_Invalid", "value":"0" }, + { "name":"k_ESteamNetworkingFakeIPType_NotFake", "value":"1" }, + { "name":"k_ESteamNetworkingFakeIPType_GlobalIPv4", "value":"2" }, + { "name":"k_ESteamNetworkingFakeIPType_LocalIPv4", "value":"3" }, + { "name":"k_ESteamNetworkingFakeIPType__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingConnectionState", + "values": [ + { "name":"k_ESteamNetworkingConnectionState_None", "value":"0" }, + { "name":"k_ESteamNetworkingConnectionState_Connecting", "value":"1" }, + { "name":"k_ESteamNetworkingConnectionState_FindingRoute", "value":"2" }, + { "name":"k_ESteamNetworkingConnectionState_Connected", "value":"3" }, + { "name":"k_ESteamNetworkingConnectionState_ClosedByPeer", "value":"4" }, + { "name":"k_ESteamNetworkingConnectionState_ProblemDetectedLocally", "value":"5" }, + { "name":"k_ESteamNetworkingConnectionState_FinWait", "value":"-1" }, + { "name":"k_ESteamNetworkingConnectionState_Linger", "value":"-2" }, + { "name":"k_ESteamNetworkingConnectionState_Dead", "value":"-3" }, + { "name":"k_ESteamNetworkingConnectionState__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetConnectionEnd", + "values": [ + { "name":"k_ESteamNetConnectionEnd_Invalid", "value":"0" }, + { "name":"k_ESteamNetConnectionEnd_App_Min", "value":"1000" }, + { "name":"k_ESteamNetConnectionEnd_App_Generic", "value":"1000" }, + { "name":"k_ESteamNetConnectionEnd_App_Max", "value":"1999" }, + { "name":"k_ESteamNetConnectionEnd_AppException_Min", "value":"2000" }, + { "name":"k_ESteamNetConnectionEnd_AppException_Generic", "value":"2000" }, + { "name":"k_ESteamNetConnectionEnd_AppException_Max", "value":"2999" }, + { "name":"k_ESteamNetConnectionEnd_Local_Min", "value":"3000" }, + { "name":"k_ESteamNetConnectionEnd_Local_OfflineMode", "value":"3001" }, + { "name":"k_ESteamNetConnectionEnd_Local_ManyRelayConnectivity", "value":"3002" }, + { "name":"k_ESteamNetConnectionEnd_Local_HostedServerPrimaryRelay", "value":"3003" }, + { "name":"k_ESteamNetConnectionEnd_Local_NetworkConfig", "value":"3004" }, + { "name":"k_ESteamNetConnectionEnd_Local_Rights", "value":"3005" }, + { "name":"k_ESteamNetConnectionEnd_Local_P2P_ICE_NoPublicAddresses", "value":"3006" }, + { "name":"k_ESteamNetConnectionEnd_Local_Max", "value":"3999" }, + { "name":"k_ESteamNetConnectionEnd_Remote_Min", "value":"4000" }, + { "name":"k_ESteamNetConnectionEnd_Remote_Timeout", "value":"4001" }, + { "name":"k_ESteamNetConnectionEnd_Remote_BadCrypt", "value":"4002" }, + { "name":"k_ESteamNetConnectionEnd_Remote_BadCert", "value":"4003" }, + { "name":"k_ESteamNetConnectionEnd_Remote_BadProtocolVersion", "value":"4006" }, + { "name":"k_ESteamNetConnectionEnd_Remote_P2P_ICE_NoPublicAddresses", "value":"4007" }, + { "name":"k_ESteamNetConnectionEnd_Remote_Max", "value":"4999" }, + { "name":"k_ESteamNetConnectionEnd_Misc_Min", "value":"5000" }, + { "name":"k_ESteamNetConnectionEnd_Misc_Generic", "value":"5001" }, + { "name":"k_ESteamNetConnectionEnd_Misc_InternalError", "value":"5002" }, + { "name":"k_ESteamNetConnectionEnd_Misc_Timeout", "value":"5003" }, + { "name":"k_ESteamNetConnectionEnd_Misc_SteamConnectivity", "value":"5005" }, + { "name":"k_ESteamNetConnectionEnd_Misc_NoRelaySessionsToClient", "value":"5006" }, + { "name":"k_ESteamNetConnectionEnd_Misc_P2P_Rendezvous", "value":"5008" }, + { "name":"k_ESteamNetConnectionEnd_Misc_P2P_NAT_Firewall", "value":"5009" }, + { "name":"k_ESteamNetConnectionEnd_Misc_PeerSentNoConnection", "value":"5010" }, + { "name":"k_ESteamNetConnectionEnd_Misc_Max", "value":"5999" }, + { "name":"k_ESteamNetConnectionEnd__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingConfigScope", + "values": [ + { "name":"k_ESteamNetworkingConfig_Global", "value":"1" }, + { "name":"k_ESteamNetworkingConfig_SocketsInterface", "value":"2" }, + { "name":"k_ESteamNetworkingConfig_ListenSocket", "value":"3" }, + { "name":"k_ESteamNetworkingConfig_Connection", "value":"4" }, + { "name":"k_ESteamNetworkingConfigScope__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingConfigDataType", + "values": [ + { "name":"k_ESteamNetworkingConfig_Int32", "value":"1" }, + { "name":"k_ESteamNetworkingConfig_Int64", "value":"2" }, + { "name":"k_ESteamNetworkingConfig_Float", "value":"3" }, + { "name":"k_ESteamNetworkingConfig_String", "value":"4" }, + { "name":"k_ESteamNetworkingConfig_Ptr", "value":"5" }, + { "name":"k_ESteamNetworkingConfigDataType__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingConfigValue", + "values": [ + { "name":"k_ESteamNetworkingConfig_Invalid", "value":"0" }, + { "name":"k_ESteamNetworkingConfig_TimeoutInitial", "value":"24" }, + { "name":"k_ESteamNetworkingConfig_TimeoutConnected", "value":"25" }, + { "name":"k_ESteamNetworkingConfig_SendBufferSize", "value":"9" }, + { "name":"k_ESteamNetworkingConfig_RecvBufferSize", "value":"47" }, + { "name":"k_ESteamNetworkingConfig_RecvBufferMessages", "value":"48" }, + { "name":"k_ESteamNetworkingConfig_RecvMaxMessageSize", "value":"49" }, + { "name":"k_ESteamNetworkingConfig_RecvMaxSegmentsPerPacket", "value":"50" }, + { "name":"k_ESteamNetworkingConfig_ConnectionUserData", "value":"40" }, + { "name":"k_ESteamNetworkingConfig_SendRateMin", "value":"10" }, + { "name":"k_ESteamNetworkingConfig_SendRateMax", "value":"11" }, + { "name":"k_ESteamNetworkingConfig_NagleTime", "value":"12" }, + { "name":"k_ESteamNetworkingConfig_IP_AllowWithoutAuth", "value":"23" }, + { "name":"k_ESteamNetworkingConfig_IPLocalHost_AllowWithoutAuth", "value":"52" }, + { "name":"k_ESteamNetworkingConfig_MTU_PacketSize", "value":"32" }, + { "name":"k_ESteamNetworkingConfig_MTU_DataSize", "value":"33" }, + { "name":"k_ESteamNetworkingConfig_Unencrypted", "value":"34" }, + { "name":"k_ESteamNetworkingConfig_SymmetricConnect", "value":"37" }, + { "name":"k_ESteamNetworkingConfig_LocalVirtualPort", "value":"38" }, + { "name":"k_ESteamNetworkingConfig_DualWifi_Enable", "value":"39" }, + { "name":"k_ESteamNetworkingConfig_EnableDiagnosticsUI", "value":"46" }, + { "name":"k_ESteamNetworkingConfig_SendTimeSincePreviousPacket", "value":"59" }, + { "name":"k_ESteamNetworkingConfig_FakePacketLoss_Send", "value":"2" }, + { "name":"k_ESteamNetworkingConfig_FakePacketLoss_Recv", "value":"3" }, + { "name":"k_ESteamNetworkingConfig_FakePacketLag_Send", "value":"4" }, + { "name":"k_ESteamNetworkingConfig_FakePacketLag_Recv", "value":"5" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Send_Avg", "value":"53" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Send_Max", "value":"54" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Send_Pct", "value":"55" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Recv_Avg", "value":"56" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Recv_Max", "value":"57" }, + { "name":"k_ESteamNetworkingConfig_FakePacketJitter_Recv_Pct", "value":"58" }, + { "name":"k_ESteamNetworkingConfig_FakePacketReorder_Send", "value":"6" }, + { "name":"k_ESteamNetworkingConfig_FakePacketReorder_Recv", "value":"7" }, + { "name":"k_ESteamNetworkingConfig_FakePacketReorder_Time", "value":"8" }, + { "name":"k_ESteamNetworkingConfig_FakePacketDup_Send", "value":"26" }, + { "name":"k_ESteamNetworkingConfig_FakePacketDup_Recv", "value":"27" }, + { "name":"k_ESteamNetworkingConfig_FakePacketDup_TimeMax", "value":"28" }, + { "name":"k_ESteamNetworkingConfig_PacketTraceMaxBytes", "value":"41" }, + { "name":"k_ESteamNetworkingConfig_FakeRateLimit_Send_Rate", "value":"42" }, + { "name":"k_ESteamNetworkingConfig_FakeRateLimit_Send_Burst", "value":"43" }, + { "name":"k_ESteamNetworkingConfig_FakeRateLimit_Recv_Rate", "value":"44" }, + { "name":"k_ESteamNetworkingConfig_FakeRateLimit_Recv_Burst", "value":"45" }, + { "name":"k_ESteamNetworkingConfig_OutOfOrderCorrectionWindowMicroseconds", "value":"51" }, + { "name":"k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged", "value":"201" }, + { "name":"k_ESteamNetworkingConfig_Callback_AuthStatusChanged", "value":"202" }, + { "name":"k_ESteamNetworkingConfig_Callback_RelayNetworkStatusChanged", "value":"203" }, + { "name":"k_ESteamNetworkingConfig_Callback_MessagesSessionRequest", "value":"204" }, + { "name":"k_ESteamNetworkingConfig_Callback_MessagesSessionFailed", "value":"205" }, + { "name":"k_ESteamNetworkingConfig_Callback_CreateConnectionSignaling", "value":"206" }, + { "name":"k_ESteamNetworkingConfig_Callback_FakeIPResult", "value":"207" }, + { "name":"k_ESteamNetworkingConfig_P2P_STUN_ServerList", "value":"103" }, + { "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Enable", "value":"104" }, + { "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Penalty", "value":"105" }, + { "name":"k_ESteamNetworkingConfig_P2P_Transport_SDR_Penalty", "value":"106" }, + { "name":"k_ESteamNetworkingConfig_P2P_TURN_ServerList", "value":"107" }, + { "name":"k_ESteamNetworkingConfig_P2P_TURN_UserList", "value":"108" }, + { "name":"k_ESteamNetworkingConfig_P2P_TURN_PassList", "value":"109" }, + { "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Implementation", "value":"110" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFailInitial", "value":"19" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFail", "value":"20" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_MinPingsBeforePingAccurate", "value":"21" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_SingleSocket", "value":"22" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_ForceRelayCluster", "value":"29" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_DevTicket", "value":"30" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_ForceProxyAddr", "value":"31" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_FakeClusterPing", "value":"36" }, + { "name":"k_ESteamNetworkingConfig_SDRClient_LimitPingProbesToNearestN", "value":"60" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_AckRTT", "value":"13" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_PacketDecode", "value":"14" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_Message", "value":"15" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_PacketGaps", "value":"16" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_P2PRendezvous", "value":"17" }, + { "name":"k_ESteamNetworkingConfig_LogLevel_SDRRelayPings", "value":"18" }, + { "name":"k_ESteamNetworkingConfig_ECN", "value":"999" }, + { "name":"k_ESteamNetworkingConfig_DELETED_EnumerateDevVars", "value":"35" }, + { "name":"k_ESteamNetworkingConfigValue__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingGetConfigValueResult", + "values": [ + { "name":"k_ESteamNetworkingGetConfigValue_BadValue", "value":"-1" }, + { "name":"k_ESteamNetworkingGetConfigValue_BadScopeObj", "value":"-2" }, + { "name":"k_ESteamNetworkingGetConfigValue_BufferTooSmall", "value":"-3" }, + { "name":"k_ESteamNetworkingGetConfigValue_OK", "value":"1" }, + { "name":"k_ESteamNetworkingGetConfigValue_OKInherited", "value":"2" }, + { "name":"k_ESteamNetworkingGetConfigValueResult__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamNetworkingSocketsDebugOutputType", + "values": [ + { "name":"k_ESteamNetworkingSocketsDebugOutputType_None", "value":"0" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Bug", "value":"1" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Error", "value":"2" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Important", "value":"3" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Warning", "value":"4" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Msg", "value":"5" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Verbose", "value":"6" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Debug", "value":"7" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType_Everything", "value":"8" }, + { "name":"k_ESteamNetworkingSocketsDebugOutputType__Force32Bit", "value":"2147483647" } + ] + }, + { + "enumname": "ESteamAPIInitResult", + "values": [ + { "name":"k_ESteamAPIInitResult_OK", "value":"0" }, + { "name":"k_ESteamAPIInitResult_FailedGeneric", "value":"1" }, + { "name":"k_ESteamAPIInitResult_NoSteamClient", "value":"2" }, + { "name":"k_ESteamAPIInitResult_VersionMismatch", "value":"3" } + ] + }, + { + "enumname": "EServerMode", + "values": [ + { "name":"eServerModeInvalid", "value":"0" }, + { "name":"eServerModeNoAuthentication", "value":"1" }, + { "name":"eServerModeAuthentication", "value":"2" }, + { "name":"eServerModeAuthenticationAndSecure", "value":"3" } + ] + } + ], + "interfaces": [ + { + "classname": "ISteamClient", + "fields": [], + "methods": [ + { + "methodname": "CreateSteamPipe", + "methodname_flat": "SteamAPI_ISteamClient_CreateSteamPipe", + "params": [], + "returntype": "HSteamPipe" + }, + { + "methodname": "BReleaseSteamPipe", + "methodname_flat": "SteamAPI_ISteamClient_BReleaseSteamPipe", + "params": [ + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" } + ], + "returntype": "bool" + }, + { + "methodname": "ConnectToGlobalUser", + "methodname_flat": "SteamAPI_ISteamClient_ConnectToGlobalUser", + "params": [ + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" } + ], + "returntype": "HSteamUser" + }, + { + "methodname": "CreateLocalUser", + "methodname_flat": "SteamAPI_ISteamClient_CreateLocalUser", + "params": [ + { "paramname":"phSteamPipe", "paramtype":"HSteamPipe *" }, + { "paramname":"eAccountType", "paramtype":"EAccountType" } + ], + "returntype": "HSteamUser" + }, + { + "methodname": "ReleaseUser", + "methodname_flat": "SteamAPI_ISteamClient_ReleaseUser", + "params": [ + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"hUser", "paramtype":"HSteamUser" } + ], + "returntype": "void" + }, + { + "methodname": "GetISteamUser", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamUser", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamUser *" + }, + { + "methodname": "GetISteamGameServer", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamGameServer", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamGameServer *" + }, + { + "methodname": "SetLocalIPBinding", + "methodname_flat": "SteamAPI_ISteamClient_SetLocalIPBinding", + "params": [ + { "paramname":"unIP", "paramtype":"const SteamIPAddress_t &" }, + { "paramname":"usPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "GetISteamFriends", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamFriends", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamFriends *" + }, + { + "methodname": "GetISteamUtils", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamUtils", + "params": [ + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamUtils *" + }, + { + "methodname": "GetISteamMatchmaking", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamMatchmaking", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamMatchmaking *" + }, + { + "methodname": "GetISteamMatchmakingServers", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamMatchmakingServers", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamMatchmakingServers *" + }, + { + "methodname": "GetISteamGenericInterface", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamGenericInterface", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "void *" + }, + { + "methodname": "GetISteamUserStats", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamUserStats", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamUserStats *" + }, + { + "methodname": "GetISteamGameServerStats", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamGameServerStats", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamGameServerStats *" + }, + { + "methodname": "GetISteamApps", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamApps", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamApps *" + }, + { + "methodname": "GetISteamNetworking", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamNetworking", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamNetworking *" + }, + { + "methodname": "GetISteamRemoteStorage", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamRemoteStorage", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamRemoteStorage *" + }, + { + "methodname": "GetISteamScreenshots", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamScreenshots", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamScreenshots *" + }, + { + "methodname": "GetISteamGameSearch", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamGameSearch", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamGameSearch *" + }, + { + "methodname": "GetIPCCallCount", + "methodname_flat": "SteamAPI_ISteamClient_GetIPCCallCount", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetWarningMessageHook", + "methodname_flat": "SteamAPI_ISteamClient_SetWarningMessageHook", + "params": [ + { "paramname":"pFunction", "paramtype":"SteamAPIWarningMessageHook_t" } + ], + "returntype": "void" + }, + { + "methodname": "BShutdownIfAllPipesClosed", + "methodname_flat": "SteamAPI_ISteamClient_BShutdownIfAllPipesClosed", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetISteamHTTP", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamHTTP", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamHTTP *" + }, + { + "methodname": "GetISteamController", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamController", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamController *" + }, + { + "methodname": "GetISteamUGC", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamUGC", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamUGC *" + }, + { + "methodname": "GetISteamMusic", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamMusic", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamMusic *" + }, + { + "methodname": "GetISteamMusicRemote", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamMusicRemote", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamMusicRemote *" + }, + { + "methodname": "GetISteamHTMLSurface", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamHTMLSurface", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamHTMLSurface *" + }, + { + "methodname": "GetISteamInventory", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamInventory", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamInventory *" + }, + { + "methodname": "GetISteamVideo", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamVideo", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamVideo *" + }, + { + "methodname": "GetISteamParentalSettings", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamParentalSettings", + "params": [ + { "paramname":"hSteamuser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamParentalSettings *" + }, + { + "methodname": "GetISteamInput", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamInput", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamInput *" + }, + { + "methodname": "GetISteamParties", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamParties", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamParties *" + }, + { + "methodname": "GetISteamRemotePlay", + "methodname_flat": "SteamAPI_ISteamClient_GetISteamRemotePlay", + "params": [ + { "paramname":"hSteamUser", "paramtype":"HSteamUser" }, + { "paramname":"hSteamPipe", "paramtype":"HSteamPipe" }, + { "paramname":"pchVersion", "paramtype":"const char *" } + ], + "returntype": "ISteamRemotePlay *" + } + ] + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamUser", + "name_flat": "SteamAPI_SteamUser_v023" + } + ], + "classname": "ISteamUser", + "fields": [], + "methods": [ + { + "methodname": "GetHSteamUser", + "methodname_flat": "SteamAPI_ISteamUser_GetHSteamUser", + "params": [], + "returntype": "HSteamUser" + }, + { + "methodname": "BLoggedOn", + "methodname_flat": "SteamAPI_ISteamUser_BLoggedOn", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetSteamID", + "methodname_flat": "SteamAPI_ISteamUser_GetSteamID", + "params": [], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "InitiateGameConnection_DEPRECATED", + "methodname_flat": "SteamAPI_ISteamUser_InitiateGameConnection_DEPRECATED", + "params": [ + { "paramname":"pAuthBlob", "paramtype":"void *" }, + { "paramname":"cbMaxAuthBlob", "paramtype":"int" }, + { "paramname":"steamIDGameServer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"unIPServer", "paramtype":"uint32" }, + { "paramname":"usPortServer", "paramtype":"uint16" }, + { "paramname":"bSecure", "paramtype":"bool" } + ], + "returntype": "int" + }, + { + "methodname": "TerminateGameConnection_DEPRECATED", + "methodname_flat": "SteamAPI_ISteamUser_TerminateGameConnection_DEPRECATED", + "params": [ + { "paramname":"unIPServer", "paramtype":"uint32" }, + { "paramname":"usPortServer", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "TrackAppUsageEvent", + "methodname_flat": "SteamAPI_ISteamUser_TrackAppUsageEvent", + "params": [ + { "paramname":"gameID", "paramtype":"CGameID", "paramtype_flat":"uint64_gameid" }, + { "paramname":"eAppUsageEvent", "paramtype":"int" }, + { "paramname":"pchExtraInfo", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "GetUserDataFolder", + "methodname_flat": "SteamAPI_ISteamUser_GetUserDataFolder", + "params": [ + { "paramname":"pchBuffer", "paramtype":"char *" }, + { "paramname":"cubBuffer", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "StartVoiceRecording", + "methodname_flat": "SteamAPI_ISteamUser_StartVoiceRecording", + "params": [], + "returntype": "void" + }, + { + "methodname": "StopVoiceRecording", + "methodname_flat": "SteamAPI_ISteamUser_StopVoiceRecording", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetAvailableVoice", + "methodname_flat": "SteamAPI_ISteamUser_GetAvailableVoice", + "params": [ + { "paramname":"pcbCompressed", "paramtype":"uint32 *" }, + { "paramname":"pcbUncompressed_Deprecated", "paramtype":"uint32 *" }, + { "paramname":"nUncompressedVoiceDesiredSampleRate_Deprecated", "paramtype":"uint32" } + ], + "returntype": "EVoiceResult" + }, + { + "methodname": "GetVoice", + "methodname_flat": "SteamAPI_ISteamUser_GetVoice", + "params": [ + { "paramname":"bWantCompressed", "paramtype":"bool" }, + { "paramname":"pDestBuffer", "paramtype":"void *" }, + { "paramname":"cbDestBufferSize", "paramtype":"uint32" }, + { "paramname":"nBytesWritten", "paramtype":"uint32 *" }, + { "paramname":"bWantUncompressed_Deprecated", "paramtype":"bool" }, + { "paramname":"pUncompressedDestBuffer_Deprecated", "paramtype":"void *" }, + { "paramname":"cbUncompressedDestBufferSize_Deprecated", "paramtype":"uint32" }, + { "paramname":"nUncompressBytesWritten_Deprecated", "paramtype":"uint32 *" }, + { "paramname":"nUncompressedVoiceDesiredSampleRate_Deprecated", "paramtype":"uint32" } + ], + "returntype": "EVoiceResult" + }, + { + "methodname": "DecompressVoice", + "methodname_flat": "SteamAPI_ISteamUser_DecompressVoice", + "params": [ + { "paramname":"pCompressed", "paramtype":"const void *" }, + { "paramname":"cbCompressed", "paramtype":"uint32" }, + { "paramname":"pDestBuffer", "paramtype":"void *" }, + { "paramname":"cbDestBufferSize", "paramtype":"uint32" }, + { "paramname":"nBytesWritten", "paramtype":"uint32 *" }, + { "paramname":"nDesiredSampleRate", "paramtype":"uint32" } + ], + "returntype": "EVoiceResult" + }, + { + "methodname": "GetVoiceOptimalSampleRate", + "methodname_flat": "SteamAPI_ISteamUser_GetVoiceOptimalSampleRate", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetAuthSessionTicket", + "methodname_flat": "SteamAPI_ISteamUser_GetAuthSessionTicket", + "params": [ + { "paramname":"pTicket", "paramtype":"void *" }, + { "paramname":"cbMaxTicket", "paramtype":"int" }, + { "paramname":"pcbTicket", "paramtype":"uint32 *" }, + { "paramname":"pSteamNetworkingIdentity", "paramtype":"const SteamNetworkingIdentity *" } + ], + "returntype": "HAuthTicket" + }, + { + "methodname": "GetAuthTicketForWebApi", + "methodname_flat": "SteamAPI_ISteamUser_GetAuthTicketForWebApi", + "params": [ + { "paramname":"pchIdentity", "paramtype":"const char *" } + ], + "returntype": "HAuthTicket" + }, + { + "methodname": "BeginAuthSession", + "methodname_flat": "SteamAPI_ISteamUser_BeginAuthSession", + "params": [ + { "paramname":"pAuthTicket", "paramtype":"const void *" }, + { "paramname":"cbAuthTicket", "paramtype":"int" }, + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "EBeginAuthSessionResult" + }, + { + "methodname": "EndAuthSession", + "methodname_flat": "SteamAPI_ISteamUser_EndAuthSession", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "CancelAuthTicket", + "methodname_flat": "SteamAPI_ISteamUser_CancelAuthTicket", + "params": [ + { "paramname":"hAuthTicket", "paramtype":"HAuthTicket" } + ], + "returntype": "void" + }, + { + "methodname": "UserHasLicenseForApp", + "methodname_flat": "SteamAPI_ISteamUser_UserHasLicenseForApp", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"appID", "paramtype":"AppId_t" } + ], + "returntype": "EUserHasLicenseForAppResult" + }, + { + "methodname": "BIsBehindNAT", + "methodname_flat": "SteamAPI_ISteamUser_BIsBehindNAT", + "params": [], + "returntype": "bool" + }, + { + "methodname": "AdvertiseGame", + "methodname_flat": "SteamAPI_ISteamUser_AdvertiseGame", + "params": [ + { "paramname":"steamIDGameServer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"unIPServer", "paramtype":"uint32" }, + { "paramname":"usPortServer", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "callresult": "EncryptedAppTicketResponse_t", + "methodname": "RequestEncryptedAppTicket", + "methodname_flat": "SteamAPI_ISteamUser_RequestEncryptedAppTicket", + "params": [ + { "paramname":"pDataToInclude", "paramtype":"void *" }, + { "paramname":"cbDataToInclude", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetEncryptedAppTicket", + "methodname_flat": "SteamAPI_ISteamUser_GetEncryptedAppTicket", + "params": [ + { "paramname":"pTicket", "paramtype":"void *" }, + { "paramname":"cbMaxTicket", "paramtype":"int" }, + { "paramname":"pcbTicket", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGameBadgeLevel", + "methodname_flat": "SteamAPI_ISteamUser_GetGameBadgeLevel", + "params": [ + { "paramname":"nSeries", "paramtype":"int" }, + { "paramname":"bFoil", "paramtype":"bool" } + ], + "returntype": "int" + }, + { + "methodname": "GetPlayerSteamLevel", + "methodname_flat": "SteamAPI_ISteamUser_GetPlayerSteamLevel", + "params": [], + "returntype": "int" + }, + { + "callresult": "StoreAuthURLResponse_t", + "methodname": "RequestStoreAuthURL", + "methodname_flat": "SteamAPI_ISteamUser_RequestStoreAuthURL", + "params": [ + { "paramname":"pchRedirectURL", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "BIsPhoneVerified", + "methodname_flat": "SteamAPI_ISteamUser_BIsPhoneVerified", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsTwoFactorEnabled", + "methodname_flat": "SteamAPI_ISteamUser_BIsTwoFactorEnabled", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsPhoneIdentifying", + "methodname_flat": "SteamAPI_ISteamUser_BIsPhoneIdentifying", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsPhoneRequiringVerification", + "methodname_flat": "SteamAPI_ISteamUser_BIsPhoneRequiringVerification", + "params": [], + "returntype": "bool" + }, + { + "callresult": "MarketEligibilityResponse_t", + "methodname": "GetMarketEligibility", + "methodname_flat": "SteamAPI_ISteamUser_GetMarketEligibility", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "DurationControl_t", + "methodname": "GetDurationControl", + "methodname_flat": "SteamAPI_ISteamUser_GetDurationControl", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "BSetDurationControlOnlineState", + "methodname_flat": "SteamAPI_ISteamUser_BSetDurationControlOnlineState", + "params": [ + { "paramname":"eNewState", "paramtype":"EDurationControlOnlineState" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamUser023" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamFriends", + "name_flat": "SteamAPI_SteamFriends_v017" + } + ], + "classname": "ISteamFriends", + "fields": [], + "methods": [ + { + "methodname": "GetPersonaName", + "methodname_flat": "SteamAPI_ISteamFriends_GetPersonaName", + "params": [], + "returntype": "const char *" + }, + { + "callresult": "SetPersonaNameResponse_t", + "methodname": "SetPersonaName", + "methodname_flat": "SteamAPI_ISteamFriends_SetPersonaName", + "params": [ + { "paramname":"pchPersonaName", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetPersonaState", + "methodname_flat": "SteamAPI_ISteamFriends_GetPersonaState", + "params": [], + "returntype": "EPersonaState" + }, + { + "methodname": "GetFriendCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendCount", + "params": [ + { "paramname":"iFriendFlags", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "GetFriendByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendByIndex", + "params": [ + { "paramname":"iFriend", "paramtype":"int" }, + { "paramname":"iFriendFlags", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetFriendRelationship", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendRelationship", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "EFriendRelationship" + }, + { + "methodname": "GetFriendPersonaState", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendPersonaState", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "EPersonaState" + }, + { + "methodname": "GetFriendPersonaName", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendPersonaName", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetFriendGamePlayed", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendGamePlayed", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { + "out_struct": "", + "paramname": "pFriendGameInfo", + "paramtype": "FriendGameInfo_t *" + } + ], + "returntype": "bool" + }, + { + "methodname": "GetFriendPersonaNameHistory", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendPersonaNameHistory", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iPersonaName", "paramtype":"int" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetFriendSteamLevel", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendSteamLevel", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetPlayerNickname", + "methodname_flat": "SteamAPI_ISteamFriends_GetPlayerNickname", + "params": [ + { "paramname":"steamIDPlayer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetFriendsGroupCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendsGroupCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "GetFriendsGroupIDByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex", + "params": [ + { "paramname":"iFG", "paramtype":"int" } + ], + "returntype": "FriendsGroupID_t" + }, + { + "methodname": "GetFriendsGroupName", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendsGroupName", + "params": [ + { "paramname":"friendsGroupID", "paramtype":"FriendsGroupID_t" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetFriendsGroupMembersCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendsGroupMembersCount", + "params": [ + { "paramname":"friendsGroupID", "paramtype":"FriendsGroupID_t" } + ], + "returntype": "int" + }, + { + "methodname": "GetFriendsGroupMembersList", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendsGroupMembersList", + "params": [ + { "paramname":"friendsGroupID", "paramtype":"FriendsGroupID_t" }, + { + "out_array_call": "nMembersCount,GetFriendsGroupMembersCount,friendsGroupID", + "paramname": "pOutSteamIDMembers", + "paramtype": "CSteamID *" + }, + { "paramname":"nMembersCount", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "HasFriend", + "methodname_flat": "SteamAPI_ISteamFriends_HasFriend", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iFriendFlags", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetClanCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "GetClanByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanByIndex", + "params": [ + { "paramname":"iClan", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetClanName", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanName", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetClanTag", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanTag", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetClanActivityCounts", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanActivityCounts", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pnOnline", "paramtype":"int *" }, + { "paramname":"pnInGame", "paramtype":"int *" }, + { "paramname":"pnChatting", "paramtype":"int *" } + ], + "returntype": "bool" + }, + { + "callresult": "DownloadClanActivityCountsResult_t", + "methodname": "DownloadClanActivityCounts", + "methodname_flat": "SteamAPI_ISteamFriends_DownloadClanActivityCounts", + "params": [ + { + "array_count": "cClansToRequest", + "paramname": "psteamIDClans", + "paramtype": "CSteamID *" + }, + { "paramname":"cClansToRequest", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetFriendCountFromSource", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendCountFromSource", + "params": [ + { "paramname":"steamIDSource", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetFriendFromSourceByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendFromSourceByIndex", + "params": [ + { "paramname":"steamIDSource", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iFriend", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "IsUserInSource", + "methodname_flat": "SteamAPI_ISteamFriends_IsUserInSource", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDSource", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "SetInGameVoiceSpeaking", + "methodname_flat": "SteamAPI_ISteamFriends_SetInGameVoiceSpeaking", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"bSpeaking", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "ActivateGameOverlay", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlay", + "params": [ + { "paramname":"pchDialog", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "ActivateGameOverlayToUser", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayToUser", + "params": [ + { "paramname":"pchDialog", "paramtype":"const char *" }, + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "ActivateGameOverlayToWebPage", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage", + "params": [ + { "paramname":"pchURL", "paramtype":"const char *" }, + { "paramname":"eMode", "paramtype":"EActivateGameOverlayToWebPageMode" } + ], + "returntype": "void" + }, + { + "methodname": "ActivateGameOverlayToStore", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayToStore", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" }, + { "paramname":"eFlag", "paramtype":"EOverlayToStoreFlag" } + ], + "returntype": "void" + }, + { + "methodname": "SetPlayedWith", + "methodname_flat": "SteamAPI_ISteamFriends_SetPlayedWith", + "params": [ + { "paramname":"steamIDUserPlayedWith", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "ActivateGameOverlayInviteDialog", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "GetSmallFriendAvatar", + "methodname_flat": "SteamAPI_ISteamFriends_GetSmallFriendAvatar", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetMediumFriendAvatar", + "methodname_flat": "SteamAPI_ISteamFriends_GetMediumFriendAvatar", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetLargeFriendAvatar", + "methodname_flat": "SteamAPI_ISteamFriends_GetLargeFriendAvatar", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "RequestUserInformation", + "methodname_flat": "SteamAPI_ISteamFriends_RequestUserInformation", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"bRequireNameOnly", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "callresult": "ClanOfficerListResponse_t", + "methodname": "RequestClanOfficerList", + "methodname_flat": "SteamAPI_ISteamFriends_RequestClanOfficerList", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetClanOwner", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanOwner", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetClanOfficerCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanOfficerCount", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetClanOfficerByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanOfficerByIndex", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iOfficer", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetUserRestrictions", + "methodname_flat": "SteamAPI_ISteamFriends_GetUserRestrictions", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetRichPresence", + "methodname_flat": "SteamAPI_ISteamFriends_SetRichPresence", + "params": [ + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "ClearRichPresence", + "methodname_flat": "SteamAPI_ISteamFriends_ClearRichPresence", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetFriendRichPresence", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendRichPresence", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetFriendRichPresenceKeyCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetFriendRichPresenceKeyByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iKey", "paramtype":"int" } + ], + "returntype": "const char *" + }, + { + "methodname": "RequestFriendRichPresence", + "methodname_flat": "SteamAPI_ISteamFriends_RequestFriendRichPresence", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "InviteUserToGame", + "methodname_flat": "SteamAPI_ISteamFriends_InviteUserToGame", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchConnectString", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetCoplayFriendCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetCoplayFriendCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "GetCoplayFriend", + "methodname_flat": "SteamAPI_ISteamFriends_GetCoplayFriend", + "params": [ + { "paramname":"iCoplayFriend", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetFriendCoplayTime", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendCoplayTime", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetFriendCoplayGame", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendCoplayGame", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "AppId_t" + }, + { + "callresult": "JoinClanChatRoomCompletionResult_t", + "methodname": "JoinClanChatRoom", + "methodname_flat": "SteamAPI_ISteamFriends_JoinClanChatRoom", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "LeaveClanChatRoom", + "methodname_flat": "SteamAPI_ISteamFriends_LeaveClanChatRoom", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "GetClanChatMemberCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanChatMemberCount", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetChatMemberByIndex", + "methodname_flat": "SteamAPI_ISteamFriends_GetChatMemberByIndex", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iUser", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "SendClanChatMessage", + "methodname_flat": "SteamAPI_ISteamFriends_SendClanChatMessage", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetClanChatMessage", + "methodname_flat": "SteamAPI_ISteamFriends_GetClanChatMessage", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iMessage", "paramtype":"int" }, + { "paramname":"prgchText", "paramtype":"void *" }, + { "paramname":"cchTextMax", "paramtype":"int" }, + { "paramname":"peChatEntryType", "paramtype":"EChatEntryType *" }, + { + "out_struct": "", + "paramname": "psteamidChatter", + "paramtype": "CSteamID *" + } + ], + "returntype": "int" + }, + { + "methodname": "IsClanChatAdmin", + "methodname_flat": "SteamAPI_ISteamFriends_IsClanChatAdmin", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "IsClanChatWindowOpenInSteam", + "methodname_flat": "SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "OpenClanChatWindowInSteam", + "methodname_flat": "SteamAPI_ISteamFriends_OpenClanChatWindowInSteam", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseClanChatWindowInSteam", + "methodname_flat": "SteamAPI_ISteamFriends_CloseClanChatWindowInSteam", + "params": [ + { "paramname":"steamIDClanChat", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "SetListenForFriendsMessages", + "methodname_flat": "SteamAPI_ISteamFriends_SetListenForFriendsMessages", + "params": [ + { "paramname":"bInterceptEnabled", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "ReplyToFriendMessage", + "methodname_flat": "SteamAPI_ISteamFriends_ReplyToFriendMessage", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchMsgToSend", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetFriendMessage", + "methodname_flat": "SteamAPI_ISteamFriends_GetFriendMessage", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iMessageID", "paramtype":"int" }, + { "paramname":"pvData", "paramtype":"void *" }, + { "paramname":"cubData", "paramtype":"int" }, + { "paramname":"peChatEntryType", "paramtype":"EChatEntryType *" } + ], + "returntype": "int" + }, + { + "callresult": "FriendsGetFollowerCount_t", + "methodname": "GetFollowerCount", + "methodname_flat": "SteamAPI_ISteamFriends_GetFollowerCount", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "FriendsIsFollowing_t", + "methodname": "IsFollowing", + "methodname_flat": "SteamAPI_ISteamFriends_IsFollowing", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "FriendsEnumerateFollowingList_t", + "methodname": "EnumerateFollowingList", + "methodname_flat": "SteamAPI_ISteamFriends_EnumerateFollowingList", + "params": [ + { "paramname":"unStartIndex", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "IsClanPublic", + "methodname_flat": "SteamAPI_ISteamFriends_IsClanPublic", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "IsClanOfficialGameGroup", + "methodname_flat": "SteamAPI_ISteamFriends_IsClanOfficialGameGroup", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNumChatsWithUnreadPriorityMessages", + "methodname_flat": "SteamAPI_ISteamFriends_GetNumChatsWithUnreadPriorityMessages", + "params": [], + "returntype": "int" + }, + { + "methodname": "ActivateGameOverlayRemotePlayTogetherInviteDialog", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayRemotePlayTogetherInviteDialog", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "RegisterProtocolInOverlayBrowser", + "methodname_flat": "SteamAPI_ISteamFriends_RegisterProtocolInOverlayBrowser", + "params": [ + { "paramname":"pchProtocol", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "ActivateGameOverlayInviteDialogConnectString", + "methodname_flat": "SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialogConnectString", + "params": [ + { "paramname":"pchConnectString", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "callresult": "EquippedProfileItems_t", + "methodname": "RequestEquippedProfileItems", + "methodname_flat": "SteamAPI_ISteamFriends_RequestEquippedProfileItems", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "BHasEquippedProfileItem", + "methodname_flat": "SteamAPI_ISteamFriends_BHasEquippedProfileItem", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"itemType", "paramtype":"ECommunityProfileItemType" } + ], + "returntype": "bool" + }, + { + "methodname": "GetProfileItemPropertyString", + "methodname_flat": "SteamAPI_ISteamFriends_GetProfileItemPropertyString", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"itemType", "paramtype":"ECommunityProfileItemType" }, + { "paramname":"prop", "paramtype":"ECommunityProfileItemProperty" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetProfileItemPropertyUint", + "methodname_flat": "SteamAPI_ISteamFriends_GetProfileItemPropertyUint", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"itemType", "paramtype":"ECommunityProfileItemType" }, + { "paramname":"prop", "paramtype":"ECommunityProfileItemProperty" } + ], + "returntype": "uint32" + } + ], + "version_string": "SteamFriends017" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamUtils", + "name_flat": "SteamAPI_SteamUtils_v010" + }, + { + "kind": "gameserver", + "name": "SteamGameServerUtils", + "name_flat": "SteamAPI_SteamGameServerUtils_v010" + } + ], + "classname": "ISteamUtils", + "fields": [], + "methods": [ + { + "methodname": "GetSecondsSinceAppActive", + "methodname_flat": "SteamAPI_ISteamUtils_GetSecondsSinceAppActive", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetSecondsSinceComputerActive", + "methodname_flat": "SteamAPI_ISteamUtils_GetSecondsSinceComputerActive", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetConnectedUniverse", + "methodname_flat": "SteamAPI_ISteamUtils_GetConnectedUniverse", + "params": [], + "returntype": "EUniverse" + }, + { + "methodname": "GetServerRealTime", + "methodname_flat": "SteamAPI_ISteamUtils_GetServerRealTime", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetIPCountry", + "methodname_flat": "SteamAPI_ISteamUtils_GetIPCountry", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "GetImageSize", + "methodname_flat": "SteamAPI_ISteamUtils_GetImageSize", + "params": [ + { "paramname":"iImage", "paramtype":"int" }, + { "paramname":"pnWidth", "paramtype":"uint32 *" }, + { "paramname":"pnHeight", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetImageRGBA", + "methodname_flat": "SteamAPI_ISteamUtils_GetImageRGBA", + "params": [ + { "paramname":"iImage", "paramtype":"int" }, + { "paramname":"pubDest", "paramtype":"uint8 *" }, + { "paramname":"nDestBufferSize", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetCurrentBatteryPower", + "methodname_flat": "SteamAPI_ISteamUtils_GetCurrentBatteryPower", + "params": [], + "returntype": "uint8" + }, + { + "methodname": "GetAppID", + "methodname_flat": "SteamAPI_ISteamUtils_GetAppID", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetOverlayNotificationPosition", + "methodname_flat": "SteamAPI_ISteamUtils_SetOverlayNotificationPosition", + "params": [ + { "paramname":"eNotificationPosition", "paramtype":"ENotificationPosition" } + ], + "returntype": "void" + }, + { + "methodname": "IsAPICallCompleted", + "methodname_flat": "SteamAPI_ISteamUtils_IsAPICallCompleted", + "params": [ + { "paramname":"hSteamAPICall", "paramtype":"SteamAPICall_t" }, + { "paramname":"pbFailed", "paramtype":"bool *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAPICallFailureReason", + "methodname_flat": "SteamAPI_ISteamUtils_GetAPICallFailureReason", + "params": [ + { "paramname":"hSteamAPICall", "paramtype":"SteamAPICall_t" } + ], + "returntype": "ESteamAPICallFailure" + }, + { + "methodname": "GetAPICallResult", + "methodname_flat": "SteamAPI_ISteamUtils_GetAPICallResult", + "params": [ + { "paramname":"hSteamAPICall", "paramtype":"SteamAPICall_t" }, + { "paramname":"pCallback", "paramtype":"void *" }, + { "paramname":"cubCallback", "paramtype":"int" }, + { "paramname":"iCallbackExpected", "paramtype":"int" }, + { "paramname":"pbFailed", "paramtype":"bool *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetIPCCallCount", + "methodname_flat": "SteamAPI_ISteamUtils_GetIPCCallCount", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetWarningMessageHook", + "methodname_flat": "SteamAPI_ISteamUtils_SetWarningMessageHook", + "params": [ + { "paramname":"pFunction", "paramtype":"SteamAPIWarningMessageHook_t" } + ], + "returntype": "void" + }, + { + "methodname": "IsOverlayEnabled", + "methodname_flat": "SteamAPI_ISteamUtils_IsOverlayEnabled", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BOverlayNeedsPresent", + "methodname_flat": "SteamAPI_ISteamUtils_BOverlayNeedsPresent", + "params": [], + "returntype": "bool" + }, + { + "callresult": "CheckFileSignature_t", + "methodname": "CheckFileSignature", + "methodname_flat": "SteamAPI_ISteamUtils_CheckFileSignature", + "params": [ + { "paramname":"szFileName", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "ShowGamepadTextInput", + "methodname_flat": "SteamAPI_ISteamUtils_ShowGamepadTextInput", + "params": [ + { "paramname":"eInputMode", "paramtype":"EGamepadTextInputMode" }, + { "paramname":"eLineInputMode", "paramtype":"EGamepadTextInputLineMode" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"unCharMax", "paramtype":"uint32" }, + { "paramname":"pchExistingText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetEnteredGamepadTextLength", + "methodname_flat": "SteamAPI_ISteamUtils_GetEnteredGamepadTextLength", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetEnteredGamepadTextInput", + "methodname_flat": "SteamAPI_ISteamUtils_GetEnteredGamepadTextInput", + "params": [ + { "paramname":"pchText", "paramtype":"char *" }, + { "paramname":"cchText", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetSteamUILanguage", + "methodname_flat": "SteamAPI_ISteamUtils_GetSteamUILanguage", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "IsSteamRunningInVR", + "methodname_flat": "SteamAPI_ISteamUtils_IsSteamRunningInVR", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetOverlayNotificationInset", + "methodname_flat": "SteamAPI_ISteamUtils_SetOverlayNotificationInset", + "params": [ + { "paramname":"nHorizontalInset", "paramtype":"int" }, + { "paramname":"nVerticalInset", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "IsSteamInBigPictureMode", + "methodname_flat": "SteamAPI_ISteamUtils_IsSteamInBigPictureMode", + "params": [], + "returntype": "bool" + }, + { + "methodname": "StartVRDashboard", + "methodname_flat": "SteamAPI_ISteamUtils_StartVRDashboard", + "params": [], + "returntype": "void" + }, + { + "methodname": "IsVRHeadsetStreamingEnabled", + "methodname_flat": "SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetVRHeadsetStreamingEnabled", + "methodname_flat": "SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled", + "params": [ + { "paramname":"bEnabled", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "IsSteamChinaLauncher", + "methodname_flat": "SteamAPI_ISteamUtils_IsSteamChinaLauncher", + "params": [], + "returntype": "bool" + }, + { + "methodname": "InitFilterText", + "methodname_flat": "SteamAPI_ISteamUtils_InitFilterText", + "params": [ + { "paramname":"unFilterOptions", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "FilterText", + "methodname_flat": "SteamAPI_ISteamUtils_FilterText", + "params": [ + { "paramname":"eContext", "paramtype":"ETextFilteringContext" }, + { "paramname":"sourceSteamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchInputMessage", "paramtype":"const char *" }, + { "paramname":"pchOutFilteredText", "paramtype":"char *" }, + { "paramname":"nByteSizeOutFilteredText", "paramtype":"uint32" } + ], + "returntype": "int" + }, + { + "methodname": "GetIPv6ConnectivityState", + "methodname_flat": "SteamAPI_ISteamUtils_GetIPv6ConnectivityState", + "params": [ + { "paramname":"eProtocol", "paramtype":"ESteamIPv6ConnectivityProtocol" } + ], + "returntype": "ESteamIPv6ConnectivityState" + }, + { + "methodname": "IsSteamRunningOnSteamDeck", + "methodname_flat": "SteamAPI_ISteamUtils_IsSteamRunningOnSteamDeck", + "params": [], + "returntype": "bool" + }, + { + "methodname": "ShowFloatingGamepadTextInput", + "methodname_flat": "SteamAPI_ISteamUtils_ShowFloatingGamepadTextInput", + "params": [ + { "paramname":"eKeyboardMode", "paramtype":"EFloatingGamepadTextInputMode" }, + { "paramname":"nTextFieldXPosition", "paramtype":"int" }, + { "paramname":"nTextFieldYPosition", "paramtype":"int" }, + { "paramname":"nTextFieldWidth", "paramtype":"int" }, + { "paramname":"nTextFieldHeight", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGameLauncherMode", + "methodname_flat": "SteamAPI_ISteamUtils_SetGameLauncherMode", + "params": [ + { "paramname":"bLauncherMode", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "DismissFloatingGamepadTextInput", + "methodname_flat": "SteamAPI_ISteamUtils_DismissFloatingGamepadTextInput", + "params": [], + "returntype": "bool" + }, + { + "methodname": "DismissGamepadTextInput", + "methodname_flat": "SteamAPI_ISteamUtils_DismissGamepadTextInput", + "params": [], + "returntype": "bool" + } + ], + "version_string": "SteamUtils010" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamMatchmaking", + "name_flat": "SteamAPI_SteamMatchmaking_v009" + } + ], + "classname": "ISteamMatchmaking", + "fields": [], + "methods": [ + { + "methodname": "GetFavoriteGameCount", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetFavoriteGameCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "GetFavoriteGame", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetFavoriteGame", + "params": [ + { "paramname":"iGame", "paramtype":"int" }, + { "paramname":"pnAppID", "paramtype":"AppId_t *" }, + { "paramname":"pnIP", "paramtype":"uint32 *" }, + { "paramname":"pnConnPort", "paramtype":"uint16 *" }, + { "paramname":"pnQueryPort", "paramtype":"uint16 *" }, + { "paramname":"punFlags", "paramtype":"uint32 *" }, + { "paramname":"pRTime32LastPlayedOnServer", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddFavoriteGame", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddFavoriteGame", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" }, + { "paramname":"nIP", "paramtype":"uint32" }, + { "paramname":"nConnPort", "paramtype":"uint16" }, + { "paramname":"nQueryPort", "paramtype":"uint16" }, + { "paramname":"unFlags", "paramtype":"uint32" }, + { "paramname":"rTime32LastPlayedOnServer", "paramtype":"uint32" } + ], + "returntype": "int" + }, + { + "methodname": "RemoveFavoriteGame", + "methodname_flat": "SteamAPI_ISteamMatchmaking_RemoveFavoriteGame", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" }, + { "paramname":"nIP", "paramtype":"uint32" }, + { "paramname":"nConnPort", "paramtype":"uint16" }, + { "paramname":"nQueryPort", "paramtype":"uint16" }, + { "paramname":"unFlags", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "callresult": "LobbyMatchList_t", + "methodname": "RequestLobbyList", + "methodname_flat": "SteamAPI_ISteamMatchmaking_RequestLobbyList", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "AddRequestLobbyListStringFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter", + "params": [ + { "paramname":"pchKeyToMatch", "paramtype":"const char *" }, + { "paramname":"pchValueToMatch", "paramtype":"const char *" }, + { "paramname":"eComparisonType", "paramtype":"ELobbyComparison" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListNumericalFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter", + "params": [ + { "paramname":"pchKeyToMatch", "paramtype":"const char *" }, + { "paramname":"nValueToMatch", "paramtype":"int" }, + { "paramname":"eComparisonType", "paramtype":"ELobbyComparison" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListNearValueFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter", + "params": [ + { "paramname":"pchKeyToMatch", "paramtype":"const char *" }, + { "paramname":"nValueToBeCloseTo", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListFilterSlotsAvailable", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable", + "params": [ + { "paramname":"nSlotsAvailable", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListDistanceFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter", + "params": [ + { "paramname":"eLobbyDistanceFilter", "paramtype":"ELobbyDistanceFilter" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListResultCountFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter", + "params": [ + { "paramname":"cMaxResults", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "AddRequestLobbyListCompatibleMembersFilter", + "methodname_flat": "SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "GetLobbyByIndex", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyByIndex", + "params": [ + { "paramname":"iLobby", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "callresult": "LobbyCreated_t", + "methodname": "CreateLobby", + "methodname_flat": "SteamAPI_ISteamMatchmaking_CreateLobby", + "params": [ + { "paramname":"eLobbyType", "paramtype":"ELobbyType" }, + { "paramname":"cMaxMembers", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "LobbyEnter_t", + "methodname": "JoinLobby", + "methodname_flat": "SteamAPI_ISteamMatchmaking_JoinLobby", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "LeaveLobby", + "methodname_flat": "SteamAPI_ISteamMatchmaking_LeaveLobby", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "InviteUserToLobby", + "methodname_flat": "SteamAPI_ISteamMatchmaking_InviteUserToLobby", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDInvitee", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNumLobbyMembers", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetNumLobbyMembers", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetLobbyMemberByIndex", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iMember", "paramtype":"int" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetLobbyData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "const char *" + }, + { + "methodname": "SetLobbyData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetLobbyDataCount", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyDataCount", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "GetLobbyDataByIndex", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iLobbyData", "paramtype":"int" }, + { "paramname":"pchKey", "paramtype":"char *" }, + { "paramname":"cchKeyBufferSize", "paramtype":"int" }, + { "paramname":"pchValue", "paramtype":"char *" }, + { "paramname":"cchValueBufferSize", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "DeleteLobbyData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_DeleteLobbyData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetLobbyMemberData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyMemberData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "const char *" + }, + { + "methodname": "SetLobbyMemberData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyMemberData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SendLobbyChatMsg", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SendLobbyChatMsg", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pvMsgBody", "paramtype":"const void *" }, + { "paramname":"cubMsgBody", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetLobbyChatEntry", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyChatEntry", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"iChatID", "paramtype":"int" }, + { + "out_struct": "", + "paramname": "pSteamIDUser", + "paramtype": "CSteamID *" + }, + { "paramname":"pvData", "paramtype":"void *" }, + { "paramname":"cubData", "paramtype":"int" }, + { "paramname":"peChatEntryType", "paramtype":"EChatEntryType *" } + ], + "returntype": "int" + }, + { + "methodname": "RequestLobbyData", + "methodname_flat": "SteamAPI_ISteamMatchmaking_RequestLobbyData", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "SetLobbyGameServer", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyGameServer", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"unGameServerIP", "paramtype":"uint32" }, + { "paramname":"unGameServerPort", "paramtype":"uint16" }, + { "paramname":"steamIDGameServer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "GetLobbyGameServer", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyGameServer", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"punGameServerIP", "paramtype":"uint32 *" }, + { "paramname":"punGameServerPort", "paramtype":"uint16 *" }, + { + "out_struct": "", + "paramname": "psteamIDGameServer", + "paramtype": "CSteamID *" + } + ], + "returntype": "bool" + }, + { + "methodname": "SetLobbyMemberLimit", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"cMaxMembers", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetLobbyMemberLimit", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "int" + }, + { + "methodname": "SetLobbyType", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyType", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"eLobbyType", "paramtype":"ELobbyType" } + ], + "returntype": "bool" + }, + { + "methodname": "SetLobbyJoinable", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyJoinable", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"bLobbyJoinable", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "GetLobbyOwner", + "methodname_flat": "SteamAPI_ISteamMatchmaking_GetLobbyOwner", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "SetLobbyOwner", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLobbyOwner", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDNewOwner", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "SetLinkedLobby", + "methodname_flat": "SteamAPI_ISteamMatchmaking_SetLinkedLobby", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDLobbyDependent", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamMatchMaking009" + }, + { + "classname": "ISteamMatchmakingServerListResponse", + "fields": [], + "methods": [ + { + "methodname": "ServerResponded", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" }, + { "paramname":"iServer", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "ServerFailedToRespond", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" }, + { "paramname":"iServer", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "RefreshComplete", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" }, + { "paramname":"response", "paramtype":"EMatchMakingServerResponse" } + ], + "returntype": "void" + } + ] + }, + { + "classname": "ISteamMatchmakingPingResponse", + "fields": [], + "methods": [ + { + "methodname": "ServerResponded", + "methodname_flat": "SteamAPI_ISteamMatchmakingPingResponse_ServerResponded", + "params": [ + { "paramname":"server", "paramtype":"gameserveritem_t &" } + ], + "returntype": "void" + }, + { + "methodname": "ServerFailedToRespond", + "methodname_flat": "SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond", + "params": [], + "returntype": "void" + } + ] + }, + { + "classname": "ISteamMatchmakingPlayersResponse", + "fields": [], + "methods": [ + { + "methodname": "AddPlayerToList", + "methodname_flat": "SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"nScore", "paramtype":"int" }, + { "paramname":"flTimePlayed", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "PlayersFailedToRespond", + "methodname_flat": "SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond", + "params": [], + "returntype": "void" + }, + { + "methodname": "PlayersRefreshComplete", + "methodname_flat": "SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete", + "params": [], + "returntype": "void" + } + ] + }, + { + "classname": "ISteamMatchmakingRulesResponse", + "fields": [], + "methods": [ + { + "methodname": "RulesResponded", + "methodname_flat": "SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded", + "params": [ + { "paramname":"pchRule", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "RulesFailedToRespond", + "methodname_flat": "SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond", + "params": [], + "returntype": "void" + }, + { + "methodname": "RulesRefreshComplete", + "methodname_flat": "SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete", + "params": [], + "returntype": "void" + } + ] + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamMatchmakingServers", + "name_flat": "SteamAPI_SteamMatchmakingServers_v002" + } + ], + "classname": "ISteamMatchmakingServers", + "fields": [], + "methods": [ + { + "methodname": "RequestInternetServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestInternetServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { + "array_count": "nFilters", + "paramname": "ppchFilters", + "paramtype": "MatchMakingKeyValuePair_t **" + }, + { "paramname":"nFilters", "paramtype":"uint32" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "RequestLANServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestLANServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "RequestFriendsServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { + "array_count": "nFilters", + "paramname": "ppchFilters", + "paramtype": "MatchMakingKeyValuePair_t **" + }, + { "paramname":"nFilters", "paramtype":"uint32" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "RequestFavoritesServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { + "array_count": "nFilters", + "paramname": "ppchFilters", + "paramtype": "MatchMakingKeyValuePair_t **" + }, + { "paramname":"nFilters", "paramtype":"uint32" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "RequestHistoryServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { + "array_count": "nFilters", + "paramname": "ppchFilters", + "paramtype": "MatchMakingKeyValuePair_t **" + }, + { "paramname":"nFilters", "paramtype":"uint32" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "RequestSpectatorServerList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList", + "params": [ + { "paramname":"iApp", "paramtype":"AppId_t" }, + { + "array_count": "nFilters", + "paramname": "ppchFilters", + "paramtype": "MatchMakingKeyValuePair_t **" + }, + { "paramname":"nFilters", "paramtype":"uint32" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerListResponse *" } + ], + "returntype": "HServerListRequest" + }, + { + "methodname": "ReleaseRequest", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_ReleaseRequest", + "params": [ + { "paramname":"hServerListRequest", "paramtype":"HServerListRequest" } + ], + "returntype": "void" + }, + { + "methodname": "GetServerDetails", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_GetServerDetails", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" }, + { "paramname":"iServer", "paramtype":"int" } + ], + "returntype": "gameserveritem_t *" + }, + { + "methodname": "CancelQuery", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_CancelQuery", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" } + ], + "returntype": "void" + }, + { + "methodname": "RefreshQuery", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RefreshQuery", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" } + ], + "returntype": "void" + }, + { + "methodname": "IsRefreshing", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_IsRefreshing", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" } + ], + "returntype": "bool" + }, + { + "methodname": "GetServerCount", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_GetServerCount", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" } + ], + "returntype": "int" + }, + { + "methodname": "RefreshServer", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_RefreshServer", + "params": [ + { "paramname":"hRequest", "paramtype":"HServerListRequest" }, + { "paramname":"iServer", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "PingServer", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_PingServer", + "params": [ + { "paramname":"unIP", "paramtype":"uint32" }, + { "paramname":"usPort", "paramtype":"uint16" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingPingResponse *" } + ], + "returntype": "HServerQuery" + }, + { + "methodname": "PlayerDetails", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_PlayerDetails", + "params": [ + { "paramname":"unIP", "paramtype":"uint32" }, + { "paramname":"usPort", "paramtype":"uint16" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingPlayersResponse *" } + ], + "returntype": "HServerQuery" + }, + { + "methodname": "ServerRules", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_ServerRules", + "params": [ + { "paramname":"unIP", "paramtype":"uint32" }, + { "paramname":"usPort", "paramtype":"uint16" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingRulesResponse *" } + ], + "returntype": "HServerQuery" + }, + { + "methodname": "CancelServerQuery", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_CancelServerQuery", + "params": [ + { "paramname":"hServerQuery", "paramtype":"HServerQuery" } + ], + "returntype": "void" + } + ], + "version_string": "SteamMatchMakingServers002" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamGameSearch", + "name_flat": "SteamAPI_SteamGameSearch_v001" + } + ], + "classname": "ISteamGameSearch", + "fields": [], + "methods": [ + { + "methodname": "AddGameSearchParams", + "methodname_flat": "SteamAPI_ISteamGameSearch_AddGameSearchParams", + "params": [ + { "paramname":"pchKeyToFind", "paramtype":"const char *" }, + { "paramname":"pchValuesToFind", "paramtype":"const char *" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "SearchForGameWithLobby", + "methodname_flat": "SteamAPI_ISteamGameSearch_SearchForGameWithLobby", + "params": [ + { "paramname":"steamIDLobby", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"nPlayerMin", "paramtype":"int" }, + { "paramname":"nPlayerMax", "paramtype":"int" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "SearchForGameSolo", + "methodname_flat": "SteamAPI_ISteamGameSearch_SearchForGameSolo", + "params": [ + { "paramname":"nPlayerMin", "paramtype":"int" }, + { "paramname":"nPlayerMax", "paramtype":"int" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "AcceptGame", + "methodname_flat": "SteamAPI_ISteamGameSearch_AcceptGame", + "params": [], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "DeclineGame", + "methodname_flat": "SteamAPI_ISteamGameSearch_DeclineGame", + "params": [], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "RetrieveConnectionDetails", + "methodname_flat": "SteamAPI_ISteamGameSearch_RetrieveConnectionDetails", + "params": [ + { "paramname":"steamIDHost", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchConnectionDetails", "paramtype":"char *" }, + { "paramname":"cubConnectionDetails", "paramtype":"int" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "EndGameSearch", + "methodname_flat": "SteamAPI_ISteamGameSearch_EndGameSearch", + "params": [], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "SetGameHostParams", + "methodname_flat": "SteamAPI_ISteamGameSearch_SetGameHostParams", + "params": [ + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "SetConnectionDetails", + "methodname_flat": "SteamAPI_ISteamGameSearch_SetConnectionDetails", + "params": [ + { "paramname":"pchConnectionDetails", "paramtype":"const char *" }, + { "paramname":"cubConnectionDetails", "paramtype":"int" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "RequestPlayersForGame", + "methodname_flat": "SteamAPI_ISteamGameSearch_RequestPlayersForGame", + "params": [ + { "paramname":"nPlayerMin", "paramtype":"int" }, + { "paramname":"nPlayerMax", "paramtype":"int" }, + { "paramname":"nMaxTeamSize", "paramtype":"int" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "HostConfirmGameStart", + "methodname_flat": "SteamAPI_ISteamGameSearch_HostConfirmGameStart", + "params": [ + { "paramname":"ullUniqueGameID", "paramtype":"uint64" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "CancelRequestPlayersForGame", + "methodname_flat": "SteamAPI_ISteamGameSearch_CancelRequestPlayersForGame", + "params": [], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "SubmitPlayerResult", + "methodname_flat": "SteamAPI_ISteamGameSearch_SubmitPlayerResult", + "params": [ + { "paramname":"ullUniqueGameID", "paramtype":"uint64" }, + { "paramname":"steamIDPlayer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"EPlayerResult", "paramtype":"EPlayerResult_t" } + ], + "returntype": "EGameSearchErrorCode_t" + }, + { + "methodname": "EndGame", + "methodname_flat": "SteamAPI_ISteamGameSearch_EndGame", + "params": [ + { "paramname":"ullUniqueGameID", "paramtype":"uint64" } + ], + "returntype": "EGameSearchErrorCode_t" + } + ], + "version_string": "SteamMatchGameSearch001" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamParties", + "name_flat": "SteamAPI_SteamParties_v002" + } + ], + "classname": "ISteamParties", + "fields": [], + "methods": [ + { + "methodname": "GetNumActiveBeacons", + "methodname_flat": "SteamAPI_ISteamParties_GetNumActiveBeacons", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetBeaconByIndex", + "methodname_flat": "SteamAPI_ISteamParties_GetBeaconByIndex", + "params": [ + { "paramname":"unIndex", "paramtype":"uint32" } + ], + "returntype": "PartyBeaconID_t" + }, + { + "methodname": "GetBeaconDetails", + "methodname_flat": "SteamAPI_ISteamParties_GetBeaconDetails", + "params": [ + { "paramname":"ulBeaconID", "paramtype":"PartyBeaconID_t" }, + { "paramname":"pSteamIDBeaconOwner", "paramtype":"CSteamID *" }, + { + "out_struct": "", + "paramname": "pLocation", + "paramtype": "SteamPartyBeaconLocation_t *" + }, + { + "out_string_count": "cchMetadata", + "paramname": "pchMetadata", + "paramtype": "char *" + }, + { "paramname":"cchMetadata", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "callresult": "JoinPartyCallback_t", + "methodname": "JoinParty", + "methodname_flat": "SteamAPI_ISteamParties_JoinParty", + "params": [ + { "paramname":"ulBeaconID", "paramtype":"PartyBeaconID_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetNumAvailableBeaconLocations", + "methodname_flat": "SteamAPI_ISteamParties_GetNumAvailableBeaconLocations", + "params": [ + { "paramname":"puNumLocations", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAvailableBeaconLocations", + "methodname_flat": "SteamAPI_ISteamParties_GetAvailableBeaconLocations", + "params": [ + { "paramname":"pLocationList", "paramtype":"SteamPartyBeaconLocation_t *" }, + { "paramname":"uMaxNumLocations", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "callresult": "CreateBeaconCallback_t", + "methodname": "CreateBeacon", + "methodname_flat": "SteamAPI_ISteamParties_CreateBeacon", + "params": [ + { "paramname":"unOpenSlots", "paramtype":"uint32" }, + { "paramname":"pBeaconLocation", "paramtype":"SteamPartyBeaconLocation_t *" }, + { "paramname":"pchConnectString", "paramtype":"const char *" }, + { "paramname":"pchMetadata", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "OnReservationCompleted", + "methodname_flat": "SteamAPI_ISteamParties_OnReservationCompleted", + "params": [ + { "paramname":"ulBeacon", "paramtype":"PartyBeaconID_t" }, + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "CancelReservation", + "methodname_flat": "SteamAPI_ISteamParties_CancelReservation", + "params": [ + { "paramname":"ulBeacon", "paramtype":"PartyBeaconID_t" }, + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "callresult": "ChangeNumOpenSlotsCallback_t", + "methodname": "ChangeNumOpenSlots", + "methodname_flat": "SteamAPI_ISteamParties_ChangeNumOpenSlots", + "params": [ + { "paramname":"ulBeacon", "paramtype":"PartyBeaconID_t" }, + { "paramname":"unOpenSlots", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "DestroyBeacon", + "methodname_flat": "SteamAPI_ISteamParties_DestroyBeacon", + "params": [ + { "paramname":"ulBeacon", "paramtype":"PartyBeaconID_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetBeaconLocationData", + "methodname_flat": "SteamAPI_ISteamParties_GetBeaconLocationData", + "params": [ + { "paramname":"BeaconLocation", "paramtype":"SteamPartyBeaconLocation_t" }, + { "paramname":"eData", "paramtype":"ESteamPartyBeaconLocationData" }, + { + "out_string_count": "cchDataStringOut", + "paramname": "pchDataStringOut", + "paramtype": "char *" + }, + { "paramname":"cchDataStringOut", "paramtype":"int" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamParties002" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamRemoteStorage", + "name_flat": "SteamAPI_SteamRemoteStorage_v016" + } + ], + "classname": "ISteamRemoteStorage", + "fields": [], + "methods": [ + { + "methodname": "FileWrite", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWrite", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"pvData", "paramtype":"const void *" }, + { "paramname":"cubData", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "FileRead", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileRead", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"pvData", "paramtype":"void *" }, + { "paramname":"cubDataToRead", "paramtype":"int32" } + ], + "returntype": "int32" + }, + { + "callresult": "RemoteStorageFileWriteAsyncComplete_t", + "methodname": "FileWriteAsync", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWriteAsync", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"pvData", "paramtype":"const void *" }, + { "paramname":"cubData", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageFileReadAsyncComplete_t", + "methodname": "FileReadAsync", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileReadAsync", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"nOffset", "paramtype":"uint32" }, + { "paramname":"cubToRead", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "FileReadAsyncComplete", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete", + "params": [ + { "paramname":"hReadCall", "paramtype":"SteamAPICall_t" }, + { "paramname":"pvBuffer", "paramtype":"void *" }, + { "paramname":"cubToRead", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "FileForget", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileForget", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "FileDelete", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileDelete", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "callresult": "RemoteStorageFileShareResult_t", + "methodname": "FileShare", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileShare", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "SetSyncPlatforms", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_SetSyncPlatforms", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"eRemoteStoragePlatform", "paramtype":"ERemoteStoragePlatform" } + ], + "returntype": "bool" + }, + { + "methodname": "FileWriteStreamOpen", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "UGCFileWriteStreamHandle_t" + }, + { + "methodname": "FileWriteStreamWriteChunk", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk", + "params": [ + { "paramname":"writeHandle", "paramtype":"UGCFileWriteStreamHandle_t" }, + { "paramname":"pvData", "paramtype":"const void *" }, + { "paramname":"cubData", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "FileWriteStreamClose", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWriteStreamClose", + "params": [ + { "paramname":"writeHandle", "paramtype":"UGCFileWriteStreamHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "FileWriteStreamCancel", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel", + "params": [ + { "paramname":"writeHandle", "paramtype":"UGCFileWriteStreamHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "FileExists", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FileExists", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "FilePersisted", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_FilePersisted", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetFileSize", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetFileSize", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "int32" + }, + { + "methodname": "GetFileTimestamp", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetFileTimestamp", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "int64" + }, + { + "methodname": "GetSyncPlatforms", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetSyncPlatforms", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "ERemoteStoragePlatform" + }, + { + "methodname": "GetFileCount", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetFileCount", + "params": [], + "returntype": "int32" + }, + { + "methodname": "GetFileNameAndSize", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetFileNameAndSize", + "params": [ + { "paramname":"iFile", "paramtype":"int" }, + { "paramname":"pnFileSizeInBytes", "paramtype":"int32 *" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetQuota", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetQuota", + "params": [ + { "paramname":"pnTotalBytes", "paramtype":"uint64 *" }, + { "paramname":"puAvailableBytes", "paramtype":"uint64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "IsCloudEnabledForAccount", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount", + "params": [], + "returntype": "bool" + }, + { + "methodname": "IsCloudEnabledForApp", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetCloudEnabledForApp", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp", + "params": [ + { "paramname":"bEnabled", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "callresult": "RemoteStorageDownloadUGCResult_t", + "methodname": "UGCDownload", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UGCDownload", + "params": [ + { "paramname":"hContent", "paramtype":"UGCHandle_t" }, + { "paramname":"unPriority", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetUGCDownloadProgress", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress", + "params": [ + { "paramname":"hContent", "paramtype":"UGCHandle_t" }, + { "paramname":"pnBytesDownloaded", "paramtype":"int32 *" }, + { "paramname":"pnBytesExpected", "paramtype":"int32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUGCDetails", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetUGCDetails", + "params": [ + { "paramname":"hContent", "paramtype":"UGCHandle_t" }, + { "paramname":"pnAppID", "paramtype":"AppId_t *" }, + { + "out_string": "", + "paramname": "ppchName", + "paramtype": "char **" + }, + { "paramname":"pnFileSizeInBytes", "paramtype":"int32 *" }, + { + "out_struct": "", + "paramname": "pSteamIDOwner", + "paramtype": "CSteamID *" + } + ], + "returntype": "bool" + }, + { + "methodname": "UGCRead", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UGCRead", + "params": [ + { "paramname":"hContent", "paramtype":"UGCHandle_t" }, + { "paramname":"pvData", "paramtype":"void *" }, + { "paramname":"cubDataToRead", "paramtype":"int32" }, + { "paramname":"cOffset", "paramtype":"uint32" }, + { "paramname":"eAction", "paramtype":"EUGCReadAction" } + ], + "returntype": "int32" + }, + { + "methodname": "GetCachedUGCCount", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetCachedUGCCount", + "params": [], + "returntype": "int32" + }, + { + "methodname": "GetCachedUGCHandle", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle", + "params": [ + { "paramname":"iCachedContent", "paramtype":"int32" } + ], + "returntype": "UGCHandle_t" + }, + { + "callresult": "RemoteStoragePublishFileProgress_t", + "methodname": "PublishWorkshopFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_PublishWorkshopFile", + "params": [ + { "paramname":"pchFile", "paramtype":"const char *" }, + { "paramname":"pchPreviewFile", "paramtype":"const char *" }, + { "paramname":"nConsumerAppId", "paramtype":"AppId_t" }, + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"eVisibility", "paramtype":"ERemoteStoragePublishedFileVisibility" }, + { "paramname":"pTags", "paramtype":"SteamParamStringArray_t *" }, + { "paramname":"eWorkshopFileType", "paramtype":"EWorkshopFileType" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "CreatePublishedFileUpdateRequest", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "PublishedFileUpdateHandle_t" + }, + { + "methodname": "UpdatePublishedFileFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pchFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePublishedFilePreviewFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pchPreviewFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePublishedFileTitle", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pchTitle", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePublishedFileDescription", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pchDescription", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePublishedFileVisibility", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"eVisibility", "paramtype":"ERemoteStoragePublishedFileVisibility" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePublishedFileTags", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pTags", "paramtype":"SteamParamStringArray_t *" } + ], + "returntype": "bool" + }, + { + "callresult": "RemoteStorageUpdatePublishedFileResult_t", + "methodname": "CommitPublishedFileUpdate", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageGetPublishedFileDetailsResult_t", + "methodname": "GetPublishedFileDetails", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" }, + { "paramname":"unMaxSecondsOld", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageDeletePublishedFileResult_t", + "methodname": "DeletePublishedFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_DeletePublishedFile", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageEnumerateUserPublishedFilesResult_t", + "methodname": "EnumerateUserPublishedFiles", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles", + "params": [ + { "paramname":"unStartIndex", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageSubscribePublishedFileResult_t", + "methodname": "SubscribePublishedFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_SubscribePublishedFile", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageEnumerateUserSubscribedFilesResult_t", + "methodname": "EnumerateUserSubscribedFiles", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles", + "params": [ + { "paramname":"unStartIndex", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageUnsubscribePublishedFileResult_t", + "methodname": "UnsubscribePublishedFile", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "UpdatePublishedFileSetChangeDescription", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription", + "params": [ + { "paramname":"updateHandle", "paramtype":"PublishedFileUpdateHandle_t" }, + { "paramname":"pchChangeDescription", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "callresult": "RemoteStorageGetPublishedItemVoteDetailsResult_t", + "methodname": "GetPublishedItemVoteDetails", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageUpdateUserPublishedItemVoteResult_t", + "methodname": "UpdateUserPublishedItemVote", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" }, + { "paramname":"bVoteUp", "paramtype":"bool" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageGetPublishedItemVoteDetailsResult_t", + "methodname": "GetUserPublishedItemVoteDetails", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageEnumerateUserPublishedFilesResult_t", + "methodname": "EnumerateUserSharedWorkshopFiles", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles", + "params": [ + { "paramname":"steamId", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"unStartIndex", "paramtype":"uint32" }, + { "paramname":"pRequiredTags", "paramtype":"SteamParamStringArray_t *" }, + { "paramname":"pExcludedTags", "paramtype":"SteamParamStringArray_t *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStoragePublishFileProgress_t", + "methodname": "PublishVideo", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_PublishVideo", + "params": [ + { "paramname":"eVideoProvider", "paramtype":"EWorkshopVideoProvider" }, + { "paramname":"pchVideoAccount", "paramtype":"const char *" }, + { "paramname":"pchVideoIdentifier", "paramtype":"const char *" }, + { "paramname":"pchPreviewFile", "paramtype":"const char *" }, + { "paramname":"nConsumerAppId", "paramtype":"AppId_t" }, + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"eVisibility", "paramtype":"ERemoteStoragePublishedFileVisibility" }, + { "paramname":"pTags", "paramtype":"SteamParamStringArray_t *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageSetUserPublishedFileActionResult_t", + "methodname": "SetUserPublishedFileAction", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction", + "params": [ + { "paramname":"unPublishedFileId", "paramtype":"PublishedFileId_t" }, + { "paramname":"eAction", "paramtype":"EWorkshopFileAction" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageEnumeratePublishedFilesByUserActionResult_t", + "methodname": "EnumeratePublishedFilesByUserAction", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction", + "params": [ + { "paramname":"eAction", "paramtype":"EWorkshopFileAction" }, + { "paramname":"unStartIndex", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageEnumerateWorkshopFilesResult_t", + "methodname": "EnumeratePublishedWorkshopFiles", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles", + "params": [ + { "paramname":"eEnumerationType", "paramtype":"EWorkshopEnumerationType" }, + { "paramname":"unStartIndex", "paramtype":"uint32" }, + { "paramname":"unCount", "paramtype":"uint32" }, + { "paramname":"unDays", "paramtype":"uint32" }, + { "paramname":"pTags", "paramtype":"SteamParamStringArray_t *" }, + { "paramname":"pUserTags", "paramtype":"SteamParamStringArray_t *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageDownloadUGCResult_t", + "methodname": "UGCDownloadToLocation", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation", + "params": [ + { "paramname":"hContent", "paramtype":"UGCHandle_t" }, + { "paramname":"pchLocation", "paramtype":"const char *" }, + { "paramname":"unPriority", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetLocalFileChangeCount", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetLocalFileChangeCount", + "params": [], + "returntype": "int32" + }, + { + "methodname": "GetLocalFileChange", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_GetLocalFileChange", + "params": [ + { "paramname":"iFile", "paramtype":"int" }, + { "paramname":"pEChangeType", "paramtype":"ERemoteStorageLocalFileChange *" }, + { "paramname":"pEFilePathType", "paramtype":"ERemoteStorageFilePathType *" } + ], + "returntype": "const char *" + }, + { + "methodname": "BeginFileWriteBatch", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch", + "params": [], + "returntype": "bool" + }, + { + "methodname": "EndFileWriteBatch", + "methodname_flat": "SteamAPI_ISteamRemoteStorage_EndFileWriteBatch", + "params": [], + "returntype": "bool" + } + ], + "version_string": "STEAMREMOTESTORAGE_INTERFACE_VERSION016" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamUserStats", + "name_flat": "SteamAPI_SteamUserStats_v013" + } + ], + "classname": "ISteamUserStats", + "fields": [], + "methods": [ + { + "methodname": "GetStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetStatInt32", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"int32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetStatFloat", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"float *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetStat", + "methodname_flat": "SteamAPI_ISteamUserStats_SetStatInt32", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"nData", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetStat", + "methodname_flat": "SteamAPI_ISteamUserStats_SetStatFloat", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"fData", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateAvgRateStat", + "methodname_flat": "SteamAPI_ISteamUserStats_UpdateAvgRateStat", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"flCountThisSession", "paramtype":"float" }, + { "paramname":"dSessionLength", "paramtype":"double" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAchievement", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievement", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetAchievement", + "methodname_flat": "SteamAPI_ISteamUserStats_SetAchievement", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "ClearAchievement", + "methodname_flat": "SteamAPI_ISteamUserStats_ClearAchievement", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAchievementAndUnlockTime", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" }, + { "paramname":"punUnlockTime", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "StoreStats", + "methodname_flat": "SteamAPI_ISteamUserStats_StoreStats", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetAchievementIcon", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementIcon", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "int" + }, + { + "methodname": "GetAchievementDisplayAttribute", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "const char *" + }, + { + "methodname": "IndicateAchievementProgress", + "methodname_flat": "SteamAPI_ISteamUserStats_IndicateAchievementProgress", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"nCurProgress", "paramtype":"uint32" }, + { "paramname":"nMaxProgress", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNumAchievements", + "methodname_flat": "SteamAPI_ISteamUserStats_GetNumAchievements", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetAchievementName", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementName", + "params": [ + { "paramname":"iAchievement", "paramtype":"uint32" } + ], + "returntype": "const char *" + }, + { + "callresult": "UserStatsReceived_t", + "methodname": "RequestUserStats", + "methodname_flat": "SteamAPI_ISteamUserStats_RequestUserStats", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetUserStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetUserStatInt32", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"int32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUserStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetUserStatFloat", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"float *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUserAchievement", + "methodname_flat": "SteamAPI_ISteamUserStats_GetUserAchievement", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUserAchievementAndUnlockTime", + "methodname_flat": "SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" }, + { "paramname":"punUnlockTime", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "ResetAllStats", + "methodname_flat": "SteamAPI_ISteamUserStats_ResetAllStats", + "params": [ + { "paramname":"bAchievementsToo", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "callresult": "LeaderboardFindResult_t", + "methodname": "FindOrCreateLeaderboard", + "methodname_flat": "SteamAPI_ISteamUserStats_FindOrCreateLeaderboard", + "params": [ + { "paramname":"pchLeaderboardName", "paramtype":"const char *" }, + { "paramname":"eLeaderboardSortMethod", "paramtype":"ELeaderboardSortMethod" }, + { "paramname":"eLeaderboardDisplayType", "paramtype":"ELeaderboardDisplayType" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "LeaderboardFindResult_t", + "methodname": "FindLeaderboard", + "methodname_flat": "SteamAPI_ISteamUserStats_FindLeaderboard", + "params": [ + { "paramname":"pchLeaderboardName", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetLeaderboardName", + "methodname_flat": "SteamAPI_ISteamUserStats_GetLeaderboardName", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetLeaderboardEntryCount", + "methodname_flat": "SteamAPI_ISteamUserStats_GetLeaderboardEntryCount", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" } + ], + "returntype": "int" + }, + { + "methodname": "GetLeaderboardSortMethod", + "methodname_flat": "SteamAPI_ISteamUserStats_GetLeaderboardSortMethod", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" } + ], + "returntype": "ELeaderboardSortMethod" + }, + { + "methodname": "GetLeaderboardDisplayType", + "methodname_flat": "SteamAPI_ISteamUserStats_GetLeaderboardDisplayType", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" } + ], + "returntype": "ELeaderboardDisplayType" + }, + { + "callresult": "LeaderboardScoresDownloaded_t", + "methodname": "DownloadLeaderboardEntries", + "methodname_flat": "SteamAPI_ISteamUserStats_DownloadLeaderboardEntries", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" }, + { "paramname":"eLeaderboardDataRequest", "paramtype":"ELeaderboardDataRequest" }, + { "paramname":"nRangeStart", "paramtype":"int" }, + { "paramname":"nRangeEnd", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "LeaderboardScoresDownloaded_t", + "methodname": "DownloadLeaderboardEntriesForUsers", + "methodname_flat": "SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" }, + { + "array_count": "cUsers", + "desc": "Array of users to retrieve", + "paramname": "prgUsers", + "paramtype": "CSteamID *" + }, + { "paramname":"cUsers", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetDownloadedLeaderboardEntry", + "methodname_flat": "SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry", + "params": [ + { "paramname":"hSteamLeaderboardEntries", "paramtype":"SteamLeaderboardEntries_t" }, + { "paramname":"index", "paramtype":"int" }, + { "paramname":"pLeaderboardEntry", "paramtype":"LeaderboardEntry_t *" }, + { "paramname":"pDetails", "paramtype":"int32 *" }, + { "paramname":"cDetailsMax", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "callresult": "LeaderboardScoreUploaded_t", + "methodname": "UploadLeaderboardScore", + "methodname_flat": "SteamAPI_ISteamUserStats_UploadLeaderboardScore", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" }, + { "paramname":"eLeaderboardUploadScoreMethod", "paramtype":"ELeaderboardUploadScoreMethod" }, + { "paramname":"nScore", "paramtype":"int32" }, + { "paramname":"pScoreDetails", "paramtype":"const int32 *" }, + { "paramname":"cScoreDetailsCount", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "LeaderboardUGCSet_t", + "methodname": "AttachLeaderboardUGC", + "methodname_flat": "SteamAPI_ISteamUserStats_AttachLeaderboardUGC", + "params": [ + { "paramname":"hSteamLeaderboard", "paramtype":"SteamLeaderboard_t" }, + { "paramname":"hUGC", "paramtype":"UGCHandle_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "NumberOfCurrentPlayers_t", + "methodname": "GetNumberOfCurrentPlayers", + "methodname_flat": "SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "GlobalAchievementPercentagesReady_t", + "methodname": "RequestGlobalAchievementPercentages", + "methodname_flat": "SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetMostAchievedAchievementInfo", + "methodname_flat": "SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo", + "params": [ + { "paramname":"pchName", "paramtype":"char *" }, + { "paramname":"unNameBufLen", "paramtype":"uint32" }, + { "paramname":"pflPercent", "paramtype":"float *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" } + ], + "returntype": "int" + }, + { + "methodname": "GetNextMostAchievedAchievementInfo", + "methodname_flat": "SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo", + "params": [ + { "paramname":"iIteratorPrevious", "paramtype":"int" }, + { "paramname":"pchName", "paramtype":"char *" }, + { "paramname":"unNameBufLen", "paramtype":"uint32" }, + { "paramname":"pflPercent", "paramtype":"float *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" } + ], + "returntype": "int" + }, + { + "methodname": "GetAchievementAchievedPercent", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementAchievedPercent", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pflPercent", "paramtype":"float *" } + ], + "returntype": "bool" + }, + { + "callresult": "GlobalStatsReceived_t", + "methodname": "RequestGlobalStats", + "methodname_flat": "SteamAPI_ISteamUserStats_RequestGlobalStats", + "params": [ + { "paramname":"nHistoryDays", "paramtype":"int" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetGlobalStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetGlobalStatInt64", + "params": [ + { "paramname":"pchStatName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"int64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGlobalStat", + "methodname_flat": "SteamAPI_ISteamUserStats_GetGlobalStatDouble", + "params": [ + { "paramname":"pchStatName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"double *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGlobalStatHistory", + "methodname_flat": "SteamAPI_ISteamUserStats_GetGlobalStatHistoryInt64", + "params": [ + { "paramname":"pchStatName", "paramtype":"const char *" }, + { + "array_count": "cubData", + "paramname": "pData", + "paramtype": "int64 *" + }, + { "paramname":"cubData", "paramtype":"uint32" } + ], + "returntype": "int32" + }, + { + "methodname": "GetGlobalStatHistory", + "methodname_flat": "SteamAPI_ISteamUserStats_GetGlobalStatHistoryDouble", + "params": [ + { "paramname":"pchStatName", "paramtype":"const char *" }, + { + "array_count": "cubData", + "paramname": "pData", + "paramtype": "double *" + }, + { "paramname":"cubData", "paramtype":"uint32" } + ], + "returntype": "int32" + }, + { + "methodname": "GetAchievementProgressLimits", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementProgressLimitsInt32", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pnMinProgress", "paramtype":"int32 *" }, + { "paramname":"pnMaxProgress", "paramtype":"int32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAchievementProgressLimits", + "methodname_flat": "SteamAPI_ISteamUserStats_GetAchievementProgressLimitsFloat", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pfMinProgress", "paramtype":"float *" }, + { "paramname":"pfMaxProgress", "paramtype":"float *" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMUSERSTATS_INTERFACE_VERSION013" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamApps", + "name_flat": "SteamAPI_SteamApps_v008" + } + ], + "classname": "ISteamApps", + "fields": [], + "methods": [ + { + "methodname": "BIsSubscribed", + "methodname_flat": "SteamAPI_ISteamApps_BIsSubscribed", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsLowViolence", + "methodname_flat": "SteamAPI_ISteamApps_BIsLowViolence", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsCybercafe", + "methodname_flat": "SteamAPI_ISteamApps_BIsCybercafe", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsVACBanned", + "methodname_flat": "SteamAPI_ISteamApps_BIsVACBanned", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetCurrentGameLanguage", + "methodname_flat": "SteamAPI_ISteamApps_GetCurrentGameLanguage", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "GetAvailableGameLanguages", + "methodname_flat": "SteamAPI_ISteamApps_GetAvailableGameLanguages", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "BIsSubscribedApp", + "methodname_flat": "SteamAPI_ISteamApps_BIsSubscribedApp", + "params": [ + { "paramname":"appID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "BIsDlcInstalled", + "methodname_flat": "SteamAPI_ISteamApps_BIsDlcInstalled", + "params": [ + { "paramname":"appID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetEarliestPurchaseUnixTime", + "methodname_flat": "SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "uint32" + }, + { + "methodname": "BIsSubscribedFromFreeWeekend", + "methodname_flat": "SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetDLCCount", + "methodname_flat": "SteamAPI_ISteamApps_GetDLCCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "BGetDLCDataByIndex", + "methodname_flat": "SteamAPI_ISteamApps_BGetDLCDataByIndex", + "params": [ + { "paramname":"iDLC", "paramtype":"int" }, + { "paramname":"pAppID", "paramtype":"AppId_t *" }, + { "paramname":"pbAvailable", "paramtype":"bool *" }, + { "paramname":"pchName", "paramtype":"char *" }, + { "paramname":"cchNameBufferSize", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "InstallDLC", + "methodname_flat": "SteamAPI_ISteamApps_InstallDLC", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "void" + }, + { + "methodname": "UninstallDLC", + "methodname_flat": "SteamAPI_ISteamApps_UninstallDLC", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "void" + }, + { + "methodname": "RequestAppProofOfPurchaseKey", + "methodname_flat": "SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetCurrentBetaName", + "methodname_flat": "SteamAPI_ISteamApps_GetCurrentBetaName", + "params": [ + { "paramname":"pchName", "paramtype":"char *" }, + { "paramname":"cchNameBufferSize", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "MarkContentCorrupt", + "methodname_flat": "SteamAPI_ISteamApps_MarkContentCorrupt", + "params": [ + { "paramname":"bMissingFilesOnly", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "GetInstalledDepots", + "methodname_flat": "SteamAPI_ISteamApps_GetInstalledDepots", + "params": [ + { "paramname":"appID", "paramtype":"AppId_t" }, + { "paramname":"pvecDepots", "paramtype":"DepotId_t *" }, + { "paramname":"cMaxDepots", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetAppInstallDir", + "methodname_flat": "SteamAPI_ISteamApps_GetAppInstallDir", + "params": [ + { "paramname":"appID", "paramtype":"AppId_t" }, + { "paramname":"pchFolder", "paramtype":"char *" }, + { "paramname":"cchFolderBufferSize", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "BIsAppInstalled", + "methodname_flat": "SteamAPI_ISteamApps_BIsAppInstalled", + "params": [ + { "paramname":"appID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAppOwner", + "methodname_flat": "SteamAPI_ISteamApps_GetAppOwner", + "params": [], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetLaunchQueryParam", + "methodname_flat": "SteamAPI_ISteamApps_GetLaunchQueryParam", + "params": [ + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetDlcDownloadProgress", + "methodname_flat": "SteamAPI_ISteamApps_GetDlcDownloadProgress", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" }, + { "paramname":"punBytesDownloaded", "paramtype":"uint64 *" }, + { "paramname":"punBytesTotal", "paramtype":"uint64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetAppBuildId", + "methodname_flat": "SteamAPI_ISteamApps_GetAppBuildId", + "params": [], + "returntype": "int" + }, + { + "methodname": "RequestAllProofOfPurchaseKeys", + "methodname_flat": "SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys", + "params": [], + "returntype": "void" + }, + { + "callresult": "FileDetailsResult_t", + "methodname": "GetFileDetails", + "methodname_flat": "SteamAPI_ISteamApps_GetFileDetails", + "params": [ + { "paramname":"pszFileName", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetLaunchCommandLine", + "methodname_flat": "SteamAPI_ISteamApps_GetLaunchCommandLine", + "params": [ + { "paramname":"pszCommandLine", "paramtype":"char *" }, + { "paramname":"cubCommandLine", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "BIsSubscribedFromFamilySharing", + "methodname_flat": "SteamAPI_ISteamApps_BIsSubscribedFromFamilySharing", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsTimedTrial", + "methodname_flat": "SteamAPI_ISteamApps_BIsTimedTrial", + "params": [ + { "paramname":"punSecondsAllowed", "paramtype":"uint32 *" }, + { "paramname":"punSecondsPlayed", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetDlcContext", + "methodname_flat": "SteamAPI_ISteamApps_SetDlcContext", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNumBetas", + "methodname_flat": "SteamAPI_ISteamApps_GetNumBetas", + "params": [ + { "paramname":"pnAvailable", "paramtype":"int *" }, + { "paramname":"pnPrivate", "paramtype":"int *" } + ], + "returntype": "int" + }, + { + "methodname": "GetBetaInfo", + "methodname_flat": "SteamAPI_ISteamApps_GetBetaInfo", + "params": [ + { "paramname":"iBetaIndex", "paramtype":"int" }, + { "paramname":"punFlags", "paramtype":"uint32 *" }, + { "paramname":"punBuildID", "paramtype":"uint32 *" }, + { "paramname":"pchBetaName", "paramtype":"char *" }, + { "paramname":"cchBetaName", "paramtype":"int" }, + { "paramname":"pchDescription", "paramtype":"char *" }, + { "paramname":"cchDescription", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "SetActiveBeta", + "methodname_flat": "SteamAPI_ISteamApps_SetActiveBeta", + "params": [ + { "paramname":"pchBetaName", "paramtype":"const char *" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMAPPS_INTERFACE_VERSION008" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamNetworking", + "name_flat": "SteamAPI_SteamNetworking_v006" + }, + { + "kind": "gameserver", + "name": "SteamGameServerNetworking", + "name_flat": "SteamAPI_SteamGameServerNetworking_v006" + } + ], + "classname": "ISteamNetworking", + "fields": [], + "methods": [ + { + "methodname": "SendP2PPacket", + "methodname_flat": "SteamAPI_ISteamNetworking_SendP2PPacket", + "params": [ + { "paramname":"steamIDRemote", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pubData", "paramtype":"const void *" }, + { "paramname":"cubData", "paramtype":"uint32" }, + { "paramname":"eP2PSendType", "paramtype":"EP2PSend" }, + { "paramname":"nChannel", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "IsP2PPacketAvailable", + "methodname_flat": "SteamAPI_ISteamNetworking_IsP2PPacketAvailable", + "params": [ + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" }, + { "paramname":"nChannel", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "ReadP2PPacket", + "methodname_flat": "SteamAPI_ISteamNetworking_ReadP2PPacket", + "params": [ + { "paramname":"pubDest", "paramtype":"void *" }, + { "paramname":"cubDest", "paramtype":"uint32" }, + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" }, + { "paramname":"psteamIDRemote", "paramtype":"CSteamID *" }, + { "paramname":"nChannel", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "AcceptP2PSessionWithUser", + "methodname_flat": "SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser", + "params": [ + { "paramname":"steamIDRemote", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseP2PSessionWithUser", + "methodname_flat": "SteamAPI_ISteamNetworking_CloseP2PSessionWithUser", + "params": [ + { "paramname":"steamIDRemote", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseP2PChannelWithUser", + "methodname_flat": "SteamAPI_ISteamNetworking_CloseP2PChannelWithUser", + "params": [ + { "paramname":"steamIDRemote", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"nChannel", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetP2PSessionState", + "methodname_flat": "SteamAPI_ISteamNetworking_GetP2PSessionState", + "params": [ + { "paramname":"steamIDRemote", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pConnectionState", "paramtype":"P2PSessionState_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "AllowP2PPacketRelay", + "methodname_flat": "SteamAPI_ISteamNetworking_AllowP2PPacketRelay", + "params": [ + { "paramname":"bAllow", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "CreateListenSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_CreateListenSocket", + "params": [ + { "paramname":"nVirtualP2PPort", "paramtype":"int" }, + { "paramname":"nIP", "paramtype":"SteamIPAddress_t" }, + { "paramname":"nPort", "paramtype":"uint16" }, + { "paramname":"bAllowUseOfPacketRelay", "paramtype":"bool" } + ], + "returntype": "SNetListenSocket_t" + }, + { + "methodname": "CreateP2PConnectionSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_CreateP2PConnectionSocket", + "params": [ + { "paramname":"steamIDTarget", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"nVirtualPort", "paramtype":"int" }, + { "paramname":"nTimeoutSec", "paramtype":"int" }, + { "paramname":"bAllowUseOfPacketRelay", "paramtype":"bool" } + ], + "returntype": "SNetSocket_t" + }, + { + "methodname": "CreateConnectionSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_CreateConnectionSocket", + "params": [ + { "paramname":"nIP", "paramtype":"SteamIPAddress_t" }, + { "paramname":"nPort", "paramtype":"uint16" }, + { "paramname":"nTimeoutSec", "paramtype":"int" } + ], + "returntype": "SNetSocket_t" + }, + { + "methodname": "DestroySocket", + "methodname_flat": "SteamAPI_ISteamNetworking_DestroySocket", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" }, + { "paramname":"bNotifyRemoteEnd", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "DestroyListenSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_DestroyListenSocket", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetListenSocket_t" }, + { "paramname":"bNotifyRemoteEnd", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SendDataOnSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_SendDataOnSocket", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" }, + { "paramname":"pubData", "paramtype":"void *" }, + { "paramname":"cubData", "paramtype":"uint32" }, + { "paramname":"bReliable", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "IsDataAvailableOnSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_IsDataAvailableOnSocket", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" }, + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "RetrieveDataFromSocket", + "methodname_flat": "SteamAPI_ISteamNetworking_RetrieveDataFromSocket", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" }, + { "paramname":"pubDest", "paramtype":"void *" }, + { "paramname":"cubDest", "paramtype":"uint32" }, + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "IsDataAvailable", + "methodname_flat": "SteamAPI_ISteamNetworking_IsDataAvailable", + "params": [ + { "paramname":"hListenSocket", "paramtype":"SNetListenSocket_t" }, + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" }, + { "paramname":"phSocket", "paramtype":"SNetSocket_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "RetrieveData", + "methodname_flat": "SteamAPI_ISteamNetworking_RetrieveData", + "params": [ + { "paramname":"hListenSocket", "paramtype":"SNetListenSocket_t" }, + { "paramname":"pubDest", "paramtype":"void *" }, + { "paramname":"cubDest", "paramtype":"uint32" }, + { "paramname":"pcubMsgSize", "paramtype":"uint32 *" }, + { "paramname":"phSocket", "paramtype":"SNetSocket_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetSocketInfo", + "methodname_flat": "SteamAPI_ISteamNetworking_GetSocketInfo", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" }, + { "paramname":"pSteamIDRemote", "paramtype":"CSteamID *" }, + { "paramname":"peSocketStatus", "paramtype":"int *" }, + { "paramname":"punIPRemote", "paramtype":"SteamIPAddress_t *" }, + { "paramname":"punPortRemote", "paramtype":"uint16 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetListenSocketInfo", + "methodname_flat": "SteamAPI_ISteamNetworking_GetListenSocketInfo", + "params": [ + { "paramname":"hListenSocket", "paramtype":"SNetListenSocket_t" }, + { "paramname":"pnIP", "paramtype":"SteamIPAddress_t *" }, + { "paramname":"pnPort", "paramtype":"uint16 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetSocketConnectionType", + "methodname_flat": "SteamAPI_ISteamNetworking_GetSocketConnectionType", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" } + ], + "returntype": "ESNetSocketConnectionType" + }, + { + "methodname": "GetMaxPacketSize", + "methodname_flat": "SteamAPI_ISteamNetworking_GetMaxPacketSize", + "params": [ + { "paramname":"hSocket", "paramtype":"SNetSocket_t" } + ], + "returntype": "int" + } + ], + "version_string": "SteamNetworking006" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamScreenshots", + "name_flat": "SteamAPI_SteamScreenshots_v003" + } + ], + "classname": "ISteamScreenshots", + "fields": [], + "methods": [ + { + "methodname": "WriteScreenshot", + "methodname_flat": "SteamAPI_ISteamScreenshots_WriteScreenshot", + "params": [ + { "paramname":"pubRGB", "paramtype":"void *" }, + { "paramname":"cubRGB", "paramtype":"uint32" }, + { "paramname":"nWidth", "paramtype":"int" }, + { "paramname":"nHeight", "paramtype":"int" } + ], + "returntype": "ScreenshotHandle" + }, + { + "methodname": "AddScreenshotToLibrary", + "methodname_flat": "SteamAPI_ISteamScreenshots_AddScreenshotToLibrary", + "params": [ + { "paramname":"pchFilename", "paramtype":"const char *" }, + { "paramname":"pchThumbnailFilename", "paramtype":"const char *" }, + { "paramname":"nWidth", "paramtype":"int" }, + { "paramname":"nHeight", "paramtype":"int" } + ], + "returntype": "ScreenshotHandle" + }, + { + "methodname": "TriggerScreenshot", + "methodname_flat": "SteamAPI_ISteamScreenshots_TriggerScreenshot", + "params": [], + "returntype": "void" + }, + { + "methodname": "HookScreenshots", + "methodname_flat": "SteamAPI_ISteamScreenshots_HookScreenshots", + "params": [ + { "paramname":"bHook", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "SetLocation", + "methodname_flat": "SteamAPI_ISteamScreenshots_SetLocation", + "params": [ + { "paramname":"hScreenshot", "paramtype":"ScreenshotHandle" }, + { "paramname":"pchLocation", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "TagUser", + "methodname_flat": "SteamAPI_ISteamScreenshots_TagUser", + "params": [ + { "paramname":"hScreenshot", "paramtype":"ScreenshotHandle" }, + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "TagPublishedFile", + "methodname_flat": "SteamAPI_ISteamScreenshots_TagPublishedFile", + "params": [ + { "paramname":"hScreenshot", "paramtype":"ScreenshotHandle" }, + { "paramname":"unPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "IsScreenshotsHooked", + "methodname_flat": "SteamAPI_ISteamScreenshots_IsScreenshotsHooked", + "params": [], + "returntype": "bool" + }, + { + "methodname": "AddVRScreenshotToLibrary", + "methodname_flat": "SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary", + "params": [ + { "paramname":"eType", "paramtype":"EVRScreenshotType" }, + { "paramname":"pchFilename", "paramtype":"const char *" }, + { "paramname":"pchVRFilename", "paramtype":"const char *" } + ], + "returntype": "ScreenshotHandle" + } + ], + "version_string": "STEAMSCREENSHOTS_INTERFACE_VERSION003" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamMusic", + "name_flat": "SteamAPI_SteamMusic_v001" + } + ], + "classname": "ISteamMusic", + "fields": [], + "methods": [ + { + "methodname": "BIsEnabled", + "methodname_flat": "SteamAPI_ISteamMusic_BIsEnabled", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsPlaying", + "methodname_flat": "SteamAPI_ISteamMusic_BIsPlaying", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetPlaybackStatus", + "methodname_flat": "SteamAPI_ISteamMusic_GetPlaybackStatus", + "params": [], + "returntype": "AudioPlayback_Status" + }, + { + "methodname": "Play", + "methodname_flat": "SteamAPI_ISteamMusic_Play", + "params": [], + "returntype": "void" + }, + { + "methodname": "Pause", + "methodname_flat": "SteamAPI_ISteamMusic_Pause", + "params": [], + "returntype": "void" + }, + { + "methodname": "PlayPrevious", + "methodname_flat": "SteamAPI_ISteamMusic_PlayPrevious", + "params": [], + "returntype": "void" + }, + { + "methodname": "PlayNext", + "methodname_flat": "SteamAPI_ISteamMusic_PlayNext", + "params": [], + "returntype": "void" + }, + { + "methodname": "SetVolume", + "methodname_flat": "SteamAPI_ISteamMusic_SetVolume", + "params": [ + { "paramname":"flVolume", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "GetVolume", + "methodname_flat": "SteamAPI_ISteamMusic_GetVolume", + "params": [], + "returntype": "float" + } + ], + "version_string": "STEAMMUSIC_INTERFACE_VERSION001" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamMusicRemote", + "name_flat": "SteamAPI_SteamMusicRemote_v001" + } + ], + "classname": "ISteamMusicRemote", + "fields": [], + "methods": [ + { + "methodname": "RegisterSteamMusicRemote", + "methodname_flat": "SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote", + "params": [ + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "DeregisterSteamMusicRemote", + "methodname_flat": "SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsCurrentMusicRemote", + "methodname_flat": "SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BActivationSuccess", + "methodname_flat": "SteamAPI_ISteamMusicRemote_BActivationSuccess", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetDisplayName", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetDisplayName", + "params": [ + { "paramname":"pchDisplayName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetPNGIcon_64x64", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64", + "params": [ + { "paramname":"pvBuffer", "paramtype":"void *" }, + { "paramname":"cbBufferLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "EnablePlayPrevious", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnablePlayPrevious", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "EnablePlayNext", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnablePlayNext", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "EnableShuffled", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnableShuffled", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "EnableLooped", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnableLooped", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "EnableQueue", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnableQueue", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "EnablePlaylists", + "methodname_flat": "SteamAPI_ISteamMusicRemote_EnablePlaylists", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdatePlaybackStatus", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus", + "params": [ + { "paramname":"nStatus", "paramtype":"AudioPlayback_Status" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateShuffled", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateShuffled", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateLooped", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateLooped", + "params": [ + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateVolume", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateVolume", + "params": [ + { "paramname":"flValue", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "CurrentEntryWillChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_CurrentEntryWillChange", + "params": [], + "returntype": "bool" + }, + { + "methodname": "CurrentEntryIsAvailable", + "methodname_flat": "SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable", + "params": [ + { "paramname":"bAvailable", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateCurrentEntryText", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText", + "params": [ + { "paramname":"pchText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateCurrentEntryElapsedSeconds", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds", + "params": [ + { "paramname":"nValue", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateCurrentEntryCoverArt", + "methodname_flat": "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt", + "params": [ + { "paramname":"pvBuffer", "paramtype":"void *" }, + { "paramname":"cbBufferLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "CurrentEntryDidChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_CurrentEntryDidChange", + "params": [], + "returntype": "bool" + }, + { + "methodname": "QueueWillChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_QueueWillChange", + "params": [], + "returntype": "bool" + }, + { + "methodname": "ResetQueueEntries", + "methodname_flat": "SteamAPI_ISteamMusicRemote_ResetQueueEntries", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetQueueEntry", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetQueueEntry", + "params": [ + { "paramname":"nID", "paramtype":"int" }, + { "paramname":"nPosition", "paramtype":"int" }, + { "paramname":"pchEntryText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetCurrentQueueEntry", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry", + "params": [ + { "paramname":"nID", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "QueueDidChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_QueueDidChange", + "params": [], + "returntype": "bool" + }, + { + "methodname": "PlaylistWillChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_PlaylistWillChange", + "params": [], + "returntype": "bool" + }, + { + "methodname": "ResetPlaylistEntries", + "methodname_flat": "SteamAPI_ISteamMusicRemote_ResetPlaylistEntries", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetPlaylistEntry", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetPlaylistEntry", + "params": [ + { "paramname":"nID", "paramtype":"int" }, + { "paramname":"nPosition", "paramtype":"int" }, + { "paramname":"pchEntryText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetCurrentPlaylistEntry", + "methodname_flat": "SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry", + "params": [ + { "paramname":"nID", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "PlaylistDidChange", + "methodname_flat": "SteamAPI_ISteamMusicRemote_PlaylistDidChange", + "params": [], + "returntype": "bool" + } + ], + "version_string": "STEAMMUSICREMOTE_INTERFACE_VERSION001" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamHTTP", + "name_flat": "SteamAPI_SteamHTTP_v003" + }, + { + "kind": "gameserver", + "name": "SteamGameServerHTTP", + "name_flat": "SteamAPI_SteamGameServerHTTP_v003" + } + ], + "classname": "ISteamHTTP", + "fields": [], + "methods": [ + { + "methodname": "CreateHTTPRequest", + "methodname_flat": "SteamAPI_ISteamHTTP_CreateHTTPRequest", + "params": [ + { "paramname":"eHTTPRequestMethod", "paramtype":"EHTTPMethod" }, + { "paramname":"pchAbsoluteURL", "paramtype":"const char *" } + ], + "returntype": "HTTPRequestHandle" + }, + { + "methodname": "SetHTTPRequestContextValue", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestContextValue", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"ulContextValue", "paramtype":"uint64" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestNetworkActivityTimeout", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"unTimeoutSeconds", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestHeaderValue", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchHeaderName", "paramtype":"const char *" }, + { "paramname":"pchHeaderValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestGetOrPostParameter", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchParamName", "paramtype":"const char *" }, + { "paramname":"pchParamValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SendHTTPRequest", + "methodname_flat": "SteamAPI_ISteamHTTP_SendHTTPRequest", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pCallHandle", "paramtype":"SteamAPICall_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "SendHTTPRequestAndStreamResponse", + "methodname_flat": "SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pCallHandle", "paramtype":"SteamAPICall_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "DeferHTTPRequest", + "methodname_flat": "SteamAPI_ISteamHTTP_DeferHTTPRequest", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" } + ], + "returntype": "bool" + }, + { + "methodname": "PrioritizeHTTPRequest", + "methodname_flat": "SteamAPI_ISteamHTTP_PrioritizeHTTPRequest", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPResponseHeaderSize", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchHeaderName", "paramtype":"const char *" }, + { "paramname":"unResponseHeaderSize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPResponseHeaderValue", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchHeaderName", "paramtype":"const char *" }, + { "paramname":"pHeaderValueBuffer", "paramtype":"uint8 *" }, + { "paramname":"unBufferSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPResponseBodySize", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPResponseBodySize", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"unBodySize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPResponseBodyData", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPResponseBodyData", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pBodyDataBuffer", "paramtype":"uint8 *" }, + { "paramname":"unBufferSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPStreamingResponseBodyData", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"cOffset", "paramtype":"uint32" }, + { "paramname":"pBodyDataBuffer", "paramtype":"uint8 *" }, + { "paramname":"unBufferSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "ReleaseHTTPRequest", + "methodname_flat": "SteamAPI_ISteamHTTP_ReleaseHTTPRequest", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPDownloadProgressPct", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pflPercentOut", "paramtype":"float *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestRawPostBody", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchContentType", "paramtype":"const char *" }, + { "paramname":"pubBody", "paramtype":"uint8 *" }, + { "paramname":"unBodyLen", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "CreateCookieContainer", + "methodname_flat": "SteamAPI_ISteamHTTP_CreateCookieContainer", + "params": [ + { "paramname":"bAllowResponsesToModify", "paramtype":"bool" } + ], + "returntype": "HTTPCookieContainerHandle" + }, + { + "methodname": "ReleaseCookieContainer", + "methodname_flat": "SteamAPI_ISteamHTTP_ReleaseCookieContainer", + "params": [ + { "paramname":"hCookieContainer", "paramtype":"HTTPCookieContainerHandle" } + ], + "returntype": "bool" + }, + { + "methodname": "SetCookie", + "methodname_flat": "SteamAPI_ISteamHTTP_SetCookie", + "params": [ + { "paramname":"hCookieContainer", "paramtype":"HTTPCookieContainerHandle" }, + { "paramname":"pchHost", "paramtype":"const char *" }, + { "paramname":"pchUrl", "paramtype":"const char *" }, + { "paramname":"pchCookie", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestCookieContainer", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"hCookieContainer", "paramtype":"HTTPCookieContainerHandle" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestUserAgentInfo", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pchUserAgentInfo", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestRequiresVerifiedCertificate", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"bRequireVerifiedCertificate", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetHTTPRequestAbsoluteTimeoutMS", + "methodname_flat": "SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"unMilliseconds", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetHTTPRequestWasTimedOut", + "methodname_flat": "SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut", + "params": [ + { "paramname":"hRequest", "paramtype":"HTTPRequestHandle" }, + { "paramname":"pbWasTimedOut", "paramtype":"bool *" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMHTTP_INTERFACE_VERSION003" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamInput", + "name_flat": "SteamAPI_SteamInput_v006" + } + ], + "classname": "ISteamInput", + "fields": [], + "methods": [ + { + "methodname": "Init", + "methodname_flat": "SteamAPI_ISteamInput_Init", + "params": [ + { "paramname":"bExplicitlyCallRunFrame", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "Shutdown", + "methodname_flat": "SteamAPI_ISteamInput_Shutdown", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetInputActionManifestFilePath", + "methodname_flat": "SteamAPI_ISteamInput_SetInputActionManifestFilePath", + "params": [ + { "paramname":"pchInputActionManifestAbsolutePath", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "RunFrame", + "methodname_flat": "SteamAPI_ISteamInput_RunFrame", + "params": [ + { "paramname":"bReservedValue", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "BWaitForData", + "methodname_flat": "SteamAPI_ISteamInput_BWaitForData", + "params": [ + { "paramname":"bWaitForever", "paramtype":"bool" }, + { "paramname":"unTimeout", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "BNewDataAvailable", + "methodname_flat": "SteamAPI_ISteamInput_BNewDataAvailable", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetConnectedControllers", + "methodname_flat": "SteamAPI_ISteamInput_GetConnectedControllers", + "params": [ + { + "desc": "Receives list of connected controllers", + "out_array_count": "STEAM_INPUT_MAX_COUNT", + "paramname": "handlesOut", + "paramtype": "InputHandle_t *" + } + ], + "returntype": "int" + }, + { + "callback": "SteamInputConfigurationLoaded_t", + "methodname": "EnableDeviceCallbacks", + "methodname_flat": "SteamAPI_ISteamInput_EnableDeviceCallbacks", + "params": [], + "returntype": "void" + }, + { + "callback": "SteamInputGamepadSlotChange_t", + "methodname": "EnableActionEventCallbacks", + "methodname_flat": "SteamAPI_ISteamInput_EnableActionEventCallbacks", + "params": [ + { "paramname":"pCallback", "paramtype":"SteamInputActionEventCallbackPointer" } + ], + "returntype": "void" + }, + { + "methodname": "GetActionSetHandle", + "methodname_flat": "SteamAPI_ISteamInput_GetActionSetHandle", + "params": [ + { "paramname":"pszActionSetName", "paramtype":"const char *" } + ], + "returntype": "InputActionSetHandle_t" + }, + { + "methodname": "ActivateActionSet", + "methodname_flat": "SteamAPI_ISteamInput_ActivateActionSet", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"InputActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetCurrentActionSet", + "methodname_flat": "SteamAPI_ISteamInput_GetCurrentActionSet", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "InputActionSetHandle_t" + }, + { + "methodname": "ActivateActionSetLayer", + "methodname_flat": "SteamAPI_ISteamInput_ActivateActionSetLayer", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"actionSetLayerHandle", "paramtype":"InputActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "DeactivateActionSetLayer", + "methodname_flat": "SteamAPI_ISteamInput_DeactivateActionSetLayer", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"actionSetLayerHandle", "paramtype":"InputActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "DeactivateAllActionSetLayers", + "methodname_flat": "SteamAPI_ISteamInput_DeactivateAllActionSetLayers", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetActiveActionSetLayers", + "methodname_flat": "SteamAPI_ISteamInput_GetActiveActionSetLayers", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { + "desc": "Receives list of active layers", + "out_array_count": "STEAM_INPUT_MAX_ACTIVE_LAYERS", + "paramname": "handlesOut", + "paramtype": "InputActionSetHandle_t *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetDigitalActionHandle", + "methodname_flat": "SteamAPI_ISteamInput_GetDigitalActionHandle", + "params": [ + { "paramname":"pszActionName", "paramtype":"const char *" } + ], + "returntype": "InputDigitalActionHandle_t" + }, + { + "methodname": "GetDigitalActionData", + "methodname_flat": "SteamAPI_ISteamInput_GetDigitalActionData", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"digitalActionHandle", "paramtype":"InputDigitalActionHandle_t" } + ], + "returntype": "InputDigitalActionData_t" + }, + { + "methodname": "GetDigitalActionOrigins", + "methodname_flat": "SteamAPI_ISteamInput_GetDigitalActionOrigins", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"InputActionSetHandle_t" }, + { "paramname":"digitalActionHandle", "paramtype":"InputDigitalActionHandle_t" }, + { + "desc": "Receives list of action origins", + "out_array_count": "STEAM_INPUT_MAX_ORIGINS", + "paramname": "originsOut", + "paramtype": "EInputActionOrigin *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetStringForDigitalActionName", + "methodname_flat": "SteamAPI_ISteamInput_GetStringForDigitalActionName", + "params": [ + { "paramname":"eActionHandle", "paramtype":"InputDigitalActionHandle_t" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetAnalogActionHandle", + "methodname_flat": "SteamAPI_ISteamInput_GetAnalogActionHandle", + "params": [ + { "paramname":"pszActionName", "paramtype":"const char *" } + ], + "returntype": "InputAnalogActionHandle_t" + }, + { + "methodname": "GetAnalogActionData", + "methodname_flat": "SteamAPI_ISteamInput_GetAnalogActionData", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"analogActionHandle", "paramtype":"InputAnalogActionHandle_t" } + ], + "returntype": "InputAnalogActionData_t" + }, + { + "methodname": "GetAnalogActionOrigins", + "methodname_flat": "SteamAPI_ISteamInput_GetAnalogActionOrigins", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"InputActionSetHandle_t" }, + { "paramname":"analogActionHandle", "paramtype":"InputAnalogActionHandle_t" }, + { + "desc": "Receives list of action origins", + "out_array_count": "STEAM_INPUT_MAX_ORIGINS", + "paramname": "originsOut", + "paramtype": "EInputActionOrigin *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetGlyphPNGForActionOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetGlyphPNGForActionOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EInputActionOrigin" }, + { "paramname":"eSize", "paramtype":"ESteamInputGlyphSize" }, + { "paramname":"unFlags", "paramtype":"uint32" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetGlyphSVGForActionOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetGlyphSVGForActionOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EInputActionOrigin" }, + { "paramname":"unFlags", "paramtype":"uint32" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetGlyphForActionOrigin_Legacy", + "methodname_flat": "SteamAPI_ISteamInput_GetGlyphForActionOrigin_Legacy", + "params": [ + { "paramname":"eOrigin", "paramtype":"EInputActionOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetStringForActionOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetStringForActionOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EInputActionOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetStringForAnalogActionName", + "methodname_flat": "SteamAPI_ISteamInput_GetStringForAnalogActionName", + "params": [ + { "paramname":"eActionHandle", "paramtype":"InputAnalogActionHandle_t" } + ], + "returntype": "const char *" + }, + { + "methodname": "StopAnalogActionMomentum", + "methodname_flat": "SteamAPI_ISteamInput_StopAnalogActionMomentum", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"eAction", "paramtype":"InputAnalogActionHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetMotionData", + "methodname_flat": "SteamAPI_ISteamInput_GetMotionData", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "InputMotionData_t" + }, + { + "methodname": "TriggerVibration", + "methodname_flat": "SteamAPI_ISteamInput_TriggerVibration", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"usLeftSpeed", "paramtype":"unsigned short" }, + { "paramname":"usRightSpeed", "paramtype":"unsigned short" } + ], + "returntype": "void" + }, + { + "methodname": "TriggerVibrationExtended", + "methodname_flat": "SteamAPI_ISteamInput_TriggerVibrationExtended", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"usLeftSpeed", "paramtype":"unsigned short" }, + { "paramname":"usRightSpeed", "paramtype":"unsigned short" }, + { "paramname":"usLeftTriggerSpeed", "paramtype":"unsigned short" }, + { "paramname":"usRightTriggerSpeed", "paramtype":"unsigned short" } + ], + "returntype": "void" + }, + { + "methodname": "TriggerSimpleHapticEvent", + "methodname_flat": "SteamAPI_ISteamInput_TriggerSimpleHapticEvent", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"eHapticLocation", "paramtype":"EControllerHapticLocation" }, + { "paramname":"nIntensity", "paramtype":"uint8" }, + { "paramname":"nGainDB", "paramtype":"char" }, + { "paramname":"nOtherIntensity", "paramtype":"uint8" }, + { "paramname":"nOtherGainDB", "paramtype":"char" } + ], + "returntype": "void" + }, + { + "methodname": "SetLEDColor", + "methodname_flat": "SteamAPI_ISteamInput_SetLEDColor", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"nColorR", "paramtype":"uint8" }, + { "paramname":"nColorG", "paramtype":"uint8" }, + { "paramname":"nColorB", "paramtype":"uint8" }, + { "paramname":"nFlags", "paramtype":"unsigned int" } + ], + "returntype": "void" + }, + { + "methodname": "Legacy_TriggerHapticPulse", + "methodname_flat": "SteamAPI_ISteamInput_Legacy_TriggerHapticPulse", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"eTargetPad", "paramtype":"ESteamControllerPad" }, + { "paramname":"usDurationMicroSec", "paramtype":"unsigned short" } + ], + "returntype": "void" + }, + { + "methodname": "Legacy_TriggerRepeatedHapticPulse", + "methodname_flat": "SteamAPI_ISteamInput_Legacy_TriggerRepeatedHapticPulse", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"eTargetPad", "paramtype":"ESteamControllerPad" }, + { "paramname":"usDurationMicroSec", "paramtype":"unsigned short" }, + { "paramname":"usOffMicroSec", "paramtype":"unsigned short" }, + { "paramname":"unRepeat", "paramtype":"unsigned short" }, + { "paramname":"nFlags", "paramtype":"unsigned int" } + ], + "returntype": "void" + }, + { + "methodname": "ShowBindingPanel", + "methodname_flat": "SteamAPI_ISteamInput_ShowBindingPanel", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetInputTypeForHandle", + "methodname_flat": "SteamAPI_ISteamInput_GetInputTypeForHandle", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "ESteamInputType" + }, + { + "methodname": "GetControllerForGamepadIndex", + "methodname_flat": "SteamAPI_ISteamInput_GetControllerForGamepadIndex", + "params": [ + { "paramname":"nIndex", "paramtype":"int" } + ], + "returntype": "InputHandle_t" + }, + { + "methodname": "GetGamepadIndexForController", + "methodname_flat": "SteamAPI_ISteamInput_GetGamepadIndexForController", + "params": [ + { "paramname":"ulinputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "int" + }, + { + "methodname": "GetStringForXboxOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetStringForXboxOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetGlyphForXboxOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetGlyphForXboxOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetActionOriginFromXboxOrigin", + "methodname_flat": "SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "EInputActionOrigin" + }, + { + "methodname": "TranslateActionOrigin", + "methodname_flat": "SteamAPI_ISteamInput_TranslateActionOrigin", + "params": [ + { "paramname":"eDestinationInputType", "paramtype":"ESteamInputType" }, + { "paramname":"eSourceOrigin", "paramtype":"EInputActionOrigin" } + ], + "returntype": "EInputActionOrigin" + }, + { + "methodname": "GetDeviceBindingRevision", + "methodname_flat": "SteamAPI_ISteamInput_GetDeviceBindingRevision", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"pMajor", "paramtype":"int *" }, + { "paramname":"pMinor", "paramtype":"int *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetRemotePlaySessionID", + "methodname_flat": "SteamAPI_ISteamInput_GetRemotePlaySessionID", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetSessionInputConfigurationSettings", + "methodname_flat": "SteamAPI_ISteamInput_GetSessionInputConfigurationSettings", + "params": [], + "returntype": "uint16" + }, + { + "methodname": "SetDualSenseTriggerEffect", + "methodname_flat": "SteamAPI_ISteamInput_SetDualSenseTriggerEffect", + "params": [ + { "paramname":"inputHandle", "paramtype":"InputHandle_t" }, + { "paramname":"pParam", "paramtype":"const ScePadTriggerEffectParam *" } + ], + "returntype": "void" + } + ], + "version_string": "SteamInput006" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamController", + "name_flat": "SteamAPI_SteamController_v008" + } + ], + "classname": "ISteamController", + "fields": [], + "methods": [ + { + "methodname": "Init", + "methodname_flat": "SteamAPI_ISteamController_Init", + "params": [], + "returntype": "bool" + }, + { + "methodname": "Shutdown", + "methodname_flat": "SteamAPI_ISteamController_Shutdown", + "params": [], + "returntype": "bool" + }, + { + "methodname": "RunFrame", + "methodname_flat": "SteamAPI_ISteamController_RunFrame", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetConnectedControllers", + "methodname_flat": "SteamAPI_ISteamController_GetConnectedControllers", + "params": [ + { + "desc": "Receives list of connected controllers", + "out_array_count": "STEAM_CONTROLLER_MAX_COUNT", + "paramname": "handlesOut", + "paramtype": "ControllerHandle_t *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetActionSetHandle", + "methodname_flat": "SteamAPI_ISteamController_GetActionSetHandle", + "params": [ + { "paramname":"pszActionSetName", "paramtype":"const char *" } + ], + "returntype": "ControllerActionSetHandle_t" + }, + { + "methodname": "ActivateActionSet", + "methodname_flat": "SteamAPI_ISteamController_ActivateActionSet", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"ControllerActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetCurrentActionSet", + "methodname_flat": "SteamAPI_ISteamController_GetCurrentActionSet", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "ControllerActionSetHandle_t" + }, + { + "methodname": "ActivateActionSetLayer", + "methodname_flat": "SteamAPI_ISteamController_ActivateActionSetLayer", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"actionSetLayerHandle", "paramtype":"ControllerActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "DeactivateActionSetLayer", + "methodname_flat": "SteamAPI_ISteamController_DeactivateActionSetLayer", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"actionSetLayerHandle", "paramtype":"ControllerActionSetHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "DeactivateAllActionSetLayers", + "methodname_flat": "SteamAPI_ISteamController_DeactivateAllActionSetLayers", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetActiveActionSetLayers", + "methodname_flat": "SteamAPI_ISteamController_GetActiveActionSetLayers", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { + "desc": "Receives list of active layers", + "out_array_count": "STEAM_CONTROLLER_MAX_ACTIVE_LAYERS", + "paramname": "handlesOut", + "paramtype": "ControllerActionSetHandle_t *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetDigitalActionHandle", + "methodname_flat": "SteamAPI_ISteamController_GetDigitalActionHandle", + "params": [ + { "paramname":"pszActionName", "paramtype":"const char *" } + ], + "returntype": "ControllerDigitalActionHandle_t" + }, + { + "methodname": "GetDigitalActionData", + "methodname_flat": "SteamAPI_ISteamController_GetDigitalActionData", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"digitalActionHandle", "paramtype":"ControllerDigitalActionHandle_t" } + ], + "returntype": "InputDigitalActionData_t" + }, + { + "methodname": "GetDigitalActionOrigins", + "methodname_flat": "SteamAPI_ISteamController_GetDigitalActionOrigins", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"ControllerActionSetHandle_t" }, + { "paramname":"digitalActionHandle", "paramtype":"ControllerDigitalActionHandle_t" }, + { + "desc": "Receives list of aciton origins", + "out_array_count": "STEAM_CONTROLLER_MAX_ORIGINS", + "paramname": "originsOut", + "paramtype": "EControllerActionOrigin *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetAnalogActionHandle", + "methodname_flat": "SteamAPI_ISteamController_GetAnalogActionHandle", + "params": [ + { "paramname":"pszActionName", "paramtype":"const char *" } + ], + "returntype": "ControllerAnalogActionHandle_t" + }, + { + "methodname": "GetAnalogActionData", + "methodname_flat": "SteamAPI_ISteamController_GetAnalogActionData", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"analogActionHandle", "paramtype":"ControllerAnalogActionHandle_t" } + ], + "returntype": "InputAnalogActionData_t" + }, + { + "methodname": "GetAnalogActionOrigins", + "methodname_flat": "SteamAPI_ISteamController_GetAnalogActionOrigins", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"actionSetHandle", "paramtype":"ControllerActionSetHandle_t" }, + { "paramname":"analogActionHandle", "paramtype":"ControllerAnalogActionHandle_t" }, + { + "desc": "Receives list of action origins", + "out_array_count": "STEAM_CONTROLLER_MAX_ORIGINS", + "paramname": "originsOut", + "paramtype": "EControllerActionOrigin *" + } + ], + "returntype": "int" + }, + { + "methodname": "GetGlyphForActionOrigin", + "methodname_flat": "SteamAPI_ISteamController_GetGlyphForActionOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EControllerActionOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetStringForActionOrigin", + "methodname_flat": "SteamAPI_ISteamController_GetStringForActionOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EControllerActionOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "StopAnalogActionMomentum", + "methodname_flat": "SteamAPI_ISteamController_StopAnalogActionMomentum", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"eAction", "paramtype":"ControllerAnalogActionHandle_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetMotionData", + "methodname_flat": "SteamAPI_ISteamController_GetMotionData", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "InputMotionData_t" + }, + { + "methodname": "TriggerHapticPulse", + "methodname_flat": "SteamAPI_ISteamController_TriggerHapticPulse", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"eTargetPad", "paramtype":"ESteamControllerPad" }, + { "paramname":"usDurationMicroSec", "paramtype":"unsigned short" } + ], + "returntype": "void" + }, + { + "methodname": "TriggerRepeatedHapticPulse", + "methodname_flat": "SteamAPI_ISteamController_TriggerRepeatedHapticPulse", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"eTargetPad", "paramtype":"ESteamControllerPad" }, + { "paramname":"usDurationMicroSec", "paramtype":"unsigned short" }, + { "paramname":"usOffMicroSec", "paramtype":"unsigned short" }, + { "paramname":"unRepeat", "paramtype":"unsigned short" }, + { "paramname":"nFlags", "paramtype":"unsigned int" } + ], + "returntype": "void" + }, + { + "methodname": "TriggerVibration", + "methodname_flat": "SteamAPI_ISteamController_TriggerVibration", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"usLeftSpeed", "paramtype":"unsigned short" }, + { "paramname":"usRightSpeed", "paramtype":"unsigned short" } + ], + "returntype": "void" + }, + { + "methodname": "SetLEDColor", + "methodname_flat": "SteamAPI_ISteamController_SetLEDColor", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"nColorR", "paramtype":"uint8" }, + { "paramname":"nColorG", "paramtype":"uint8" }, + { "paramname":"nColorB", "paramtype":"uint8" }, + { "paramname":"nFlags", "paramtype":"unsigned int" } + ], + "returntype": "void" + }, + { + "methodname": "ShowBindingPanel", + "methodname_flat": "SteamAPI_ISteamController_ShowBindingPanel", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetInputTypeForHandle", + "methodname_flat": "SteamAPI_ISteamController_GetInputTypeForHandle", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "ESteamInputType" + }, + { + "methodname": "GetControllerForGamepadIndex", + "methodname_flat": "SteamAPI_ISteamController_GetControllerForGamepadIndex", + "params": [ + { "paramname":"nIndex", "paramtype":"int" } + ], + "returntype": "ControllerHandle_t" + }, + { + "methodname": "GetGamepadIndexForController", + "methodname_flat": "SteamAPI_ISteamController_GetGamepadIndexForController", + "params": [ + { "paramname":"ulControllerHandle", "paramtype":"ControllerHandle_t" } + ], + "returntype": "int" + }, + { + "methodname": "GetStringForXboxOrigin", + "methodname_flat": "SteamAPI_ISteamController_GetStringForXboxOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetGlyphForXboxOrigin", + "methodname_flat": "SteamAPI_ISteamController_GetGlyphForXboxOrigin", + "params": [ + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetActionOriginFromXboxOrigin", + "methodname_flat": "SteamAPI_ISteamController_GetActionOriginFromXboxOrigin", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"eOrigin", "paramtype":"EXboxOrigin" } + ], + "returntype": "EControllerActionOrigin" + }, + { + "methodname": "TranslateActionOrigin", + "methodname_flat": "SteamAPI_ISteamController_TranslateActionOrigin", + "params": [ + { "paramname":"eDestinationInputType", "paramtype":"ESteamInputType" }, + { "paramname":"eSourceOrigin", "paramtype":"EControllerActionOrigin" } + ], + "returntype": "EControllerActionOrigin" + }, + { + "methodname": "GetControllerBindingRevision", + "methodname_flat": "SteamAPI_ISteamController_GetControllerBindingRevision", + "params": [ + { "paramname":"controllerHandle", "paramtype":"ControllerHandle_t" }, + { "paramname":"pMajor", "paramtype":"int *" }, + { "paramname":"pMinor", "paramtype":"int *" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamController008" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamUGC", + "name_flat": "SteamAPI_SteamUGC_v020" + }, + { + "kind": "gameserver", + "name": "SteamGameServerUGC", + "name_flat": "SteamAPI_SteamGameServerUGC_v020" + } + ], + "classname": "ISteamUGC", + "fields": [], + "methods": [ + { + "methodname": "CreateQueryUserUGCRequest", + "methodname_flat": "SteamAPI_ISteamUGC_CreateQueryUserUGCRequest", + "params": [ + { "paramname":"unAccountID", "paramtype":"AccountID_t" }, + { "paramname":"eListType", "paramtype":"EUserUGCList" }, + { "paramname":"eMatchingUGCType", "paramtype":"EUGCMatchingUGCType" }, + { "paramname":"eSortOrder", "paramtype":"EUserUGCListSortOrder" }, + { "paramname":"nCreatorAppID", "paramtype":"AppId_t" }, + { "paramname":"nConsumerAppID", "paramtype":"AppId_t" }, + { "paramname":"unPage", "paramtype":"uint32" } + ], + "returntype": "UGCQueryHandle_t" + }, + { + "methodname": "CreateQueryAllUGCRequest", + "methodname_flat": "SteamAPI_ISteamUGC_CreateQueryAllUGCRequestPage", + "params": [ + { "paramname":"eQueryType", "paramtype":"EUGCQuery" }, + { "paramname":"eMatchingeMatchingUGCTypeFileType", "paramtype":"EUGCMatchingUGCType" }, + { "paramname":"nCreatorAppID", "paramtype":"AppId_t" }, + { "paramname":"nConsumerAppID", "paramtype":"AppId_t" }, + { "paramname":"unPage", "paramtype":"uint32" } + ], + "returntype": "UGCQueryHandle_t" + }, + { + "methodname": "CreateQueryAllUGCRequest", + "methodname_flat": "SteamAPI_ISteamUGC_CreateQueryAllUGCRequestCursor", + "params": [ + { "paramname":"eQueryType", "paramtype":"EUGCQuery" }, + { "paramname":"eMatchingeMatchingUGCTypeFileType", "paramtype":"EUGCMatchingUGCType" }, + { "paramname":"nCreatorAppID", "paramtype":"AppId_t" }, + { "paramname":"nConsumerAppID", "paramtype":"AppId_t" }, + { "paramname":"pchCursor", "paramtype":"const char *" } + ], + "returntype": "UGCQueryHandle_t" + }, + { + "methodname": "CreateQueryUGCDetailsRequest", + "methodname_flat": "SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest", + "params": [ + { "paramname":"pvecPublishedFileID", "paramtype":"PublishedFileId_t *" }, + { "paramname":"unNumPublishedFileIDs", "paramtype":"uint32" } + ], + "returntype": "UGCQueryHandle_t" + }, + { + "callresult": "SteamUGCQueryCompleted_t", + "methodname": "SendQueryUGCRequest", + "methodname_flat": "SteamAPI_ISteamUGC_SendQueryUGCRequest", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetQueryUGCResult", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCResult", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pDetails", "paramtype":"SteamUGCDetails_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCNumTags", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCNumTags", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetQueryUGCTag", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"indexTag", "paramtype":"uint32" }, + { + "out_string_count": "cchValueSize", + "paramname": "pchValue", + "paramtype": "char *" + }, + { "paramname":"cchValueSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCTagDisplayName", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCTagDisplayName", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"indexTag", "paramtype":"uint32" }, + { + "out_string_count": "cchValueSize", + "paramname": "pchValue", + "paramtype": "char *" + }, + { "paramname":"cchValueSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCPreviewURL", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCPreviewURL", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { + "out_string_count": "cchURLSize", + "paramname": "pchURL", + "paramtype": "char *" + }, + { "paramname":"cchURLSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCMetadata", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCMetadata", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { + "out_string_count": "cchMetadatasize", + "paramname": "pchMetadata", + "paramtype": "char *" + }, + { "paramname":"cchMetadatasize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCChildren", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCChildren", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pvecPublishedFileID", "paramtype":"PublishedFileId_t *" }, + { "paramname":"cMaxEntries", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCStatistic", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCStatistic", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"eStatType", "paramtype":"EItemStatistic" }, + { "paramname":"pStatValue", "paramtype":"uint64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCNumAdditionalPreviews", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetQueryUGCAdditionalPreview", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"previewIndex", "paramtype":"uint32" }, + { + "out_string_count": "cchURLSize", + "paramname": "pchURLOrVideoID", + "paramtype": "char *" + }, + { "paramname":"cchURLSize", "paramtype":"uint32" }, + { + "out_string_count": "cchURLSize", + "paramname": "pchOriginalFileName", + "paramtype": "char *" + }, + { "paramname":"cchOriginalFileNameSize", "paramtype":"uint32" }, + { "paramname":"pPreviewType", "paramtype":"EItemPreviewType *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCNumKeyValueTags", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetQueryUGCKeyValueTag", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"keyValueTagIndex", "paramtype":"uint32" }, + { + "out_string_count": "cchKeySize", + "paramname": "pchKey", + "paramtype": "char *" + }, + { "paramname":"cchKeySize", "paramtype":"uint32" }, + { + "out_string_count": "cchValueSize", + "paramname": "pchValue", + "paramtype": "char *" + }, + { "paramname":"cchValueSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCKeyValueTag", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryFirstUGCKeyValueTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { + "out_string_count": "cchValueSize", + "paramname": "pchValue", + "paramtype": "char *" + }, + { "paramname":"cchValueSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNumSupportedGameVersions", + "methodname_flat": "SteamAPI_ISteamUGC_GetNumSupportedGameVersions", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetSupportedGameVersionData", + "methodname_flat": "SteamAPI_ISteamUGC_GetSupportedGameVersionData", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"versionIndex", "paramtype":"uint32" }, + { + "out_string_count": "cchGameBranchSize", + "paramname": "pchGameBranchMin", + "paramtype": "char *" + }, + { + "out_string_count": "cchGameBranchSize", + "paramname": "pchGameBranchMax", + "paramtype": "char *" + }, + { "paramname":"cchGameBranchSize", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetQueryUGCContentDescriptors", + "methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCContentDescriptors", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pvecDescriptors", "paramtype":"EUGCContentDescriptorID *" }, + { "paramname":"cMaxEntries", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "ReleaseQueryUGCRequest", + "methodname_flat": "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "AddRequiredTag", + "methodname_flat": "SteamAPI_ISteamUGC_AddRequiredTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pTagName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddRequiredTagGroup", + "methodname_flat": "SteamAPI_ISteamUGC_AddRequiredTagGroup", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pTagGroups", "paramtype":"const SteamParamStringArray_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddExcludedTag", + "methodname_flat": "SteamAPI_ISteamUGC_AddExcludedTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pTagName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnOnlyIDs", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnOnlyIDs", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnOnlyIDs", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnKeyValueTags", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnKeyValueTags", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnKeyValueTags", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnLongDescription", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnLongDescription", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnLongDescription", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnMetadata", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnMetadata", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnMetadata", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnChildren", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnChildren", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnChildren", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnAdditionalPreviews", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnAdditionalPreviews", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnAdditionalPreviews", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnTotalOnly", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnTotalOnly", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bReturnTotalOnly", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetReturnPlaytimeStats", + "methodname_flat": "SteamAPI_ISteamUGC_SetReturnPlaytimeStats", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"unDays", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetLanguage", + "methodname_flat": "SteamAPI_ISteamUGC_SetLanguage", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pchLanguage", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetAllowCachedResponse", + "methodname_flat": "SteamAPI_ISteamUGC_SetAllowCachedResponse", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"unMaxAgeSeconds", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetAdminQuery", + "methodname_flat": "SteamAPI_ISteamUGC_SetAdminQuery", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"bAdminQuery", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetCloudFileNameFilter", + "methodname_flat": "SteamAPI_ISteamUGC_SetCloudFileNameFilter", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pMatchCloudFileName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetMatchAnyTag", + "methodname_flat": "SteamAPI_ISteamUGC_SetMatchAnyTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"bMatchAnyTag", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetSearchText", + "methodname_flat": "SteamAPI_ISteamUGC_SetSearchText", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pSearchText", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetRankedByTrendDays", + "methodname_flat": "SteamAPI_ISteamUGC_SetRankedByTrendDays", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"unDays", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetTimeCreatedDateRange", + "methodname_flat": "SteamAPI_ISteamUGC_SetTimeCreatedDateRange", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"rtStart", "paramtype":"RTime32" }, + { "paramname":"rtEnd", "paramtype":"RTime32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetTimeUpdatedDateRange", + "methodname_flat": "SteamAPI_ISteamUGC_SetTimeUpdatedDateRange", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"rtStart", "paramtype":"RTime32" }, + { "paramname":"rtEnd", "paramtype":"RTime32" } + ], + "returntype": "bool" + }, + { + "methodname": "AddRequiredKeyValueTag", + "methodname_flat": "SteamAPI_ISteamUGC_AddRequiredKeyValueTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCQueryHandle_t" }, + { "paramname":"pKey", "paramtype":"const char *" }, + { "paramname":"pValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "callresult": "SteamUGCRequestUGCDetailsResult_t", + "methodname": "RequestUGCDetails", + "methodname_flat": "SteamAPI_ISteamUGC_RequestUGCDetails", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"unMaxAgeSeconds", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "CreateItemResult_t", + "methodname": "CreateItem", + "methodname_flat": "SteamAPI_ISteamUGC_CreateItem", + "params": [ + { "paramname":"nConsumerAppId", "paramtype":"AppId_t" }, + { "paramname":"eFileType", "paramtype":"EWorkshopFileType" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "StartItemUpdate", + "methodname_flat": "SteamAPI_ISteamUGC_StartItemUpdate", + "params": [ + { "paramname":"nConsumerAppId", "paramtype":"AppId_t" }, + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "UGCUpdateHandle_t" + }, + { + "methodname": "SetItemTitle", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemTitle", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchTitle", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemDescription", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemDescription", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchDescription", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemUpdateLanguage", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemUpdateLanguage", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchLanguage", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemMetadata", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemMetadata", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchMetaData", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemVisibility", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemVisibility", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"eVisibility", "paramtype":"ERemoteStoragePublishedFileVisibility" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemTags", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemTags", + "params": [ + { "paramname":"updateHandle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pTags", "paramtype":"const SteamParamStringArray_t *" }, + { "paramname":"bAllowAdminTags", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemContent", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemContent", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pszContentFolder", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetItemPreview", + "methodname_flat": "SteamAPI_ISteamUGC_SetItemPreview", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pszPreviewFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetAllowLegacyUpload", + "methodname_flat": "SteamAPI_ISteamUGC_SetAllowLegacyUpload", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"bAllowLegacyUpload", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "RemoveAllItemKeyValueTags", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" } + ], + "returntype": "bool" + }, + { + "methodname": "RemoveItemKeyValueTags", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveItemKeyValueTags", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchKey", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddItemKeyValueTag", + "methodname_flat": "SteamAPI_ISteamUGC_AddItemKeyValueTag", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddItemPreviewFile", + "methodname_flat": "SteamAPI_ISteamUGC_AddItemPreviewFile", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pszPreviewFile", "paramtype":"const char *" }, + { "paramname":"type", "paramtype":"EItemPreviewType" } + ], + "returntype": "bool" + }, + { + "methodname": "AddItemPreviewVideo", + "methodname_flat": "SteamAPI_ISteamUGC_AddItemPreviewVideo", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pszVideoID", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateItemPreviewFile", + "methodname_flat": "SteamAPI_ISteamUGC_UpdateItemPreviewFile", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pszPreviewFile", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateItemPreviewVideo", + "methodname_flat": "SteamAPI_ISteamUGC_UpdateItemPreviewVideo", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"index", "paramtype":"uint32" }, + { "paramname":"pszVideoID", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "RemoveItemPreview", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveItemPreview", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"index", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "AddContentDescriptor", + "methodname_flat": "SteamAPI_ISteamUGC_AddContentDescriptor", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"descid", "paramtype":"EUGCContentDescriptorID" } + ], + "returntype": "bool" + }, + { + "methodname": "RemoveContentDescriptor", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveContentDescriptor", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"descid", "paramtype":"EUGCContentDescriptorID" } + ], + "returntype": "bool" + }, + { + "methodname": "SetRequiredGameVersions", + "methodname_flat": "SteamAPI_ISteamUGC_SetRequiredGameVersions", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pszGameBranchMin", "paramtype":"const char *" }, + { "paramname":"pszGameBranchMax", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "callresult": "SubmitItemUpdateResult_t", + "methodname": "SubmitItemUpdate", + "methodname_flat": "SteamAPI_ISteamUGC_SubmitItemUpdate", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"pchChangeNote", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetItemUpdateProgress", + "methodname_flat": "SteamAPI_ISteamUGC_GetItemUpdateProgress", + "params": [ + { "paramname":"handle", "paramtype":"UGCUpdateHandle_t" }, + { "paramname":"punBytesProcessed", "paramtype":"uint64 *" }, + { "paramname":"punBytesTotal", "paramtype":"uint64 *" } + ], + "returntype": "EItemUpdateStatus" + }, + { + "callresult": "SetUserItemVoteResult_t", + "methodname": "SetUserItemVote", + "methodname_flat": "SteamAPI_ISteamUGC_SetUserItemVote", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"bVoteUp", "paramtype":"bool" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "GetUserItemVoteResult_t", + "methodname": "GetUserItemVote", + "methodname_flat": "SteamAPI_ISteamUGC_GetUserItemVote", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "UserFavoriteItemsListChanged_t", + "methodname": "AddItemToFavorites", + "methodname_flat": "SteamAPI_ISteamUGC_AddItemToFavorites", + "params": [ + { "paramname":"nAppId", "paramtype":"AppId_t" }, + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "UserFavoriteItemsListChanged_t", + "methodname": "RemoveItemFromFavorites", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveItemFromFavorites", + "params": [ + { "paramname":"nAppId", "paramtype":"AppId_t" }, + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageSubscribePublishedFileResult_t", + "methodname": "SubscribeItem", + "methodname_flat": "SteamAPI_ISteamUGC_SubscribeItem", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoteStorageUnsubscribePublishedFileResult_t", + "methodname": "UnsubscribeItem", + "methodname_flat": "SteamAPI_ISteamUGC_UnsubscribeItem", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetNumSubscribedItems", + "methodname_flat": "SteamAPI_ISteamUGC_GetNumSubscribedItems", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetSubscribedItems", + "methodname_flat": "SteamAPI_ISteamUGC_GetSubscribedItems", + "params": [ + { "paramname":"pvecPublishedFileID", "paramtype":"PublishedFileId_t *" }, + { "paramname":"cMaxEntries", "paramtype":"uint32" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetItemState", + "methodname_flat": "SteamAPI_ISteamUGC_GetItemState", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "uint32" + }, + { + "methodname": "GetItemInstallInfo", + "methodname_flat": "SteamAPI_ISteamUGC_GetItemInstallInfo", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"punSizeOnDisk", "paramtype":"uint64 *" }, + { + "out_string_count": "cchFolderSize", + "paramname": "pchFolder", + "paramtype": "char *" + }, + { "paramname":"cchFolderSize", "paramtype":"uint32" }, + { "paramname":"punTimeStamp", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetItemDownloadInfo", + "methodname_flat": "SteamAPI_ISteamUGC_GetItemDownloadInfo", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"punBytesDownloaded", "paramtype":"uint64 *" }, + { "paramname":"punBytesTotal", "paramtype":"uint64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "DownloadItem", + "methodname_flat": "SteamAPI_ISteamUGC_DownloadItem", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"bHighPriority", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "BInitWorkshopForGameServer", + "methodname_flat": "SteamAPI_ISteamUGC_BInitWorkshopForGameServer", + "params": [ + { "paramname":"unWorkshopDepotID", "paramtype":"DepotId_t" }, + { "paramname":"pszFolder", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SuspendDownloads", + "methodname_flat": "SteamAPI_ISteamUGC_SuspendDownloads", + "params": [ + { "paramname":"bSuspend", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "callresult": "StartPlaytimeTrackingResult_t", + "methodname": "StartPlaytimeTracking", + "methodname_flat": "SteamAPI_ISteamUGC_StartPlaytimeTracking", + "params": [ + { "paramname":"pvecPublishedFileID", "paramtype":"PublishedFileId_t *" }, + { "paramname":"unNumPublishedFileIDs", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "StopPlaytimeTrackingResult_t", + "methodname": "StopPlaytimeTracking", + "methodname_flat": "SteamAPI_ISteamUGC_StopPlaytimeTracking", + "params": [ + { "paramname":"pvecPublishedFileID", "paramtype":"PublishedFileId_t *" }, + { "paramname":"unNumPublishedFileIDs", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "StopPlaytimeTrackingResult_t", + "methodname": "StopPlaytimeTrackingForAllItems", + "methodname_flat": "SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "AddUGCDependencyResult_t", + "methodname": "AddDependency", + "methodname_flat": "SteamAPI_ISteamUGC_AddDependency", + "params": [ + { "paramname":"nParentPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"nChildPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoveUGCDependencyResult_t", + "methodname": "RemoveDependency", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveDependency", + "params": [ + { "paramname":"nParentPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"nChildPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "AddAppDependencyResult_t", + "methodname": "AddAppDependency", + "methodname_flat": "SteamAPI_ISteamUGC_AddAppDependency", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "RemoveAppDependencyResult_t", + "methodname": "RemoveAppDependency", + "methodname_flat": "SteamAPI_ISteamUGC_RemoveAppDependency", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" }, + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "GetAppDependenciesResult_t", + "methodname": "GetAppDependencies", + "methodname_flat": "SteamAPI_ISteamUGC_GetAppDependencies", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "DeleteItemResult_t", + "methodname": "DeleteItem", + "methodname_flat": "SteamAPI_ISteamUGC_DeleteItem", + "params": [ + { "paramname":"nPublishedFileID", "paramtype":"PublishedFileId_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "ShowWorkshopEULA", + "methodname_flat": "SteamAPI_ISteamUGC_ShowWorkshopEULA", + "params": [], + "returntype": "bool" + }, + { + "callresult": "WorkshopEULAStatus_t", + "methodname": "GetWorkshopEULAStatus", + "methodname_flat": "SteamAPI_ISteamUGC_GetWorkshopEULAStatus", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetUserContentDescriptorPreferences", + "methodname_flat": "SteamAPI_ISteamUGC_GetUserContentDescriptorPreferences", + "params": [ + { "paramname":"pvecDescriptors", "paramtype":"EUGCContentDescriptorID *" }, + { "paramname":"cMaxEntries", "paramtype":"uint32" } + ], + "returntype": "uint32" + } + ], + "version_string": "STEAMUGC_INTERFACE_VERSION020" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamHTMLSurface", + "name_flat": "SteamAPI_SteamHTMLSurface_v005" + } + ], + "classname": "ISteamHTMLSurface", + "enums": [ + { + "enumname": "EHTMLMouseButton", + "fqname": "ISteamHTMLSurface::EHTMLMouseButton", + "values": [ + { "name":"eHTMLMouseButton_Left", "value":"0" }, + { "name":"eHTMLMouseButton_Right", "value":"1" }, + { "name":"eHTMLMouseButton_Middle", "value":"2" } + ] + }, + { + "enumname": "EMouseCursor", + "fqname": "ISteamHTMLSurface::EMouseCursor", + "values": [ + { "name":"dc_user", "value":"0" }, + { "name":"dc_none", "value":"1" }, + { "name":"dc_arrow", "value":"2" }, + { "name":"dc_ibeam", "value":"3" }, + { "name":"dc_hourglass", "value":"4" }, + { "name":"dc_waitarrow", "value":"5" }, + { "name":"dc_crosshair", "value":"6" }, + { "name":"dc_up", "value":"7" }, + { "name":"dc_sizenw", "value":"8" }, + { "name":"dc_sizese", "value":"9" }, + { "name":"dc_sizene", "value":"10" }, + { "name":"dc_sizesw", "value":"11" }, + { "name":"dc_sizew", "value":"12" }, + { "name":"dc_sizee", "value":"13" }, + { "name":"dc_sizen", "value":"14" }, + { "name":"dc_sizes", "value":"15" }, + { "name":"dc_sizewe", "value":"16" }, + { "name":"dc_sizens", "value":"17" }, + { "name":"dc_sizeall", "value":"18" }, + { "name":"dc_no", "value":"19" }, + { "name":"dc_hand", "value":"20" }, + { "name":"dc_blank", "value":"21" }, + { "name":"dc_middle_pan", "value":"22" }, + { "name":"dc_north_pan", "value":"23" }, + { "name":"dc_north_east_pan", "value":"24" }, + { "name":"dc_east_pan", "value":"25" }, + { "name":"dc_south_east_pan", "value":"26" }, + { "name":"dc_south_pan", "value":"27" }, + { "name":"dc_south_west_pan", "value":"28" }, + { "name":"dc_west_pan", "value":"29" }, + { "name":"dc_north_west_pan", "value":"30" }, + { "name":"dc_alias", "value":"31" }, + { "name":"dc_cell", "value":"32" }, + { "name":"dc_colresize", "value":"33" }, + { "name":"dc_copycur", "value":"34" }, + { "name":"dc_verticaltext", "value":"35" }, + { "name":"dc_rowresize", "value":"36" }, + { "name":"dc_zoomin", "value":"37" }, + { "name":"dc_zoomout", "value":"38" }, + { "name":"dc_help", "value":"39" }, + { "name":"dc_custom", "value":"40" }, + { "name":"dc_last", "value":"41" } + ] + }, + { + "enumname": "EHTMLKeyModifiers", + "fqname": "ISteamHTMLSurface::EHTMLKeyModifiers", + "values": [ + { "name":"k_eHTMLKeyModifier_None", "value":"0" }, + { "name":"k_eHTMLKeyModifier_AltDown", "value":"1" }, + { "name":"k_eHTMLKeyModifier_CtrlDown", "value":"2" }, + { "name":"k_eHTMLKeyModifier_ShiftDown", "value":"4" } + ] + } + ], + "fields": [], + "methods": [ + { + "methodname": "Init", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_Init", + "params": [], + "returntype": "bool" + }, + { + "methodname": "Shutdown", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_Shutdown", + "params": [], + "returntype": "bool" + }, + { + "callresult": "HTML_BrowserReady_t", + "methodname": "CreateBrowser", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_CreateBrowser", + "params": [ + { "paramname":"pchUserAgent", "paramtype":"const char *" }, + { "paramname":"pchUserCSS", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "RemoveBrowser", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_RemoveBrowser", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "LoadURL", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_LoadURL", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"pchURL", "paramtype":"const char *" }, + { "paramname":"pchPostData", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetSize", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetSize", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"unWidth", "paramtype":"uint32" }, + { "paramname":"unHeight", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "StopLoad", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_StopLoad", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "Reload", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_Reload", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "GoBack", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_GoBack", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "GoForward", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_GoForward", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "AddHeader", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_AddHeader", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "ExecuteJavascript", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_ExecuteJavascript", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"pchScript", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "MouseUp", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_MouseUp", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"eMouseButton", "paramtype":"ISteamHTMLSurface::EHTMLMouseButton" } + ], + "returntype": "void" + }, + { + "methodname": "MouseDown", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_MouseDown", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"eMouseButton", "paramtype":"ISteamHTMLSurface::EHTMLMouseButton" } + ], + "returntype": "void" + }, + { + "methodname": "MouseDoubleClick", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_MouseDoubleClick", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"eMouseButton", "paramtype":"ISteamHTMLSurface::EHTMLMouseButton" } + ], + "returntype": "void" + }, + { + "methodname": "MouseMove", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_MouseMove", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"x", "paramtype":"int" }, + { "paramname":"y", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "MouseWheel", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_MouseWheel", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"nDelta", "paramtype":"int32" } + ], + "returntype": "void" + }, + { + "methodname": "KeyDown", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_KeyDown", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"nNativeKeyCode", "paramtype":"uint32" }, + { "paramname":"eHTMLKeyModifiers", "paramtype":"ISteamHTMLSurface::EHTMLKeyModifiers" }, + { "paramname":"bIsSystemKey", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "KeyUp", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_KeyUp", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"nNativeKeyCode", "paramtype":"uint32" }, + { "paramname":"eHTMLKeyModifiers", "paramtype":"ISteamHTMLSurface::EHTMLKeyModifiers" } + ], + "returntype": "void" + }, + { + "methodname": "KeyChar", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_KeyChar", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"cUnicodeChar", "paramtype":"uint32" }, + { "paramname":"eHTMLKeyModifiers", "paramtype":"ISteamHTMLSurface::EHTMLKeyModifiers" } + ], + "returntype": "void" + }, + { + "methodname": "SetHorizontalScroll", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetHorizontalScroll", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"nAbsolutePixelScroll", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "SetVerticalScroll", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetVerticalScroll", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"nAbsolutePixelScroll", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "SetKeyFocus", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetKeyFocus", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"bHasKeyFocus", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "ViewSource", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_ViewSource", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "CopyToClipboard", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_CopyToClipboard", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "PasteFromClipboard", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_PasteFromClipboard", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "Find", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_Find", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"pchSearchStr", "paramtype":"const char *" }, + { "paramname":"bCurrentlyInFind", "paramtype":"bool" }, + { "paramname":"bReverse", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "StopFind", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_StopFind", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "GetLinkAtPosition", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_GetLinkAtPosition", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"x", "paramtype":"int" }, + { "paramname":"y", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "SetCookie", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetCookie", + "params": [ + { "paramname":"pchHostname", "paramtype":"const char *" }, + { "paramname":"pchKey", "paramtype":"const char *" }, + { "paramname":"pchValue", "paramtype":"const char *" }, + { "paramname":"pchPath", "paramtype":"const char *" }, + { "paramname":"nExpires", "paramtype":"RTime32" }, + { "paramname":"bSecure", "paramtype":"bool" }, + { "paramname":"bHTTPOnly", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "SetPageScaleFactor", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetPageScaleFactor", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"flZoom", "paramtype":"float" }, + { "paramname":"nPointX", "paramtype":"int" }, + { "paramname":"nPointY", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "SetBackgroundMode", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetBackgroundMode", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"bBackgroundMode", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "SetDPIScalingFactor", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"flDPIScaling", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "OpenDeveloperTools", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_OpenDeveloperTools", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" } + ], + "returntype": "void" + }, + { + "methodname": "AllowStartRequest", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_AllowStartRequest", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"bAllowed", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "JSDialogResponse", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_JSDialogResponse", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"bResult", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "FileLoadDialogResponse", + "methodname_flat": "SteamAPI_ISteamHTMLSurface_FileLoadDialogResponse", + "params": [ + { "paramname":"unBrowserHandle", "paramtype":"HHTMLBrowser" }, + { "paramname":"pchSelectedFiles", "paramtype":"const char **" } + ], + "returntype": "void" + } + ], + "version_string": "STEAMHTMLSURFACE_INTERFACE_VERSION_005" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamInventory", + "name_flat": "SteamAPI_SteamInventory_v003" + }, + { + "kind": "gameserver", + "name": "SteamGameServerInventory", + "name_flat": "SteamAPI_SteamGameServerInventory_v003" + } + ], + "classname": "ISteamInventory", + "fields": [], + "methods": [ + { + "methodname": "GetResultStatus", + "methodname_flat": "SteamAPI_ISteamInventory_GetResultStatus", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" } + ], + "returntype": "EResult" + }, + { + "methodname": "GetResultItems", + "methodname_flat": "SteamAPI_ISteamInventory_GetResultItems", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" }, + { + "desc": "Output array", + "out_array_count": "punOutItemsArraySize", + "paramname": "pOutItemsArray", + "paramtype": "SteamItemDetails_t *" + }, + { "paramname":"punOutItemsArraySize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetResultItemProperty", + "methodname_flat": "SteamAPI_ISteamInventory_GetResultItemProperty", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" }, + { "paramname":"unItemIndex", "paramtype":"uint32" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { + "out_string_count": "punValueBufferSizeOut", + "paramname": "pchValueBuffer", + "paramtype": "char *" + }, + { "paramname":"punValueBufferSizeOut", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetResultTimestamp", + "methodname_flat": "SteamAPI_ISteamInventory_GetResultTimestamp", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" } + ], + "returntype": "uint32" + }, + { + "methodname": "CheckResultSteamID", + "methodname_flat": "SteamAPI_ISteamInventory_CheckResultSteamID", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" }, + { "paramname":"steamIDExpected", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "DestroyResult", + "methodname_flat": "SteamAPI_ISteamInventory_DestroyResult", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetAllItems", + "methodname_flat": "SteamAPI_ISteamInventory_GetAllItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetItemsByID", + "methodname_flat": "SteamAPI_ISteamInventory_GetItemsByID", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { + "array_count": "unCountInstanceIDs", + "paramname": "pInstanceIDs", + "paramtype": "const SteamItemInstanceID_t *" + }, + { "paramname":"unCountInstanceIDs", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "SerializeResult", + "methodname_flat": "SteamAPI_ISteamInventory_SerializeResult", + "params": [ + { "paramname":"resultHandle", "paramtype":"SteamInventoryResult_t" }, + { + "out_buffer_count": "punOutBufferSize", + "paramname": "pOutBuffer", + "paramtype": "void *" + }, + { "paramname":"punOutBufferSize", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "DeserializeResult", + "methodname_flat": "SteamAPI_ISteamInventory_DeserializeResult", + "params": [ + { "paramname":"pOutResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { + "buffer_count": "punOutBufferSize", + "paramname": "pBuffer", + "paramtype": "const void *" + }, + { "paramname":"unBufferSize", "paramtype":"uint32" }, + { "paramname":"bRESERVED_MUST_BE_FALSE", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "GenerateItems", + "methodname_flat": "SteamAPI_ISteamInventory_GenerateItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { + "array_count": "unArrayLength", + "paramname": "pArrayItemDefs", + "paramtype": "const SteamItemDef_t *" + }, + { + "array_count": "unArrayLength", + "paramname": "punArrayQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"unArrayLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GrantPromoItems", + "methodname_flat": "SteamAPI_ISteamInventory_GrantPromoItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "AddPromoItem", + "methodname_flat": "SteamAPI_ISteamInventory_AddPromoItem", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"itemDef", "paramtype":"SteamItemDef_t" } + ], + "returntype": "bool" + }, + { + "methodname": "AddPromoItems", + "methodname_flat": "SteamAPI_ISteamInventory_AddPromoItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { + "array_count": "unArrayLength", + "paramname": "pArrayItemDefs", + "paramtype": "const SteamItemDef_t *" + }, + { "paramname":"unArrayLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "ConsumeItem", + "methodname_flat": "SteamAPI_ISteamInventory_ConsumeItem", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"itemConsume", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"unQuantity", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "ExchangeItems", + "methodname_flat": "SteamAPI_ISteamInventory_ExchangeItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { + "array_count": "unArrayGenerateLength", + "paramname": "pArrayGenerate", + "paramtype": "const SteamItemDef_t *" + }, + { + "array_count": "unArrayGenerateLength", + "paramname": "punArrayGenerateQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"unArrayGenerateLength", "paramtype":"uint32" }, + { + "array_count": "unArrayDestroyLength", + "paramname": "pArrayDestroy", + "paramtype": "const SteamItemInstanceID_t *" + }, + { + "array_count": "unArrayDestroyLength", + "paramname": "punArrayDestroyQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"unArrayDestroyLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "TransferItemQuantity", + "methodname_flat": "SteamAPI_ISteamInventory_TransferItemQuantity", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"itemIdSource", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"unQuantity", "paramtype":"uint32" }, + { "paramname":"itemIdDest", "paramtype":"SteamItemInstanceID_t" } + ], + "returntype": "bool" + }, + { + "methodname": "SendItemDropHeartbeat", + "methodname_flat": "SteamAPI_ISteamInventory_SendItemDropHeartbeat", + "params": [], + "returntype": "void" + }, + { + "methodname": "TriggerItemDrop", + "methodname_flat": "SteamAPI_ISteamInventory_TriggerItemDrop", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"dropListDefinition", "paramtype":"SteamItemDef_t" } + ], + "returntype": "bool" + }, + { + "methodname": "TradeItems", + "methodname_flat": "SteamAPI_ISteamInventory_TradeItems", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"steamIDTradePartner", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { + "array_count": "nArrayGiveLength", + "paramname": "pArrayGive", + "paramtype": "const SteamItemInstanceID_t *" + }, + { + "array_count": "nArrayGiveLength", + "paramname": "pArrayGiveQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"nArrayGiveLength", "paramtype":"uint32" }, + { + "array_count": "nArrayGetLength", + "paramname": "pArrayGet", + "paramtype": "const SteamItemInstanceID_t *" + }, + { + "array_count": "nArrayGetLength", + "paramname": "pArrayGetQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"nArrayGetLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "LoadItemDefinitions", + "methodname_flat": "SteamAPI_ISteamInventory_LoadItemDefinitions", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetItemDefinitionIDs", + "methodname_flat": "SteamAPI_ISteamInventory_GetItemDefinitionIDs", + "params": [ + { + "desc": "List of item definition IDs", + "out_array_count": "punItemDefIDsArraySize", + "paramname": "pItemDefIDs", + "paramtype": "SteamItemDef_t *" + }, + { + "desc": "Size of array is passed in and actual size used is returned in this param", + "paramname": "punItemDefIDsArraySize", + "paramtype": "uint32 *" + } + ], + "returntype": "bool" + }, + { + "methodname": "GetItemDefinitionProperty", + "methodname_flat": "SteamAPI_ISteamInventory_GetItemDefinitionProperty", + "params": [ + { "paramname":"iDefinition", "paramtype":"SteamItemDef_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { + "out_string_count": "punValueBufferSizeOut", + "paramname": "pchValueBuffer", + "paramtype": "char *" + }, + { "paramname":"punValueBufferSizeOut", "paramtype":"uint32 *" } + ], + "returntype": "bool" + }, + { + "callresult": "SteamInventoryEligiblePromoItemDefIDs_t", + "methodname": "RequestEligiblePromoItemDefinitionsIDs", + "methodname_flat": "SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetEligiblePromoItemDefinitionIDs", + "methodname_flat": "SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { + "desc": "List of item definition IDs", + "out_array_count": "punItemDefIDsArraySize", + "paramname": "pItemDefIDs", + "paramtype": "SteamItemDef_t *" + }, + { + "desc": "Size of array is passed in and actual size used is returned in this param", + "paramname": "punItemDefIDsArraySize", + "paramtype": "uint32 *" + } + ], + "returntype": "bool" + }, + { + "callresult": "SteamInventoryStartPurchaseResult_t", + "methodname": "StartPurchase", + "methodname_flat": "SteamAPI_ISteamInventory_StartPurchase", + "params": [ + { + "array_count": "unArrayLength", + "paramname": "pArrayItemDefs", + "paramtype": "const SteamItemDef_t *" + }, + { + "array_count": "unArrayLength", + "paramname": "punArrayQuantity", + "paramtype": "const uint32 *" + }, + { "paramname":"unArrayLength", "paramtype":"uint32" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "SteamInventoryRequestPricesResult_t", + "methodname": "RequestPrices", + "methodname_flat": "SteamAPI_ISteamInventory_RequestPrices", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetNumItemsWithPrices", + "methodname_flat": "SteamAPI_ISteamInventory_GetNumItemsWithPrices", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetItemsWithPrices", + "methodname_flat": "SteamAPI_ISteamInventory_GetItemsWithPrices", + "params": [ + { + "array_count": "unArrayLength", + "desc": "Items with prices", + "out_array_count": "pArrayItemDefs", + "paramname": "pArrayItemDefs", + "paramtype": "SteamItemDef_t *" + }, + { + "array_count": "unArrayLength", + "desc": "List of prices for the given item defs", + "out_array_count": "pPrices", + "paramname": "pCurrentPrices", + "paramtype": "uint64 *" + }, + { + "array_count": "unArrayLength", + "desc": "List of prices for the given item defs", + "out_array_count": "pPrices", + "paramname": "pBasePrices", + "paramtype": "uint64 *" + }, + { "paramname":"unArrayLength", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetItemPrice", + "methodname_flat": "SteamAPI_ISteamInventory_GetItemPrice", + "params": [ + { "paramname":"iDefinition", "paramtype":"SteamItemDef_t" }, + { "paramname":"pCurrentPrice", "paramtype":"uint64 *" }, + { "paramname":"pBasePrice", "paramtype":"uint64 *" } + ], + "returntype": "bool" + }, + { + "methodname": "StartUpdateProperties", + "methodname_flat": "SteamAPI_ISteamInventory_StartUpdateProperties", + "params": [], + "returntype": "SteamInventoryUpdateHandle_t" + }, + { + "methodname": "RemoveProperty", + "methodname_flat": "SteamAPI_ISteamInventory_RemoveProperty", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"nItemID", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetProperty", + "methodname_flat": "SteamAPI_ISteamInventory_SetPropertyString", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"nItemID", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { "paramname":"pchPropertyValue", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetProperty", + "methodname_flat": "SteamAPI_ISteamInventory_SetPropertyBool", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"nItemID", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { "paramname":"bValue", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "SetProperty", + "methodname_flat": "SteamAPI_ISteamInventory_SetPropertyInt64", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"nItemID", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { "paramname":"nValue", "paramtype":"int64" } + ], + "returntype": "bool" + }, + { + "methodname": "SetProperty", + "methodname_flat": "SteamAPI_ISteamInventory_SetPropertyFloat", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"nItemID", "paramtype":"SteamItemInstanceID_t" }, + { "paramname":"pchPropertyName", "paramtype":"const char *" }, + { "paramname":"flValue", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "SubmitUpdateProperties", + "methodname_flat": "SteamAPI_ISteamInventory_SubmitUpdateProperties", + "params": [ + { "paramname":"handle", "paramtype":"SteamInventoryUpdateHandle_t" }, + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "InspectItem", + "methodname_flat": "SteamAPI_ISteamInventory_InspectItem", + "params": [ + { "paramname":"pResultHandle", "paramtype":"SteamInventoryResult_t *" }, + { "paramname":"pchItemToken", "paramtype":"const char *" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMINVENTORY_INTERFACE_V003" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamTimeline", + "name_flat": "SteamAPI_SteamTimeline_v004" + } + ], + "classname": "ISteamTimeline", + "fields": [], + "methods": [ + { + "methodname": "SetTimelineTooltip", + "methodname_flat": "SteamAPI_ISteamTimeline_SetTimelineTooltip", + "params": [ + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"flTimeDelta", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "ClearTimelineTooltip", + "methodname_flat": "SteamAPI_ISteamTimeline_ClearTimelineTooltip", + "params": [ + { "paramname":"flTimeDelta", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "SetTimelineGameMode", + "methodname_flat": "SteamAPI_ISteamTimeline_SetTimelineGameMode", + "params": [ + { "paramname":"eMode", "paramtype":"ETimelineGameMode" } + ], + "returntype": "void" + }, + { + "methodname": "AddInstantaneousTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_AddInstantaneousTimelineEvent", + "params": [ + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"pchIcon", "paramtype":"const char *" }, + { "paramname":"unIconPriority", "paramtype":"uint32" }, + { "paramname":"flStartOffsetSeconds", "paramtype":"float" }, + { "paramname":"ePossibleClip", "paramtype":"ETimelineEventClipPriority" } + ], + "returntype": "TimelineEventHandle_t" + }, + { + "methodname": "AddRangeTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_AddRangeTimelineEvent", + "params": [ + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"pchIcon", "paramtype":"const char *" }, + { "paramname":"unIconPriority", "paramtype":"uint32" }, + { "paramname":"flStartOffsetSeconds", "paramtype":"float" }, + { "paramname":"flDuration", "paramtype":"float" }, + { "paramname":"ePossibleClip", "paramtype":"ETimelineEventClipPriority" } + ], + "returntype": "TimelineEventHandle_t" + }, + { + "methodname": "StartRangeTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_StartRangeTimelineEvent", + "params": [ + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"pchIcon", "paramtype":"const char *" }, + { "paramname":"unPriority", "paramtype":"uint32" }, + { "paramname":"flStartOffsetSeconds", "paramtype":"float" }, + { "paramname":"ePossibleClip", "paramtype":"ETimelineEventClipPriority" } + ], + "returntype": "TimelineEventHandle_t" + }, + { + "methodname": "UpdateRangeTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_UpdateRangeTimelineEvent", + "params": [ + { "paramname":"ulEvent", "paramtype":"TimelineEventHandle_t" }, + { "paramname":"pchTitle", "paramtype":"const char *" }, + { "paramname":"pchDescription", "paramtype":"const char *" }, + { "paramname":"pchIcon", "paramtype":"const char *" }, + { "paramname":"unPriority", "paramtype":"uint32" }, + { "paramname":"ePossibleClip", "paramtype":"ETimelineEventClipPriority" } + ], + "returntype": "void" + }, + { + "methodname": "EndRangeTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_EndRangeTimelineEvent", + "params": [ + { "paramname":"ulEvent", "paramtype":"TimelineEventHandle_t" }, + { "paramname":"flEndOffsetSeconds", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "RemoveTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_RemoveTimelineEvent", + "params": [ + { "paramname":"ulEvent", "paramtype":"TimelineEventHandle_t" } + ], + "returntype": "void" + }, + { + "callresult": "SteamTimelineEventRecordingExists_t", + "methodname": "DoesEventRecordingExist", + "methodname_flat": "SteamAPI_ISteamTimeline_DoesEventRecordingExist", + "params": [ + { "paramname":"ulEvent", "paramtype":"TimelineEventHandle_t" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "StartGamePhase", + "methodname_flat": "SteamAPI_ISteamTimeline_StartGamePhase", + "params": [], + "returntype": "void" + }, + { + "methodname": "EndGamePhase", + "methodname_flat": "SteamAPI_ISteamTimeline_EndGamePhase", + "params": [], + "returntype": "void" + }, + { + "methodname": "SetGamePhaseID", + "methodname_flat": "SteamAPI_ISteamTimeline_SetGamePhaseID", + "params": [ + { "paramname":"pchPhaseID", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "callresult": "SteamTimelineGamePhaseRecordingExists_t", + "methodname": "DoesGamePhaseRecordingExist", + "methodname_flat": "SteamAPI_ISteamTimeline_DoesGamePhaseRecordingExist", + "params": [ + { "paramname":"pchPhaseID", "paramtype":"const char *" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "AddGamePhaseTag", + "methodname_flat": "SteamAPI_ISteamTimeline_AddGamePhaseTag", + "params": [ + { "paramname":"pchTagName", "paramtype":"const char *" }, + { "paramname":"pchTagIcon", "paramtype":"const char *" }, + { "paramname":"pchTagGroup", "paramtype":"const char *" }, + { "paramname":"unPriority", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "SetGamePhaseAttribute", + "methodname_flat": "SteamAPI_ISteamTimeline_SetGamePhaseAttribute", + "params": [ + { "paramname":"pchAttributeGroup", "paramtype":"const char *" }, + { "paramname":"pchAttributeValue", "paramtype":"const char *" }, + { "paramname":"unPriority", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "OpenOverlayToGamePhase", + "methodname_flat": "SteamAPI_ISteamTimeline_OpenOverlayToGamePhase", + "params": [ + { "paramname":"pchPhaseID", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "OpenOverlayToTimelineEvent", + "methodname_flat": "SteamAPI_ISteamTimeline_OpenOverlayToTimelineEvent", + "params": [ + { "paramname":"ulEvent", "paramtype":"const TimelineEventHandle_t" } + ], + "returntype": "void" + } + ], + "version_string": "STEAMTIMELINE_INTERFACE_V004" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamVideo", + "name_flat": "SteamAPI_SteamVideo_v007" + } + ], + "classname": "ISteamVideo", + "fields": [], + "methods": [ + { + "methodname": "GetVideoURL", + "methodname_flat": "SteamAPI_ISteamVideo_GetVideoURL", + "params": [ + { "paramname":"unVideoAppID", "paramtype":"AppId_t" } + ], + "returntype": "void" + }, + { + "methodname": "IsBroadcasting", + "methodname_flat": "SteamAPI_ISteamVideo_IsBroadcasting", + "params": [ + { "paramname":"pnNumViewers", "paramtype":"int *" } + ], + "returntype": "bool" + }, + { + "callback": "GetOPFSettingsResult_t", + "methodname": "GetOPFSettings", + "methodname_flat": "SteamAPI_ISteamVideo_GetOPFSettings", + "params": [ + { "paramname":"unVideoAppID", "paramtype":"AppId_t" } + ], + "returntype": "void" + }, + { + "methodname": "GetOPFStringForApp", + "methodname_flat": "SteamAPI_ISteamVideo_GetOPFStringForApp", + "params": [ + { "paramname":"unVideoAppID", "paramtype":"AppId_t" }, + { "paramname":"pchBuffer", "paramtype":"char *" }, + { "paramname":"pnBufferSize", "paramtype":"int32 *" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMVIDEO_INTERFACE_V007" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamParentalSettings", + "name_flat": "SteamAPI_SteamParentalSettings_v001" + } + ], + "classname": "ISteamParentalSettings", + "fields": [], + "methods": [ + { + "methodname": "BIsParentalLockEnabled", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsParentalLockLocked", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsParentalLockLocked", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BIsAppBlocked", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsAppBlocked", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "BIsAppInBlockList", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsAppInBlockList", + "params": [ + { "paramname":"nAppID", "paramtype":"AppId_t" } + ], + "returntype": "bool" + }, + { + "methodname": "BIsFeatureBlocked", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsFeatureBlocked", + "params": [ + { "paramname":"eFeature", "paramtype":"EParentalFeature" } + ], + "returntype": "bool" + }, + { + "methodname": "BIsFeatureInBlockList", + "methodname_flat": "SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList", + "params": [ + { "paramname":"eFeature", "paramtype":"EParentalFeature" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMPARENTALSETTINGS_INTERFACE_VERSION001" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamRemotePlay", + "name_flat": "SteamAPI_SteamRemotePlay_v002" + } + ], + "classname": "ISteamRemotePlay", + "fields": [], + "methods": [ + { + "methodname": "GetSessionCount", + "methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionCount", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetSessionID", + "methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionID", + "params": [ + { "paramname":"iSessionIndex", "paramtype":"int" } + ], + "returntype": "RemotePlaySessionID_t" + }, + { + "methodname": "GetSessionSteamID", + "methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionSteamID", + "params": [ + { "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" } + ], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "GetSessionClientName", + "methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionClientName", + "params": [ + { "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" } + ], + "returntype": "const char *" + }, + { + "methodname": "GetSessionClientFormFactor", + "methodname_flat": "SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor", + "params": [ + { "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" } + ], + "returntype": "ESteamDeviceFormFactor" + }, + { + "methodname": "BGetSessionClientResolution", + "methodname_flat": "SteamAPI_ISteamRemotePlay_BGetSessionClientResolution", + "params": [ + { "paramname":"unSessionID", "paramtype":"RemotePlaySessionID_t" }, + { "paramname":"pnResolutionX", "paramtype":"int *" }, + { "paramname":"pnResolutionY", "paramtype":"int *" } + ], + "returntype": "bool" + }, + { + "methodname": "BStartRemotePlayTogether", + "methodname_flat": "SteamAPI_ISteamRemotePlay_BStartRemotePlayTogether", + "params": [ + { "paramname":"bShowOverlay", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "BSendRemotePlayTogetherInvite", + "methodname_flat": "SteamAPI_ISteamRemotePlay_BSendRemotePlayTogetherInvite", + "params": [ + { "paramname":"steamIDFriend", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + } + ], + "version_string": "STEAMREMOTEPLAY_INTERFACE_VERSION002" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamNetworkingMessages_SteamAPI", + "name_flat": "SteamAPI_SteamNetworkingMessages_SteamAPI_v002" + }, + { + "kind": "gameserver", + "name": "SteamGameServerNetworkingMessages_SteamAPI", + "name_flat": "SteamAPI_SteamGameServerNetworkingMessages_SteamAPI_v002" + } + ], + "classname": "ISteamNetworkingMessages", + "fields": [], + "methods": [ + { + "methodname": "SendMessageToUser", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_SendMessageToUser", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"pubData", "paramtype":"const void *" }, + { "paramname":"cubData", "paramtype":"uint32" }, + { "paramname":"nSendFlags", "paramtype":"int" }, + { "paramname":"nRemoteChannel", "paramtype":"int" } + ], + "returntype": "EResult" + }, + { + "methodname": "ReceiveMessagesOnChannel", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_ReceiveMessagesOnChannel", + "params": [ + { "paramname":"nLocalChannel", "paramtype":"int" }, + { "paramname":"ppOutMessages", "paramtype":"SteamNetworkingMessage_t **" }, + { "paramname":"nMaxMessages", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "AcceptSessionWithUser", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_AcceptSessionWithUser", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseSessionWithUser", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_CloseSessionWithUser", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseChannelWithUser", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_CloseChannelWithUser", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"nLocalChannel", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetSessionConnectionInfo", + "methodname_flat": "SteamAPI_ISteamNetworkingMessages_GetSessionConnectionInfo", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"pConnectionInfo", "paramtype":"SteamNetConnectionInfo_t *" }, + { "paramname":"pQuickStatus", "paramtype":"SteamNetConnectionRealTimeStatus_t *" } + ], + "returntype": "ESteamNetworkingConnectionState" + } + ], + "version_string": "SteamNetworkingMessages002" + }, + { + "accessors": [ + { + "kind": "user", + "name": "SteamNetworkingSockets_SteamAPI", + "name_flat": "SteamAPI_SteamNetworkingSockets_SteamAPI_v012" + }, + { + "kind": "gameserver", + "name": "SteamGameServerNetworkingSockets_SteamAPI", + "name_flat": "SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012" + } + ], + "classname": "ISteamNetworkingSockets", + "fields": [], + "methods": [ + { + "methodname": "CreateListenSocketIP", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateListenSocketIP", + "params": [ + { "paramname":"localAddress", "paramtype":"const SteamNetworkingIPAddr &" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamListenSocket" + }, + { + "methodname": "ConnectByIPAddress", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ConnectByIPAddress", + "params": [ + { "paramname":"address", "paramtype":"const SteamNetworkingIPAddr &" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamNetConnection" + }, + { + "methodname": "CreateListenSocketP2P", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2P", + "params": [ + { "paramname":"nLocalVirtualPort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamListenSocket" + }, + { + "methodname": "ConnectP2P", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ConnectP2P", + "params": [ + { "paramname":"identityRemote", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"nRemoteVirtualPort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamNetConnection" + }, + { + "methodname": "AcceptConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_AcceptConnection", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" } + ], + "returntype": "EResult" + }, + { + "methodname": "CloseConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CloseConnection", + "params": [ + { "paramname":"hPeer", "paramtype":"HSteamNetConnection" }, + { "paramname":"nReason", "paramtype":"int" }, + { "paramname":"pszDebug", "paramtype":"const char *" }, + { "paramname":"bEnableLinger", "paramtype":"bool" } + ], + "returntype": "bool" + }, + { + "methodname": "CloseListenSocket", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CloseListenSocket", + "params": [ + { "paramname":"hSocket", "paramtype":"HSteamListenSocket" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConnectionUserData", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SetConnectionUserData", + "params": [ + { "paramname":"hPeer", "paramtype":"HSteamNetConnection" }, + { "paramname":"nUserData", "paramtype":"int64" } + ], + "returntype": "bool" + }, + { + "methodname": "GetConnectionUserData", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetConnectionUserData", + "params": [ + { "paramname":"hPeer", "paramtype":"HSteamNetConnection" } + ], + "returntype": "int64" + }, + { + "methodname": "SetConnectionName", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SetConnectionName", + "params": [ + { "paramname":"hPeer", "paramtype":"HSteamNetConnection" }, + { "paramname":"pszName", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "GetConnectionName", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetConnectionName", + "params": [ + { "paramname":"hPeer", "paramtype":"HSteamNetConnection" }, + { "paramname":"pszName", "paramtype":"char *" }, + { "paramname":"nMaxLen", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "SendMessageToConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SendMessageToConnection", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"pData", "paramtype":"const void *" }, + { "paramname":"cbData", "paramtype":"uint32" }, + { "paramname":"nSendFlags", "paramtype":"int" }, + { "paramname":"pOutMessageNumber", "paramtype":"int64 *" } + ], + "returntype": "EResult" + }, + { + "methodname": "SendMessages", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SendMessages", + "params": [ + { "paramname":"nMessages", "paramtype":"int" }, + { "paramname":"pMessages", "paramtype":"SteamNetworkingMessage_t *const *" }, + { "paramname":"pOutMessageNumberOrResult", "paramtype":"int64 *" } + ], + "returntype": "void" + }, + { + "methodname": "FlushMessagesOnConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_FlushMessagesOnConnection", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" } + ], + "returntype": "EResult" + }, + { + "methodname": "ReceiveMessagesOnConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnConnection", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"ppOutMessages", "paramtype":"SteamNetworkingMessage_t **" }, + { "paramname":"nMaxMessages", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "GetConnectionInfo", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetConnectionInfo", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"pInfo", "paramtype":"SteamNetConnectionInfo_t *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetConnectionRealTimeStatus", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetConnectionRealTimeStatus", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"pStatus", "paramtype":"SteamNetConnectionRealTimeStatus_t *" }, + { "paramname":"nLanes", "paramtype":"int" }, + { "paramname":"pLanes", "paramtype":"SteamNetConnectionRealTimeLaneStatus_t *" } + ], + "returntype": "EResult" + }, + { + "methodname": "GetDetailedConnectionStatus", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetDetailedConnectionStatus", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"pszBuf", "paramtype":"char *" }, + { "paramname":"cbBuf", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "GetListenSocketAddress", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetListenSocketAddress", + "params": [ + { "paramname":"hSocket", "paramtype":"HSteamListenSocket" }, + { "paramname":"address", "paramtype":"SteamNetworkingIPAddr *" } + ], + "returntype": "bool" + }, + { + "methodname": "CreateSocketPair", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateSocketPair", + "params": [ + { "paramname":"pOutConnection1", "paramtype":"HSteamNetConnection *" }, + { "paramname":"pOutConnection2", "paramtype":"HSteamNetConnection *" }, + { "paramname":"bUseNetworkLoopback", "paramtype":"bool" }, + { "paramname":"pIdentity1", "paramtype":"const SteamNetworkingIdentity *" }, + { "paramname":"pIdentity2", "paramtype":"const SteamNetworkingIdentity *" } + ], + "returntype": "bool" + }, + { + "methodname": "ConfigureConnectionLanes", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ConfigureConnectionLanes", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"nNumLanes", "paramtype":"int" }, + { "paramname":"pLanePriorities", "paramtype":"const int *" }, + { "paramname":"pLaneWeights", "paramtype":"const uint16 *" } + ], + "returntype": "EResult" + }, + { + "methodname": "GetIdentity", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetIdentity", + "params": [ + { "paramname":"pIdentity", "paramtype":"SteamNetworkingIdentity *" } + ], + "returntype": "bool" + }, + { + "methodname": "InitAuthentication", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_InitAuthentication", + "params": [], + "returntype": "ESteamNetworkingAvailability" + }, + { + "methodname": "GetAuthenticationStatus", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetAuthenticationStatus", + "params": [ + { "paramname":"pDetails", "paramtype":"SteamNetAuthenticationStatus_t *" } + ], + "returntype": "ESteamNetworkingAvailability" + }, + { + "methodname": "CreatePollGroup", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreatePollGroup", + "params": [], + "returntype": "HSteamNetPollGroup" + }, + { + "methodname": "DestroyPollGroup", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_DestroyPollGroup", + "params": [ + { "paramname":"hPollGroup", "paramtype":"HSteamNetPollGroup" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConnectionPollGroup", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SetConnectionPollGroup", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"hPollGroup", "paramtype":"HSteamNetPollGroup" } + ], + "returntype": "bool" + }, + { + "methodname": "ReceiveMessagesOnPollGroup", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup", + "params": [ + { "paramname":"hPollGroup", "paramtype":"HSteamNetPollGroup" }, + { "paramname":"ppOutMessages", "paramtype":"SteamNetworkingMessage_t **" }, + { "paramname":"nMaxMessages", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "ReceivedRelayAuthTicket", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ReceivedRelayAuthTicket", + "params": [ + { "paramname":"pvTicket", "paramtype":"const void *" }, + { "paramname":"cbTicket", "paramtype":"int" }, + { "paramname":"pOutParsedTicket", "paramtype":"SteamDatagramRelayAuthTicket *" } + ], + "returntype": "bool" + }, + { + "methodname": "FindRelayAuthTicketForServer", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_FindRelayAuthTicketForServer", + "params": [ + { "paramname":"identityGameServer", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"nRemoteVirtualPort", "paramtype":"int" }, + { "paramname":"pOutParsedTicket", "paramtype":"SteamDatagramRelayAuthTicket *" } + ], + "returntype": "int" + }, + { + "methodname": "ConnectToHostedDedicatedServer", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ConnectToHostedDedicatedServer", + "params": [ + { "paramname":"identityTarget", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"nRemoteVirtualPort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamNetConnection" + }, + { + "methodname": "GetHostedDedicatedServerPort", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPort", + "params": [], + "returntype": "uint16" + }, + { + "methodname": "GetHostedDedicatedServerPOPID", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPOPID", + "params": [], + "returntype": "SteamNetworkingPOPID" + }, + { + "methodname": "GetHostedDedicatedServerAddress", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerAddress", + "params": [ + { "paramname":"pRouting", "paramtype":"SteamDatagramHostedAddress *" } + ], + "returntype": "EResult" + }, + { + "methodname": "CreateHostedDedicatedServerListenSocket", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket", + "params": [ + { "paramname":"nLocalVirtualPort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamListenSocket" + }, + { + "methodname": "GetGameCoordinatorServerLogin", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetGameCoordinatorServerLogin", + "params": [ + { "paramname":"pLoginInfo", "paramtype":"SteamDatagramGameCoordinatorServerLogin *" }, + { "paramname":"pcbSignedBlob", "paramtype":"int *" }, + { "paramname":"pBlob", "paramtype":"void *" } + ], + "returntype": "EResult" + }, + { + "methodname": "ConnectP2PCustomSignaling", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ConnectP2PCustomSignaling", + "params": [ + { "paramname":"pSignaling", "paramtype":"ISteamNetworkingConnectionSignaling *" }, + { "paramname":"pPeerIdentity", "paramtype":"const SteamNetworkingIdentity *" }, + { "paramname":"nRemoteVirtualPort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamNetConnection" + }, + { + "methodname": "ReceivedP2PCustomSignal", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ReceivedP2PCustomSignal", + "params": [ + { "paramname":"pMsg", "paramtype":"const void *" }, + { "paramname":"cbMsg", "paramtype":"int" }, + { "paramname":"pContext", "paramtype":"ISteamNetworkingSignalingRecvContext *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetCertificateRequest", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetCertificateRequest", + "params": [ + { "paramname":"pcbBlob", "paramtype":"int *" }, + { "paramname":"pBlob", "paramtype":"void *" }, + { "paramname":"errMsg", "paramtype":"SteamNetworkingErrMsg &" } + ], + "returntype": "bool" + }, + { + "methodname": "SetCertificate", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SetCertificate", + "params": [ + { "paramname":"pCertificate", "paramtype":"const void *" }, + { "paramname":"cbCertificate", "paramtype":"int" }, + { "paramname":"errMsg", "paramtype":"SteamNetworkingErrMsg &" } + ], + "returntype": "bool" + }, + { + "methodname": "ResetIdentity", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_ResetIdentity", + "params": [ + { "paramname":"pIdentity", "paramtype":"const SteamNetworkingIdentity *" } + ], + "returntype": "void" + }, + { + "methodname": "RunCallbacks", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_RunCallbacks", + "params": [], + "returntype": "void" + }, + { + "methodname": "BeginAsyncRequestFakeIP", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_BeginAsyncRequestFakeIP", + "params": [ + { "paramname":"nNumPorts", "paramtype":"int" } + ], + "returntype": "bool" + }, + { + "methodname": "GetFakeIP", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetFakeIP", + "params": [ + { "paramname":"idxFirstPort", "paramtype":"int" }, + { "paramname":"pInfo", "paramtype":"SteamNetworkingFakeIPResult_t *" } + ], + "returntype": "void" + }, + { + "methodname": "CreateListenSocketP2PFakeIP", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2PFakeIP", + "params": [ + { "paramname":"idxFakePort", "paramtype":"int" }, + { "paramname":"nOptions", "paramtype":"int" }, + { "paramname":"pOptions", "paramtype":"const SteamNetworkingConfigValue_t *" } + ], + "returntype": "HSteamListenSocket" + }, + { + "methodname": "GetRemoteFakeIPForConnection", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_GetRemoteFakeIPForConnection", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"pOutAddr", "paramtype":"SteamNetworkingIPAddr *" } + ], + "returntype": "EResult" + }, + { + "methodname": "CreateFakeUDPPort", + "methodname_flat": "SteamAPI_ISteamNetworkingSockets_CreateFakeUDPPort", + "params": [ + { "paramname":"idxFakeServerPort", "paramtype":"int" } + ], + "returntype": "ISteamNetworkingFakeUDPPort *" + } + ], + "version_string": "SteamNetworkingSockets012" + }, + { + "accessors": [ + { + "kind": "global", + "name": "SteamNetworkingUtils_SteamAPI", + "name_flat": "SteamAPI_SteamNetworkingUtils_SteamAPI_v004" + } + ], + "classname": "ISteamNetworkingUtils", + "fields": [], + "methods": [ + { + "methodname": "AllocateMessage", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_AllocateMessage", + "params": [ + { "paramname":"cbAllocateBuffer", "paramtype":"int" } + ], + "returntype": "SteamNetworkingMessage_t *" + }, + { + "methodname": "InitRelayNetworkAccess", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_InitRelayNetworkAccess", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetRelayNetworkStatus", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetRelayNetworkStatus", + "params": [ + { "paramname":"pDetails", "paramtype":"SteamRelayNetworkStatus_t *" } + ], + "returntype": "ESteamNetworkingAvailability" + }, + { + "methodname": "GetLocalPingLocation", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetLocalPingLocation", + "params": [ + { "paramname":"result", "paramtype":"SteamNetworkPingLocation_t &" } + ], + "returntype": "float" + }, + { + "methodname": "EstimatePingTimeBetweenTwoLocations", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_EstimatePingTimeBetweenTwoLocations", + "params": [ + { "paramname":"location1", "paramtype":"const SteamNetworkPingLocation_t &" }, + { "paramname":"location2", "paramtype":"const SteamNetworkPingLocation_t &" } + ], + "returntype": "int" + }, + { + "methodname": "EstimatePingTimeFromLocalHost", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_EstimatePingTimeFromLocalHost", + "params": [ + { "paramname":"remoteLocation", "paramtype":"const SteamNetworkPingLocation_t &" } + ], + "returntype": "int" + }, + { + "methodname": "ConvertPingLocationToString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_ConvertPingLocationToString", + "params": [ + { "paramname":"location", "paramtype":"const SteamNetworkPingLocation_t &" }, + { "paramname":"pszBuf", "paramtype":"char *" }, + { "paramname":"cchBufSize", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "ParsePingLocationString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_ParsePingLocationString", + "params": [ + { "paramname":"pszString", "paramtype":"const char *" }, + { "paramname":"result", "paramtype":"SteamNetworkPingLocation_t &" } + ], + "returntype": "bool" + }, + { + "methodname": "CheckPingDataUpToDate", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_CheckPingDataUpToDate", + "params": [ + { "paramname":"flMaxAgeSeconds", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "GetPingToDataCenter", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetPingToDataCenter", + "params": [ + { "paramname":"popID", "paramtype":"SteamNetworkingPOPID" }, + { "paramname":"pViaRelayPoP", "paramtype":"SteamNetworkingPOPID *" } + ], + "returntype": "int" + }, + { + "methodname": "GetDirectPingToPOP", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetDirectPingToPOP", + "params": [ + { "paramname":"popID", "paramtype":"SteamNetworkingPOPID" } + ], + "returntype": "int" + }, + { + "methodname": "GetPOPCount", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetPOPCount", + "params": [], + "returntype": "int" + }, + { + "methodname": "GetPOPList", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetPOPList", + "params": [ + { "paramname":"list", "paramtype":"SteamNetworkingPOPID *" }, + { "paramname":"nListSz", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "GetLocalTimestamp", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetLocalTimestamp", + "params": [], + "returntype": "SteamNetworkingMicroseconds" + }, + { + "methodname": "SetDebugOutputFunction", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetDebugOutputFunction", + "params": [ + { "paramname":"eDetailLevel", "paramtype":"ESteamNetworkingSocketsDebugOutputType" }, + { "paramname":"pfnFunc", "paramtype":"FSteamNetworkingSocketsDebugOutput" } + ], + "returntype": "void" + }, + { + "methodname": "IsFakeIPv4", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_IsFakeIPv4", + "params": [ + { "paramname":"nIPv4", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetIPv4FakeIPType", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetIPv4FakeIPType", + "params": [ + { "paramname":"nIPv4", "paramtype":"uint32" } + ], + "returntype": "ESteamNetworkingFakeIPType" + }, + { + "methodname": "GetRealIdentityForFakeIP", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetRealIdentityForFakeIP", + "params": [ + { "paramname":"fakeIP", "paramtype":"const SteamNetworkingIPAddr &" }, + { "paramname":"pOutRealIdentity", "paramtype":"SteamNetworkingIdentity *" } + ], + "returntype": "EResult" + }, + { + "methodname": "SetGlobalConfigValueInt32", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueInt32", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalConfigValueFloat", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueFloat", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalConfigValueString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueString", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalConfigValuePtr", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValuePtr", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"void *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConnectionConfigValueInt32", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueInt32", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConnectionConfigValueFloat", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueFloat", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConnectionConfigValueString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueString", + "params": [ + { "paramname":"hConn", "paramtype":"HSteamNetConnection" }, + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"val", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_SteamNetConnectionStatusChanged", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetConnectionStatusChanged", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamNetConnectionStatusChanged" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_SteamNetAuthenticationStatusChanged", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetAuthenticationStatusChanged", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamNetAuthenticationStatusChanged" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_SteamRelayNetworkStatusChanged", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamRelayNetworkStatusChanged", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamRelayNetworkStatusChanged" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_FakeIPResult", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_FakeIPResult", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamNetworkingFakeIPResult" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_MessagesSessionRequest", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionRequest", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamNetworkingMessagesSessionRequest" } + ], + "returntype": "bool" + }, + { + "methodname": "SetGlobalCallback_MessagesSessionFailed", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionFailed", + "params": [ + { "paramname":"fnCallback", "paramtype":"FnSteamNetworkingMessagesSessionFailed" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConfigValue", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetConfigValue", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"eScopeType", "paramtype":"ESteamNetworkingConfigScope" }, + { "paramname":"scopeObj", "paramtype":"intptr_t" }, + { "paramname":"eDataType", "paramtype":"ESteamNetworkingConfigDataType" }, + { "paramname":"pArg", "paramtype":"const void *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetConfigValueStruct", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SetConfigValueStruct", + "params": [ + { "paramname":"opt", "paramtype":"const SteamNetworkingConfigValue_t &" }, + { "paramname":"eScopeType", "paramtype":"ESteamNetworkingConfigScope" }, + { "paramname":"scopeObj", "paramtype":"intptr_t" } + ], + "returntype": "bool" + }, + { + "methodname": "GetConfigValue", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetConfigValue", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"eScopeType", "paramtype":"ESteamNetworkingConfigScope" }, + { "paramname":"scopeObj", "paramtype":"intptr_t" }, + { "paramname":"pOutDataType", "paramtype":"ESteamNetworkingConfigDataType *" }, + { "paramname":"pResult", "paramtype":"void *" }, + { "paramname":"cbResult", "paramtype":"size_t *" } + ], + "returntype": "ESteamNetworkingGetConfigValueResult" + }, + { + "methodname": "GetConfigValueInfo", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_GetConfigValueInfo", + "params": [ + { "paramname":"eValue", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"pOutDataType", "paramtype":"ESteamNetworkingConfigDataType *" }, + { "paramname":"pOutScope", "paramtype":"ESteamNetworkingConfigScope *" } + ], + "returntype": "const char *" + }, + { + "methodname": "IterateGenericEditableConfigValues", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_IterateGenericEditableConfigValues", + "params": [ + { "paramname":"eCurrent", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"bEnumerateDevVars", "paramtype":"bool" } + ], + "returntype": "ESteamNetworkingConfigValue" + }, + { + "methodname": "SteamNetworkingIPAddr_ToString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ToString", + "params": [ + { "paramname":"addr", "paramtype":"const SteamNetworkingIPAddr &" }, + { "paramname":"buf", "paramtype":"char *" }, + { "paramname":"cbBuf", "paramtype":"uint32" }, + { "paramname":"bWithPort", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "SteamNetworkingIPAddr_ParseString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ParseString", + "params": [ + { "paramname":"pAddr", "paramtype":"SteamNetworkingIPAddr *" }, + { "paramname":"pszStr", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "SteamNetworkingIPAddr_GetFakeIPType", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_GetFakeIPType", + "params": [ + { "paramname":"addr", "paramtype":"const SteamNetworkingIPAddr &" } + ], + "returntype": "ESteamNetworkingFakeIPType" + }, + { + "methodname": "SteamNetworkingIdentity_ToString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ToString", + "params": [ + { "paramname":"identity", "paramtype":"const SteamNetworkingIdentity &" }, + { "paramname":"buf", "paramtype":"char *" }, + { "paramname":"cbBuf", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "SteamNetworkingIdentity_ParseString", + "methodname_flat": "SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ParseString", + "params": [ + { "paramname":"pIdentity", "paramtype":"SteamNetworkingIdentity *" }, + { "paramname":"pszStr", "paramtype":"const char *" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamNetworkingUtils004" + }, + { + "accessors": [ + { + "kind": "gameserver", + "name": "SteamGameServer", + "name_flat": "SteamAPI_SteamGameServer_v015" + } + ], + "classname": "ISteamGameServer", + "fields": [], + "methods": [ + { + "methodname": "SetProduct", + "methodname_flat": "SteamAPI_ISteamGameServer_SetProduct", + "params": [ + { "paramname":"pszProduct", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetGameDescription", + "methodname_flat": "SteamAPI_ISteamGameServer_SetGameDescription", + "params": [ + { "paramname":"pszGameDescription", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetModDir", + "methodname_flat": "SteamAPI_ISteamGameServer_SetModDir", + "params": [ + { "paramname":"pszModDir", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetDedicatedServer", + "methodname_flat": "SteamAPI_ISteamGameServer_SetDedicatedServer", + "params": [ + { "paramname":"bDedicated", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "LogOn", + "methodname_flat": "SteamAPI_ISteamGameServer_LogOn", + "params": [ + { "paramname":"pszToken", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "LogOnAnonymous", + "methodname_flat": "SteamAPI_ISteamGameServer_LogOnAnonymous", + "params": [], + "returntype": "void" + }, + { + "methodname": "LogOff", + "methodname_flat": "SteamAPI_ISteamGameServer_LogOff", + "params": [], + "returntype": "void" + }, + { + "methodname": "BLoggedOn", + "methodname_flat": "SteamAPI_ISteamGameServer_BLoggedOn", + "params": [], + "returntype": "bool" + }, + { + "methodname": "BSecure", + "methodname_flat": "SteamAPI_ISteamGameServer_BSecure", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetSteamID", + "methodname_flat": "SteamAPI_ISteamGameServer_GetSteamID", + "params": [], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "WasRestartRequested", + "methodname_flat": "SteamAPI_ISteamGameServer_WasRestartRequested", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetMaxPlayerCount", + "methodname_flat": "SteamAPI_ISteamGameServer_SetMaxPlayerCount", + "params": [ + { "paramname":"cPlayersMax", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "SetBotPlayerCount", + "methodname_flat": "SteamAPI_ISteamGameServer_SetBotPlayerCount", + "params": [ + { "paramname":"cBotplayers", "paramtype":"int" } + ], + "returntype": "void" + }, + { + "methodname": "SetServerName", + "methodname_flat": "SteamAPI_ISteamGameServer_SetServerName", + "params": [ + { "paramname":"pszServerName", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetMapName", + "methodname_flat": "SteamAPI_ISteamGameServer_SetMapName", + "params": [ + { "paramname":"pszMapName", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetPasswordProtected", + "methodname_flat": "SteamAPI_ISteamGameServer_SetPasswordProtected", + "params": [ + { "paramname":"bPasswordProtected", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "SetSpectatorPort", + "methodname_flat": "SteamAPI_ISteamGameServer_SetSpectatorPort", + "params": [ + { "paramname":"unSpectatorPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "SetSpectatorServerName", + "methodname_flat": "SteamAPI_ISteamGameServer_SetSpectatorServerName", + "params": [ + { "paramname":"pszSpectatorServerName", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "ClearAllKeyValues", + "methodname_flat": "SteamAPI_ISteamGameServer_ClearAllKeyValues", + "params": [], + "returntype": "void" + }, + { + "methodname": "SetKeyValue", + "methodname_flat": "SteamAPI_ISteamGameServer_SetKeyValue", + "params": [ + { "paramname":"pKey", "paramtype":"const char *" }, + { "paramname":"pValue", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetGameTags", + "methodname_flat": "SteamAPI_ISteamGameServer_SetGameTags", + "params": [ + { "paramname":"pchGameTags", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetGameData", + "methodname_flat": "SteamAPI_ISteamGameServer_SetGameData", + "params": [ + { "paramname":"pchGameData", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetRegion", + "methodname_flat": "SteamAPI_ISteamGameServer_SetRegion", + "params": [ + { "paramname":"pszRegion", "paramtype":"const char *" } + ], + "returntype": "void" + }, + { + "methodname": "SetAdvertiseServerActive", + "methodname_flat": "SteamAPI_ISteamGameServer_SetAdvertiseServerActive", + "params": [ + { "paramname":"bActive", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "GetAuthSessionTicket", + "methodname_flat": "SteamAPI_ISteamGameServer_GetAuthSessionTicket", + "params": [ + { "paramname":"pTicket", "paramtype":"void *" }, + { "paramname":"cbMaxTicket", "paramtype":"int" }, + { "paramname":"pcbTicket", "paramtype":"uint32 *" }, + { "paramname":"pSnid", "paramtype":"const SteamNetworkingIdentity *" } + ], + "returntype": "HAuthTicket" + }, + { + "methodname": "BeginAuthSession", + "methodname_flat": "SteamAPI_ISteamGameServer_BeginAuthSession", + "params": [ + { "paramname":"pAuthTicket", "paramtype":"const void *" }, + { "paramname":"cbAuthTicket", "paramtype":"int" }, + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "EBeginAuthSessionResult" + }, + { + "methodname": "EndAuthSession", + "methodname_flat": "SteamAPI_ISteamGameServer_EndAuthSession", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "CancelAuthTicket", + "methodname_flat": "SteamAPI_ISteamGameServer_CancelAuthTicket", + "params": [ + { "paramname":"hAuthTicket", "paramtype":"HAuthTicket" } + ], + "returntype": "void" + }, + { + "methodname": "UserHasLicenseForApp", + "methodname_flat": "SteamAPI_ISteamGameServer_UserHasLicenseForApp", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"appID", "paramtype":"AppId_t" } + ], + "returntype": "EUserHasLicenseForAppResult" + }, + { + "methodname": "RequestUserGroupStatus", + "methodname_flat": "SteamAPI_ISteamGameServer_RequestUserGroupStatus", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"steamIDGroup", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGameplayStats", + "methodname_flat": "SteamAPI_ISteamGameServer_GetGameplayStats", + "params": [], + "returntype": "void" + }, + { + "callresult": "GSReputation_t", + "methodname": "GetServerReputation", + "methodname_flat": "SteamAPI_ISteamGameServer_GetServerReputation", + "params": [], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetPublicIP", + "methodname_flat": "SteamAPI_ISteamGameServer_GetPublicIP", + "params": [], + "returntype": "SteamIPAddress_t" + }, + { + "methodname": "HandleIncomingPacket", + "methodname_flat": "SteamAPI_ISteamGameServer_HandleIncomingPacket", + "params": [ + { "paramname":"pData", "paramtype":"const void *" }, + { "paramname":"cbData", "paramtype":"int" }, + { "paramname":"srcIP", "paramtype":"uint32" }, + { "paramname":"srcPort", "paramtype":"uint16" } + ], + "returntype": "bool" + }, + { + "methodname": "GetNextOutgoingPacket", + "methodname_flat": "SteamAPI_ISteamGameServer_GetNextOutgoingPacket", + "params": [ + { "paramname":"pOut", "paramtype":"void *" }, + { "paramname":"cbMaxOut", "paramtype":"int" }, + { "paramname":"pNetAdr", "paramtype":"uint32 *" }, + { "paramname":"pPort", "paramtype":"uint16 *" } + ], + "returntype": "int" + }, + { + "callresult": "AssociateWithClanResult_t", + "methodname": "AssociateWithClan", + "methodname_flat": "SteamAPI_ISteamGameServer_AssociateWithClan", + "params": [ + { "paramname":"steamIDClan", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "callresult": "ComputeNewPlayerCompatibilityResult_t", + "methodname": "ComputeNewPlayerCompatibility", + "methodname_flat": "SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility", + "params": [ + { "paramname":"steamIDNewPlayer", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "SendUserConnectAndAuthenticate_DEPRECATED", + "methodname_flat": "SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate_DEPRECATED", + "params": [ + { "paramname":"unIPClient", "paramtype":"uint32" }, + { "paramname":"pvAuthBlob", "paramtype":"const void *" }, + { "paramname":"cubAuthBlobSize", "paramtype":"uint32" }, + { "paramname":"pSteamIDUser", "paramtype":"CSteamID *" } + ], + "returntype": "bool" + }, + { + "methodname": "CreateUnauthenticatedUserConnection", + "methodname_flat": "SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection", + "params": [], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "SendUserDisconnect_DEPRECATED", + "methodname_flat": "SteamAPI_ISteamGameServer_SendUserDisconnect_DEPRECATED", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "BUpdateUserData", + "methodname_flat": "SteamAPI_ISteamGameServer_BUpdateUserData", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchPlayerName", "paramtype":"const char *" }, + { "paramname":"uScore", "paramtype":"uint32" } + ], + "returntype": "bool" + } + ], + "version_string": "SteamGameServer015" + }, + { + "accessors": [ + { + "kind": "gameserver", + "name": "SteamGameServerStats", + "name_flat": "SteamAPI_SteamGameServerStats_v001" + } + ], + "classname": "ISteamGameServerStats", + "fields": [], + "methods": [ + { + "callresult": "GSStatsReceived_t", + "methodname": "RequestUserStats", + "methodname_flat": "SteamAPI_ISteamGameServerStats_RequestUserStats", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + }, + { + "methodname": "GetUserStat", + "methodname_flat": "SteamAPI_ISteamGameServerStats_GetUserStatInt32", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"int32 *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUserStat", + "methodname_flat": "SteamAPI_ISteamGameServerStats_GetUserStatFloat", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pData", "paramtype":"float *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetUserAchievement", + "methodname_flat": "SteamAPI_ISteamGameServerStats_GetUserAchievement", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"pbAchieved", "paramtype":"bool *" } + ], + "returntype": "bool" + }, + { + "methodname": "SetUserStat", + "methodname_flat": "SteamAPI_ISteamGameServerStats_SetUserStatInt32", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"nData", "paramtype":"int32" } + ], + "returntype": "bool" + }, + { + "methodname": "SetUserStat", + "methodname_flat": "SteamAPI_ISteamGameServerStats_SetUserStatFloat", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"fData", "paramtype":"float" } + ], + "returntype": "bool" + }, + { + "methodname": "UpdateUserAvgRateStat", + "methodname_flat": "SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"flCountThisSession", "paramtype":"float" }, + { "paramname":"dSessionLength", "paramtype":"double" } + ], + "returntype": "bool" + }, + { + "methodname": "SetUserAchievement", + "methodname_flat": "SteamAPI_ISteamGameServerStats_SetUserAchievement", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "ClearUserAchievement", + "methodname_flat": "SteamAPI_ISteamGameServerStats_ClearUserAchievement", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "callresult": "GSStatsStored_t", + "methodname": "StoreUserStats", + "methodname_flat": "SteamAPI_ISteamGameServerStats_StoreUserStats", + "params": [ + { "paramname":"steamIDUser", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "SteamAPICall_t" + } + ], + "version_string": "SteamGameServerStats001" + }, + { + "classname": "ISteamNetworkingFakeUDPPort", + "fields": [], + "methods": [ + { + "methodname": "DestroyFakeUDPPort", + "methodname_flat": "SteamAPI_ISteamNetworkingFakeUDPPort_DestroyFakeUDPPort", + "params": [], + "returntype": "void" + }, + { + "methodname": "SendMessageToFakeIP", + "methodname_flat": "SteamAPI_ISteamNetworkingFakeUDPPort_SendMessageToFakeIP", + "params": [ + { "paramname":"remoteAddress", "paramtype":"const SteamNetworkingIPAddr &" }, + { "paramname":"pData", "paramtype":"const void *" }, + { "paramname":"cbData", "paramtype":"uint32" }, + { "paramname":"nSendFlags", "paramtype":"int" } + ], + "returntype": "EResult" + }, + { + "methodname": "ReceiveMessages", + "methodname_flat": "SteamAPI_ISteamNetworkingFakeUDPPort_ReceiveMessages", + "params": [ + { "paramname":"ppOutMessages", "paramtype":"SteamNetworkingMessage_t **" }, + { "paramname":"nMaxMessages", "paramtype":"int" } + ], + "returntype": "int" + }, + { + "methodname": "ScheduleCleanup", + "methodname_flat": "SteamAPI_ISteamNetworkingFakeUDPPort_ScheduleCleanup", + "params": [ + { "paramname":"remoteAddress", "paramtype":"const SteamNetworkingIPAddr &" } + ], + "returntype": "void" + } + ] + } + ], + "structs": [ + { + "fields": [ + { "fieldname":"m_rgubIPv6", "fieldtype":"uint8 [16]" }, + { "fieldname":"m_eType", "fieldtype":"ESteamIPType" } + ], + "methods": [ + { + "methodname": "IsSet", + "methodname_flat": "SteamAPI_SteamIPAddress_t_IsSet", + "params": [], + "returntype": "bool" + } + ], + "struct": "SteamIPAddress_t" + }, + { + "fields": [ + { "fieldname":"m_gameID", "fieldtype":"CGameID" }, + { "fieldname":"m_unGameIP", "fieldtype":"uint32" }, + { "fieldname":"m_usGamePort", "fieldtype":"uint16" }, + { "fieldname":"m_usQueryPort", "fieldtype":"uint16" }, + { "fieldname":"m_steamIDLobby", "fieldtype":"CSteamID" } + ], + "struct": "FriendGameInfo_t" + }, + { + "fields": [ + { "fieldname":"m_szKey", "fieldtype":"char [256]" }, + { "fieldname":"m_szValue", "fieldtype":"char [256]" } + ], + "methods": [ + { + "methodname": "Construct", + "methodname_flat": "SteamAPI_MatchMakingKeyValuePair_t_Construct", + "params": [], + "returntype": "void" + } + ], + "struct": "MatchMakingKeyValuePair_t" + }, + { + "fields": [ + { + "fieldname": "m_usConnectionPort", + "fieldtype": "uint16", + "private": true + }, + { + "fieldname": "m_usQueryPort", + "fieldtype": "uint16", + "private": true + }, + { + "fieldname": "m_unIP", + "fieldtype": "uint32", + "private": true + } + ], + "methods": [ + { + "methodname": "Construct", + "methodname_flat": "SteamAPI_servernetadr_t_Construct", + "params": [], + "returntype": "void" + }, + { + "methodname": "Init", + "methodname_flat": "SteamAPI_servernetadr_t_Init", + "params": [ + { "paramname":"ip", "paramtype":"unsigned int" }, + { "paramname":"usQueryPort", "paramtype":"uint16" }, + { "paramname":"usConnectionPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "GetQueryPort", + "methodname_flat": "SteamAPI_servernetadr_t_GetQueryPort", + "params": [], + "returntype": "uint16" + }, + { + "methodname": "SetQueryPort", + "methodname_flat": "SteamAPI_servernetadr_t_SetQueryPort", + "params": [ + { "paramname":"usPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "GetConnectionPort", + "methodname_flat": "SteamAPI_servernetadr_t_GetConnectionPort", + "params": [], + "returntype": "uint16" + }, + { + "methodname": "SetConnectionPort", + "methodname_flat": "SteamAPI_servernetadr_t_SetConnectionPort", + "params": [ + { "paramname":"usPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "GetIP", + "methodname_flat": "SteamAPI_servernetadr_t_GetIP", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetIP", + "methodname_flat": "SteamAPI_servernetadr_t_SetIP", + "params": [ + { "paramname":"unIP", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "GetConnectionAddressString", + "methodname_flat": "SteamAPI_servernetadr_t_GetConnectionAddressString", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "GetQueryAddressString", + "methodname_flat": "SteamAPI_servernetadr_t_GetQueryAddressString", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "operator<", + "methodname_flat": "SteamAPI_servernetadr_t_IsLessThan", + "params": [ + { "paramname":"netadr", "paramtype":"const servernetadr_t &" } + ], + "returntype": "bool" + }, + { + "methodname": "operator=", + "methodname_flat": "SteamAPI_servernetadr_t_Assign", + "params": [ + { "paramname":"that", "paramtype":"const servernetadr_t &" } + ], + "returntype": "void" + } + ], + "struct": "servernetadr_t" + }, + { + "fields": [ + { "fieldname":"m_NetAdr", "fieldtype":"servernetadr_t" }, + { "fieldname":"m_nPing", "fieldtype":"int" }, + { "fieldname":"m_bHadSuccessfulResponse", "fieldtype":"bool" }, + { "fieldname":"m_bDoNotRefresh", "fieldtype":"bool" }, + { "fieldname":"m_szGameDir", "fieldtype":"char [32]" }, + { "fieldname":"m_szMap", "fieldtype":"char [32]" }, + { "fieldname":"m_szGameDescription", "fieldtype":"char [64]" }, + { "fieldname":"m_nAppID", "fieldtype":"uint32" }, + { "fieldname":"m_nPlayers", "fieldtype":"int" }, + { "fieldname":"m_nMaxPlayers", "fieldtype":"int" }, + { "fieldname":"m_nBotPlayers", "fieldtype":"int" }, + { "fieldname":"m_bPassword", "fieldtype":"bool" }, + { "fieldname":"m_bSecure", "fieldtype":"bool" }, + { "fieldname":"m_ulTimeLastPlayed", "fieldtype":"uint32" }, + { "fieldname":"m_nServerVersion", "fieldtype":"int" }, + { + "fieldname": "m_szServerName", + "fieldtype": "char [64]", + "private": true + }, + { "fieldname":"m_szGameTags", "fieldtype":"char [128]" }, + { "fieldname":"m_steamID", "fieldtype":"CSteamID" } + ], + "methods": [ + { + "methodname": "Construct", + "methodname_flat": "SteamAPI_gameserveritem_t_Construct", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetName", + "methodname_flat": "SteamAPI_gameserveritem_t_GetName", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "SetName", + "methodname_flat": "SteamAPI_gameserveritem_t_SetName", + "params": [ + { "paramname":"pName", "paramtype":"const char *" } + ], + "returntype": "void" + } + ], + "struct": "gameserveritem_t" + }, + { + "fields": [ + { "fieldname":"m_eType", "fieldtype":"ESteamPartyBeaconLocationType" }, + { "fieldname":"m_ulLocationID", "fieldtype":"uint64" } + ], + "struct": "SteamPartyBeaconLocation_t" + }, + { + "fields": [ + { "fieldname":"m_ppStrings", "fieldtype":"const char **" }, + { "fieldname":"m_nNumStrings", "fieldtype":"int32" } + ], + "struct": "SteamParamStringArray_t" + }, + { + "fields": [ + { "fieldname":"m_steamIDUser", "fieldtype":"CSteamID" }, + { "fieldname":"m_nGlobalRank", "fieldtype":"int32" }, + { "fieldname":"m_nScore", "fieldtype":"int32" }, + { "fieldname":"m_cDetails", "fieldtype":"int32" }, + { "fieldname":"m_hUGC", "fieldtype":"UGCHandle_t" } + ], + "struct": "LeaderboardEntry_t" + }, + { + "fields": [ + { "fieldname":"m_bConnectionActive", "fieldtype":"uint8" }, + { "fieldname":"m_bConnecting", "fieldtype":"uint8" }, + { "fieldname":"m_eP2PSessionError", "fieldtype":"uint8" }, + { "fieldname":"m_bUsingRelay", "fieldtype":"uint8" }, + { "fieldname":"m_nBytesQueuedForSend", "fieldtype":"int32" }, + { "fieldname":"m_nPacketsQueuedForSend", "fieldtype":"int32" }, + { "fieldname":"m_nRemoteIP", "fieldtype":"uint32" }, + { "fieldname":"m_nRemotePort", "fieldtype":"uint16" } + ], + "struct": "P2PSessionState_t" + }, + { + "fields": [ + { "fieldname":"eMode", "fieldtype":"EInputSourceMode" }, + { "fieldname":"x", "fieldtype":"float" }, + { "fieldname":"y", "fieldtype":"float" }, + { "fieldname":"bActive", "fieldtype":"bool" } + ], + "struct": "InputAnalogActionData_t" + }, + { + "fields": [ + { "fieldname":"bState", "fieldtype":"bool" }, + { "fieldname":"bActive", "fieldtype":"bool" } + ], + "struct": "InputDigitalActionData_t" + }, + { + "fields": [ + { "fieldname":"rotQuatX", "fieldtype":"float" }, + { "fieldname":"rotQuatY", "fieldtype":"float" }, + { "fieldname":"rotQuatZ", "fieldtype":"float" }, + { "fieldname":"rotQuatW", "fieldtype":"float" }, + { "fieldname":"posAccelX", "fieldtype":"float" }, + { "fieldname":"posAccelY", "fieldtype":"float" }, + { "fieldname":"posAccelZ", "fieldtype":"float" }, + { "fieldname":"rotVelX", "fieldtype":"float" }, + { "fieldname":"rotVelY", "fieldtype":"float" }, + { "fieldname":"rotVelZ", "fieldtype":"float" } + ], + "struct": "InputMotionData_t" + }, + { + "fields": [ + { "fieldname":"controllerHandle", "fieldtype":"InputHandle_t" }, + { "fieldname":"eEventType", "fieldtype":"ESteamInputActionEventType" }, + { "fieldname":"analogAction", "fieldtype":"SteamInputActionEvent_t::AnalogAction_t" } + ], + "struct": "SteamInputActionEvent_t" + }, + { + "fields": [ + { "fieldname":"m_nPublishedFileId", "fieldtype":"PublishedFileId_t" }, + { "fieldname":"m_eResult", "fieldtype":"EResult" }, + { "fieldname":"m_eFileType", "fieldtype":"EWorkshopFileType" }, + { "fieldname":"m_nCreatorAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_nConsumerAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_rgchTitle", "fieldtype":"char [129]" }, + { "fieldname":"m_rgchDescription", "fieldtype":"char [8000]" }, + { "fieldname":"m_ulSteamIDOwner", "fieldtype":"uint64" }, + { "fieldname":"m_rtimeCreated", "fieldtype":"uint32" }, + { "fieldname":"m_rtimeUpdated", "fieldtype":"uint32" }, + { "fieldname":"m_rtimeAddedToUserList", "fieldtype":"uint32" }, + { "fieldname":"m_eVisibility", "fieldtype":"ERemoteStoragePublishedFileVisibility" }, + { "fieldname":"m_bBanned", "fieldtype":"bool" }, + { "fieldname":"m_bAcceptedForUse", "fieldtype":"bool" }, + { "fieldname":"m_bTagsTruncated", "fieldtype":"bool" }, + { "fieldname":"m_rgchTags", "fieldtype":"char [1025]" }, + { "fieldname":"m_hFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_hPreviewFile", "fieldtype":"UGCHandle_t" }, + { "fieldname":"m_pchFileName", "fieldtype":"char [260]" }, + { "fieldname":"m_nFileSize", "fieldtype":"int32" }, + { "fieldname":"m_nPreviewFileSize", "fieldtype":"int32" }, + { "fieldname":"m_rgchURL", "fieldtype":"char [256]" }, + { "fieldname":"m_unVotesUp", "fieldtype":"uint32" }, + { "fieldname":"m_unVotesDown", "fieldtype":"uint32" }, + { "fieldname":"m_flScore", "fieldtype":"float" }, + { "fieldname":"m_unNumChildren", "fieldtype":"uint32" }, + { "fieldname":"m_ulTotalFilesSize", "fieldtype":"uint64" } + ], + "struct": "SteamUGCDetails_t" + }, + { + "fields": [ + { "fieldname":"m_itemId", "fieldtype":"SteamItemInstanceID_t" }, + { "fieldname":"m_iDefinition", "fieldtype":"SteamItemDef_t" }, + { "fieldname":"m_unQuantity", "fieldtype":"uint16" }, + { "fieldname":"m_unFlags", "fieldtype":"uint16" } + ], + "struct": "SteamItemDetails_t" + }, + { + "consts": [ + { "constname":"k_cchMaxString", "consttype":"int", "constval":"48" } + ], + "fields": [ + { "fieldname":"m_ipv6", "fieldtype":"uint8 [16]" }, + { "fieldname":"m_port", "fieldtype":"uint16" } + ], + "methods": [ + { + "methodname": "Clear", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_Clear", + "params": [], + "returntype": "void" + }, + { + "methodname": "IsIPv6AllZeros", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_IsIPv6AllZeros", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetIPv6", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_SetIPv6", + "params": [ + { "paramname":"ipv6", "paramtype":"const uint8 *" }, + { "paramname":"nPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "SetIPv4", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_SetIPv4", + "params": [ + { "paramname":"nIP", "paramtype":"uint32" }, + { "paramname":"nPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "IsIPv4", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_IsIPv4", + "params": [], + "returntype": "bool" + }, + { + "methodname": "GetIPv4", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_GetIPv4", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "SetIPv6LocalHost", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_SetIPv6LocalHost", + "params": [ + { "paramname":"nPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "IsLocalHost", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_IsLocalHost", + "params": [], + "returntype": "bool" + }, + { + "methodname": "ToString", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_ToString", + "params": [ + { "paramname":"buf", "paramtype":"char *" }, + { "paramname":"cbBuf", "paramtype":"uint32" }, + { "paramname":"bWithPort", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "ParseString", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_ParseString", + "params": [ + { "paramname":"pszStr", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "operator==", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_IsEqualTo", + "params": [ + { "paramname":"x", "paramtype":"const SteamNetworkingIPAddr &" } + ], + "returntype": "bool" + }, + { + "methodname": "GetFakeIPType", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_GetFakeIPType", + "params": [], + "returntype": "ESteamNetworkingFakeIPType" + }, + { + "methodname": "IsFakeIP", + "methodname_flat": "SteamAPI_SteamNetworkingIPAddr_IsFakeIP", + "params": [], + "returntype": "bool" + } + ], + "struct": "SteamNetworkingIPAddr" + }, + { + "consts": [ + { "constname":"k_cchMaxString", "consttype":"int", "constval":"128" }, + { "constname":"k_cchMaxGenericString", "consttype":"int", "constval":"32" }, + { "constname":"k_cchMaxXboxPairwiseID", "consttype":"int", "constval":"33" }, + { "constname":"k_cbMaxGenericBytes", "consttype":"int", "constval":"32" } + ], + "fields": [ + { "fieldname":"m_eType", "fieldtype":"ESteamNetworkingIdentityType" }, + { "fieldname":"m_cbSize", "fieldtype":"int" }, + { "fieldname":"m_szUnknownRawString", "fieldtype":"char [128]" } + ], + "methods": [ + { + "methodname": "Clear", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_Clear", + "params": [], + "returntype": "void" + }, + { + "methodname": "IsInvalid", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_IsInvalid", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetSteamID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetSteamID", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" } + ], + "returntype": "void" + }, + { + "methodname": "GetSteamID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetSteamID", + "params": [], + "returntype": "CSteamID", + "returntype_flat": "uint64_steamid" + }, + { + "methodname": "SetSteamID64", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetSteamID64", + "params": [ + { "paramname":"steamID", "paramtype":"uint64" } + ], + "returntype": "void" + }, + { + "methodname": "GetSteamID64", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetSteamID64", + "params": [], + "returntype": "uint64" + }, + { + "methodname": "SetXboxPairwiseID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetXboxPairwiseID", + "params": [ + { "paramname":"pszString", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetXboxPairwiseID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetXboxPairwiseID", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "SetPSNID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetPSNID", + "params": [ + { "paramname":"id", "paramtype":"uint64" } + ], + "returntype": "void" + }, + { + "methodname": "GetPSNID", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetPSNID", + "params": [], + "returntype": "uint64" + }, + { + "methodname": "SetIPAddr", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetIPAddr", + "params": [ + { "paramname":"addr", "paramtype":"const SteamNetworkingIPAddr &" } + ], + "returntype": "void" + }, + { + "methodname": "GetIPAddr", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetIPAddr", + "params": [], + "returntype": "const SteamNetworkingIPAddr *" + }, + { + "methodname": "SetIPv4Addr", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetIPv4Addr", + "params": [ + { "paramname":"nIPv4", "paramtype":"uint32" }, + { "paramname":"nPort", "paramtype":"uint16" } + ], + "returntype": "void" + }, + { + "methodname": "GetIPv4", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetIPv4", + "params": [], + "returntype": "uint32" + }, + { + "methodname": "GetFakeIPType", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetFakeIPType", + "params": [], + "returntype": "ESteamNetworkingFakeIPType" + }, + { + "methodname": "IsFakeIP", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_IsFakeIP", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetLocalHost", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetLocalHost", + "params": [], + "returntype": "void" + }, + { + "methodname": "IsLocalHost", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_IsLocalHost", + "params": [], + "returntype": "bool" + }, + { + "methodname": "SetGenericString", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetGenericString", + "params": [ + { "paramname":"pszString", "paramtype":"const char *" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGenericString", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetGenericString", + "params": [], + "returntype": "const char *" + }, + { + "methodname": "SetGenericBytes", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_SetGenericBytes", + "params": [ + { "paramname":"data", "paramtype":"const void *" }, + { "paramname":"cbLen", "paramtype":"uint32" } + ], + "returntype": "bool" + }, + { + "methodname": "GetGenericBytes", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_GetGenericBytes", + "params": [ + { "paramname":"cbLen", "paramtype":"int &" } + ], + "returntype": "const uint8 *" + }, + { + "methodname": "operator==", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_IsEqualTo", + "params": [ + { "paramname":"x", "paramtype":"const SteamNetworkingIdentity &" } + ], + "returntype": "bool" + }, + { + "methodname": "ToString", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_ToString", + "params": [ + { "paramname":"buf", "paramtype":"char *" }, + { "paramname":"cbBuf", "paramtype":"uint32" } + ], + "returntype": "void" + }, + { + "methodname": "ParseString", + "methodname_flat": "SteamAPI_SteamNetworkingIdentity_ParseString", + "params": [ + { "paramname":"pszStr", "paramtype":"const char *" } + ], + "returntype": "bool" + } + ], + "struct": "SteamNetworkingIdentity" + }, + { + "fields": [ + { "fieldname":"m_identityRemote", "fieldtype":"SteamNetworkingIdentity" }, + { "fieldname":"m_nUserData", "fieldtype":"int64" }, + { "fieldname":"m_hListenSocket", "fieldtype":"HSteamListenSocket" }, + { "fieldname":"m_addrRemote", "fieldtype":"SteamNetworkingIPAddr" }, + { "fieldname":"m__pad1", "fieldtype":"uint16" }, + { "fieldname":"m_idPOPRemote", "fieldtype":"SteamNetworkingPOPID" }, + { "fieldname":"m_idPOPRelay", "fieldtype":"SteamNetworkingPOPID" }, + { "fieldname":"m_eState", "fieldtype":"ESteamNetworkingConnectionState" }, + { "fieldname":"m_eEndReason", "fieldtype":"int" }, + { "fieldname":"m_szEndDebug", "fieldtype":"char [128]" }, + { "fieldname":"m_szConnectionDescription", "fieldtype":"char [128]" }, + { "fieldname":"m_nFlags", "fieldtype":"int" }, + { "fieldname":"reserved", "fieldtype":"uint32 [63]" } + ], + "struct": "SteamNetConnectionInfo_t" + }, + { + "fields": [ + { "fieldname":"m_eState", "fieldtype":"ESteamNetworkingConnectionState" }, + { "fieldname":"m_nPing", "fieldtype":"int" }, + { "fieldname":"m_flConnectionQualityLocal", "fieldtype":"float" }, + { "fieldname":"m_flConnectionQualityRemote", "fieldtype":"float" }, + { "fieldname":"m_flOutPacketsPerSec", "fieldtype":"float" }, + { "fieldname":"m_flOutBytesPerSec", "fieldtype":"float" }, + { "fieldname":"m_flInPacketsPerSec", "fieldtype":"float" }, + { "fieldname":"m_flInBytesPerSec", "fieldtype":"float" }, + { "fieldname":"m_nSendRateBytesPerSecond", "fieldtype":"int" }, + { "fieldname":"m_cbPendingUnreliable", "fieldtype":"int" }, + { "fieldname":"m_cbPendingReliable", "fieldtype":"int" }, + { "fieldname":"m_cbSentUnackedReliable", "fieldtype":"int" }, + { "fieldname":"m_usecQueueTime", "fieldtype":"SteamNetworkingMicroseconds" }, + { "fieldname":"reserved", "fieldtype":"uint32 [16]" } + ], + "struct": "SteamNetConnectionRealTimeStatus_t" + }, + { + "fields": [ + { "fieldname":"m_cbPendingUnreliable", "fieldtype":"int" }, + { "fieldname":"m_cbPendingReliable", "fieldtype":"int" }, + { "fieldname":"m_cbSentUnackedReliable", "fieldtype":"int" }, + { "fieldname":"_reservePad1", "fieldtype":"int" }, + { "fieldname":"m_usecQueueTime", "fieldtype":"SteamNetworkingMicroseconds" }, + { "fieldname":"reserved", "fieldtype":"uint32 [10]" } + ], + "struct": "SteamNetConnectionRealTimeLaneStatus_t" + }, + { + "fields": [ + { "fieldname":"m_pData", "fieldtype":"void *" }, + { "fieldname":"m_cbSize", "fieldtype":"int" }, + { "fieldname":"m_conn", "fieldtype":"HSteamNetConnection" }, + { "fieldname":"m_identityPeer", "fieldtype":"SteamNetworkingIdentity" }, + { "fieldname":"m_nConnUserData", "fieldtype":"int64" }, + { "fieldname":"m_usecTimeReceived", "fieldtype":"SteamNetworkingMicroseconds" }, + { "fieldname":"m_nMessageNumber", "fieldtype":"int64" }, + { "fieldname":"m_pfnFreeData", "fieldtype":"void (*)(SteamNetworkingMessage_t *)" }, + { "fieldname":"m_pfnRelease", "fieldtype":"void (*)(SteamNetworkingMessage_t *)" }, + { "fieldname":"m_nChannel", "fieldtype":"int" }, + { "fieldname":"m_nFlags", "fieldtype":"int" }, + { "fieldname":"m_nUserData", "fieldtype":"int64" }, + { "fieldname":"m_idxLane", "fieldtype":"uint16" }, + { "fieldname":"_pad1__", "fieldtype":"uint16" } + ], + "methods": [ + { + "methodname": "Release", + "methodname_flat": "SteamAPI_SteamNetworkingMessage_t_Release", + "params": [], + "returntype": "void" + } + ], + "struct": "SteamNetworkingMessage_t" + }, + { + "fields": [ + { "fieldname":"m_data", "fieldtype":"uint8 [512]" } + ], + "struct": "SteamNetworkPingLocation_t" + }, + { + "fields": [ + { "fieldname":"m_eValue", "fieldtype":"ESteamNetworkingConfigValue" }, + { "fieldname":"m_eDataType", "fieldtype":"ESteamNetworkingConfigDataType" }, + { "fieldname":"m_int64", "fieldtype":"int64_t" } + ], + "methods": [ + { + "methodname": "SetInt32", + "methodname_flat": "SteamAPI_SteamNetworkingConfigValue_t_SetInt32", + "params": [ + { "paramname":"eVal", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"data", "paramtype":"int32_t" } + ], + "returntype": "void" + }, + { + "methodname": "SetInt64", + "methodname_flat": "SteamAPI_SteamNetworkingConfigValue_t_SetInt64", + "params": [ + { "paramname":"eVal", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"data", "paramtype":"int64_t" } + ], + "returntype": "void" + }, + { + "methodname": "SetFloat", + "methodname_flat": "SteamAPI_SteamNetworkingConfigValue_t_SetFloat", + "params": [ + { "paramname":"eVal", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"data", "paramtype":"float" } + ], + "returntype": "void" + }, + { + "methodname": "SetPtr", + "methodname_flat": "SteamAPI_SteamNetworkingConfigValue_t_SetPtr", + "params": [ + { "paramname":"eVal", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"data", "paramtype":"void *" } + ], + "returntype": "void" + }, + { + "methodname": "SetString", + "methodname_flat": "SteamAPI_SteamNetworkingConfigValue_t_SetString", + "params": [ + { "paramname":"eVal", "paramtype":"ESteamNetworkingConfigValue" }, + { "paramname":"data", "paramtype":"const char *" } + ], + "returntype": "void" + } + ], + "struct": "SteamNetworkingConfigValue_t" + }, + { + "fields": [ + { "fieldname":"m_cbSize", "fieldtype":"int" }, + { "fieldname":"m_data", "fieldtype":"char [128]" } + ], + "methods": [ + { + "methodname": "Clear", + "methodname_flat": "SteamAPI_SteamDatagramHostedAddress_Clear", + "params": [], + "returntype": "void" + }, + { + "methodname": "GetPopID", + "methodname_flat": "SteamAPI_SteamDatagramHostedAddress_GetPopID", + "params": [], + "returntype": "SteamNetworkingPOPID" + }, + { + "methodname": "SetDevAddress", + "methodname_flat": "SteamAPI_SteamDatagramHostedAddress_SetDevAddress", + "params": [ + { "paramname":"nIP", "paramtype":"uint32" }, + { "paramname":"nPort", "paramtype":"uint16" }, + { "paramname":"popid", "paramtype":"SteamNetworkingPOPID" } + ], + "returntype": "void" + } + ], + "struct": "SteamDatagramHostedAddress" + }, + { + "fields": [ + { "fieldname":"m_identity", "fieldtype":"SteamNetworkingIdentity" }, + { "fieldname":"m_routing", "fieldtype":"SteamDatagramHostedAddress" }, + { "fieldname":"m_nAppID", "fieldtype":"AppId_t" }, + { "fieldname":"m_rtime", "fieldtype":"RTime32" }, + { "fieldname":"m_cbAppData", "fieldtype":"int" }, + { "fieldname":"m_appData", "fieldtype":"char [2048]" } + ], + "struct": "SteamDatagramGameCoordinatorServerLogin" + } + ], + "typedefs": [ + { "typedef":"uint8", "type":"unsigned char" }, + { "typedef":"int8", "type":"signed char" }, + { "typedef":"int16", "type":"short" }, + { "typedef":"uint16", "type":"unsigned short" }, + { "typedef":"int32", "type":"int" }, + { "typedef":"uint32", "type":"unsigned int" }, + { "typedef":"int64", "type":"long long" }, + { "typedef":"uint64", "type":"unsigned long long" }, + { "typedef":"lint64", "type":"long long" }, + { "typedef":"ulint64", "type":"unsigned long long" }, + { "typedef":"intp", "type":"long long" }, + { "typedef":"uintp", "type":"unsigned long long" }, + { "typedef":"AppId_t", "type":"unsigned int" }, + { "typedef":"DepotId_t", "type":"unsigned int" }, + { "typedef":"RTime32", "type":"unsigned int" }, + { "typedef":"SteamAPICall_t", "type":"unsigned long long" }, + { "typedef":"AccountID_t", "type":"unsigned int" }, + { "typedef":"PartyBeaconID_t", "type":"unsigned long long" }, + { "typedef":"HAuthTicket", "type":"unsigned int" }, + { "typedef":"PFNPreMinidumpCallback", "type":"void (*)(void *)" }, + { "typedef":"HSteamPipe", "type":"int" }, + { "typedef":"HSteamUser", "type":"int" }, + { "typedef":"SteamErrMsg", "type":"char [1024]" }, + { "typedef":"FriendsGroupID_t", "type":"short" }, + { "typedef":"HServerListRequest", "type":"void *" }, + { "typedef":"HServerQuery", "type":"int" }, + { "typedef":"UGCHandle_t", "type":"unsigned long long" }, + { "typedef":"PublishedFileUpdateHandle_t", "type":"unsigned long long" }, + { "typedef":"PublishedFileId_t", "type":"unsigned long long" }, + { "typedef":"UGCFileWriteStreamHandle_t", "type":"unsigned long long" }, + { "typedef":"SteamLeaderboard_t", "type":"unsigned long long" }, + { "typedef":"SteamLeaderboardEntries_t", "type":"unsigned long long" }, + { "typedef":"SNetSocket_t", "type":"unsigned int" }, + { "typedef":"SNetListenSocket_t", "type":"unsigned int" }, + { "typedef":"ScreenshotHandle", "type":"unsigned int" }, + { "typedef":"HTTPRequestHandle", "type":"unsigned int" }, + { "typedef":"HTTPCookieContainerHandle", "type":"unsigned int" }, + { "typedef":"InputHandle_t", "type":"unsigned long long" }, + { "typedef":"InputActionSetHandle_t", "type":"unsigned long long" }, + { "typedef":"InputDigitalActionHandle_t", "type":"unsigned long long" }, + { "typedef":"InputAnalogActionHandle_t", "type":"unsigned long long" }, + { "typedef":"SteamInputActionEventCallbackPointer", "type":"void (*)(SteamInputActionEvent_t *)" }, + { "typedef":"ControllerHandle_t", "type":"unsigned long long" }, + { "typedef":"ControllerActionSetHandle_t", "type":"unsigned long long" }, + { "typedef":"ControllerDigitalActionHandle_t", "type":"unsigned long long" }, + { "typedef":"ControllerAnalogActionHandle_t", "type":"unsigned long long" }, + { "typedef":"UGCQueryHandle_t", "type":"unsigned long long" }, + { "typedef":"UGCUpdateHandle_t", "type":"unsigned long long" }, + { "typedef":"HHTMLBrowser", "type":"unsigned int" }, + { "typedef":"SteamItemInstanceID_t", "type":"unsigned long long" }, + { "typedef":"SteamItemDef_t", "type":"int" }, + { "typedef":"SteamInventoryResult_t", "type":"int" }, + { "typedef":"SteamInventoryUpdateHandle_t", "type":"unsigned long long" }, + { "typedef":"TimelineEventHandle_t", "type":"unsigned long long" }, + { "typedef":"RemotePlaySessionID_t", "type":"unsigned int" }, + { "typedef":"FnSteamNetConnectionStatusChanged", "type":"void (*)(SteamNetConnectionStatusChangedCallback_t *)" }, + { "typedef":"FnSteamNetAuthenticationStatusChanged", "type":"void (*)(SteamNetAuthenticationStatus_t *)" }, + { "typedef":"FnSteamRelayNetworkStatusChanged", "type":"void (*)(SteamRelayNetworkStatus_t *)" }, + { "typedef":"FnSteamNetworkingMessagesSessionRequest", "type":"void (*)(SteamNetworkingMessagesSessionRequest_t *)" }, + { "typedef":"FnSteamNetworkingMessagesSessionFailed", "type":"void (*)(SteamNetworkingMessagesSessionFailed_t *)" }, + { "typedef":"FnSteamNetworkingFakeIPResult", "type":"void (*)(SteamNetworkingFakeIPResult_t *)" }, + { "typedef":"HSteamNetConnection", "type":"unsigned int" }, + { "typedef":"HSteamListenSocket", "type":"unsigned int" }, + { "typedef":"HSteamNetPollGroup", "type":"unsigned int" }, + { "typedef":"SteamNetworkingErrMsg", "type":"char [1024]" }, + { "typedef":"SteamNetworkingPOPID", "type":"unsigned int" }, + { "typedef":"SteamNetworkingMicroseconds", "type":"long long" }, + { "typedef":"FSteamNetworkingSocketsDebugOutput", "type":"void (*)(ESteamNetworkingSocketsDebugOutputType, const char *)" } + ] +} diff --git a/Steam/steam_api_common.h b/Steam/steam_api_common.h new file mode 100644 index 0000000..cb8e6b7 --- /dev/null +++ b/Steam/steam_api_common.h @@ -0,0 +1,249 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Steamworks SDK minimal include +// +// Defines the minimal set of things we need to use any single interface +// or register for any callback. +// +//============================================================================= + +#ifndef STEAM_API_COMMON_H +#define STEAM_API_COMMON_H + +#include "steamtypes.h" +#include "steamclientpublic.h" + +// S_API defines the linkage and calling conventions for steam_api.dll exports +#if defined( _WIN32 ) && !defined( _X360 ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __declspec( dllexport ) + #elif defined( STEAM_API_NODLL ) + #define S_API extern "C" + #else + #define S_API extern "C" __declspec( dllimport ) + #endif // STEAM_API_EXPORTS +#elif defined( __GNUC__ ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __attribute__ ((visibility("default"))) + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#else // !WIN32 + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#endif + +#if defined( __cplusplus ) && ( __cplusplus >= 201103L ) + #define S_OVERRIDE override +#else + #define S_OVERRIDE +#endif + +#if ( defined(STEAM_API_EXPORTS) || defined(STEAM_API_NODLL) ) && !defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) __VA_ARGS__ +#elif defined(STEAM_API_EXPORTS) && defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) +#else +#define STEAM_PRIVATE_API( ... ) protected: __VA_ARGS__ public: +#endif + +// handle to a communication pipe to the Steam client +typedef int32 HSteamPipe; +// handle to single instance of a steam user +typedef int32 HSteamUser; + +// A fixed size buffer to receive an error message that is returned by some API +// calls. +const int k_cchMaxSteamErrMsg = 1024; +typedef char SteamErrMsg[ k_cchMaxSteamErrMsg ]; + +// #define away __cdecl on posix. +// This is really, really bad. We're sorry. But it's been this way for +// a long time now and it's scary to change it, as there may be others that +// depend on it. +#ifndef _WIN32 + #define __cdecl +#endif + +// function prototype +extern "C" typedef void ( S_CALLTYPE *SteamAPIWarningMessageHook_t )( int, const char * ); +extern "C" typedef uint32 ( S_CALLTYPE *SteamAPI_CheckCallbackRegistered_t )( int iCallbackNum ); +#if defined( __SNC__ ) + #pragma diag_suppress=1700 // warning 1700: class "%s" has virtual functions but non-virtual destructor +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steam callback and call-result helpers +// +// The following macros and classes are used to register your application for +// callbacks and call-results, which are delivered in a predictable manner. +// +// STEAM_CALLBACK macros are meant for use inside of a C++ class definition. +// They map a Steam notification callback directly to a class member function +// which is automatically prototyped as "void func( callback_type *pParam )". +// +// CCallResult is used with specific Steam APIs that return "result handles". +// The handle can be passed to a CCallResult object's Set function, along with +// an object pointer and member-function pointer. The member function will +// be executed once the results of the Steam API call are available. +// +// CCallback and CCallbackManual classes can be used instead of STEAM_CALLBACK +// macros if you require finer control over registration and unregistration. +// +// Callbacks and call-results are queued automatically and are only +// delivered/executed when your application calls SteamAPI_RunCallbacks(). +// +// Note that there is an alternative, lower level callback dispatch mechanism. +// See SteamAPI_ManualDispatch_Init +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// Dispatch all queued Steamworks callbacks. +// +// This is safe to call from multiple threads simultaneously, +// but if you choose to do this, callback code could be executed on any thread. +// One alternative is to call SteamAPI_RunCallbacks from the main thread only, +// and call SteamAPI_ReleaseCurrentThreadMemory regularly on other threads. +S_API void S_CALLTYPE SteamAPI_RunCallbacks(); + +// Declares a callback member function plus a helper member variable which +// registers the callback on object creation and unregisters on destruction. +// The optional fourth 'var' param exists only for backwards-compatibility +// and can be ignored. +#define STEAM_CALLBACK( thisclass, func, .../*callback_type, [deprecated] var*/ ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) ) + +// Declares a callback function and a named CCallbackManual variable which +// has Register and Unregister functions instead of automatic registration. +#define STEAM_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type > var; void func( callback_type *pParam ) + +// Dispatch callbacks relevant to the gameserver client and interfaces. +// To register for these, you need to use STEAM_GAMESERVER_CALLBACK. +// (Or call SetGameserverFlag on your CCallbackBase object.) +S_API void S_CALLTYPE SteamGameServer_RunCallbacks(); + +// Same as STEAM_CALLBACK, but for callbacks on the gameserver interface. +// These will be dispatched during SteamGameServer_RunCallbacks +#define STEAM_GAMESERVER_CALLBACK( thisclass, func, /*callback_type, [deprecated] var*/... ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, GS, 3 ), ( this->SetGameserverFlag();, thisclass, func, __VA_ARGS__ ) ) +#define STEAM_GAMESERVER_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type, true > var; void func( callback_type *pParam ) + +//----------------------------------------------------------------------------- +// Purpose: base for callbacks and call results - internal implementation detail +//----------------------------------------------------------------------------- +class CCallbackBase +{ +public: + CCallbackBase() { m_nCallbackFlags = 0; m_iCallback = 0; } + // don't add a virtual destructor because we export this binary interface across dll's + virtual void Run( void *pvParam ) = 0; + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) = 0; + int GetICallback() { return m_iCallback; } + virtual int GetCallbackSizeBytes() = 0; + +protected: + enum { k_ECallbackFlagsRegistered = 0x01, k_ECallbackFlagsGameServer = 0x02 }; + uint8 m_nCallbackFlags; + int m_iCallback; + friend class CCallbackMgr; + +private: + CCallbackBase( const CCallbackBase& ); + CCallbackBase& operator=( const CCallbackBase& ); +}; + +//----------------------------------------------------------------------------- +// Purpose: templated base for callbacks - internal implementation detail +//----------------------------------------------------------------------------- +template< int sizeof_P > +class CCallbackImpl : protected CCallbackBase +{ +public: + virtual ~CCallbackImpl() { if ( m_nCallbackFlags & k_ECallbackFlagsRegistered ) SteamAPI_UnregisterCallback( this ); } + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } + +protected: + friend class CCallbackMgr; + virtual void Run( void *pvParam ) S_OVERRIDE = 0; + virtual void Run( void *pvParam, bool /*bIOFailure*/, SteamAPICall_t /*hSteamAPICall*/ ) S_OVERRIDE { Run( pvParam ); } + virtual int GetCallbackSizeBytes() S_OVERRIDE { return sizeof_P; } +}; + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam async call result to a class member function +// template params: T = local class, P = parameter struct +//----------------------------------------------------------------------------- +template< class T, class P > +class CCallResult : private CCallbackBase +{ +public: + typedef void (T::*func_t)( P*, bool ); + + CCallResult(); + ~CCallResult(); + + void Set( SteamAPICall_t hAPICall, T *p, func_t func ); + bool IsActive() const; + void Cancel(); + + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } +private: + virtual void Run( void *pvParam ) S_OVERRIDE; + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) S_OVERRIDE; + virtual int GetCallbackSizeBytes() S_OVERRIDE { return sizeof( P ); } + + SteamAPICall_t m_hAPICall; + T *m_pObj; + func_t m_Func; +}; + + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam callback to a class member function +// template params: T = local class, P = parameter struct, +// bGameserver = listen for gameserver callbacks instead of client callbacks +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameserver = false > +class CCallback : public CCallbackImpl< sizeof( P ) > +{ +public: + typedef void (T::*func_t)(P*); + + // NOTE: If you can't provide the correct parameters at construction time, you should + // use the CCallbackManual callback object (STEAM_CALLBACK_MANUAL macro) instead. + CCallback( T *pObj, func_t func ); + + void Register( T *pObj, func_t func ); + void Unregister(); + +protected: + virtual void Run( void *pvParam ) S_OVERRIDE; + + T *m_pObj; + func_t m_Func; +}; + + +//----------------------------------------------------------------------------- +// Purpose: subclass of CCallback which allows default-construction in +// an unregistered state; you must call Register manually +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameServer = false > +class CCallbackManual : public CCallback< T, P, bGameServer > +{ +public: + CCallbackManual() : CCallback< T, P, bGameServer >( nullptr, nullptr ) {} + + // Inherits public Register and Unregister functions from base class +}; + +// Internal implementation details for all of the above +#include "steam_api_internal.h" + +#endif // STEAM_API_COMMON_H diff --git a/Steam/steam_api_flat.h b/Steam/steam_api_flat.h new file mode 100644 index 0000000..7920015 --- /dev/null +++ b/Steam/steam_api_flat.h @@ -0,0 +1,1297 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: Header for "flat" SteamAPI. Use this for binding to other languages. +// This file is auto-generated, do not edit it. +// +//============================================================================= + +#ifndef STEAMAPIFLAT_H +#define STEAMAPIFLAT_H + +#include "steam/steam_api.h" +#include "steam/isteamgameserver.h" +#include "steam/isteamgameserverstats.h" + +typedef uint64 uint64_steamid; // Used when passing or returning CSteamID +typedef uint64 uint64_gameid; // Used when passing or return CGameID + + + +// ISteamClient +S_API HSteamPipe SteamAPI_ISteamClient_CreateSteamPipe( ISteamClient* self ); +S_API bool SteamAPI_ISteamClient_BReleaseSteamPipe( ISteamClient* self, HSteamPipe hSteamPipe ); +S_API HSteamUser SteamAPI_ISteamClient_ConnectToGlobalUser( ISteamClient* self, HSteamPipe hSteamPipe ); +S_API HSteamUser SteamAPI_ISteamClient_CreateLocalUser( ISteamClient* self, HSteamPipe * phSteamPipe, EAccountType eAccountType ); +S_API void SteamAPI_ISteamClient_ReleaseUser( ISteamClient* self, HSteamPipe hSteamPipe, HSteamUser hUser ); +S_API ISteamUser * SteamAPI_ISteamClient_GetISteamUser( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameServer * SteamAPI_ISteamClient_GetISteamGameServer( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API void SteamAPI_ISteamClient_SetLocalIPBinding( ISteamClient* self, const SteamIPAddress_t & unIP, uint16 usPort ); +S_API ISteamFriends * SteamAPI_ISteamClient_GetISteamFriends( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUtils * SteamAPI_ISteamClient_GetISteamUtils( ISteamClient* self, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMatchmaking * SteamAPI_ISteamClient_GetISteamMatchmaking( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMatchmakingServers * SteamAPI_ISteamClient_GetISteamMatchmakingServers( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API void * SteamAPI_ISteamClient_GetISteamGenericInterface( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUserStats * SteamAPI_ISteamClient_GetISteamUserStats( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameServerStats * SteamAPI_ISteamClient_GetISteamGameServerStats( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamApps * SteamAPI_ISteamClient_GetISteamApps( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamNetworking * SteamAPI_ISteamClient_GetISteamNetworking( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamRemoteStorage * SteamAPI_ISteamClient_GetISteamRemoteStorage( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamScreenshots * SteamAPI_ISteamClient_GetISteamScreenshots( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameSearch * SteamAPI_ISteamClient_GetISteamGameSearch( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API uint32 SteamAPI_ISteamClient_GetIPCCallCount( ISteamClient* self ); +S_API void SteamAPI_ISteamClient_SetWarningMessageHook( ISteamClient* self, SteamAPIWarningMessageHook_t pFunction ); +S_API bool SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( ISteamClient* self ); +S_API ISteamHTTP * SteamAPI_ISteamClient_GetISteamHTTP( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamController * SteamAPI_ISteamClient_GetISteamController( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUGC * SteamAPI_ISteamClient_GetISteamUGC( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMusic * SteamAPI_ISteamClient_GetISteamMusic( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMusicRemote * SteamAPI_ISteamClient_GetISteamMusicRemote( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamHTMLSurface * SteamAPI_ISteamClient_GetISteamHTMLSurface( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamInventory * SteamAPI_ISteamClient_GetISteamInventory( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamVideo * SteamAPI_ISteamClient_GetISteamVideo( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamParentalSettings * SteamAPI_ISteamClient_GetISteamParentalSettings( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamInput * SteamAPI_ISteamClient_GetISteamInput( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamParties * SteamAPI_ISteamClient_GetISteamParties( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamRemotePlay * SteamAPI_ISteamClient_GetISteamRemotePlay( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); + +// ISteamUser + +// A versioned accessor is exported by the library +S_API ISteamUser *SteamAPI_SteamUser_v023(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUser(), but using this ensures that you are using a matching library. +inline ISteamUser *SteamAPI_SteamUser() { return SteamAPI_SteamUser_v023(); } +S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BLoggedOn( ISteamUser* self ); +S_API uint64_steamid SteamAPI_ISteamUser_GetSteamID( ISteamUser* self ); +S_API int SteamAPI_ISteamUser_InitiateGameConnection_DEPRECATED( ISteamUser* self, void * pAuthBlob, int cbMaxAuthBlob, uint64_steamid steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure ); +S_API void SteamAPI_ISteamUser_TerminateGameConnection_DEPRECATED( ISteamUser* self, uint32 unIPServer, uint16 usPortServer ); +S_API void SteamAPI_ISteamUser_TrackAppUsageEvent( ISteamUser* self, uint64_gameid gameID, int eAppUsageEvent, const char * pchExtraInfo ); +S_API bool SteamAPI_ISteamUser_GetUserDataFolder( ISteamUser* self, char * pchBuffer, int cubBuffer ); +S_API void SteamAPI_ISteamUser_StartVoiceRecording( ISteamUser* self ); +S_API void SteamAPI_ISteamUser_StopVoiceRecording( ISteamUser* self ); +S_API EVoiceResult SteamAPI_ISteamUser_GetAvailableVoice( ISteamUser* self, uint32 * pcbCompressed, uint32 * pcbUncompressed_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated ); +S_API EVoiceResult SteamAPI_ISteamUser_GetVoice( ISteamUser* self, bool bWantCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, bool bWantUncompressed_Deprecated, void * pUncompressedDestBuffer_Deprecated, uint32 cbUncompressedDestBufferSize_Deprecated, uint32 * nUncompressBytesWritten_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated ); +S_API EVoiceResult SteamAPI_ISteamUser_DecompressVoice( ISteamUser* self, const void * pCompressed, uint32 cbCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, uint32 nDesiredSampleRate ); +S_API uint32 SteamAPI_ISteamUser_GetVoiceOptimalSampleRate( ISteamUser* self ); +S_API HAuthTicket SteamAPI_ISteamUser_GetAuthSessionTicket( ISteamUser* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket, const SteamNetworkingIdentity * pSteamNetworkingIdentity ); +S_API HAuthTicket SteamAPI_ISteamUser_GetAuthTicketForWebApi( ISteamUser* self, const char * pchIdentity ); +S_API EBeginAuthSessionResult SteamAPI_ISteamUser_BeginAuthSession( ISteamUser* self, const void * pAuthTicket, int cbAuthTicket, uint64_steamid steamID ); +S_API void SteamAPI_ISteamUser_EndAuthSession( ISteamUser* self, uint64_steamid steamID ); +S_API void SteamAPI_ISteamUser_CancelAuthTicket( ISteamUser* self, HAuthTicket hAuthTicket ); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamUser_UserHasLicenseForApp( ISteamUser* self, uint64_steamid steamID, AppId_t appID ); +S_API bool SteamAPI_ISteamUser_BIsBehindNAT( ISteamUser* self ); +S_API void SteamAPI_ISteamUser_AdvertiseGame( ISteamUser* self, uint64_steamid steamIDGameServer, uint32 unIPServer, uint16 usPortServer ); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestEncryptedAppTicket( ISteamUser* self, void * pDataToInclude, int cbDataToInclude ); +S_API bool SteamAPI_ISteamUser_GetEncryptedAppTicket( ISteamUser* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket ); +S_API int SteamAPI_ISteamUser_GetGameBadgeLevel( ISteamUser* self, int nSeries, bool bFoil ); +S_API int SteamAPI_ISteamUser_GetPlayerSteamLevel( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestStoreAuthURL( ISteamUser* self, const char * pchRedirectURL ); +S_API bool SteamAPI_ISteamUser_BIsPhoneVerified( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsTwoFactorEnabled( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsPhoneIdentifying( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_GetMarketEligibility( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_GetDurationControl( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BSetDurationControlOnlineState( ISteamUser* self, EDurationControlOnlineState eNewState ); + +// ISteamFriends + +// A versioned accessor is exported by the library +S_API ISteamFriends *SteamAPI_SteamFriends_v017(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamFriends(), but using this ensures that you are using a matching library. +inline ISteamFriends *SteamAPI_SteamFriends() { return SteamAPI_SteamFriends_v017(); } +S_API const char * SteamAPI_ISteamFriends_GetPersonaName( ISteamFriends* self ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_SetPersonaName( ISteamFriends* self, const char * pchPersonaName ); +S_API EPersonaState SteamAPI_ISteamFriends_GetPersonaState( ISteamFriends* self ); +S_API int SteamAPI_ISteamFriends_GetFriendCount( ISteamFriends* self, int iFriendFlags ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetFriendByIndex( ISteamFriends* self, int iFriend, int iFriendFlags ); +S_API EFriendRelationship SteamAPI_ISteamFriends_GetFriendRelationship( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API EPersonaState SteamAPI_ISteamFriends_GetFriendPersonaState( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaName( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_GetFriendGamePlayed( ISteamFriends* self, uint64_steamid steamIDFriend, FriendGameInfo_t * pFriendGameInfo ); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaNameHistory( ISteamFriends* self, uint64_steamid steamIDFriend, int iPersonaName ); +S_API int SteamAPI_ISteamFriends_GetFriendSteamLevel( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetPlayerNickname( ISteamFriends* self, uint64_steamid steamIDPlayer ); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupCount( ISteamFriends* self ); +S_API FriendsGroupID_t SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex( ISteamFriends* self, int iFG ); +S_API const char * SteamAPI_ISteamFriends_GetFriendsGroupName( ISteamFriends* self, FriendsGroupID_t friendsGroupID ); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupMembersCount( ISteamFriends* self, FriendsGroupID_t friendsGroupID ); +S_API void SteamAPI_ISteamFriends_GetFriendsGroupMembersList( ISteamFriends* self, FriendsGroupID_t friendsGroupID, CSteamID * pOutSteamIDMembers, int nMembersCount ); +S_API bool SteamAPI_ISteamFriends_HasFriend( ISteamFriends* self, uint64_steamid steamIDFriend, int iFriendFlags ); +S_API int SteamAPI_ISteamFriends_GetClanCount( ISteamFriends* self ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanByIndex( ISteamFriends* self, int iClan ); +S_API const char * SteamAPI_ISteamFriends_GetClanName( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API const char * SteamAPI_ISteamFriends_GetClanTag( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_GetClanActivityCounts( ISteamFriends* self, uint64_steamid steamIDClan, int * pnOnline, int * pnInGame, int * pnChatting ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_DownloadClanActivityCounts( ISteamFriends* self, CSteamID * psteamIDClans, int cClansToRequest ); +S_API int SteamAPI_ISteamFriends_GetFriendCountFromSource( ISteamFriends* self, uint64_steamid steamIDSource ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetFriendFromSourceByIndex( ISteamFriends* self, uint64_steamid steamIDSource, int iFriend ); +S_API bool SteamAPI_ISteamFriends_IsUserInSource( ISteamFriends* self, uint64_steamid steamIDUser, uint64_steamid steamIDSource ); +S_API void SteamAPI_ISteamFriends_SetInGameVoiceSpeaking( ISteamFriends* self, uint64_steamid steamIDUser, bool bSpeaking ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlay( ISteamFriends* self, const char * pchDialog ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToUser( ISteamFriends* self, const char * pchDialog, uint64_steamid steamID ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage( ISteamFriends* self, const char * pchURL, EActivateGameOverlayToWebPageMode eMode ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToStore( ISteamFriends* self, AppId_t nAppID, EOverlayToStoreFlag eFlag ); +S_API void SteamAPI_ISteamFriends_SetPlayedWith( ISteamFriends* self, uint64_steamid steamIDUserPlayedWith ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog( ISteamFriends* self, uint64_steamid steamIDLobby ); +S_API int SteamAPI_ISteamFriends_GetSmallFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API int SteamAPI_ISteamFriends_GetMediumFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API int SteamAPI_ISteamFriends_GetLargeFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_RequestUserInformation( ISteamFriends* self, uint64_steamid steamIDUser, bool bRequireNameOnly ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestClanOfficerList( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanOwner( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetClanOfficerCount( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanOfficerByIndex( ISteamFriends* self, uint64_steamid steamIDClan, int iOfficer ); +S_API uint32 SteamAPI_ISteamFriends_GetUserRestrictions( ISteamFriends* self ); +S_API bool SteamAPI_ISteamFriends_SetRichPresence( ISteamFriends* self, const char * pchKey, const char * pchValue ); +S_API void SteamAPI_ISteamFriends_ClearRichPresence( ISteamFriends* self ); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresence( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchKey ); +S_API int SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex( ISteamFriends* self, uint64_steamid steamIDFriend, int iKey ); +S_API void SteamAPI_ISteamFriends_RequestFriendRichPresence( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_InviteUserToGame( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchConnectString ); +S_API int SteamAPI_ISteamFriends_GetCoplayFriendCount( ISteamFriends* self ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetCoplayFriend( ISteamFriends* self, int iCoplayFriend ); +S_API int SteamAPI_ISteamFriends_GetFriendCoplayTime( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API AppId_t SteamAPI_ISteamFriends_GetFriendCoplayGame( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_JoinClanChatRoom( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_LeaveClanChatRoom( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetClanChatMemberCount( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetChatMemberByIndex( ISteamFriends* self, uint64_steamid steamIDClan, int iUser ); +S_API bool SteamAPI_ISteamFriends_SendClanChatMessage( ISteamFriends* self, uint64_steamid steamIDClanChat, const char * pchText ); +S_API int SteamAPI_ISteamFriends_GetClanChatMessage( ISteamFriends* self, uint64_steamid steamIDClanChat, int iMessage, void * prgchText, int cchTextMax, EChatEntryType * peChatEntryType, CSteamID * psteamidChatter ); +S_API bool SteamAPI_ISteamFriends_IsClanChatAdmin( ISteamFriends* self, uint64_steamid steamIDClanChat, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_OpenClanChatWindowInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_CloseClanChatWindowInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_SetListenForFriendsMessages( ISteamFriends* self, bool bInterceptEnabled ); +S_API bool SteamAPI_ISteamFriends_ReplyToFriendMessage( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchMsgToSend ); +S_API int SteamAPI_ISteamFriends_GetFriendMessage( ISteamFriends* self, uint64_steamid steamIDFriend, int iMessageID, void * pvData, int cubData, EChatEntryType * peChatEntryType ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_GetFollowerCount( ISteamFriends* self, uint64_steamid steamID ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_IsFollowing( ISteamFriends* self, uint64_steamid steamID ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_EnumerateFollowingList( ISteamFriends* self, uint32 unStartIndex ); +S_API bool SteamAPI_ISteamFriends_IsClanPublic( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_IsClanOfficialGameGroup( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetNumChatsWithUnreadPriorityMessages( ISteamFriends* self ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayRemotePlayTogetherInviteDialog( ISteamFriends* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamFriends_RegisterProtocolInOverlayBrowser( ISteamFriends* self, const char * pchProtocol ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialogConnectString( ISteamFriends* self, const char * pchConnectString ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestEquippedProfileItems( ISteamFriends* self, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamFriends_BHasEquippedProfileItem( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType ); +S_API const char * SteamAPI_ISteamFriends_GetProfileItemPropertyString( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ); +S_API uint32 SteamAPI_ISteamFriends_GetProfileItemPropertyUint( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ); + +// ISteamUtils + +// A versioned accessor is exported by the library +S_API ISteamUtils *SteamAPI_SteamUtils_v010(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUtils(), but using this ensures that you are using a matching library. +inline ISteamUtils *SteamAPI_SteamUtils() { return SteamAPI_SteamUtils_v010(); } + +// A versioned accessor is exported by the library +S_API ISteamUtils *SteamAPI_SteamGameServerUtils_v010(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUtils(), but using this ensures that you are using a matching library. +inline ISteamUtils *SteamAPI_SteamGameServerUtils() { return SteamAPI_SteamGameServerUtils_v010(); } +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceAppActive( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceComputerActive( ISteamUtils* self ); +S_API EUniverse SteamAPI_ISteamUtils_GetConnectedUniverse( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetServerRealTime( ISteamUtils* self ); +S_API const char * SteamAPI_ISteamUtils_GetIPCountry( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_GetImageSize( ISteamUtils* self, int iImage, uint32 * pnWidth, uint32 * pnHeight ); +S_API bool SteamAPI_ISteamUtils_GetImageRGBA( ISteamUtils* self, int iImage, uint8 * pubDest, int nDestBufferSize ); +S_API uint8 SteamAPI_ISteamUtils_GetCurrentBatteryPower( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetAppID( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationPosition( ISteamUtils* self, ENotificationPosition eNotificationPosition ); +S_API bool SteamAPI_ISteamUtils_IsAPICallCompleted( ISteamUtils* self, SteamAPICall_t hSteamAPICall, bool * pbFailed ); +S_API ESteamAPICallFailure SteamAPI_ISteamUtils_GetAPICallFailureReason( ISteamUtils* self, SteamAPICall_t hSteamAPICall ); +S_API bool SteamAPI_ISteamUtils_GetAPICallResult( ISteamUtils* self, SteamAPICall_t hSteamAPICall, void * pCallback, int cubCallback, int iCallbackExpected, bool * pbFailed ); +S_API uint32 SteamAPI_ISteamUtils_GetIPCCallCount( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetWarningMessageHook( ISteamUtils* self, SteamAPIWarningMessageHook_t pFunction ); +S_API bool SteamAPI_ISteamUtils_IsOverlayEnabled( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_BOverlayNeedsPresent( ISteamUtils* self ); +S_API SteamAPICall_t SteamAPI_ISteamUtils_CheckFileSignature( ISteamUtils* self, const char * szFileName ); +S_API bool SteamAPI_ISteamUtils_ShowGamepadTextInput( ISteamUtils* self, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char * pchDescription, uint32 unCharMax, const char * pchExistingText ); +S_API uint32 SteamAPI_ISteamUtils_GetEnteredGamepadTextLength( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_GetEnteredGamepadTextInput( ISteamUtils* self, char * pchText, uint32 cchText ); +S_API const char * SteamAPI_ISteamUtils_GetSteamUILanguage( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_IsSteamRunningInVR( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationInset( ISteamUtils* self, int nHorizontalInset, int nVerticalInset ); +S_API bool SteamAPI_ISteamUtils_IsSteamInBigPictureMode( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_StartVRDashboard( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled( ISteamUtils* self, bool bEnabled ); +S_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions ); +S_API int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText ); +S_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol ); +S_API bool SteamAPI_ISteamUtils_IsSteamRunningOnSteamDeck( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_ShowFloatingGamepadTextInput( ISteamUtils* self, EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ); +S_API void SteamAPI_ISteamUtils_SetGameLauncherMode( ISteamUtils* self, bool bLauncherMode ); +S_API bool SteamAPI_ISteamUtils_DismissFloatingGamepadTextInput( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_DismissGamepadTextInput( ISteamUtils* self ); + +// ISteamMatchmaking + +// A versioned accessor is exported by the library +S_API ISteamMatchmaking *SteamAPI_SteamMatchmaking_v009(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMatchmaking(), but using this ensures that you are using a matching library. +inline ISteamMatchmaking *SteamAPI_SteamMatchmaking() { return SteamAPI_SteamMatchmaking_v009(); } +S_API int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount( ISteamMatchmaking* self ); +S_API bool SteamAPI_ISteamMatchmaking_GetFavoriteGame( ISteamMatchmaking* self, int iGame, AppId_t * pnAppID, uint32 * pnIP, uint16 * pnConnPort, uint16 * pnQueryPort, uint32 * punFlags, uint32 * pRTime32LastPlayedOnServer ); +S_API int SteamAPI_ISteamMatchmaking_AddFavoriteGame( ISteamMatchmaking* self, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer ); +S_API bool SteamAPI_ISteamMatchmaking_RemoveFavoriteGame( ISteamMatchmaking* self, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_RequestLobbyList( ISteamMatchmaking* self ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, const char * pchValueToMatch, ELobbyComparison eComparisonType ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, int nValueToBeCloseTo ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable( ISteamMatchmaking* self, int nSlotsAvailable ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter( ISteamMatchmaking* self, ELobbyDistanceFilter eLobbyDistanceFilter ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter( ISteamMatchmaking* self, int cMaxResults ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyByIndex( ISteamMatchmaking* self, int iLobby ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_CreateLobby( ISteamMatchmaking* self, ELobbyType eLobbyType, int cMaxMembers ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_JoinLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API void SteamAPI_ISteamMatchmaking_LeaveLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_InviteUserToLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDInvitee ); +S_API int SteamAPI_ISteamMatchmaking_GetNumLobbyMembers( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iMember ); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey, const char * pchValue ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyDataCount( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iLobbyData, char * pchKey, int cchKeyBufferSize, char * pchValue, int cchValueBufferSize ); +S_API bool SteamAPI_ISteamMatchmaking_DeleteLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey ); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyMemberData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDUser, const char * pchKey ); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyMemberData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey, const char * pchValue ); +S_API bool SteamAPI_ISteamMatchmaking_SendLobbyChatMsg( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const void * pvMsgBody, int cubMsgBody ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyChatEntry( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iChatID, CSteamID * pSteamIDUser, void * pvData, int cubData, EChatEntryType * peChatEntryType ); +S_API bool SteamAPI_ISteamMatchmaking_RequestLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyGameServer( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, uint64_steamid steamIDGameServer ); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyGameServer( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint32 * punGameServerIP, uint16 * punGameServerPort, CSteamID * psteamIDGameServer ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int cMaxMembers ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyType( ISteamMatchmaking* self, uint64_steamid steamIDLobby, ELobbyType eLobbyType ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyJoinable( ISteamMatchmaking* self, uint64_steamid steamIDLobby, bool bLobbyJoinable ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyOwner( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyOwner( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDNewOwner ); +S_API bool SteamAPI_ISteamMatchmaking_SetLinkedLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDLobbyDependent ); + +// ISteamMatchmakingServerListResponse +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, EMatchMakingServerResponse response ); + +// ISteamMatchmakingPingResponse +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerResponded( ISteamMatchmakingPingResponse* self, gameserveritem_t & server ); +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond( ISteamMatchmakingPingResponse* self ); + +// ISteamMatchmakingPlayersResponse +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList( ISteamMatchmakingPlayersResponse* self, const char * pchName, int nScore, float flTimePlayed ); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond( ISteamMatchmakingPlayersResponse* self ); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete( ISteamMatchmakingPlayersResponse* self ); + +// ISteamMatchmakingRulesResponse +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded( ISteamMatchmakingRulesResponse* self, const char * pchRule, const char * pchValue ); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond( ISteamMatchmakingRulesResponse* self ); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete( ISteamMatchmakingRulesResponse* self ); + +// ISteamMatchmakingServers + +// A versioned accessor is exported by the library +S_API ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMatchmakingServers(), but using this ensures that you are using a matching library. +inline ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers() { return SteamAPI_SteamMatchmakingServers_v002(); } +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestInternetServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestLANServerList( ISteamMatchmakingServers* self, AppId_t iApp, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API void SteamAPI_ISteamMatchmakingServers_ReleaseRequest( ISteamMatchmakingServers* self, HServerListRequest hServerListRequest ); +S_API gameserveritem_t * SteamAPI_ISteamMatchmakingServers_GetServerDetails( ISteamMatchmakingServers* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServers_CancelQuery( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshQuery( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API bool SteamAPI_ISteamMatchmakingServers_IsRefreshing( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API int SteamAPI_ISteamMatchmakingServers_GetServerCount( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshServer( ISteamMatchmakingServers* self, HServerListRequest hRequest, int iServer ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PingServer( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse * pRequestServersResponse ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PlayerDetails( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse * pRequestServersResponse ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_ServerRules( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse * pRequestServersResponse ); +S_API void SteamAPI_ISteamMatchmakingServers_CancelServerQuery( ISteamMatchmakingServers* self, HServerQuery hServerQuery ); + +// ISteamGameSearch + +// A versioned accessor is exported by the library +S_API ISteamGameSearch *SteamAPI_SteamGameSearch_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameSearch(), but using this ensures that you are using a matching library. +inline ISteamGameSearch *SteamAPI_SteamGameSearch() { return SteamAPI_SteamGameSearch_v001(); } +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_AddGameSearchParams( ISteamGameSearch* self, const char * pchKeyToFind, const char * pchValuesToFind ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SearchForGameWithLobby( ISteamGameSearch* self, uint64_steamid steamIDLobby, int nPlayerMin, int nPlayerMax ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SearchForGameSolo( ISteamGameSearch* self, int nPlayerMin, int nPlayerMax ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_AcceptGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_DeclineGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_RetrieveConnectionDetails( ISteamGameSearch* self, uint64_steamid steamIDHost, char * pchConnectionDetails, int cubConnectionDetails ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_EndGameSearch( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SetGameHostParams( ISteamGameSearch* self, const char * pchKey, const char * pchValue ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SetConnectionDetails( ISteamGameSearch* self, const char * pchConnectionDetails, int cubConnectionDetails ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_RequestPlayersForGame( ISteamGameSearch* self, int nPlayerMin, int nPlayerMax, int nMaxTeamSize ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_HostConfirmGameStart( ISteamGameSearch* self, uint64 ullUniqueGameID ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_CancelRequestPlayersForGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SubmitPlayerResult( ISteamGameSearch* self, uint64 ullUniqueGameID, uint64_steamid steamIDPlayer, EPlayerResult_t EPlayerResult ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_EndGame( ISteamGameSearch* self, uint64 ullUniqueGameID ); + +// ISteamParties + +// A versioned accessor is exported by the library +S_API ISteamParties *SteamAPI_SteamParties_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamParties(), but using this ensures that you are using a matching library. +inline ISteamParties *SteamAPI_SteamParties() { return SteamAPI_SteamParties_v002(); } +S_API uint32 SteamAPI_ISteamParties_GetNumActiveBeacons( ISteamParties* self ); +S_API PartyBeaconID_t SteamAPI_ISteamParties_GetBeaconByIndex( ISteamParties* self, uint32 unIndex ); +S_API bool SteamAPI_ISteamParties_GetBeaconDetails( ISteamParties* self, PartyBeaconID_t ulBeaconID, CSteamID * pSteamIDBeaconOwner, SteamPartyBeaconLocation_t * pLocation, char * pchMetadata, int cchMetadata ); +S_API SteamAPICall_t SteamAPI_ISteamParties_JoinParty( ISteamParties* self, PartyBeaconID_t ulBeaconID ); +S_API bool SteamAPI_ISteamParties_GetNumAvailableBeaconLocations( ISteamParties* self, uint32 * puNumLocations ); +S_API bool SteamAPI_ISteamParties_GetAvailableBeaconLocations( ISteamParties* self, SteamPartyBeaconLocation_t * pLocationList, uint32 uMaxNumLocations ); +S_API SteamAPICall_t SteamAPI_ISteamParties_CreateBeacon( ISteamParties* self, uint32 unOpenSlots, SteamPartyBeaconLocation_t * pBeaconLocation, const char * pchConnectString, const char * pchMetadata ); +S_API void SteamAPI_ISteamParties_OnReservationCompleted( ISteamParties* self, PartyBeaconID_t ulBeacon, uint64_steamid steamIDUser ); +S_API void SteamAPI_ISteamParties_CancelReservation( ISteamParties* self, PartyBeaconID_t ulBeacon, uint64_steamid steamIDUser ); +S_API SteamAPICall_t SteamAPI_ISteamParties_ChangeNumOpenSlots( ISteamParties* self, PartyBeaconID_t ulBeacon, uint32 unOpenSlots ); +S_API bool SteamAPI_ISteamParties_DestroyBeacon( ISteamParties* self, PartyBeaconID_t ulBeacon ); +S_API bool SteamAPI_ISteamParties_GetBeaconLocationData( ISteamParties* self, SteamPartyBeaconLocation_t BeaconLocation, ESteamPartyBeaconLocationData eData, char * pchDataStringOut, int cchDataStringOut ); + +// ISteamRemoteStorage + +// A versioned accessor is exported by the library +S_API ISteamRemoteStorage *SteamAPI_SteamRemoteStorage_v016(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamRemoteStorage(), but using this ensures that you are using a matching library. +inline ISteamRemoteStorage *SteamAPI_SteamRemoteStorage() { return SteamAPI_SteamRemoteStorage_v016(); } +S_API bool SteamAPI_ISteamRemoteStorage_FileWrite( ISteamRemoteStorage* self, const char * pchFile, const void * pvData, int32 cubData ); +S_API int32 SteamAPI_ISteamRemoteStorage_FileRead( ISteamRemoteStorage* self, const char * pchFile, void * pvData, int32 cubDataToRead ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileWriteAsync( ISteamRemoteStorage* self, const char * pchFile, const void * pvData, uint32 cubData ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileReadAsync( ISteamRemoteStorage* self, const char * pchFile, uint32 nOffset, uint32 cubToRead ); +S_API bool SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete( ISteamRemoteStorage* self, SteamAPICall_t hReadCall, void * pvBuffer, uint32 cubToRead ); +S_API bool SteamAPI_ISteamRemoteStorage_FileForget( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FileDelete( ISteamRemoteStorage* self, const char * pchFile ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileShare( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_SetSyncPlatforms( ISteamRemoteStorage* self, const char * pchFile, ERemoteStoragePlatform eRemoteStoragePlatform ); +S_API UGCFileWriteStreamHandle_t SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle, const void * pvData, int32 cubData ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamClose( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle ); +S_API bool SteamAPI_ISteamRemoteStorage_FileExists( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FilePersisted( ISteamRemoteStorage* self, const char * pchFile ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileSize( ISteamRemoteStorage* self, const char * pchFile ); +S_API int64 SteamAPI_ISteamRemoteStorage_GetFileTimestamp( ISteamRemoteStorage* self, const char * pchFile ); +S_API ERemoteStoragePlatform SteamAPI_ISteamRemoteStorage_GetSyncPlatforms( ISteamRemoteStorage* self, const char * pchFile ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileCount( ISteamRemoteStorage* self ); +S_API const char * SteamAPI_ISteamRemoteStorage_GetFileNameAndSize( ISteamRemoteStorage* self, int iFile, int32 * pnFileSizeInBytes ); +S_API bool SteamAPI_ISteamRemoteStorage_GetQuota( ISteamRemoteStorage* self, uint64 * pnTotalBytes, uint64 * puAvailableBytes ); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount( ISteamRemoteStorage* self ); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp( ISteamRemoteStorage* self ); +S_API void SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp( ISteamRemoteStorage* self, bool bEnabled ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownload( ISteamRemoteStorage* self, UGCHandle_t hContent, uint32 unPriority ); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress( ISteamRemoteStorage* self, UGCHandle_t hContent, int32 * pnBytesDownloaded, int32 * pnBytesExpected ); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDetails( ISteamRemoteStorage* self, UGCHandle_t hContent, AppId_t * pnAppID, char ** ppchName, int32 * pnFileSizeInBytes, CSteamID * pSteamIDOwner ); +S_API int32 SteamAPI_ISteamRemoteStorage_UGCRead( ISteamRemoteStorage* self, UGCHandle_t hContent, void * pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetCachedUGCCount( ISteamRemoteStorage* self ); +S_API UGCHandle_t SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle( ISteamRemoteStorage* self, int32 iCachedContent ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishWorkshopFile( ISteamRemoteStorage* self, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType ); +S_API PublishedFileUpdateHandle_t SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchTitle ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchDescription ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t * pTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_DeletePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles( ISteamRemoteStorage* self, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SubscribePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles( ISteamRemoteStorage* self, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchChangeDescription ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, bool bVoteUp ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles( ISteamRemoteStorage* self, uint64_steamid steamId, uint32 unStartIndex, SteamParamStringArray_t * pRequiredTags, SteamParamStringArray_t * pExcludedTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishVideo( ISteamRemoteStorage* self, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction( ISteamRemoteStorage* self, EWorkshopFileAction eAction, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles( ISteamRemoteStorage* self, EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t * pTags, SteamParamStringArray_t * pUserTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation( ISteamRemoteStorage* self, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetLocalFileChangeCount( ISteamRemoteStorage* self ); +S_API const char * SteamAPI_ISteamRemoteStorage_GetLocalFileChange( ISteamRemoteStorage* self, int iFile, ERemoteStorageLocalFileChange * pEChangeType, ERemoteStorageFilePathType * pEFilePathType ); +S_API bool SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch( ISteamRemoteStorage* self ); +S_API bool SteamAPI_ISteamRemoteStorage_EndFileWriteBatch( ISteamRemoteStorage* self ); + +// ISteamUserStats + +// A versioned accessor is exported by the library +S_API ISteamUserStats *SteamAPI_SteamUserStats_v013(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUserStats(), but using this ensures that you are using a matching library. +inline ISteamUserStats *SteamAPI_SteamUserStats() { return SteamAPI_SteamUserStats_v013(); } +S_API bool SteamAPI_ISteamUserStats_GetStatInt32( ISteamUserStats* self, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetStatFloat( ISteamUserStats* self, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamUserStats_SetStatInt32( ISteamUserStats* self, const char * pchName, int32 nData ); +S_API bool SteamAPI_ISteamUserStats_SetStatFloat( ISteamUserStats* self, const char * pchName, float fData ); +S_API bool SteamAPI_ISteamUserStats_UpdateAvgRateStat( ISteamUserStats* self, const char * pchName, float flCountThisSession, double dSessionLength ); +S_API bool SteamAPI_ISteamUserStats_GetAchievement( ISteamUserStats* self, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_SetAchievement( ISteamUserStats* self, const char * pchName ); +S_API bool SteamAPI_ISteamUserStats_ClearAchievement( ISteamUserStats* self, const char * pchName ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime( ISteamUserStats* self, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime ); +S_API bool SteamAPI_ISteamUserStats_StoreStats( ISteamUserStats* self ); +S_API int SteamAPI_ISteamUserStats_GetAchievementIcon( ISteamUserStats* self, const char * pchName ); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute( ISteamUserStats* self, const char * pchName, const char * pchKey ); +S_API bool SteamAPI_ISteamUserStats_IndicateAchievementProgress( ISteamUserStats* self, const char * pchName, uint32 nCurProgress, uint32 nMaxProgress ); +S_API uint32 SteamAPI_ISteamUserStats_GetNumAchievements( ISteamUserStats* self ); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementName( ISteamUserStats* self, uint32 iAchievement ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestUserStats( ISteamUserStats* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamUserStats_GetUserStatInt32( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetUserStatFloat( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievement( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime ); +S_API bool SteamAPI_ISteamUserStats_ResetAllStats( ISteamUserStats* self, bool bAchievementsToo ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindOrCreateLeaderboard( ISteamUserStats* self, const char * pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindLeaderboard( ISteamUserStats* self, const char * pchLeaderboardName ); +S_API const char * SteamAPI_ISteamUserStats_GetLeaderboardName( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API int SteamAPI_ISteamUserStats_GetLeaderboardEntryCount( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API ELeaderboardSortMethod SteamAPI_ISteamUserStats_GetLeaderboardSortMethod( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API ELeaderboardDisplayType SteamAPI_ISteamUserStats_GetLeaderboardDisplayType( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntries( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, CSteamID * prgUsers, int cUsers ); +S_API bool SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry( ISteamUserStats* self, SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t * pLeaderboardEntry, int32 * pDetails, int cDetailsMax ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_UploadLeaderboardScore( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 * pScoreDetails, int cScoreDetailsCount ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_AttachLeaderboardUGC( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers( ISteamUserStats* self ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages( ISteamUserStats* self ); +S_API int SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo( ISteamUserStats* self, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved ); +S_API int SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo( ISteamUserStats* self, int iIteratorPrevious, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAchievedPercent( ISteamUserStats* self, const char * pchName, float * pflPercent ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalStats( ISteamUserStats* self, int nHistoryDays ); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStatInt64( ISteamUserStats* self, const char * pchStatName, int64 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStatDouble( ISteamUserStats* self, const char * pchStatName, double * pData ); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistoryInt64( ISteamUserStats* self, const char * pchStatName, int64 * pData, uint32 cubData ); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistoryDouble( ISteamUserStats* self, const char * pchStatName, double * pData, uint32 cubData ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementProgressLimitsInt32( ISteamUserStats* self, const char * pchName, int32 * pnMinProgress, int32 * pnMaxProgress ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementProgressLimitsFloat( ISteamUserStats* self, const char * pchName, float * pfMinProgress, float * pfMaxProgress ); + +// ISteamApps + +// A versioned accessor is exported by the library +S_API ISteamApps *SteamAPI_SteamApps_v008(); +// 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(); } +S_API bool SteamAPI_ISteamApps_BIsSubscribed( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsLowViolence( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsCybercafe( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsVACBanned( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetCurrentGameLanguage( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetAvailableGameLanguages( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsSubscribedApp( ISteamApps* self, AppId_t appID ); +S_API bool SteamAPI_ISteamApps_BIsDlcInstalled( ISteamApps* self, AppId_t appID ); +S_API uint32 SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime( ISteamApps* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend( ISteamApps* self ); +S_API int SteamAPI_ISteamApps_GetDLCCount( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BGetDLCDataByIndex( ISteamApps* self, int iDLC, AppId_t * pAppID, bool * pbAvailable, char * pchName, int cchNameBufferSize ); +S_API void SteamAPI_ISteamApps_InstallDLC( ISteamApps* self, AppId_t nAppID ); +S_API void SteamAPI_ISteamApps_UninstallDLC( ISteamApps* self, AppId_t nAppID ); +S_API void SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey( ISteamApps* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamApps_GetCurrentBetaName( ISteamApps* self, char * pchName, int cchNameBufferSize ); +S_API bool SteamAPI_ISteamApps_MarkContentCorrupt( ISteamApps* self, bool bMissingFilesOnly ); +S_API uint32 SteamAPI_ISteamApps_GetInstalledDepots( ISteamApps* self, AppId_t appID, DepotId_t * pvecDepots, uint32 cMaxDepots ); +S_API uint32 SteamAPI_ISteamApps_GetAppInstallDir( ISteamApps* self, AppId_t appID, char * pchFolder, uint32 cchFolderBufferSize ); +S_API bool SteamAPI_ISteamApps_BIsAppInstalled( ISteamApps* self, AppId_t appID ); +S_API uint64_steamid SteamAPI_ISteamApps_GetAppOwner( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetLaunchQueryParam( ISteamApps* self, const char * pchKey ); +S_API bool SteamAPI_ISteamApps_GetDlcDownloadProgress( ISteamApps* self, AppId_t nAppID, uint64 * punBytesDownloaded, uint64 * punBytesTotal ); +S_API int SteamAPI_ISteamApps_GetAppBuildId( ISteamApps* self ); +S_API void SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys( ISteamApps* self ); +S_API SteamAPICall_t SteamAPI_ISteamApps_GetFileDetails( ISteamApps* self, const char * pszFileName ); +S_API int SteamAPI_ISteamApps_GetLaunchCommandLine( ISteamApps* self, char * pszCommandLine, int cubCommandLine ); +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_SetActiveBeta( ISteamApps* self, const char * pchBetaName ); + +// ISteamNetworking + +// A versioned accessor is exported by the library +S_API ISteamNetworking *SteamAPI_SteamNetworking_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworking(), but using this ensures that you are using a matching library. +inline ISteamNetworking *SteamAPI_SteamNetworking() { return SteamAPI_SteamNetworking_v006(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworking *SteamAPI_SteamGameServerNetworking_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworking(), but using this ensures that you are using a matching library. +inline ISteamNetworking *SteamAPI_SteamGameServerNetworking() { return SteamAPI_SteamGameServerNetworking_v006(); } +S_API bool SteamAPI_ISteamNetworking_SendP2PPacket( ISteamNetworking* self, uint64_steamid steamIDRemote, const void * pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_IsP2PPacketAvailable( ISteamNetworking* self, uint32 * pcubMsgSize, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_ReadP2PPacket( ISteamNetworking* self, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, CSteamID * psteamIDRemote, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote ); +S_API bool SteamAPI_ISteamNetworking_CloseP2PSessionWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote ); +S_API bool SteamAPI_ISteamNetworking_CloseP2PChannelWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_GetP2PSessionState( ISteamNetworking* self, uint64_steamid steamIDRemote, P2PSessionState_t * pConnectionState ); +S_API bool SteamAPI_ISteamNetworking_AllowP2PPacketRelay( ISteamNetworking* self, bool bAllow ); +S_API SNetListenSocket_t SteamAPI_ISteamNetworking_CreateListenSocket( ISteamNetworking* self, int nVirtualP2PPort, SteamIPAddress_t nIP, uint16 nPort, bool bAllowUseOfPacketRelay ); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateP2PConnectionSocket( ISteamNetworking* self, uint64_steamid steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay ); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateConnectionSocket( ISteamNetworking* self, SteamIPAddress_t nIP, uint16 nPort, int nTimeoutSec ); +S_API bool SteamAPI_ISteamNetworking_DestroySocket( ISteamNetworking* self, SNetSocket_t hSocket, bool bNotifyRemoteEnd ); +S_API bool SteamAPI_ISteamNetworking_DestroyListenSocket( ISteamNetworking* self, SNetListenSocket_t hSocket, bool bNotifyRemoteEnd ); +S_API bool SteamAPI_ISteamNetworking_SendDataOnSocket( ISteamNetworking* self, SNetSocket_t hSocket, void * pubData, uint32 cubData, bool bReliable ); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailableOnSocket( ISteamNetworking* self, SNetSocket_t hSocket, uint32 * pcubMsgSize ); +S_API bool SteamAPI_ISteamNetworking_RetrieveDataFromSocket( ISteamNetworking* self, SNetSocket_t hSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize ); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailable( ISteamNetworking* self, SNetListenSocket_t hListenSocket, uint32 * pcubMsgSize, SNetSocket_t * phSocket ); +S_API bool SteamAPI_ISteamNetworking_RetrieveData( ISteamNetworking* self, SNetListenSocket_t hListenSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, SNetSocket_t * phSocket ); +S_API bool SteamAPI_ISteamNetworking_GetSocketInfo( ISteamNetworking* self, SNetSocket_t hSocket, CSteamID * pSteamIDRemote, int * peSocketStatus, SteamIPAddress_t * punIPRemote, uint16 * punPortRemote ); +S_API bool SteamAPI_ISteamNetworking_GetListenSocketInfo( ISteamNetworking* self, SNetListenSocket_t hListenSocket, SteamIPAddress_t * pnIP, uint16 * pnPort ); +S_API ESNetSocketConnectionType SteamAPI_ISteamNetworking_GetSocketConnectionType( ISteamNetworking* self, SNetSocket_t hSocket ); +S_API int SteamAPI_ISteamNetworking_GetMaxPacketSize( ISteamNetworking* self, SNetSocket_t hSocket ); + +// ISteamScreenshots + +// A versioned accessor is exported by the library +S_API ISteamScreenshots *SteamAPI_SteamScreenshots_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamScreenshots(), but using this ensures that you are using a matching library. +inline ISteamScreenshots *SteamAPI_SteamScreenshots() { return SteamAPI_SteamScreenshots_v003(); } +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_WriteScreenshot( ISteamScreenshots* self, void * pubRGB, uint32 cubRGB, int nWidth, int nHeight ); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddScreenshotToLibrary( ISteamScreenshots* self, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight ); +S_API void SteamAPI_ISteamScreenshots_TriggerScreenshot( ISteamScreenshots* self ); +S_API void SteamAPI_ISteamScreenshots_HookScreenshots( ISteamScreenshots* self, bool bHook ); +S_API bool SteamAPI_ISteamScreenshots_SetLocation( ISteamScreenshots* self, ScreenshotHandle hScreenshot, const char * pchLocation ); +S_API bool SteamAPI_ISteamScreenshots_TagUser( ISteamScreenshots* self, ScreenshotHandle hScreenshot, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamScreenshots_TagPublishedFile( ISteamScreenshots* self, ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID ); +S_API bool SteamAPI_ISteamScreenshots_IsScreenshotsHooked( ISteamScreenshots* self ); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary( ISteamScreenshots* self, EVRScreenshotType eType, const char * pchFilename, const char * pchVRFilename ); + +// ISteamMusic + +// A versioned accessor is exported by the library +S_API ISteamMusic *SteamAPI_SteamMusic_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMusic(), but using this ensures that you are using a matching library. +inline ISteamMusic *SteamAPI_SteamMusic() { return SteamAPI_SteamMusic_v001(); } +S_API bool SteamAPI_ISteamMusic_BIsEnabled( ISteamMusic* self ); +S_API bool SteamAPI_ISteamMusic_BIsPlaying( ISteamMusic* self ); +S_API AudioPlayback_Status SteamAPI_ISteamMusic_GetPlaybackStatus( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_Play( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_Pause( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_PlayPrevious( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_PlayNext( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_SetVolume( ISteamMusic* self, float flVolume ); +S_API float SteamAPI_ISteamMusic_GetVolume( ISteamMusic* self ); + +// ISteamMusicRemote + +// A versioned accessor is exported by the library +S_API ISteamMusicRemote *SteamAPI_SteamMusicRemote_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMusicRemote(), but using this ensures that you are using a matching library. +inline ISteamMusicRemote *SteamAPI_SteamMusicRemote() { return SteamAPI_SteamMusicRemote_v001(); } +S_API bool SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote( ISteamMusicRemote* self, const char * pchName ); +S_API bool SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_BActivationSuccess( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_SetDisplayName( ISteamMusicRemote* self, const char * pchDisplayName ); +S_API bool SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64( ISteamMusicRemote* self, void * pvBuffer, uint32 cbBufferLength ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayPrevious( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayNext( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableShuffled( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableLooped( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableQueue( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlaylists( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus( ISteamMusicRemote* self, AudioPlayback_Status nStatus ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateShuffled( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateLooped( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateVolume( ISteamMusicRemote* self, float flValue ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable( ISteamMusicRemote* self, bool bAvailable ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText( ISteamMusicRemote* self, const char * pchText ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds( ISteamMusicRemote* self, int nValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt( ISteamMusicRemote* self, void * pvBuffer, uint32 cbBufferLength ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryDidChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_QueueWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_ResetQueueEntries( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_SetQueueEntry( ISteamMusicRemote* self, int nID, int nPosition, const char * pchEntryText ); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry( ISteamMusicRemote* self, int nID ); +S_API bool SteamAPI_ISteamMusicRemote_QueueDidChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_ResetPlaylistEntries( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_SetPlaylistEntry( ISteamMusicRemote* self, int nID, int nPosition, const char * pchEntryText ); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry( ISteamMusicRemote* self, int nID ); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistDidChange( ISteamMusicRemote* self ); + +// ISteamHTTP + +// A versioned accessor is exported by the library +S_API ISteamHTTP *SteamAPI_SteamHTTP_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamHTTP(), but using this ensures that you are using a matching library. +inline ISteamHTTP *SteamAPI_SteamHTTP() { return SteamAPI_SteamHTTP_v003(); } + +// A versioned accessor is exported by the library +S_API ISteamHTTP *SteamAPI_SteamGameServerHTTP_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerHTTP(), but using this ensures that you are using a matching library. +inline ISteamHTTP *SteamAPI_SteamGameServerHTTP() { return SteamAPI_SteamGameServerHTTP_v003(); } +S_API HTTPRequestHandle SteamAPI_ISteamHTTP_CreateHTTPRequest( ISteamHTTP* self, EHTTPMethod eHTTPRequestMethod, const char * pchAbsoluteURL ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestContextValue( ISteamHTTP* self, HTTPRequestHandle hRequest, uint64 ulContextValue ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 unTimeoutSeconds ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, const char * pchHeaderValue ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchParamName, const char * pchParamValue ); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle ); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse( ISteamHTTP* self, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle ); +S_API bool SteamAPI_ISteamHTTP_DeferHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_PrioritizeHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, uint32 * unResponseHeaderSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, uint8 * pHeaderValueBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodySize( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 * unBodySize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodyData( ISteamHTTP* self, HTTPRequestHandle hRequest, uint8 * pBodyDataBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 cOffset, uint8 * pBodyDataBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_ReleaseHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct( ISteamHTTP* self, HTTPRequestHandle hRequest, float * pflPercentOut ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchContentType, uint8 * pubBody, uint32 unBodyLen ); +S_API HTTPCookieContainerHandle SteamAPI_ISteamHTTP_CreateCookieContainer( ISteamHTTP* self, bool bAllowResponsesToModify ); +S_API bool SteamAPI_ISteamHTTP_ReleaseCookieContainer( ISteamHTTP* self, HTTPCookieContainerHandle hCookieContainer ); +S_API bool SteamAPI_ISteamHTTP_SetCookie( ISteamHTTP* self, HTTPCookieContainerHandle hCookieContainer, const char * pchHost, const char * pchUrl, const char * pchCookie ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer( ISteamHTTP* self, HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchUserAgentInfo ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate( ISteamHTTP* self, HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 unMilliseconds ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( ISteamHTTP* self, HTTPRequestHandle hRequest, bool * pbWasTimedOut ); + +// ISteamInput + +// A versioned accessor is exported by the library +S_API ISteamInput *SteamAPI_SteamInput_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamInput(), but using this ensures that you are using a matching library. +inline ISteamInput *SteamAPI_SteamInput() { return SteamAPI_SteamInput_v006(); } +S_API bool SteamAPI_ISteamInput_Init( ISteamInput* self, bool bExplicitlyCallRunFrame ); +S_API bool SteamAPI_ISteamInput_Shutdown( ISteamInput* self ); +S_API bool SteamAPI_ISteamInput_SetInputActionManifestFilePath( ISteamInput* self, const char * pchInputActionManifestAbsolutePath ); +S_API void SteamAPI_ISteamInput_RunFrame( ISteamInput* self, bool bReservedValue ); +S_API bool SteamAPI_ISteamInput_BWaitForData( ISteamInput* self, bool bWaitForever, uint32 unTimeout ); +S_API bool SteamAPI_ISteamInput_BNewDataAvailable( ISteamInput* self ); +S_API int SteamAPI_ISteamInput_GetConnectedControllers( ISteamInput* self, InputHandle_t * handlesOut ); +S_API void SteamAPI_ISteamInput_EnableDeviceCallbacks( ISteamInput* self ); +S_API void SteamAPI_ISteamInput_EnableActionEventCallbacks( ISteamInput* self, SteamInputActionEventCallbackPointer pCallback ); +S_API InputActionSetHandle_t SteamAPI_ISteamInput_GetActionSetHandle( ISteamInput* self, const char * pszActionSetName ); +S_API void SteamAPI_ISteamInput_ActivateActionSet( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle ); +S_API InputActionSetHandle_t SteamAPI_ISteamInput_GetCurrentActionSet( ISteamInput* self, InputHandle_t inputHandle ); +S_API void SteamAPI_ISteamInput_ActivateActionSetLayer( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamInput_DeactivateActionSetLayer( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamInput_DeactivateAllActionSetLayers( ISteamInput* self, InputHandle_t inputHandle ); +S_API int SteamAPI_ISteamInput_GetActiveActionSetLayers( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t * handlesOut ); +S_API InputDigitalActionHandle_t SteamAPI_ISteamInput_GetDigitalActionHandle( ISteamInput* self, const char * pszActionName ); +S_API InputDigitalActionData_t SteamAPI_ISteamInput_GetDigitalActionData( ISteamInput* self, InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle ); +S_API int SteamAPI_ISteamInput_GetDigitalActionOrigins( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamInput_GetStringForDigitalActionName( ISteamInput* self, InputDigitalActionHandle_t eActionHandle ); +S_API InputAnalogActionHandle_t SteamAPI_ISteamInput_GetAnalogActionHandle( ISteamInput* self, const char * pszActionName ); +S_API InputAnalogActionData_t SteamAPI_ISteamInput_GetAnalogActionData( ISteamInput* self, InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle ); +S_API int SteamAPI_ISteamInput_GetAnalogActionOrigins( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamInput_GetGlyphPNGForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags ); +S_API const char * SteamAPI_ISteamInput_GetGlyphSVGForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin, uint32 unFlags ); +S_API const char * SteamAPI_ISteamInput_GetGlyphForActionOrigin_Legacy( ISteamInput* self, EInputActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetStringForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetStringForAnalogActionName( ISteamInput* self, InputAnalogActionHandle_t eActionHandle ); +S_API void SteamAPI_ISteamInput_StopAnalogActionMomentum( ISteamInput* self, InputHandle_t inputHandle, InputAnalogActionHandle_t eAction ); +S_API InputMotionData_t SteamAPI_ISteamInput_GetMotionData( ISteamInput* self, InputHandle_t inputHandle ); +S_API void SteamAPI_ISteamInput_TriggerVibration( ISteamInput* self, InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ); +S_API void SteamAPI_ISteamInput_TriggerVibrationExtended( ISteamInput* self, InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed ); +S_API void SteamAPI_ISteamInput_TriggerSimpleHapticEvent( ISteamInput* self, InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB ); +S_API void SteamAPI_ISteamInput_SetLEDColor( ISteamInput* self, InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ); +S_API void SteamAPI_ISteamInput_Legacy_TriggerHapticPulse( ISteamInput* self, InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ); +S_API void SteamAPI_ISteamInput_Legacy_TriggerRepeatedHapticPulse( ISteamInput* self, InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ); +S_API bool SteamAPI_ISteamInput_ShowBindingPanel( ISteamInput* self, InputHandle_t inputHandle ); +S_API ESteamInputType SteamAPI_ISteamInput_GetInputTypeForHandle( ISteamInput* self, InputHandle_t inputHandle ); +S_API InputHandle_t SteamAPI_ISteamInput_GetControllerForGamepadIndex( ISteamInput* self, int nIndex ); +S_API int SteamAPI_ISteamInput_GetGamepadIndexForController( ISteamInput* self, InputHandle_t ulinputHandle ); +S_API const char * SteamAPI_ISteamInput_GetStringForXboxOrigin( ISteamInput* self, EXboxOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetGlyphForXboxOrigin( ISteamInput* self, EXboxOrigin eOrigin ); +S_API EInputActionOrigin SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin( ISteamInput* self, InputHandle_t inputHandle, EXboxOrigin eOrigin ); +S_API EInputActionOrigin SteamAPI_ISteamInput_TranslateActionOrigin( ISteamInput* self, ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin ); +S_API bool SteamAPI_ISteamInput_GetDeviceBindingRevision( ISteamInput* self, InputHandle_t inputHandle, int * pMajor, int * pMinor ); +S_API uint32 SteamAPI_ISteamInput_GetRemotePlaySessionID( ISteamInput* self, InputHandle_t inputHandle ); +S_API uint16 SteamAPI_ISteamInput_GetSessionInputConfigurationSettings( ISteamInput* self ); +S_API void SteamAPI_ISteamInput_SetDualSenseTriggerEffect( ISteamInput* self, InputHandle_t inputHandle, const ScePadTriggerEffectParam * pParam ); + +// ISteamController + +// A versioned accessor is exported by the library +S_API ISteamController *SteamAPI_SteamController_v008(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamController(), but using this ensures that you are using a matching library. +inline ISteamController *SteamAPI_SteamController() { return SteamAPI_SteamController_v008(); } +S_API bool SteamAPI_ISteamController_Init( ISteamController* self ); +S_API bool SteamAPI_ISteamController_Shutdown( ISteamController* self ); +S_API void SteamAPI_ISteamController_RunFrame( ISteamController* self ); +S_API int SteamAPI_ISteamController_GetConnectedControllers( ISteamController* self, ControllerHandle_t * handlesOut ); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetActionSetHandle( ISteamController* self, const char * pszActionSetName ); +S_API void SteamAPI_ISteamController_ActivateActionSet( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetCurrentActionSet( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API void SteamAPI_ISteamController_ActivateActionSetLayer( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamController_DeactivateActionSetLayer( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamController_DeactivateAllActionSetLayers( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API int SteamAPI_ISteamController_GetActiveActionSetLayers( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t * handlesOut ); +S_API ControllerDigitalActionHandle_t SteamAPI_ISteamController_GetDigitalActionHandle( ISteamController* self, const char * pszActionName ); +S_API InputDigitalActionData_t SteamAPI_ISteamController_GetDigitalActionData( ISteamController* self, ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ); +S_API int SteamAPI_ISteamController_GetDigitalActionOrigins( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin * originsOut ); +S_API ControllerAnalogActionHandle_t SteamAPI_ISteamController_GetAnalogActionHandle( ISteamController* self, const char * pszActionName ); +S_API InputAnalogActionData_t SteamAPI_ISteamController_GetAnalogActionData( ISteamController* self, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ); +S_API int SteamAPI_ISteamController_GetAnalogActionOrigins( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamController_GetGlyphForActionOrigin( ISteamController* self, EControllerActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamController_GetStringForActionOrigin( ISteamController* self, EControllerActionOrigin eOrigin ); +S_API void SteamAPI_ISteamController_StopAnalogActionMomentum( ISteamController* self, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ); +S_API InputMotionData_t SteamAPI_ISteamController_GetMotionData( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API void SteamAPI_ISteamController_TriggerHapticPulse( ISteamController* self, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ); +S_API void SteamAPI_ISteamController_TriggerRepeatedHapticPulse( ISteamController* self, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ); +S_API void SteamAPI_ISteamController_TriggerVibration( ISteamController* self, ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ); +S_API void SteamAPI_ISteamController_SetLEDColor( ISteamController* self, ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ); +S_API bool SteamAPI_ISteamController_ShowBindingPanel( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API ESteamInputType SteamAPI_ISteamController_GetInputTypeForHandle( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API ControllerHandle_t SteamAPI_ISteamController_GetControllerForGamepadIndex( ISteamController* self, int nIndex ); +S_API int SteamAPI_ISteamController_GetGamepadIndexForController( ISteamController* self, ControllerHandle_t ulControllerHandle ); +S_API const char * SteamAPI_ISteamController_GetStringForXboxOrigin( ISteamController* self, EXboxOrigin eOrigin ); +S_API const char * SteamAPI_ISteamController_GetGlyphForXboxOrigin( ISteamController* self, EXboxOrigin eOrigin ); +S_API EControllerActionOrigin SteamAPI_ISteamController_GetActionOriginFromXboxOrigin( ISteamController* self, ControllerHandle_t controllerHandle, EXboxOrigin eOrigin ); +S_API EControllerActionOrigin SteamAPI_ISteamController_TranslateActionOrigin( ISteamController* self, ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin ); +S_API bool SteamAPI_ISteamController_GetControllerBindingRevision( ISteamController* self, ControllerHandle_t controllerHandle, int * pMajor, int * pMinor ); + +// ISteamUGC + +// A versioned accessor is exported by the library +S_API ISteamUGC *SteamAPI_SteamUGC_v020(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUGC(), but using this ensures that you are using a matching library. +inline ISteamUGC *SteamAPI_SteamUGC() { return SteamAPI_SteamUGC_v020(); } + +// A versioned accessor is exported by the library +S_API ISteamUGC *SteamAPI_SteamGameServerUGC_v020(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUGC(), but using this ensures that you are using a matching library. +inline ISteamUGC *SteamAPI_SteamGameServerUGC() { return SteamAPI_SteamGameServerUGC_v020(); } +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest( ISteamUGC* self, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestPage( ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestCursor( ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char * pchCursor ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SendQueryUGCRequest( ISteamUGC* self, UGCQueryHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCResult( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t * pDetails ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumTags( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 indexTag, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCTagDisplayName( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 indexTag, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCPreviewURL( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, char * pchURL, uint32 cchURLSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCMetadata( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, char * pchMetadata, uint32 cchMetadatasize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCChildren( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCStatistic( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 * pStatValue ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, char * pchURLOrVideoID, uint32 cchURLSize, char * pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType * pPreviewType ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char * pchKey, uint32 cchKeySize, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryFirstUGCKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, const char * pchKey, char * pchValue, uint32 cchValueSize ); +S_API uint32 SteamAPI_ISteamUGC_GetNumSupportedGameVersions( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetSupportedGameVersionData( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 versionIndex, char * pchGameBranchMin, char * pchGameBranchMax, uint32 cchGameBranchSize ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCContentDescriptors( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID * pvecDescriptors, uint32 cMaxEntries ); +S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest( ISteamUGC* self, UGCQueryHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_AddRequiredTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pTagName ); +S_API bool SteamAPI_ISteamUGC_AddRequiredTagGroup( ISteamUGC* self, UGCQueryHandle_t handle, const SteamParamStringArray_t * pTagGroups ); +S_API bool SteamAPI_ISteamUGC_AddExcludedTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pTagName ); +S_API bool SteamAPI_ISteamUGC_SetReturnOnlyIDs( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnOnlyIDs ); +S_API bool SteamAPI_ISteamUGC_SetReturnKeyValueTags( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnKeyValueTags ); +S_API bool SteamAPI_ISteamUGC_SetReturnLongDescription( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnLongDescription ); +S_API bool SteamAPI_ISteamUGC_SetReturnMetadata( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnMetadata ); +S_API bool SteamAPI_ISteamUGC_SetReturnChildren( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnChildren ); +S_API bool SteamAPI_ISteamUGC_SetReturnAdditionalPreviews( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnAdditionalPreviews ); +S_API bool SteamAPI_ISteamUGC_SetReturnTotalOnly( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnTotalOnly ); +S_API bool SteamAPI_ISteamUGC_SetReturnPlaytimeStats( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unDays ); +S_API bool SteamAPI_ISteamUGC_SetLanguage( ISteamUGC* self, UGCQueryHandle_t handle, const char * pchLanguage ); +S_API bool SteamAPI_ISteamUGC_SetAllowCachedResponse( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unMaxAgeSeconds ); +S_API bool SteamAPI_ISteamUGC_SetAdminQuery( ISteamUGC* self, UGCUpdateHandle_t handle, bool bAdminQuery ); +S_API bool SteamAPI_ISteamUGC_SetCloudFileNameFilter( ISteamUGC* self, UGCQueryHandle_t handle, const char * pMatchCloudFileName ); +S_API bool SteamAPI_ISteamUGC_SetMatchAnyTag( ISteamUGC* self, UGCQueryHandle_t handle, bool bMatchAnyTag ); +S_API bool SteamAPI_ISteamUGC_SetSearchText( ISteamUGC* self, UGCQueryHandle_t handle, const char * pSearchText ); +S_API bool SteamAPI_ISteamUGC_SetRankedByTrendDays( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unDays ); +S_API bool SteamAPI_ISteamUGC_SetTimeCreatedDateRange( ISteamUGC* self, UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ); +S_API bool SteamAPI_ISteamUGC_SetTimeUpdatedDateRange( ISteamUGC* self, UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ); +S_API bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pKey, const char * pValue ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RequestUGCDetails( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_CreateItem( ISteamUGC* self, AppId_t nConsumerAppId, EWorkshopFileType eFileType ); +S_API UGCUpdateHandle_t SteamAPI_ISteamUGC_StartItemUpdate( ISteamUGC* self, AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_SetItemTitle( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchTitle ); +S_API bool SteamAPI_ISteamUGC_SetItemDescription( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchDescription ); +S_API bool SteamAPI_ISteamUGC_SetItemUpdateLanguage( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchLanguage ); +S_API bool SteamAPI_ISteamUGC_SetItemMetadata( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchMetaData ); +S_API bool SteamAPI_ISteamUGC_SetItemVisibility( ISteamUGC* self, UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility ); +S_API bool SteamAPI_ISteamUGC_SetItemTags( ISteamUGC* self, UGCUpdateHandle_t updateHandle, const SteamParamStringArray_t * pTags, bool bAllowAdminTags ); +S_API bool SteamAPI_ISteamUGC_SetItemContent( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszContentFolder ); +S_API bool SteamAPI_ISteamUGC_SetItemPreview( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszPreviewFile ); +S_API bool SteamAPI_ISteamUGC_SetAllowLegacyUpload( ISteamUGC* self, UGCUpdateHandle_t handle, bool bAllowLegacyUpload ); +S_API bool SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags( ISteamUGC* self, UGCUpdateHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchKey ); +S_API bool SteamAPI_ISteamUGC_AddItemKeyValueTag( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchKey, const char * pchValue ); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewFile( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type ); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewVideo( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszVideoID ); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewFile( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile ); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char * pszVideoID ); +S_API bool SteamAPI_ISteamUGC_RemoveItemPreview( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_AddContentDescriptor( ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ); +S_API bool SteamAPI_ISteamUGC_RemoveContentDescriptor( ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ); +S_API bool SteamAPI_ISteamUGC_SetRequiredGameVersions( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszGameBranchMin, const char * pszGameBranchMax ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubmitItemUpdate( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchChangeNote ); +S_API EItemUpdateStatus SteamAPI_ISteamUGC_GetItemUpdateProgress( ISteamUGC* self, UGCUpdateHandle_t handle, uint64 * punBytesProcessed, uint64 * punBytesTotal ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SetUserItemVote( ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bVoteUp ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetUserItemVote( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddItemToFavorites( ISteamUGC* self, AppId_t nAppId, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveItemFromFavorites( ISteamUGC* self, AppId_t nAppId, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubscribeItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_UnsubscribeItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API uint32 SteamAPI_ISteamUGC_GetNumSubscribedItems( ISteamUGC* self ); +S_API uint32 SteamAPI_ISteamUGC_GetSubscribedItems( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries ); +S_API uint32 SteamAPI_ISteamUGC_GetItemState( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_GetItemInstallInfo( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp ); +S_API bool SteamAPI_ISteamUGC_GetItemDownloadInfo( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint64 * punBytesDownloaded, uint64 * punBytesTotal ); +S_API bool SteamAPI_ISteamUGC_DownloadItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bHighPriority ); +S_API bool SteamAPI_ISteamUGC_BInitWorkshopForGameServer( ISteamUGC* self, DepotId_t unWorkshopDepotID, const char * pszFolder ); +S_API void SteamAPI_ISteamUGC_SuspendDownloads( ISteamUGC* self, bool bSuspend ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StartPlaytimeTracking( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTracking( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( ISteamUGC* self ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddDependency( ISteamUGC* self, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveDependency( ISteamUGC* self, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddAppDependency( ISteamUGC* self, PublishedFileId_t nPublishedFileID, AppId_t nAppID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveAppDependency( ISteamUGC* self, PublishedFileId_t nPublishedFileID, AppId_t nAppID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetAppDependencies( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_DeleteItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_ShowWorkshopEULA( ISteamUGC* self ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetWorkshopEULAStatus( ISteamUGC* self ); +S_API uint32 SteamAPI_ISteamUGC_GetUserContentDescriptorPreferences( ISteamUGC* self, EUGCContentDescriptorID * pvecDescriptors, uint32 cMaxEntries ); + +// ISteamHTMLSurface + +// A versioned accessor is exported by the library +S_API ISteamHTMLSurface *SteamAPI_SteamHTMLSurface_v005(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamHTMLSurface(), but using this ensures that you are using a matching library. +inline ISteamHTMLSurface *SteamAPI_SteamHTMLSurface() { return SteamAPI_SteamHTMLSurface_v005(); } +S_API bool SteamAPI_ISteamHTMLSurface_Init( ISteamHTMLSurface* self ); +S_API bool SteamAPI_ISteamHTMLSurface_Shutdown( ISteamHTMLSurface* self ); +S_API SteamAPICall_t SteamAPI_ISteamHTMLSurface_CreateBrowser( ISteamHTMLSurface* self, const char * pchUserAgent, const char * pchUserCSS ); +S_API void SteamAPI_ISteamHTMLSurface_RemoveBrowser( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_LoadURL( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchURL, const char * pchPostData ); +S_API void SteamAPI_ISteamHTMLSurface_SetSize( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight ); +S_API void SteamAPI_ISteamHTMLSurface_StopLoad( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_Reload( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GoBack( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GoForward( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_AddHeader( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchKey, const char * pchValue ); +S_API void SteamAPI_ISteamHTMLSurface_ExecuteJavascript( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchScript ); +S_API void SteamAPI_ISteamHTMLSurface_MouseUp( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseDown( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseDoubleClick( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseMove( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int x, int y ); +S_API void SteamAPI_ISteamHTMLSurface_MouseWheel( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int32 nDelta ); +S_API void SteamAPI_ISteamHTMLSurface_KeyDown( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers, bool bIsSystemKey ); +S_API void SteamAPI_ISteamHTMLSurface_KeyUp( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers ); +S_API void SteamAPI_ISteamHTMLSurface_KeyChar( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers ); +S_API void SteamAPI_ISteamHTMLSurface_SetHorizontalScroll( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ); +S_API void SteamAPI_ISteamHTMLSurface_SetVerticalScroll( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ); +S_API void SteamAPI_ISteamHTMLSurface_SetKeyFocus( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bHasKeyFocus ); +S_API void SteamAPI_ISteamHTMLSurface_ViewSource( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_CopyToClipboard( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_PasteFromClipboard( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_Find( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchSearchStr, bool bCurrentlyInFind, bool bReverse ); +S_API void SteamAPI_ISteamHTMLSurface_StopFind( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GetLinkAtPosition( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int x, int y ); +S_API void SteamAPI_ISteamHTMLSurface_SetCookie( ISteamHTMLSurface* self, const char * pchHostname, const char * pchKey, const char * pchValue, const char * pchPath, RTime32 nExpires, bool bSecure, bool bHTTPOnly ); +S_API void SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY ); +S_API void SteamAPI_ISteamHTMLSurface_SetBackgroundMode( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bBackgroundMode ); +S_API void SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, float flDPIScaling ); +S_API void SteamAPI_ISteamHTMLSurface_OpenDeveloperTools( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_AllowStartRequest( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bAllowed ); +S_API void SteamAPI_ISteamHTMLSurface_JSDialogResponse( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bResult ); +S_API void SteamAPI_ISteamHTMLSurface_FileLoadDialogResponse( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char ** pchSelectedFiles ); + +// ISteamInventory + +// A versioned accessor is exported by the library +S_API ISteamInventory *SteamAPI_SteamInventory_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamInventory(), but using this ensures that you are using a matching library. +inline ISteamInventory *SteamAPI_SteamInventory() { return SteamAPI_SteamInventory_v003(); } + +// A versioned accessor is exported by the library +S_API ISteamInventory *SteamAPI_SteamGameServerInventory_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerInventory(), but using this ensures that you are using a matching library. +inline ISteamInventory *SteamAPI_SteamGameServerInventory() { return SteamAPI_SteamGameServerInventory_v003(); } +S_API EResult SteamAPI_ISteamInventory_GetResultStatus( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_GetResultItems( ISteamInventory* self, SteamInventoryResult_t resultHandle, SteamItemDetails_t * pOutItemsArray, uint32 * punOutItemsArraySize ); +S_API bool SteamAPI_ISteamInventory_GetResultItemProperty( ISteamInventory* self, SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut ); +S_API uint32 SteamAPI_ISteamInventory_GetResultTimestamp( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_CheckResultSteamID( ISteamInventory* self, SteamInventoryResult_t resultHandle, uint64_steamid steamIDExpected ); +S_API void SteamAPI_ISteamInventory_DestroyResult( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_GetAllItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_GetItemsByID( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemInstanceID_t * pInstanceIDs, uint32 unCountInstanceIDs ); +S_API bool SteamAPI_ISteamInventory_SerializeResult( ISteamInventory* self, SteamInventoryResult_t resultHandle, void * pOutBuffer, uint32 * punOutBufferSize ); +S_API bool SteamAPI_ISteamInventory_DeserializeResult( ISteamInventory* self, SteamInventoryResult_t * pOutResultHandle, const void * pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE ); +S_API bool SteamAPI_ISteamInventory_GenerateItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_GrantPromoItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_AddPromoItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemDef_t itemDef ); +S_API bool SteamAPI_ISteamInventory_AddPromoItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_ConsumeItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity ); +S_API bool SteamAPI_ISteamInventory_ExchangeItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayGenerate, const uint32 * punArrayGenerateQuantity, uint32 unArrayGenerateLength, const SteamItemInstanceID_t * pArrayDestroy, const uint32 * punArrayDestroyQuantity, uint32 unArrayDestroyLength ); +S_API bool SteamAPI_ISteamInventory_TransferItemQuantity( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest ); +S_API void SteamAPI_ISteamInventory_SendItemDropHeartbeat( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_TriggerItemDrop( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemDef_t dropListDefinition ); +S_API bool SteamAPI_ISteamInventory_TradeItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, uint64_steamid steamIDTradePartner, const SteamItemInstanceID_t * pArrayGive, const uint32 * pArrayGiveQuantity, uint32 nArrayGiveLength, const SteamItemInstanceID_t * pArrayGet, const uint32 * pArrayGetQuantity, uint32 nArrayGetLength ); +S_API bool SteamAPI_ISteamInventory_LoadItemDefinitions( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionIDs( ISteamInventory* self, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize ); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionProperty( ISteamInventory* self, SteamItemDef_t iDefinition, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( ISteamInventory* self, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( ISteamInventory* self, uint64_steamid steamID, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_StartPurchase( ISteamInventory* self, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestPrices( ISteamInventory* self ); +S_API uint32 SteamAPI_ISteamInventory_GetNumItemsWithPrices( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_GetItemsWithPrices( ISteamInventory* self, SteamItemDef_t * pArrayItemDefs, uint64 * pCurrentPrices, uint64 * pBasePrices, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_GetItemPrice( ISteamInventory* self, SteamItemDef_t iDefinition, uint64 * pCurrentPrice, uint64 * pBasePrice ); +S_API SteamInventoryUpdateHandle_t SteamAPI_ISteamInventory_StartUpdateProperties( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_RemoveProperty( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName ); +S_API bool SteamAPI_ISteamInventory_SetPropertyString( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, const char * pchPropertyValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyBool( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, bool bValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyInt64( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, int64 nValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyFloat( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, float flValue ); +S_API bool SteamAPI_ISteamInventory_SubmitUpdateProperties( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_InspectItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const char * pchItemToken ); + +// ISteamTimeline + +// A versioned accessor is exported by the library +S_API ISteamTimeline *SteamAPI_SteamTimeline_v004(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamTimeline(), but using this ensures that you are using a matching library. +inline ISteamTimeline *SteamAPI_SteamTimeline() { return SteamAPI_SteamTimeline_v004(); } +S_API void SteamAPI_ISteamTimeline_SetTimelineTooltip( ISteamTimeline* self, const char * pchDescription, float flTimeDelta ); +S_API void SteamAPI_ISteamTimeline_ClearTimelineTooltip( ISteamTimeline* self, float flTimeDelta ); +S_API void SteamAPI_ISteamTimeline_SetTimelineGameMode( ISteamTimeline* self, ETimelineGameMode eMode ); +S_API TimelineEventHandle_t SteamAPI_ISteamTimeline_AddInstantaneousTimelineEvent( ISteamTimeline* self, const char * pchTitle, const char * pchDescription, const char * pchIcon, uint32 unIconPriority, float flStartOffsetSeconds, ETimelineEventClipPriority ePossibleClip ); +S_API TimelineEventHandle_t SteamAPI_ISteamTimeline_AddRangeTimelineEvent( ISteamTimeline* self, const char * pchTitle, const char * pchDescription, const char * pchIcon, uint32 unIconPriority, float flStartOffsetSeconds, float flDuration, ETimelineEventClipPriority ePossibleClip ); +S_API TimelineEventHandle_t SteamAPI_ISteamTimeline_StartRangeTimelineEvent( ISteamTimeline* self, const char * pchTitle, const char * pchDescription, const char * pchIcon, uint32 unPriority, float flStartOffsetSeconds, ETimelineEventClipPriority ePossibleClip ); +S_API void SteamAPI_ISteamTimeline_UpdateRangeTimelineEvent( ISteamTimeline* self, TimelineEventHandle_t ulEvent, const char * pchTitle, const char * pchDescription, const char * pchIcon, uint32 unPriority, ETimelineEventClipPriority ePossibleClip ); +S_API void SteamAPI_ISteamTimeline_EndRangeTimelineEvent( ISteamTimeline* self, TimelineEventHandle_t ulEvent, float flEndOffsetSeconds ); +S_API void SteamAPI_ISteamTimeline_RemoveTimelineEvent( ISteamTimeline* self, TimelineEventHandle_t ulEvent ); +S_API SteamAPICall_t SteamAPI_ISteamTimeline_DoesEventRecordingExist( ISteamTimeline* self, TimelineEventHandle_t ulEvent ); +S_API void SteamAPI_ISteamTimeline_StartGamePhase( ISteamTimeline* self ); +S_API void SteamAPI_ISteamTimeline_EndGamePhase( ISteamTimeline* self ); +S_API void SteamAPI_ISteamTimeline_SetGamePhaseID( ISteamTimeline* self, const char * pchPhaseID ); +S_API SteamAPICall_t SteamAPI_ISteamTimeline_DoesGamePhaseRecordingExist( ISteamTimeline* self, const char * pchPhaseID ); +S_API void SteamAPI_ISteamTimeline_AddGamePhaseTag( ISteamTimeline* self, const char * pchTagName, const char * pchTagIcon, const char * pchTagGroup, uint32 unPriority ); +S_API void SteamAPI_ISteamTimeline_SetGamePhaseAttribute( ISteamTimeline* self, const char * pchAttributeGroup, const char * pchAttributeValue, uint32 unPriority ); +S_API void SteamAPI_ISteamTimeline_OpenOverlayToGamePhase( ISteamTimeline* self, const char * pchPhaseID ); +S_API void SteamAPI_ISteamTimeline_OpenOverlayToTimelineEvent( ISteamTimeline* self, const TimelineEventHandle_t ulEvent ); + +// ISteamVideo + +// A versioned accessor is exported by the library +S_API ISteamVideo *SteamAPI_SteamVideo_v007(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamVideo(), but using this ensures that you are using a matching library. +inline ISteamVideo *SteamAPI_SteamVideo() { return SteamAPI_SteamVideo_v007(); } +S_API void SteamAPI_ISteamVideo_GetVideoURL( ISteamVideo* self, AppId_t unVideoAppID ); +S_API bool SteamAPI_ISteamVideo_IsBroadcasting( ISteamVideo* self, int * pnNumViewers ); +S_API void SteamAPI_ISteamVideo_GetOPFSettings( ISteamVideo* self, AppId_t unVideoAppID ); +S_API bool SteamAPI_ISteamVideo_GetOPFStringForApp( ISteamVideo* self, AppId_t unVideoAppID, char * pchBuffer, int32 * pnBufferSize ); + +// ISteamParentalSettings + +// A versioned accessor is exported by the library +S_API ISteamParentalSettings *SteamAPI_SteamParentalSettings_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamParentalSettings(), but using this ensures that you are using a matching library. +inline ISteamParentalSettings *SteamAPI_SteamParentalSettings() { return SteamAPI_SteamParentalSettings_v001(); } +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( ISteamParentalSettings* self ); +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( ISteamParentalSettings* self ); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppBlocked( ISteamParentalSettings* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList( ISteamParentalSettings* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( ISteamParentalSettings* self, EParentalFeature eFeature ); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( ISteamParentalSettings* self, EParentalFeature eFeature ); + +// ISteamRemotePlay + +// A versioned accessor is exported by the library +S_API ISteamRemotePlay *SteamAPI_SteamRemotePlay_v002(); +// 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_v002(); } +S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionCount( ISteamRemotePlay* self ); +S_API RemotePlaySessionID_t SteamAPI_ISteamRemotePlay_GetSessionID( ISteamRemotePlay* self, int iSessionIndex ); +S_API uint64_steamid SteamAPI_ISteamRemotePlay_GetSessionSteamID( 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 ); +S_API bool SteamAPI_ISteamRemotePlay_BStartRemotePlayTogether( ISteamRemotePlay* self, bool bShowOverlay ); +S_API bool SteamAPI_ISteamRemotePlay_BSendRemotePlayTogetherInvite( ISteamRemotePlay* self, uint64_steamid steamIDFriend ); + +// ISteamNetworkingMessages + +// A versioned accessor is exported by the library +S_API ISteamNetworkingMessages *SteamAPI_SteamNetworkingMessages_SteamAPI_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingMessages_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingMessages *SteamAPI_SteamNetworkingMessages_SteamAPI() { return SteamAPI_SteamNetworkingMessages_SteamAPI_v002(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworkingMessages *SteamAPI_SteamGameServerNetworkingMessages_SteamAPI_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworkingMessages_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingMessages *SteamAPI_SteamGameServerNetworkingMessages_SteamAPI() { return SteamAPI_SteamGameServerNetworkingMessages_SteamAPI_v002(); } +S_API EResult SteamAPI_ISteamNetworkingMessages_SendMessageToUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, const void * pubData, uint32 cubData, int nSendFlags, int nRemoteChannel ); +S_API int SteamAPI_ISteamNetworkingMessages_ReceiveMessagesOnChannel( ISteamNetworkingMessages* self, int nLocalChannel, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingMessages_AcceptSessionWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote ); +S_API bool SteamAPI_ISteamNetworkingMessages_CloseSessionWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote ); +S_API bool SteamAPI_ISteamNetworkingMessages_CloseChannelWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, int nLocalChannel ); +S_API ESteamNetworkingConnectionState SteamAPI_ISteamNetworkingMessages_GetSessionConnectionInfo( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, SteamNetConnectionInfo_t * pConnectionInfo, SteamNetConnectionRealTimeStatus_t * pQuickStatus ); + +// ISteamNetworkingSockets + +// A versioned accessor is exported by the library +S_API ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI() { return SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI() { return SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); } +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketIP( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & localAddress, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectByIPAddress( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & address, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2P( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2P( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityRemote, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_AcceptConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn ); +S_API bool SteamAPI_ISteamNetworkingSockets_CloseConnection( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, int nReason, const char * pszDebug, bool bEnableLinger ); +S_API bool SteamAPI_ISteamNetworkingSockets_CloseListenSocket( ISteamNetworkingSockets* self, HSteamListenSocket hSocket ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetConnectionUserData( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, int64 nUserData ); +S_API int64 SteamAPI_ISteamNetworkingSockets_GetConnectionUserData( ISteamNetworkingSockets* self, HSteamNetConnection hPeer ); +S_API void SteamAPI_ISteamNetworkingSockets_SetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, const char * pszName ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, char * pszName, int nMaxLen ); +S_API EResult SteamAPI_ISteamNetworkingSockets_SendMessageToConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, const void * pData, uint32 cbData, int nSendFlags, int64 * pOutMessageNumber ); +S_API void SteamAPI_ISteamNetworkingSockets_SendMessages( ISteamNetworkingSockets* self, int nMessages, SteamNetworkingMessage_t *const * pMessages, int64 * pOutMessageNumberOrResult ); +S_API EResult SteamAPI_ISteamNetworkingSockets_FlushMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn ); +S_API int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionInfo( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionInfo_t * pInfo ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetConnectionRealTimeStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t * pStatus, int nLanes, SteamNetConnectionRealTimeLaneStatus_t * pLanes ); +S_API int SteamAPI_ISteamNetworkingSockets_GetDetailedConnectionStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, char * pszBuf, int cbBuf ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetListenSocketAddress( ISteamNetworkingSockets* self, HSteamListenSocket hSocket, SteamNetworkingIPAddr * address ); +S_API bool SteamAPI_ISteamNetworkingSockets_CreateSocketPair( ISteamNetworkingSockets* self, HSteamNetConnection * pOutConnection1, HSteamNetConnection * pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity * pIdentity1, const SteamNetworkingIdentity * pIdentity2 ); +S_API EResult SteamAPI_ISteamNetworkingSockets_ConfigureConnectionLanes( ISteamNetworkingSockets* self, HSteamNetConnection hConn, int nNumLanes, const int * pLanePriorities, const uint16 * pLaneWeights ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetIdentity( ISteamNetworkingSockets* self, SteamNetworkingIdentity * pIdentity ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingSockets_InitAuthentication( ISteamNetworkingSockets* self ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingSockets_GetAuthenticationStatus( ISteamNetworkingSockets* self, SteamNetAuthenticationStatus_t * pDetails ); +S_API HSteamNetPollGroup SteamAPI_ISteamNetworkingSockets_CreatePollGroup( ISteamNetworkingSockets* self ); +S_API bool SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetConnectionPollGroup( ISteamNetworkingSockets* self, HSteamNetConnection hConn, HSteamNetPollGroup hPollGroup ); +S_API int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingSockets_ReceivedRelayAuthTicket( ISteamNetworkingSockets* self, const void * pvTicket, int cbTicket, SteamDatagramRelayAuthTicket * pOutParsedTicket ); +S_API int SteamAPI_ISteamNetworkingSockets_FindRelayAuthTicketForServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityGameServer, int nRemoteVirtualPort, SteamDatagramRelayAuthTicket * pOutParsedTicket ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectToHostedDedicatedServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityTarget, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API uint16 SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPort( ISteamNetworkingSockets* self ); +S_API SteamNetworkingPOPID SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPOPID( ISteamNetworkingSockets* self ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerAddress( ISteamNetworkingSockets* self, SteamDatagramHostedAddress * pRouting ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetGameCoordinatorServerLogin( ISteamNetworkingSockets* self, SteamDatagramGameCoordinatorServerLogin * pLoginInfo, int * pcbSignedBlob, void * pBlob ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2PCustomSignaling( ISteamNetworkingSockets* self, ISteamNetworkingConnectionSignaling * pSignaling, const SteamNetworkingIdentity * pPeerIdentity, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API bool SteamAPI_ISteamNetworkingSockets_ReceivedP2PCustomSignal( ISteamNetworkingSockets* self, const void * pMsg, int cbMsg, ISteamNetworkingSignalingRecvContext * pContext ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetCertificateRequest( ISteamNetworkingSockets* self, int * pcbBlob, void * pBlob, SteamNetworkingErrMsg & errMsg ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetCertificate( ISteamNetworkingSockets* self, const void * pCertificate, int cbCertificate, SteamNetworkingErrMsg & errMsg ); +S_API void SteamAPI_ISteamNetworkingSockets_ResetIdentity( ISteamNetworkingSockets* self, const SteamNetworkingIdentity * pIdentity ); +S_API void SteamAPI_ISteamNetworkingSockets_RunCallbacks( ISteamNetworkingSockets* self ); +S_API bool SteamAPI_ISteamNetworkingSockets_BeginAsyncRequestFakeIP( ISteamNetworkingSockets* self, int nNumPorts ); +S_API void SteamAPI_ISteamNetworkingSockets_GetFakeIP( ISteamNetworkingSockets* self, int idxFirstPort, SteamNetworkingFakeIPResult_t * pInfo ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2PFakeIP( ISteamNetworkingSockets* self, int idxFakePort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetRemoteFakeIPForConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetworkingIPAddr * pOutAddr ); +S_API ISteamNetworkingFakeUDPPort * SteamAPI_ISteamNetworkingSockets_CreateFakeUDPPort( ISteamNetworkingSockets* self, int idxFakeServerPort ); + +// ISteamNetworkingUtils + +// A versioned accessor is exported by the library +S_API ISteamNetworkingUtils *SteamAPI_SteamNetworkingUtils_SteamAPI_v004(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingUtils_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingUtils *SteamAPI_SteamNetworkingUtils_SteamAPI() { return SteamAPI_SteamNetworkingUtils_SteamAPI_v004(); } +S_API SteamNetworkingMessage_t * SteamAPI_ISteamNetworkingUtils_AllocateMessage( ISteamNetworkingUtils* self, int cbAllocateBuffer ); +S_API void SteamAPI_ISteamNetworkingUtils_InitRelayNetworkAccess( ISteamNetworkingUtils* self ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingUtils_GetRelayNetworkStatus( ISteamNetworkingUtils* self, SteamRelayNetworkStatus_t * pDetails ); +S_API float SteamAPI_ISteamNetworkingUtils_GetLocalPingLocation( ISteamNetworkingUtils* self, SteamNetworkPingLocation_t & result ); +S_API int SteamAPI_ISteamNetworkingUtils_EstimatePingTimeBetweenTwoLocations( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & location1, const SteamNetworkPingLocation_t & location2 ); +S_API int SteamAPI_ISteamNetworkingUtils_EstimatePingTimeFromLocalHost( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & remoteLocation ); +S_API void SteamAPI_ISteamNetworkingUtils_ConvertPingLocationToString( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & location, char * pszBuf, int cchBufSize ); +S_API bool SteamAPI_ISteamNetworkingUtils_ParsePingLocationString( ISteamNetworkingUtils* self, const char * pszString, SteamNetworkPingLocation_t & result ); +S_API bool SteamAPI_ISteamNetworkingUtils_CheckPingDataUpToDate( ISteamNetworkingUtils* self, float flMaxAgeSeconds ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPingToDataCenter( ISteamNetworkingUtils* self, SteamNetworkingPOPID popID, SteamNetworkingPOPID * pViaRelayPoP ); +S_API int SteamAPI_ISteamNetworkingUtils_GetDirectPingToPOP( ISteamNetworkingUtils* self, SteamNetworkingPOPID popID ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPOPCount( ISteamNetworkingUtils* self ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPOPList( ISteamNetworkingUtils* self, SteamNetworkingPOPID * list, int nListSz ); +S_API SteamNetworkingMicroseconds SteamAPI_ISteamNetworkingUtils_GetLocalTimestamp( ISteamNetworkingUtils* self ); +S_API void SteamAPI_ISteamNetworkingUtils_SetDebugOutputFunction( ISteamNetworkingUtils* self, ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc ); +S_API bool SteamAPI_ISteamNetworkingUtils_IsFakeIPv4( ISteamNetworkingUtils* self, uint32 nIPv4 ); +S_API ESteamNetworkingFakeIPType SteamAPI_ISteamNetworkingUtils_GetIPv4FakeIPType( ISteamNetworkingUtils* self, uint32 nIPv4 ); +S_API EResult SteamAPI_ISteamNetworkingUtils_GetRealIdentityForFakeIP( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & fakeIP, SteamNetworkingIdentity * pOutRealIdentity ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueInt32( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, int32 val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueFloat( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, float val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueString( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, const char * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValuePtr( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, void * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueInt32( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueFloat( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueString( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetConnectionStatusChanged( ISteamNetworkingUtils* self, FnSteamNetConnectionStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetAuthenticationStatusChanged( ISteamNetworkingUtils* self, FnSteamNetAuthenticationStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamRelayNetworkStatusChanged( ISteamNetworkingUtils* self, FnSteamRelayNetworkStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_FakeIPResult( ISteamNetworkingUtils* self, FnSteamNetworkingFakeIPResult fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionRequest( ISteamNetworkingUtils* self, FnSteamNetworkingMessagesSessionRequest fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionFailed( ISteamNetworkingUtils* self, FnSteamNetworkingMessagesSessionFailed fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConfigValue( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void * pArg ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConfigValueStruct( ISteamNetworkingUtils* self, const SteamNetworkingConfigValue_t & opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ); +S_API ESteamNetworkingGetConfigValueResult SteamAPI_ISteamNetworkingUtils_GetConfigValue( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType * pOutDataType, void * pResult, size_t * cbResult ); +S_API const char * SteamAPI_ISteamNetworkingUtils_GetConfigValueInfo( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigDataType * pOutDataType, ESteamNetworkingConfigScope * pOutScope ); +S_API ESteamNetworkingConfigValue SteamAPI_ISteamNetworkingUtils_IterateGenericEditableConfigValues( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eCurrent, bool bEnumerateDevVars ); +S_API void SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ToString( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & addr, char * buf, uint32 cbBuf, bool bWithPort ); +S_API bool SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ParseString( ISteamNetworkingUtils* self, SteamNetworkingIPAddr * pAddr, const char * pszStr ); +S_API ESteamNetworkingFakeIPType SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_GetFakeIPType( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & addr ); +S_API void SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ToString( ISteamNetworkingUtils* self, const SteamNetworkingIdentity & identity, char * buf, uint32 cbBuf ); +S_API bool SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ParseString( ISteamNetworkingUtils* self, SteamNetworkingIdentity * pIdentity, const char * pszStr ); + +// ISteamGameServer + +// A versioned accessor is exported by the library +S_API ISteamGameServer *SteamAPI_SteamGameServer_v015(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServer(), but using this ensures that you are using a matching library. +inline ISteamGameServer *SteamAPI_SteamGameServer() { return SteamAPI_SteamGameServer_v015(); } +S_API void SteamAPI_ISteamGameServer_SetProduct( ISteamGameServer* self, const char * pszProduct ); +S_API void SteamAPI_ISteamGameServer_SetGameDescription( ISteamGameServer* self, const char * pszGameDescription ); +S_API void SteamAPI_ISteamGameServer_SetModDir( ISteamGameServer* self, const char * pszModDir ); +S_API void SteamAPI_ISteamGameServer_SetDedicatedServer( ISteamGameServer* self, bool bDedicated ); +S_API void SteamAPI_ISteamGameServer_LogOn( ISteamGameServer* self, const char * pszToken ); +S_API void SteamAPI_ISteamGameServer_LogOnAnonymous( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_LogOff( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_BLoggedOn( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_BSecure( ISteamGameServer* self ); +S_API uint64_steamid SteamAPI_ISteamGameServer_GetSteamID( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_WasRestartRequested( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SetMaxPlayerCount( ISteamGameServer* self, int cPlayersMax ); +S_API void SteamAPI_ISteamGameServer_SetBotPlayerCount( ISteamGameServer* self, int cBotplayers ); +S_API void SteamAPI_ISteamGameServer_SetServerName( ISteamGameServer* self, const char * pszServerName ); +S_API void SteamAPI_ISteamGameServer_SetMapName( ISteamGameServer* self, const char * pszMapName ); +S_API void SteamAPI_ISteamGameServer_SetPasswordProtected( ISteamGameServer* self, bool bPasswordProtected ); +S_API void SteamAPI_ISteamGameServer_SetSpectatorPort( ISteamGameServer* self, uint16 unSpectatorPort ); +S_API void SteamAPI_ISteamGameServer_SetSpectatorServerName( ISteamGameServer* self, const char * pszSpectatorServerName ); +S_API void SteamAPI_ISteamGameServer_ClearAllKeyValues( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SetKeyValue( ISteamGameServer* self, const char * pKey, const char * pValue ); +S_API void SteamAPI_ISteamGameServer_SetGameTags( ISteamGameServer* self, const char * pchGameTags ); +S_API void SteamAPI_ISteamGameServer_SetGameData( ISteamGameServer* self, const char * pchGameData ); +S_API void SteamAPI_ISteamGameServer_SetRegion( ISteamGameServer* self, const char * pszRegion ); +S_API void SteamAPI_ISteamGameServer_SetAdvertiseServerActive( ISteamGameServer* self, bool bActive ); +S_API HAuthTicket SteamAPI_ISteamGameServer_GetAuthSessionTicket( ISteamGameServer* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket, const SteamNetworkingIdentity * pSnid ); +S_API EBeginAuthSessionResult SteamAPI_ISteamGameServer_BeginAuthSession( ISteamGameServer* self, const void * pAuthTicket, int cbAuthTicket, uint64_steamid steamID ); +S_API void SteamAPI_ISteamGameServer_EndAuthSession( ISteamGameServer* self, uint64_steamid steamID ); +S_API void SteamAPI_ISteamGameServer_CancelAuthTicket( ISteamGameServer* self, HAuthTicket hAuthTicket ); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamGameServer_UserHasLicenseForApp( ISteamGameServer* self, uint64_steamid steamID, AppId_t appID ); +S_API bool SteamAPI_ISteamGameServer_RequestUserGroupStatus( ISteamGameServer* self, uint64_steamid steamIDUser, uint64_steamid steamIDGroup ); +S_API void SteamAPI_ISteamGameServer_GetGameplayStats( ISteamGameServer* self ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_GetServerReputation( ISteamGameServer* self ); +S_API SteamIPAddress_t SteamAPI_ISteamGameServer_GetPublicIP( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_HandleIncomingPacket( ISteamGameServer* self, const void * pData, int cbData, uint32 srcIP, uint16 srcPort ); +S_API int SteamAPI_ISteamGameServer_GetNextOutgoingPacket( ISteamGameServer* self, void * pOut, int cbMaxOut, uint32 * pNetAdr, uint16 * pPort ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_AssociateWithClan( ISteamGameServer* self, uint64_steamid steamIDClan ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility( ISteamGameServer* self, uint64_steamid steamIDNewPlayer ); +S_API bool SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate_DEPRECATED( ISteamGameServer* self, uint32 unIPClient, const void * pvAuthBlob, uint32 cubAuthBlobSize, CSteamID * pSteamIDUser ); +S_API uint64_steamid SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SendUserDisconnect_DEPRECATED( ISteamGameServer* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamGameServer_BUpdateUserData( ISteamGameServer* self, uint64_steamid steamIDUser, const char * pchPlayerName, uint32 uScore ); + +// ISteamGameServerStats + +// A versioned accessor is exported by the library +S_API ISteamGameServerStats *SteamAPI_SteamGameServerStats_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerStats(), but using this ensures that you are using a matching library. +inline ISteamGameServerStats *SteamAPI_SteamGameServerStats() { return SteamAPI_SteamGameServerStats_v001(); } +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_RequestUserStats( ISteamGameServerStats* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStatInt32( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStatFloat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStatInt32( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, int32 nData ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStatFloat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float fData ); +S_API bool SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float flCountThisSession, double dSessionLength ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName ); +S_API bool SteamAPI_ISteamGameServerStats_ClearUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName ); +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_StoreUserStats( ISteamGameServerStats* self, uint64_steamid steamIDUser ); + +// ISteamNetworkingFakeUDPPort +S_API void SteamAPI_ISteamNetworkingFakeUDPPort_DestroyFakeUDPPort( ISteamNetworkingFakeUDPPort* self ); +S_API EResult SteamAPI_ISteamNetworkingFakeUDPPort_SendMessageToFakeIP( ISteamNetworkingFakeUDPPort* self, const SteamNetworkingIPAddr & remoteAddress, const void * pData, uint32 cbData, int nSendFlags ); +S_API int SteamAPI_ISteamNetworkingFakeUDPPort_ReceiveMessages( ISteamNetworkingFakeUDPPort* self, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API void SteamAPI_ISteamNetworkingFakeUDPPort_ScheduleCleanup( ISteamNetworkingFakeUDPPort* self, const SteamNetworkingIPAddr & remoteAddress ); + +// SteamIPAddress_t +S_API bool SteamAPI_SteamIPAddress_t_IsSet( SteamIPAddress_t* self ); + +// MatchMakingKeyValuePair_t +S_API void SteamAPI_MatchMakingKeyValuePair_t_Construct( MatchMakingKeyValuePair_t* self ); + +// servernetadr_t +S_API void SteamAPI_servernetadr_t_Construct( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_Init( servernetadr_t* self, unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ); +S_API uint16 SteamAPI_servernetadr_t_GetQueryPort( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetQueryPort( servernetadr_t* self, uint16 usPort ); +S_API uint16 SteamAPI_servernetadr_t_GetConnectionPort( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetConnectionPort( servernetadr_t* self, uint16 usPort ); +S_API uint32 SteamAPI_servernetadr_t_GetIP( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetIP( servernetadr_t* self, uint32 unIP ); +S_API const char * SteamAPI_servernetadr_t_GetConnectionAddressString( servernetadr_t* self ); +S_API const char * SteamAPI_servernetadr_t_GetQueryAddressString( servernetadr_t* self ); +S_API bool SteamAPI_servernetadr_t_IsLessThan( servernetadr_t* self, const servernetadr_t & netadr ); +S_API void SteamAPI_servernetadr_t_Assign( servernetadr_t* self, const servernetadr_t & that ); + +// gameserveritem_t +S_API void SteamAPI_gameserveritem_t_Construct( gameserveritem_t* self ); +S_API const char * SteamAPI_gameserveritem_t_GetName( gameserveritem_t* self ); +S_API void SteamAPI_gameserveritem_t_SetName( gameserveritem_t* self, const char * pName ); + +// SteamNetworkingIPAddr +S_API void SteamAPI_SteamNetworkingIPAddr_Clear( SteamNetworkingIPAddr* self ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsIPv6AllZeros( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv6( SteamNetworkingIPAddr* self, const uint8 * ipv6, uint16 nPort ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv4( SteamNetworkingIPAddr* self, uint32 nIP, uint16 nPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsIPv4( SteamNetworkingIPAddr* self ); +S_API uint32 SteamAPI_SteamNetworkingIPAddr_GetIPv4( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv6LocalHost( SteamNetworkingIPAddr* self, uint16 nPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsLocalHost( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_ToString( SteamNetworkingIPAddr* self, char * buf, uint32 cbBuf, bool bWithPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr* self, const char * pszStr ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsEqualTo( SteamNetworkingIPAddr* self, const SteamNetworkingIPAddr & x ); +S_API ESteamNetworkingFakeIPType SteamAPI_SteamNetworkingIPAddr_GetFakeIPType( SteamNetworkingIPAddr* self ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsFakeIP( SteamNetworkingIPAddr* self ); + +// SteamNetworkingIdentity +S_API void SteamAPI_SteamNetworkingIdentity_Clear( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsInvalid( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetSteamID( SteamNetworkingIdentity* self, uint64_steamid steamID ); +S_API uint64_steamid SteamAPI_SteamNetworkingIdentity_GetSteamID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetSteamID64( SteamNetworkingIdentity* self, uint64 steamID ); +S_API uint64 SteamAPI_SteamNetworkingIdentity_GetSteamID64( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetXboxPairwiseID( SteamNetworkingIdentity* self, const char * pszString ); +S_API const char * SteamAPI_SteamNetworkingIdentity_GetXboxPairwiseID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetPSNID( SteamNetworkingIdentity* self, uint64 id ); +S_API uint64 SteamAPI_SteamNetworkingIdentity_GetPSNID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetIPAddr( SteamNetworkingIdentity* self, const SteamNetworkingIPAddr & addr ); +S_API const SteamNetworkingIPAddr * SteamAPI_SteamNetworkingIdentity_GetIPAddr( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetIPv4Addr( SteamNetworkingIdentity* self, uint32 nIPv4, uint16 nPort ); +S_API uint32 SteamAPI_SteamNetworkingIdentity_GetIPv4( SteamNetworkingIdentity* self ); +S_API ESteamNetworkingFakeIPType SteamAPI_SteamNetworkingIdentity_GetFakeIPType( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsFakeIP( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetLocalHost( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsLocalHost( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetGenericString( SteamNetworkingIdentity* self, const char * pszString ); +S_API const char * SteamAPI_SteamNetworkingIdentity_GetGenericString( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetGenericBytes( SteamNetworkingIdentity* self, const void * data, uint32 cbLen ); +S_API const uint8 * SteamAPI_SteamNetworkingIdentity_GetGenericBytes( SteamNetworkingIdentity* self, int & cbLen ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsEqualTo( SteamNetworkingIdentity* self, const SteamNetworkingIdentity & x ); +S_API void SteamAPI_SteamNetworkingIdentity_ToString( SteamNetworkingIdentity* self, char * buf, uint32 cbBuf ); +S_API bool SteamAPI_SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity* self, const char * pszStr ); + +// SteamNetworkingMessage_t +S_API void SteamAPI_SteamNetworkingMessage_t_Release( SteamNetworkingMessage_t* self ); + +// SteamNetworkingConfigValue_t +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetInt32( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, int32_t data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetInt64( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, int64_t data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetFloat( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, float data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetPtr( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, void * data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetString( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, const char * data ); + +// SteamDatagramHostedAddress +S_API void SteamAPI_SteamDatagramHostedAddress_Clear( SteamDatagramHostedAddress* self ); +S_API SteamNetworkingPOPID SteamAPI_SteamDatagramHostedAddress_GetPopID( SteamDatagramHostedAddress* self ); +S_API void SteamAPI_SteamDatagramHostedAddress_SetDevAddress( SteamDatagramHostedAddress* self, uint32 nIP, uint16 nPort, SteamNetworkingPOPID popid ); +#endif // STEAMAPIFLAT_H diff --git a/Steam/steam_api_internal.h b/Steam/steam_api_internal.h new file mode 100644 index 0000000..733ba52 --- /dev/null +++ b/Steam/steam_api_internal.h @@ -0,0 +1,309 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Internal implementation details of the steamworks SDK. +// +// You should be able to figure out how to use the SDK by reading +// steam_api_common.h, and should not need to understand anything in here. +// +//----------------------------------------------------------------------------- + +#ifdef STEAM_CALLBACK_BEGIN +#error "This file should only be included from steam_api_common.h" +#endif + +#include + +// Internal functions used to locate/create interfaces +S_API HSteamPipe S_CALLTYPE SteamAPI_GetHSteamPipe(); +S_API HSteamUser S_CALLTYPE SteamAPI_GetHSteamUser(); +S_API HSteamPipe S_CALLTYPE SteamGameServer_GetHSteamPipe(); +S_API HSteamUser S_CALLTYPE SteamGameServer_GetHSteamUser(); +S_API void *S_CALLTYPE SteamInternal_ContextInit( void *pContextInitData ); +S_API void *S_CALLTYPE SteamInternal_CreateInterface( const char *ver ); +S_API void *S_CALLTYPE SteamInternal_FindOrCreateUserInterface( HSteamUser hSteamUser, const char *pszVersion ); +S_API void *S_CALLTYPE SteamInternal_FindOrCreateGameServerInterface( HSteamUser hSteamUser, const char *pszVersion ); + +// Macro used to define a type-safe accessor that will always return the version +// of the interface of the *header file* you are compiling with! We also bounce +// through a safety function that checks for interfaces being created or destroyed. +// +// SteamInternal_ContextInit takes a base pointer for the equivalent of +// struct { void (*pFn)(void* pCtx); uintptr_t counter; void *ptr; } +// Do not change layout or add non-pointer aligned data! +#define STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, expr, kind, version ) \ + inline void S_CALLTYPE SteamInternal_Init_ ## name( type *p ) { *p = (type)( expr ); } \ + STEAM_CLANG_ATTR( "interface_accessor_kind:" kind ";interface_accessor_version:" version ";" ) \ + inline type name() { \ + static void* s_CallbackCounterAndContext[ 3 ] = { (void*)&SteamInternal_Init_ ## name, 0, 0 }; \ + return *(type*)SteamInternal_ContextInit( s_CallbackCounterAndContext ); \ + } + +#define STEAM_DEFINE_USER_INTERFACE_ACCESSOR( type, name, version ) \ + STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, SteamInternal_FindOrCreateUserInterface( SteamAPI_GetHSteamUser(), version ), "user", version ) +#define STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( type, name, version ) \ + STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, SteamInternal_FindOrCreateGameServerInterface( SteamGameServer_GetHSteamUser(), version ), "gameserver", version ) + +// +// Internal stuff used for the standard, higher-level callback mechanism +// + +// Internal functions used by the utility CCallback objects to receive callbacks +S_API void S_CALLTYPE SteamAPI_RegisterCallback( class CCallbackBase *pCallback, int iCallback ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallback( class CCallbackBase *pCallback ); +// Internal functions used by the utility CCallResult objects to receive async call results +S_API void S_CALLTYPE SteamAPI_RegisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); + +#define _STEAM_CALLBACK_OFFSETOF( type, member ) ( (size_t)( (char *)&( (type *)0 )->member ) ) +#define _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) +#define _STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... ) _STEAM_CALLBACK_##SELECTED +#define _STEAM_CALLBACK_SELECT( X, Y ) _STEAM_CALLBACK_HELPER X Y +#define _STEAM_CALLBACK_3( extra_code, thisclass, func, param ) \ + struct CCallbackInternal_ ## func : private CCallbackImpl< sizeof( param ) > { \ + CCallbackInternal_ ## func () { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func ( const CCallbackInternal_ ## func & ) { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func & operator=( const CCallbackInternal_ ## func & ) { return *this; } \ + private: virtual void Run( void *pvParam ) S_OVERRIDE { _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) \ + thisclass *pOuter = reinterpret_cast( reinterpret_cast(this) - _STEAM_CALLBACK_OFFSETOF( thisclass, m_steamcallback_ ## func ) ); \ + pOuter->func( reinterpret_cast( pvParam ) ); \ + } \ + } m_steamcallback_ ## func ; void func( param *pParam ) +#define _STEAM_CALLBACK_4( _, thisclass, func, param, var ) \ + CCallback< thisclass, param > var; void func( param *pParam ) +#define _STEAM_CALLBACK_GS( _, thisclass, func, param, var ) \ + CCallback< thisclass, param, true > var; void func( param *pParam ) + +#ifndef API_GEN + +template< class T, class P > +inline CCallResult::CCallResult() +{ + m_hAPICall = k_uAPICallInvalid; + m_pObj = nullptr; + m_Func = nullptr; + m_iCallback = P::k_iCallback; +} + +template< class T, class P > +inline void CCallResult::Set( SteamAPICall_t hAPICall, T *p, func_t func ) +{ + if ( m_hAPICall ) + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + + m_hAPICall = hAPICall; + m_pObj = p; + m_Func = func; + + if ( hAPICall ) + SteamAPI_RegisterCallResult( this, hAPICall ); +} + +template< class T, class P > +inline bool CCallResult::IsActive() const +{ + return (m_hAPICall != k_uAPICallInvalid); +} + +template< class T, class P > +inline void CCallResult::Cancel() +{ + if ( m_hAPICall != k_uAPICallInvalid ) + { + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + m_hAPICall = k_uAPICallInvalid; + } +} + +template< class T, class P > +inline CCallResult::~CCallResult() +{ + Cancel(); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam ) +{ + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, false); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) +{ + if ( hSteamAPICall == m_hAPICall ) + { + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, bIOFailure); + } +} + +template< class T, class P, bool bGameserver > +inline CCallback< T, P, bGameserver >::CCallback( T *pObj, func_t func ) + : m_pObj( nullptr ), m_Func( nullptr ) +{ + if ( bGameserver ) + { + this->SetGameserverFlag(); + } + Register( pObj, func ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Register( T *pObj, func_t func ) +{ + if ( !pObj || !func ) + return; + + if ( this->m_nCallbackFlags & CCallbackBase::k_ECallbackFlagsRegistered ) + Unregister(); + + m_pObj = pObj; + m_Func = func; + // SteamAPI_RegisterCallback sets k_ECallbackFlagsRegistered + SteamAPI_RegisterCallback( this, P::k_iCallback ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Unregister() +{ + // SteamAPI_UnregisterCallback removes k_ECallbackFlagsRegistered + SteamAPI_UnregisterCallback( this ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Run( void *pvParam ) +{ + (m_pObj->*m_Func)((P *)pvParam); +} + +#endif // #ifndef API_GEN + +// structure that contains client callback data +// see callbacks documentation for more details +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +/// Internal structure used in manual callback dispatch +struct CallbackMsg_t +{ + HSteamUser m_hSteamUser; // Specific user to whom this callback applies. + int m_iCallback; // Callback identifier. (Corresponds to the k_iCallback enum in the callback structure.) + uint8 *m_pubParam; // Points to the callback structure + int m_cubParam; // Size of the data pointed to by m_pubParam +}; +#pragma pack( pop ) + +// Macros to define steam callback structures. Used internally for debugging +#ifdef STEAM_CALLBACK_INSPECTION_ENABLED + #include "../../clientdll/steam_api_callback_inspection.h" +#else + #define STEAM_CALLBACK_BEGIN( callbackname, callbackid ) struct callbackname { enum { k_iCallback = callbackid }; + #define STEAM_CALLBACK_MEMBER( varidx, vartype, varname ) vartype varname ; + #define STEAM_CALLBACK_MEMBER_ARRAY( varidx, vartype, varname, varcount ) vartype varname [ varcount ]; + #define STEAM_CALLBACK_END(nArgs) }; +#endif + +// Forward declare all of the Steam interfaces. (Do we really need to do this?) +class ISteamClient; +class ISteamUser; +class ISteamGameServer; +class ISteamFriends; +class ISteamUtils; +class ISteamMatchmaking; +class ISteamContentServer; +class ISteamMatchmakingServers; +class ISteamUserStats; +class ISteamApps; +class ISteamNetworking; +class ISteamRemoteStorage; +class ISteamScreenshots; +class ISteamMusic; +class ISteamMusicRemote; +class ISteamGameServerStats; +class ISteamPS3OverlayRender; +class ISteamHTTP; +class ISteamController; +class ISteamUGC; +class ISteamHTMLSurface; +class ISteamInventory; +class ISteamVideo; +class ISteamParentalSettings; +class ISteamGameSearch; +class ISteamInput; +class ISteamParties; +class ISteamRemotePlay; + +// Forward declare types +struct SteamNetworkingIdentity; + +//----------------------------------------------------------------------------- +// Purpose: Base values for callback identifiers, each callback must +// have a unique ID. +//----------------------------------------------------------------------------- +enum { k_iSteamUserCallbacks = 100 }; +enum { k_iSteamGameServerCallbacks = 200 }; +enum { k_iSteamFriendsCallbacks = 300 }; +enum { k_iSteamBillingCallbacks = 400 }; +enum { k_iSteamMatchmakingCallbacks = 500 }; +enum { k_iSteamContentServerCallbacks = 600 }; +enum { k_iSteamUtilsCallbacks = 700 }; +enum { k_iSteamAppsCallbacks = 1000 }; +enum { k_iSteamUserStatsCallbacks = 1100 }; +enum { k_iSteamNetworkingCallbacks = 1200 }; +enum { k_iSteamNetworkingSocketsCallbacks = 1220 }; +enum { k_iSteamNetworkingMessagesCallbacks = 1250 }; +enum { k_iSteamNetworkingUtilsCallbacks = 1280 }; +enum { k_iSteamRemoteStorageCallbacks = 1300 }; +enum { k_iSteamGameServerItemsCallbacks = 1500 }; +enum { k_iSteamGameCoordinatorCallbacks = 1700 }; +enum { k_iSteamGameServerStatsCallbacks = 1800 }; +enum { k_iSteam2AsyncCallbacks = 1900 }; +enum { k_iSteamGameStatsCallbacks = 2000 }; +enum { k_iSteamHTTPCallbacks = 2100 }; +enum { k_iSteamScreenshotsCallbacks = 2300 }; +// NOTE: 2500-2599 are reserved +enum { k_iSteamStreamLauncherCallbacks = 2600 }; +enum { k_iSteamControllerCallbacks = 2800 }; +enum { k_iSteamUGCCallbacks = 3400 }; +enum { k_iSteamStreamClientCallbacks = 3500 }; +enum { k_iSteamMusicCallbacks = 4000 }; +enum { k_iSteamMusicRemoteCallbacks = 4100 }; +enum { k_iSteamGameNotificationCallbacks = 4400 }; +enum { k_iSteamHTMLSurfaceCallbacks = 4500 }; +enum { k_iSteamVideoCallbacks = 4600 }; +enum { k_iSteamInventoryCallbacks = 4700 }; +enum { k_ISteamParentalSettingsCallbacks = 5000 }; +enum { k_iSteamGameSearchCallbacks = 5200 }; +enum { k_iSteamPartiesCallbacks = 5300 }; +enum { k_iSteamSTARCallbacks = 5500 }; +enum { k_iSteamRemotePlayCallbacks = 5700 }; +enum { k_iSteamChatCallbacks = 5900 }; +enum { k_iSteamTimelineCallbacks = 6000 }; +// NOTE: Internal "IClientXxx" callback IDs go in clientenums.h + +// Macros used to annotate various Steamworks interfaces to generate the +// flat API +#ifdef API_GEN +# define STEAM_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define STEAM_CLANG_ATTR(ATTR) +#endif + +#define STEAM_OUT_STRUCT() STEAM_CLANG_ATTR( "out_struct: ;" ) +#define STEAM_OUT_STRING() STEAM_CLANG_ATTR( "out_string: ;" ) +#define STEAM_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) STEAM_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define STEAM_OUT_ARRAY_COUNT(COUNTER, DESC) STEAM_CLANG_ATTR( "out_array_count:" #COUNTER ";desc:" #DESC ) +#define STEAM_ARRAY_COUNT(COUNTER) STEAM_CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define STEAM_ARRAY_COUNT_D(COUNTER, DESC) STEAM_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define STEAM_BUFFER_COUNT(COUNTER) STEAM_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define STEAM_OUT_BUFFER_COUNT(COUNTER) STEAM_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define STEAM_OUT_STRING_COUNT(COUNTER) STEAM_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) +#define STEAM_DESC(DESC) STEAM_CLANG_ATTR("desc:" #DESC ";") +#define STEAM_CALL_RESULT(RESULT_TYPE) STEAM_CLANG_ATTR("callresult:" #RESULT_TYPE ";") +#define STEAM_CALL_BACK(RESULT_TYPE) STEAM_CLANG_ATTR("callback:" #RESULT_TYPE ";") +#define STEAM_FLAT_NAME(NAME) STEAM_CLANG_ATTR("flat_name:" #NAME ";") diff --git a/Steam/steam_gameserver.h b/Steam/steam_gameserver.h new file mode 100644 index 0000000..f196c31 --- /dev/null +++ b/Steam/steam_gameserver.h @@ -0,0 +1,114 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAM_GAMESERVER_H +#define STEAM_GAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api.h" +#include "isteamgameserver.h" +#include "isteamgameserverstats.h" + +enum EServerMode +{ + eServerModeInvalid = 0, // DO NOT USE + eServerModeNoAuthentication = 1, // Don't authenticate user logins and don't list on the server list + eServerModeAuthentication = 2, // Authenticate users, list on the server list, don't run VAC on clients that connect + eServerModeAuthenticationAndSecure = 3, // Authenticate users, list on the server list and VAC protect clients +}; + +/// Pass to SteamGameServer_Init to indicate that the same UDP port will be used for game traffic +/// UDP queries for server browser pings and LAN discovery. In this case, Steam will not open up a +/// socket to handle server browser queries, and you must use ISteamGameServer::HandleIncomingPacket +/// and ISteamGameServer::GetNextOutgoingPacket to handle packets related to server discovery on your socket. +const uint16 STEAMGAMESERVER_QUERY_PORT_SHARED = 0xffff; + +// DEPRECATED: This old name was really confusing. +const uint16 MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE = STEAMGAMESERVER_QUERY_PORT_SHARED; + +// Initialize SteamGameServer client and interface objects, and set server properties which may not be changed. +// +// After calling this function, you should set any additional server parameters, and then +// call ISteamGameServer::LogOnAnonymous() or ISteamGameServer::LogOn() +// +// - unIP will usually be zero. If you are on a machine with multiple IP addresses, you can pass a non-zero +// value here and the relevant sockets will be bound to that IP. This can be used to ensure that +// the IP you desire is the one used in the server browser. +// - usGamePort is the port that clients will connect to for gameplay. You will usually open up your +// own socket bound to this port. +// - usQueryPort is the port that will manage server browser related duties and info +// pings from clients. If you pass STEAMGAMESERVER_QUERY_PORT_SHARED for usQueryPort, then it +// will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving +// UDP packets for the master server updater. (See ISteamGameServer::HandleIncomingPacket and +// ISteamGameServer::GetNextOutgoingPacket.) +// - The version string should be in the form x.x.x.x, and is used by the master server to detect when the +// server is out of date. (Only servers with the latest version will be listed.) +// +// On success k_ESteamAPIInitResult_OK is returned. Otherwise, if pOutErrMsg is non-NULL, +// it will receive a non-localized message that explains the reason for the failure +inline ESteamAPIInitResult SteamGameServer_InitEx( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, SteamErrMsg *pOutErrMsg ); + +// This function is included for compatibility with older SDK. +// You can use it if you don't care about decent error handling +inline bool SteamGameServer_Init( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString ) +{ + return SteamGameServer_InitEx( unIP, usGamePort, usQueryPort, eServerMode, pchVersionString, NULL ) == k_ESteamAPIInitResult_OK; +} + +// Shutdown SteamGameSeverXxx interfaces, log out, and free resources. +S_API void SteamGameServer_Shutdown(); + +// Most Steam API functions allocate some amount of thread-local memory for +// parameter storage. Calling SteamGameServer_ReleaseCurrentThreadMemory() +// will free all API-related memory associated with the calling thread. +// This memory is released automatically by SteamGameServer_RunCallbacks(), +// so single-threaded servers do not need to explicitly call this function. +inline void SteamGameServer_ReleaseCurrentThreadMemory(); + +S_API bool SteamGameServer_BSecure(); +S_API uint64 SteamGameServer_GetSteamID(); + +// Older SDKs exported this global pointer, but it is no longer supported. +// You should use SteamGameServerClient() to safely access the ISteamClient +// APIs from your game server application. +//S_API ISteamClient *g_pSteamClientGameServer; + +// SteamGameServer_InitSafe has been replaced with SteamGameServer_Init and +// is no longer supported. Use SteamGameServer_Init instead. +//S_API void S_CALLTYPE SteamGameServer_InitSafe(); + +//============================================================================= +// +// Internal implementation details below +// +//============================================================================= + +S_API ESteamAPIInitResult S_CALLTYPE SteamInternal_GameServer_Init_V2( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, const char *pszInternalCheckInterfaceVersions, SteamErrMsg *pOutErrMsg ); +inline ESteamAPIInitResult SteamGameServer_InitEx( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, SteamErrMsg *pOutErrMsg ) +{ + const char *pszInternalCheckInterfaceVersions = + STEAMUTILS_INTERFACE_VERSION "\0" + STEAMNETWORKINGUTILS_INTERFACE_VERSION "\0" + + STEAMGAMESERVER_INTERFACE_VERSION "\0" + STEAMGAMESERVERSTATS_INTERFACE_VERSION "\0" + STEAMHTTP_INTERFACE_VERSION "\0" + STEAMINVENTORY_INTERFACE_VERSION "\0" + STEAMNETWORKING_INTERFACE_VERSION "\0" + STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "\0" + STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "\0" + STEAMUGC_INTERFACE_VERSION "\0" + "\0"; + return SteamInternal_GameServer_Init_V2( unIP, usGamePort, usQueryPort, eServerMode, pchVersionString, pszInternalCheckInterfaceVersions, pOutErrMsg ); +} +inline void SteamGameServer_ReleaseCurrentThreadMemory() +{ + SteamAPI_ReleaseCurrentThreadMemory(); +} + +#endif // STEAM_GAMESERVER_H diff --git a/Steam/steamclientpublic.h b/Steam/steamclientpublic.h new file mode 100644 index 0000000..835ec34 --- /dev/null +++ b/Steam/steamclientpublic.h @@ -0,0 +1,1199 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Declare common types used by the Steamworks SDK. +// +//============================================================================= + +#ifndef STEAMCLIENTPUBLIC_H +#define STEAMCLIENTPUBLIC_H + +#include "steamtypes.h" +#include "steamuniverse.h" + +// General result codes +enum EResult +{ + k_EResultNone = 0, // no result + k_EResultOK = 1, // success + k_EResultFail = 2, // generic failure + k_EResultNoConnection = 3, // no/failed network connection +// k_EResultNoConnectionRetry = 4, // OBSOLETE - removed + k_EResultInvalidPassword = 5, // password/ticket is invalid + k_EResultLoggedInElsewhere = 6, // same user logged in elsewhere + k_EResultInvalidProtocolVer = 7, // protocol version is incorrect + k_EResultInvalidParam = 8, // a parameter is incorrect + k_EResultFileNotFound = 9, // file was not found + k_EResultBusy = 10, // called method busy - action not taken + k_EResultInvalidState = 11, // called object was in an invalid state + k_EResultInvalidName = 12, // name is invalid + k_EResultInvalidEmail = 13, // email is invalid + k_EResultDuplicateName = 14, // name is not unique + k_EResultAccessDenied = 15, // access is denied + k_EResultTimeout = 16, // operation timed out + k_EResultBanned = 17, // VAC2 banned + k_EResultAccountNotFound = 18, // account not found + k_EResultInvalidSteamID = 19, // steamID is invalid + k_EResultServiceUnavailable = 20, // The requested service is currently unavailable + k_EResultNotLoggedOn = 21, // The user is not logged on + k_EResultPending = 22, // Request is pending (may be in process, or waiting on third party) + k_EResultEncryptionFailure = 23, // Encryption or Decryption failed + k_EResultInsufficientPrivilege = 24, // Insufficient privilege + k_EResultLimitExceeded = 25, // Too much of a good thing + k_EResultRevoked = 26, // Access has been revoked (used for revoked guest passes) + k_EResultExpired = 27, // License/Guest pass the user is trying to access is expired + k_EResultAlreadyRedeemed = 28, // Guest pass has already been redeemed by account, cannot be acked again + k_EResultDuplicateRequest = 29, // The request is a duplicate and the action has already occurred in the past, ignored this time + k_EResultAlreadyOwned = 30, // All the games in this guest pass redemption request are already owned by the user + k_EResultIPNotFound = 31, // IP address not found + k_EResultPersistFailed = 32, // failed to write change to the data store + k_EResultLockingFailed = 33, // failed to acquire access lock for this operation + k_EResultLogonSessionReplaced = 34, + k_EResultConnectFailed = 35, + k_EResultHandshakeFailed = 36, + k_EResultIOFailure = 37, + k_EResultRemoteDisconnect = 38, + k_EResultShoppingCartNotFound = 39, // failed to find the shopping cart requested + k_EResultBlocked = 40, // a user didn't allow it + k_EResultIgnored = 41, // target is ignoring sender + k_EResultNoMatch = 42, // nothing matching the request found + k_EResultAccountDisabled = 43, + k_EResultServiceReadOnly = 44, // this service is not accepting content changes right now + k_EResultAccountNotFeatured = 45, // account doesn't have value, so this feature isn't available + k_EResultAdministratorOK = 46, // allowed to take this action, but only because requester is admin + k_EResultContentVersion = 47, // A Version mismatch in content transmitted within the Steam protocol. + k_EResultTryAnotherCM = 48, // The current CM can't service the user making a request, user should try another. + k_EResultPasswordRequiredToKickSession = 49,// You are already logged in elsewhere, this cached credential login has failed. + k_EResultAlreadyLoggedInElsewhere = 50, // You are already logged in elsewhere, you must wait + k_EResultSuspended = 51, // Long running operation (content download) suspended/paused + k_EResultCancelled = 52, // Operation canceled (typically by user: content download) + k_EResultDataCorruption = 53, // Operation canceled because data is ill formed or unrecoverable + k_EResultDiskFull = 54, // Operation canceled - not enough disk space. + k_EResultRemoteCallFailed = 55, // an remote call or IPC call failed + k_EResultPasswordUnset = 56, // Password could not be verified as it's unset server side + k_EResultExternalAccountUnlinked = 57, // External account (PSN, Facebook...) is not linked to a Steam account + k_EResultPSNTicketInvalid = 58, // PSN ticket was invalid + k_EResultExternalAccountAlreadyLinked = 59, // External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first + k_EResultRemoteFileConflict = 60, // The sync cannot resume due to a conflict between the local and remote files + k_EResultIllegalPassword = 61, // The requested new password is not legal + k_EResultSameAsPreviousValue = 62, // new value is the same as the old one ( secret question and answer ) + k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure + k_EResultCannotUseOldPassword = 64, // The requested new password is not legal + k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid + k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent - partner site specific + k_EResultHardwareNotCapableOfIPT = 67, // + k_EResultIPTInitError = 68, // + k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user + k_EResultFacebookQueryError = 70, // Facebook query returned an error + k_EResultExpiredLoginAuthCode = 71, // account login denied due to auth code expired + k_EResultIPLoginRestrictionFailed = 72, + k_EResultAccountLockedDown = 73, + k_EResultAccountLogonDeniedVerifiedEmailRequired = 74, + k_EResultNoMatchingURL = 75, + k_EResultBadResponse = 76, // parse failure, missing field, etc. + k_EResultRequirePasswordReEntry = 77, // The user cannot complete the action until they re-enter their password + k_EResultValueOutOfRange = 78, // the value entered is outside the acceptable range + k_EResultUnexpectedError = 79, // something happened that we didn't expect to ever happen + k_EResultDisabled = 80, // The requested service has been configured to be unavailable + k_EResultInvalidCEGSubmission = 81, // The set of files submitted to the CEG server are not valid ! + k_EResultRestrictedDevice = 82, // The device being used is not allowed to perform this action + k_EResultRegionLocked = 83, // The action could not be complete because it is region restricted + k_EResultRateLimitExceeded = 84, // Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent + k_EResultAccountLoginDeniedNeedTwoFactor = 85, // Need two-factor code to login + k_EResultItemDeleted = 86, // The thing we're trying to access has been deleted + k_EResultAccountLoginDeniedThrottle = 87, // login attempt failed, try to throttle response to possible attacker + k_EResultTwoFactorCodeMismatch = 88, // two factor code mismatch + k_EResultTwoFactorActivationCodeMismatch = 89, // activation code for two-factor didn't match + k_EResultAccountAssociatedToMultiplePartners = 90, // account has been associated with multiple partners + k_EResultNotModified = 91, // data not modified + k_EResultNoMobileDevice = 92, // the account does not have a mobile device associated with it + k_EResultTimeNotSynced = 93, // the time presented is out of range or tolerance + k_EResultSmsCodeFailed = 94, // SMS code failure (no match, none pending, etc.) + k_EResultAccountLimitExceeded = 95, // Too many accounts access this resource + k_EResultAccountActivityLimitExceeded = 96, // Too many changes to this account + k_EResultPhoneActivityLimitExceeded = 97, // Too many changes to this phone + k_EResultRefundToWallet = 98, // Cannot refund to payment method, must use wallet + k_EResultEmailSendFailure = 99, // Cannot send an email + k_EResultNotSettled = 100, // Can't perform operation till payment has settled + k_EResultNeedCaptcha = 101, // Needs to provide a valid captcha + k_EResultGSLTDenied = 102, // a game server login token owned by this token's owner has been banned + k_EResultGSOwnerDenied = 103, // game server owner is denied for other reason (account lock, community ban, vac ban, missing phone) + k_EResultInvalidItemType = 104, // the type of thing we were requested to act on is invalid + k_EResultIPBanned = 105, // the ip address has been banned from taking this action + k_EResultGSLTExpired = 106, // this token has expired from disuse; can be reset for use + k_EResultInsufficientFunds = 107, // user doesn't have enough wallet funds to complete the action + k_EResultTooManyPending = 108, // There are too many of this thing pending already + k_EResultNoSiteLicensesFound = 109, // No site licenses found + k_EResultWGNetworkSendExceeded = 110, // the WG couldn't send a response because we exceeded max network send size + k_EResultAccountNotFriends = 111, // the user is not mutually friends + k_EResultLimitedUserAccount = 112, // the user is limited + k_EResultCantRemoveItem = 113, // item can't be removed + k_EResultAccountDeleted = 114, // account has been deleted + k_EResultExistingUserCancelledLicense = 115, // A license for this already exists, but cancelled + k_EResultCommunityCooldown = 116, // access is denied because of a community cooldown (probably from support profile data resets) + k_EResultNoLauncherSpecified = 117, // No launcher was specified, but a launcher was needed to choose correct realm for operation. + k_EResultMustAgreeToSSA = 118, // User must agree to china SSA or global SSA before login + k_EResultLauncherMigrated = 119, // The specified launcher type is no longer supported; the user should be directed elsewhere + k_EResultSteamRealmMismatch = 120, // The user's realm does not match the realm of the requested resource + k_EResultInvalidSignature = 121, // signature check did not match + k_EResultParseFailure = 122, // Failed to parse input + k_EResultNoVerifiedPhone = 123, // account does not have a verified phone number + k_EResultInsufficientBattery = 124, // user device doesn't have enough battery charge currently to complete the action + k_EResultChargerRequired = 125, // The operation requires a charger to be plugged in, which wasn't present + k_EResultCachedCredentialInvalid = 126, // Cached credential was invalid - user must reauthenticate + K_EResultPhoneNumberIsVOIP = 127, // The phone number provided is a Voice Over IP number + k_EResultNotSupported = 128, // The data being accessed is not supported by this API + k_EResultFamilySizeLimitExceeded = 129, // Reached the maximum size of the family + k_EResultOfflineAppCacheInvalid = 130, // The local data for the offline mode cache is insufficient to login +}; + +// Error codes for use with the voice functions +enum EVoiceResult +{ + k_EVoiceResultOK = 0, + k_EVoiceResultNotInitialized = 1, + k_EVoiceResultNotRecording = 2, + k_EVoiceResultNoData = 3, + k_EVoiceResultBufferTooSmall = 4, + k_EVoiceResultDataCorrupted = 5, + k_EVoiceResultRestricted = 6, + k_EVoiceResultUnsupportedCodec = 7, + k_EVoiceResultReceiverOutOfDate = 8, + k_EVoiceResultReceiverDidNotAnswer = 9, + +}; + +// Result codes to GSHandleClientDeny/Kick +enum EDenyReason +{ + k_EDenyInvalid = 0, + k_EDenyInvalidVersion = 1, + k_EDenyGeneric = 2, + k_EDenyNotLoggedOn = 3, + k_EDenyNoLicense = 4, + k_EDenyCheater = 5, + k_EDenyLoggedInElseWhere = 6, + k_EDenyUnknownText = 7, + k_EDenyIncompatibleAnticheat = 8, + k_EDenyMemoryCorruption = 9, + k_EDenyIncompatibleSoftware = 10, + k_EDenySteamConnectionLost = 11, + k_EDenySteamConnectionError = 12, + k_EDenySteamResponseTimedOut = 13, + k_EDenySteamValidationStalled = 14, + k_EDenySteamOwnerLeftGuestUser = 15, +}; + +// return type of GetAuthSessionTicket +typedef uint32 HAuthTicket; +const HAuthTicket k_HAuthTicketInvalid = 0; + +// results from BeginAuthSession +enum EBeginAuthSessionResult +{ + k_EBeginAuthSessionResultOK = 0, // Ticket is valid for this game and this steamID. + k_EBeginAuthSessionResultInvalidTicket = 1, // Ticket is not valid. + k_EBeginAuthSessionResultDuplicateRequest = 2, // A ticket has already been submitted for this steamID + k_EBeginAuthSessionResultInvalidVersion = 3, // Ticket is from an incompatible interface version + k_EBeginAuthSessionResultGameMismatch = 4, // Ticket is not for this game + k_EBeginAuthSessionResultExpiredTicket = 5, // Ticket has expired +}; + +// Callback values for callback ValidateAuthTicketResponse_t which is a response to BeginAuthSession +enum EAuthSessionResponse +{ + k_EAuthSessionResponseOK = 0, // Steam has verified the user is online, the ticket is valid and ticket has not been reused. + k_EAuthSessionResponseUserNotConnectedToSteam = 1, // The user in question is not connected to steam + k_EAuthSessionResponseNoLicenseOrExpired = 2, // The license has expired. + k_EAuthSessionResponseVACBanned = 3, // The user is VAC banned for this game. + k_EAuthSessionResponseLoggedInElseWhere = 4, // The user account has logged in elsewhere and the session containing the game instance has been disconnected. + k_EAuthSessionResponseVACCheckTimedOut = 5, // VAC has been unable to perform anti-cheat checks on this user + k_EAuthSessionResponseAuthTicketCanceled = 6, // The ticket has been canceled by the issuer + k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid. + k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam. + k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC + k_EAuthSessionResponseAuthTicketNetworkIdentityFailure = 10, // The network identity in the ticket does not match the server authenticating the ticket +}; + +// results from UserHasLicenseForApp +enum EUserHasLicenseForAppResult +{ + k_EUserHasLicenseResultHasLicense = 0, // User has a license for specified app + k_EUserHasLicenseResultDoesNotHaveLicense = 1, // User does not have a license for the specified app + k_EUserHasLicenseResultNoAuth = 2, // User has not been authenticated +}; + + +// Steam account types +enum EAccountType +{ + k_EAccountTypeInvalid = 0, + k_EAccountTypeIndividual = 1, // single user account + k_EAccountTypeMultiseat = 2, // multiseat (e.g. cybercafe) account + k_EAccountTypeGameServer = 3, // game server account + k_EAccountTypeAnonGameServer = 4, // anonymous game server account + k_EAccountTypePending = 5, // pending + k_EAccountTypeContentServer = 6, // content server + k_EAccountTypeClan = 7, + k_EAccountTypeChat = 8, + k_EAccountTypeConsoleUser = 9, // Fake SteamID for local PSN account on PS3 or Live account on 360, etc. + k_EAccountTypeAnonUser = 10, + + // Max of 16 items in this field + k_EAccountTypeMax +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Chat Entry Types (previously was only friend-to-friend message types) +//----------------------------------------------------------------------------- +enum EChatEntryType +{ + k_EChatEntryTypeInvalid = 0, + k_EChatEntryTypeChatMsg = 1, // Normal text message from another user + k_EChatEntryTypeTyping = 2, // Another user is typing (not used in multi-user chat) + k_EChatEntryTypeInviteGame = 3, // Invite from other user into that users current game + k_EChatEntryTypeEmote = 4, // text emote message (deprecated, should be treated as ChatMsg) + //k_EChatEntryTypeLobbyGameStart = 5, // lobby game is starting (dead - listen for LobbyGameCreated_t callback instead) + k_EChatEntryTypeLeftConversation = 6, // user has left the conversation ( closed chat window ) + // Above are previous FriendMsgType entries, now merged into more generic chat entry types + k_EChatEntryTypeEntered = 7, // user has entered the conversation (used in multi-user chat and group chat) + k_EChatEntryTypeWasKicked = 8, // user was kicked (data: 64-bit steamid of actor performing the kick) + k_EChatEntryTypeWasBanned = 9, // user was banned (data: 64-bit steamid of actor performing the ban) + k_EChatEntryTypeDisconnected = 10, // user disconnected + k_EChatEntryTypeHistoricalChat = 11, // a chat message from user's chat history or offilne message + //k_EChatEntryTypeReserved1 = 12, // No longer used + //k_EChatEntryTypeReserved2 = 13, // No longer used + k_EChatEntryTypeLinkBlocked = 14, // a link was removed by the chat filter. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Chat Room Enter Responses +//----------------------------------------------------------------------------- +enum EChatRoomEnterResponse +{ + k_EChatRoomEnterResponseSuccess = 1, // Success + k_EChatRoomEnterResponseDoesntExist = 2, // Chat doesn't exist (probably closed) + k_EChatRoomEnterResponseNotAllowed = 3, // General Denied - You don't have the permissions needed to join the chat + k_EChatRoomEnterResponseFull = 4, // Chat room has reached its maximum size + k_EChatRoomEnterResponseError = 5, // Unexpected Error + k_EChatRoomEnterResponseBanned = 6, // You are banned from this chat room and may not join + k_EChatRoomEnterResponseLimited = 7, // Joining this chat is not allowed because you are a limited user (no value on account) + k_EChatRoomEnterResponseClanDisabled = 8, // Attempt to join a clan chat when the clan is locked or disabled + k_EChatRoomEnterResponseCommunityBan = 9, // Attempt to join a chat when the user has a community lock on their account + k_EChatRoomEnterResponseMemberBlockedYou = 10, // Join failed - some member in the chat has blocked you from joining + k_EChatRoomEnterResponseYouBlockedMember = 11, // Join failed - you have blocked some member already in the chat + // k_EChatRoomEnterResponseNoRankingDataLobby = 12, // No longer used + // k_EChatRoomEnterResponseNoRankingDataUser = 13, // No longer used + // k_EChatRoomEnterResponseRankOutOfRange = 14, // No longer used + k_EChatRoomEnterResponseRatelimitExceeded = 15, // Join failed - to many join attempts in a very short period of time +}; + + +const unsigned int k_unSteamAccountIDMask = 0xFFFFFFFF; +const unsigned int k_unSteamAccountInstanceMask = 0x000FFFFF; +const unsigned int k_unSteamUserDefaultInstance = 1; // fixed instance for all individual users + +// Special flags for Chat accounts - they go in the top 8 bits +// of the steam ID's "instance", leaving 12 for the actual instances +enum EChatSteamIDInstanceFlags +{ + k_EChatAccountInstanceMask = 0x00000FFF, // top 8 bits are flags + + k_EChatInstanceFlagClan = ( k_unSteamAccountInstanceMask + 1 ) >> 1, // top bit + k_EChatInstanceFlagLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 2, // next one down, etc + k_EChatInstanceFlagMMSLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 3, // next one down, etc + + // Max of 8 flags +}; + + +//----------------------------------------------------------------------------- +// Purpose: Possible positions to tell the overlay to show notifications in +//----------------------------------------------------------------------------- +enum ENotificationPosition +{ + k_EPositionInvalid = -1, + k_EPositionTopLeft = 0, + k_EPositionTopRight = 1, + k_EPositionBottomLeft = 2, + k_EPositionBottomRight = 3, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Broadcast upload result details +//----------------------------------------------------------------------------- +enum EBroadcastUploadResult +{ + k_EBroadcastUploadResultNone = 0, // broadcast state unknown + k_EBroadcastUploadResultOK = 1, // broadcast was good, no problems + k_EBroadcastUploadResultInitFailed = 2, // broadcast init failed + k_EBroadcastUploadResultFrameFailed = 3, // broadcast frame upload failed + k_EBroadcastUploadResultTimeout = 4, // broadcast upload timed out + k_EBroadcastUploadResultBandwidthExceeded = 5, // broadcast send too much data + k_EBroadcastUploadResultLowFPS = 6, // broadcast FPS too low + k_EBroadcastUploadResultMissingKeyFrames = 7, // broadcast sending not enough key frames + k_EBroadcastUploadResultNoConnection = 8, // broadcast client failed to connect to relay + k_EBroadcastUploadResultRelayFailed = 9, // relay dropped the upload + k_EBroadcastUploadResultSettingsChanged = 10, // the client changed broadcast settings + k_EBroadcastUploadResultMissingAudio = 11, // client failed to send audio data + k_EBroadcastUploadResultTooFarBehind = 12, // clients was too slow uploading + k_EBroadcastUploadResultTranscodeBehind = 13, // server failed to keep up with transcode + k_EBroadcastUploadResultNotAllowedToPlay = 14, // Broadcast does not have permissions to play game + k_EBroadcastUploadResultBusy = 15, // RTMP host to busy to take new broadcast stream, choose another + k_EBroadcastUploadResultBanned = 16, // Account banned from community broadcast + k_EBroadcastUploadResultAlreadyActive = 17, // We already already have an stream running. + k_EBroadcastUploadResultForcedOff = 18, // We explicitly shutting down a broadcast + k_EBroadcastUploadResultAudioBehind = 19, // Audio stream was too far behind video + k_EBroadcastUploadResultShutdown = 20, // Broadcast Server was shut down + k_EBroadcastUploadResultDisconnect = 21, // broadcast uploader TCP disconnected + k_EBroadcastUploadResultVideoInitFailed = 22, // invalid video settings + k_EBroadcastUploadResultAudioInitFailed = 23, // invalid audio settings +}; + + +//----------------------------------------------------------------------------- +// Purpose: Reasons a user may not use the Community Market. +// Used in MarketEligibilityResponse_t. +//----------------------------------------------------------------------------- +enum EMarketNotAllowedReasonFlags +{ + k_EMarketNotAllowedReason_None = 0, + + // A back-end call failed or something that might work again on retry + k_EMarketNotAllowedReason_TemporaryFailure = (1 << 0), + + // Disabled account + k_EMarketNotAllowedReason_AccountDisabled = (1 << 1), + + // Locked account + k_EMarketNotAllowedReason_AccountLockedDown = (1 << 2), + + // Limited account (no purchases) + k_EMarketNotAllowedReason_AccountLimited = (1 << 3), + + // The account is banned from trading items + k_EMarketNotAllowedReason_TradeBanned = (1 << 4), + + // Wallet funds aren't tradable because the user has had no purchase + // activity in the last year or has had no purchases prior to last month + k_EMarketNotAllowedReason_AccountNotTrusted = (1 << 5), + + // The user doesn't have Steam Guard enabled + k_EMarketNotAllowedReason_SteamGuardNotEnabled = (1 << 6), + + // The user has Steam Guard, but it hasn't been enabled for the required + // number of days + k_EMarketNotAllowedReason_SteamGuardOnlyRecentlyEnabled = (1 << 7), + + // The user has recently forgotten their password and reset it + k_EMarketNotAllowedReason_RecentPasswordReset = (1 << 8), + + // The user has recently funded his or her wallet with a new payment method + k_EMarketNotAllowedReason_NewPaymentMethod = (1 << 9), + + // An invalid cookie was sent by the user + k_EMarketNotAllowedReason_InvalidCookie = (1 << 10), + + // The user has Steam Guard, but is using a new computer or web browser + k_EMarketNotAllowedReason_UsingNewDevice = (1 << 11), + + // The user has recently refunded a store purchase by his or herself + k_EMarketNotAllowedReason_RecentSelfRefund = (1 << 12), + + // The user has recently funded his or her wallet with a new payment method that cannot be verified + k_EMarketNotAllowedReason_NewPaymentMethodCannotBeVerified = (1 << 13), + + // Not only is the account not trusted, but they have no recent purchases at all + k_EMarketNotAllowedReason_NoRecentPurchases = (1 << 14), + + // User accepted a wallet gift that was recently purchased + k_EMarketNotAllowedReason_AcceptedWalletGift = (1 << 15), +}; + + +// +// describes XP / progress restrictions to apply for games with duration control / +// anti-indulgence enabled for minor Steam China users. +// +// WARNING: DO NOT RENUMBER +enum EDurationControlProgress +{ + k_EDurationControlProgress_Full = 0, // Full progress + k_EDurationControlProgress_Half = 1, // deprecated - XP or persistent rewards should be halved + k_EDurationControlProgress_None = 2, // deprecated - XP or persistent rewards should be stopped + + k_EDurationControl_ExitSoon_3h = 3, // allowed 3h time since 5h gap/break has elapsed, game should exit - steam will terminate the game soon + k_EDurationControl_ExitSoon_5h = 4, // allowed 5h time in calendar day has elapsed, game should exit - steam will terminate the game soon + k_EDurationControl_ExitSoon_Night = 5, // game running after day period, game should exit - steam will terminate the game soon +}; + + +// +// describes which notification timer has expired, for steam china duration control feature +// +// WARNING: DO NOT RENUMBER +enum EDurationControlNotification +{ + k_EDurationControlNotification_None = 0, // just informing you about progress, no notification to show + k_EDurationControlNotification_1Hour = 1, // "you've been playing for N hours" + + k_EDurationControlNotification_3Hours = 2, // deprecated - "you've been playing for 3 hours; take a break" + k_EDurationControlNotification_HalfProgress = 3,// deprecated - "your XP / progress is half normal" + k_EDurationControlNotification_NoProgress = 4, // deprecated - "your XP / progress is zero" + + k_EDurationControlNotification_ExitSoon_3h = 5, // allowed 3h time since 5h gap/break has elapsed, game should exit - steam will terminate the game soon + k_EDurationControlNotification_ExitSoon_5h = 6, // allowed 5h time in calendar day has elapsed, game should exit - steam will terminate the game soon + k_EDurationControlNotification_ExitSoon_Night = 7,// game running after day period, game should exit - steam will terminate the game soon +}; + + +// +// Specifies a game's online state in relation to duration control +// +enum EDurationControlOnlineState +{ + k_EDurationControlOnlineState_Invalid = 0, // nil value + k_EDurationControlOnlineState_Offline = 1, // currently in offline play - single-player, offline co-op, etc. + k_EDurationControlOnlineState_Online = 2, // currently in online play + k_EDurationControlOnlineState_OnlineHighPri = 3, // currently in online play and requests not to be interrupted +}; + + +enum EBetaBranchFlags +{ + k_EBetaBranch_None = 0, + k_EBetaBranch_Default = 1, // this is the default branch ("public") + k_EBetaBranch_Available = 2, // this branch can be selected (available) + k_EBetaBranch_Private = 4, // this is a private branch (password protected) + k_EBetaBranch_Selected = 8, // this is the currently selected branch (active) + k_EBetaBranch_Installed = 16, // this is the currently installed branch (mounted) +}; + +#pragma pack( push, 1 ) + +#define CSTEAMID_DEFINED + +// Steam ID structure (64 bits total) +class CSteamID +{ +public: + + //----------------------------------------------------------------------------- + // Purpose: Constructor + //----------------------------------------------------------------------------- + CSteamID() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + Set( unAccountID, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // unAccountInstance - instance + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, unsigned int unAccountInstance, EUniverse eUniverse, EAccountType eAccountType ) + { +#if defined(_SERVER) && defined(Assert) + Assert( ( k_EAccountTypeIndividual != eAccountType ) || ( unAccountInstance == k_unSteamUserDefaultInstance ) ); // enforce that for individual accounts, instance is always 1 +#endif // _SERVER + InstancedSet( unAccountID, unAccountInstance, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : ulSteamID - 64-bit representation of a Steam ID + // Note: Will not accept a uint32 or int32 as input, as that is a probable mistake. + // See the stubbed out overloads in the private: section for more info. + //----------------------------------------------------------------------------- + CSteamID( uint64 ulSteamID ) + { + SetFromUint64( ulSteamID ); + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CSteamID( uint64_t ulSteamID ) + { + SetFromUint64( (uint64)ulSteamID ); + } +#endif + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void Set( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + + if ( eAccountType == k_EAccountTypeClan || eAccountType == k_EAccountTypeGameServer ) + { + m_steamid.m_comp.m_unAccountInstance = 0; + } + else + { + m_steamid.m_comp.m_unAccountInstance = k_unSteamUserDefaultInstance; + } + } + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void InstancedSet( uint32 unAccountID, uint32 unInstance, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + m_steamid.m_comp.m_unAccountInstance = unInstance; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 52 bit parts and universe/type + // Input : ulIdentifier - 52 bits of goodness + //----------------------------------------------------------------------------- + void FullSet( uint64 ulIdentifier, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = ( ulIdentifier & k_unSteamAccountIDMask ); // account ID is low 32 bits + m_steamid.m_comp.m_unAccountInstance = ( ( ulIdentifier >> 32 ) & k_unSteamAccountInstanceMask ); // account instance is next 20 bits + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 64-bit representation + // Input : ulSteamID - 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + void SetFromUint64( uint64 ulSteamID ) + { + m_steamid.m_unAll64Bits = ulSteamID; + } + + + //----------------------------------------------------------------------------- + // Purpose: Clear all fields, leaving an invalid ID. + //----------------------------------------------------------------------------- + void Clear() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Converts steam ID to its 64-bit representation + // Output : 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + uint64 ConvertToUint64() const + { + return m_steamid.m_unAll64Bits; + } + + + //----------------------------------------------------------------------------- + // Purpose: Converts the static parts of a steam ID to a 64-bit representation. + // For multiseat accounts, all instances of that account will have the + // same static account key, so they can be grouped together by the static + // account key. + // Output : 64-bit static account key + //----------------------------------------------------------------------------- + uint64 GetStaticAccountKey() const + { + // note we do NOT include the account instance (which is a dynamic property) in the static account key + return (uint64) ( ( ( (uint64) m_steamid.m_comp.m_EUniverse ) << 56 ) + ((uint64) m_steamid.m_comp.m_EAccountType << 52 ) + m_steamid.m_comp.m_unAccountID ); + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonGameServer; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonUserLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonUser; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server login that will be filled in? + //----------------------------------------------------------------------------- + bool BBlankAnonAccount() const + { + return m_steamid.m_comp.m_unAccountID == 0 && BAnonAccount() && m_steamid.m_comp.m_unAccountInstance == 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a game server account id? (Either persistent or anonymous) + //----------------------------------------------------------------------------- + bool BGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a persistent (not anonymous) game server account id? + //----------------------------------------------------------------------------- + bool BPersistentGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server account id? + //----------------------------------------------------------------------------- + bool BAnonGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a content server account id? + //----------------------------------------------------------------------------- + bool BContentServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeContentServer; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a clan account id? + //----------------------------------------------------------------------------- + bool BClanAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool BChatAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool IsLobby() const + { + return ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat ) + && ( m_steamid.m_comp.m_unAccountInstance & k_EChatInstanceFlagLobby ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an individual user account id? + //----------------------------------------------------------------------------- + bool BIndividualAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual || m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous account? + //----------------------------------------------------------------------------- + bool BAnonAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous user account? ( used to create an account or reset a password ) + //----------------------------------------------------------------------------- + bool BAnonUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a faked up Steam ID for a PSN friend account? + //----------------------------------------------------------------------------- + bool BConsoleUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + // simple accessors + void SetAccountID( uint32 unAccountID ) { m_steamid.m_comp.m_unAccountID = unAccountID; } + void SetAccountInstance( uint32 unInstance ){ m_steamid.m_comp.m_unAccountInstance = unInstance; } + + AccountID_t GetAccountID() const { return m_steamid.m_comp.m_unAccountID; } + uint32 GetUnAccountInstance() const { return m_steamid.m_comp.m_unAccountInstance; } + EAccountType GetEAccountType() const { return ( EAccountType ) m_steamid.m_comp.m_EAccountType; } + EUniverse GetEUniverse() const { return m_steamid.m_comp.m_EUniverse; } + void SetEUniverse( EUniverse eUniverse ) { m_steamid.m_comp.m_EUniverse = eUniverse; } + bool IsValid() const; + + // this set of functions is hidden, will be moved out of class + explicit CSteamID( const char *pchSteamID, EUniverse eDefaultUniverse = k_EUniverseInvalid ); + const char * Render() const; // renders this steam ID to string + static const char * Render( uint64 ulSteamID ); // static method to render a uint64 representation of a steam ID to a string + + void SetFromString( const char *pchSteamID, EUniverse eDefaultUniverse ); + // SetFromString allows many partially-correct strings, constraining how + // we might be able to change things in the future. + // SetFromStringStrict requires the exact string forms that we support + // and is preferred when the caller knows it's safe to be strict. + // Returns whether the string parsed correctly. + bool SetFromStringStrict( const char *pchSteamID, EUniverse eDefaultUniverse ); + + inline bool operator==( const CSteamID &val ) const { return m_steamid.m_unAll64Bits == val.m_steamid.m_unAll64Bits; } + inline bool operator!=( const CSteamID &val ) const { return !operator==( val ); } + inline bool operator<( const CSteamID &val ) const { return m_steamid.m_unAll64Bits < val.m_steamid.m_unAll64Bits; } + inline bool operator>( const CSteamID &val ) const { return m_steamid.m_unAll64Bits > val.m_steamid.m_unAll64Bits; } + + // DEBUG function + bool BValidExternalSteamID() const; + +private: + // These are defined here to prevent accidental implicit conversion of a u32AccountID to a CSteamID. + // If you get a compiler error about an ambiguous constructor/function then it may be because you're + // passing a 32-bit int to a function that takes a CSteamID. You should explicitly create the SteamID + // using the correct Universe and account Type/Instance values. + CSteamID( uint32 ); + CSteamID( int32 ); + + // 64 bits total + union SteamID_t + { + struct SteamIDComponent_t + { +#ifdef VALVE_BIG_ENDIAN + EUniverse m_EUniverse : 8; // universe this account belongs to + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + unsigned int m_unAccountInstance : 20; // dynamic instance ID + uint32 m_unAccountID : 32; // unique account identifier +#else + uint32 m_unAccountID : 32; // unique account identifier + unsigned int m_unAccountInstance : 20; // dynamic instance ID + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + EUniverse m_EUniverse : 8; // universe this account belongs to +#endif + } m_comp; + + uint64 m_unAll64Bits; + } m_steamid; +}; + +inline bool CSteamID::IsValid() const +{ + if ( m_steamid.m_comp.m_EAccountType <= k_EAccountTypeInvalid || m_steamid.m_comp.m_EAccountType >= k_EAccountTypeMax ) + return false; + + if ( m_steamid.m_comp.m_EUniverse <= k_EUniverseInvalid || m_steamid.m_comp.m_EUniverse >= k_EUniverseMax ) + return false; + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance != k_unSteamUserDefaultInstance ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance != 0 ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 ) + return false; + // Any limit on instances? We use them for local users and bots + } + return true; +} + +#if defined( INCLUDED_STEAM2_USERID_STRUCTS ) + +//----------------------------------------------------------------------------- +// Purpose: Initializes a steam ID from a Steam2 ID structure +// Input: pTSteamGlobalUserID - Steam2 ID to convert +// eUniverse - universe this ID belongs to +//----------------------------------------------------------------------------- +inline CSteamID SteamIDFromSteam2UserID( TSteamGlobalUserID *pTSteamGlobalUserID, EUniverse eUniverse ) +{ + uint32 unAccountID = pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits * 2 + + pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits; + + return CSteamID( unAccountID, k_unSteamUserDefaultInstance, eUniverse, k_EAccountTypeIndividual ); +} + +bool SteamIDFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse, CSteamID *pSteamIDOut ); + +//----------------------------------------------------------------------------- +// Purpose: Fills out a Steam2 ID structure +// Input: pTSteamGlobalUserID - Steam2 ID to write to +//----------------------------------------------------------------------------- +inline TSteamGlobalUserID SteamIDToSteam2UserID( CSteamID steamID ) +{ + TSteamGlobalUserID steamGlobalUserID; + + steamGlobalUserID.m_SteamInstanceID = 0; + steamGlobalUserID.m_SteamLocalUserID.Split.High32bits = steamID.GetAccountID() % 2; + steamGlobalUserID.m_SteamLocalUserID.Split.Low32bits = steamID.GetAccountID() / 2; + + return steamGlobalUserID; +} + + +#endif + +// generic invalid CSteamID +#define k_steamIDNil CSteamID() + +// This steamID comes from a user game connection to an out of date GS that hasnt implemented the protocol +// to provide its steamID +#define k_steamIDOutofDateGS CSteamID( 0, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID comes from a user game connection to an sv_lan GS +#define k_steamIDLanModeGS CSteamID( 0, 0, k_EUniversePublic, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that has just booted but hasnt yet even initialized +// its steam3 component and started logging on. +#define k_steamIDNotInitYetGS CSteamID( 1, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that isn't using the steam authentication system but still +// wants to support the "Join Game" option in the friends list +#define k_steamIDNonSteamGS CSteamID( 2, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) + + +#ifdef STEAM +// Returns the matching chat steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeChat it will be returned with the same instance +CSteamID ChatIDFromSteamID( const CSteamID &steamID ); +// Returns the matching clan steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeClan it will be returned with the same instance +CSteamID ClanIDFromSteamID( const CSteamID &steamID ); +// Asserts steamID type before conversion +CSteamID ChatIDFromClanID( const CSteamID &steamIDClan ); +// Asserts steamID type before conversion +CSteamID ClanIDFromChatID( const CSteamID &steamIDChat ); + +#endif // _STEAM + + +//----------------------------------------------------------------------------- +// Purpose: encapsulates an appID/modID pair +//----------------------------------------------------------------------------- +class CGameID +{ +public: + + enum EGameIDType + { + k_EGameIDTypeApp = 0, + k_EGameIDTypeGameMod = 1, + k_EGameIDTypeShortcut = 2, + k_EGameIDTypeP2P = 3, + }; + + CGameID() + { + m_gameID.m_nType = k_EGameIDTypeApp; + m_gameID.m_nAppID = k_uAppIdInvalid; + m_gameID.m_nModID = 0; + } + + explicit CGameID( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CGameID( uint64_t ulGameID ) + { + m_ulGameID = (uint64)ulGameID; + } +#endif + + explicit CGameID( int32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + explicit CGameID( uint32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + // Not validating anything .. use IsValid() + explicit CGameID( uint32 nAppID, uint32 nModID, CGameID::EGameIDType nType ) + { + m_gameID.m_nAppID = nAppID; + m_gameID.m_nModID = nModID; + m_gameID.m_nType = nType; + } + + CGameID( const CGameID &that ) + { + m_ulGameID = that.m_ulGameID; + } + + CGameID& operator=( const CGameID & that ) + { + m_ulGameID = that.m_ulGameID; + return *this; + } + + // Hidden functions used only by Steam + explicit CGameID( const char *pchGameID ); + const char *Render() const; // render this Game ID to string + static const char *Render( uint64 ulGameID ); // static method to render a uint64 representation of a Game ID to a string + + uint64 ToUint64() const + { + return m_ulGameID; + } + + uint64 *GetUint64Ptr() + { + return &m_ulGameID; + } + + void Set( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } + + bool IsMod() const + { + return ( m_gameID.m_nType == k_EGameIDTypeGameMod ); + } + + bool IsShortcut() const + { + return ( m_gameID.m_nType == k_EGameIDTypeShortcut ); + } + + bool IsP2PFile() const + { + return ( m_gameID.m_nType == k_EGameIDTypeP2P ); + } + + bool IsSteamApp() const + { + return ( m_gameID.m_nType == k_EGameIDTypeApp ); + } + + uint32 ModID() const + { + return m_gameID.m_nModID; + } + +#if !defined(VALVE_SHORTCUT_DEBUG) + uint32 AppID( bool = false ) const + { + return m_gameID.m_nAppID; + } +#else + uint32 AppID( bool bShortcutOK = false ) const; +#endif + + bool operator == ( const CGameID &rhs ) const + { + return m_ulGameID == rhs.m_ulGameID; + } + + bool operator != ( const CGameID &rhs ) const + { + return !(*this == rhs); + } + + bool operator < ( const CGameID &rhs ) const + { + return ( m_ulGameID < rhs.m_ulGameID ); + } + + bool IsValid() const + { + // each type has it's own invalid fixed point: + switch( m_gameID.m_nType ) + { + case k_EGameIDTypeApp: + return m_gameID.m_nAppID != k_uAppIdInvalid; + + case k_EGameIDTypeGameMod: + return m_gameID.m_nAppID != k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000); + + case k_EGameIDTypeShortcut: + return m_gameID.m_nAppID == k_uAppIdInvalid + && (m_gameID.m_nModID & 0x80000000) + && m_gameID.m_nModID >= (5000 | 0x80000000); // k_unMaxExpectedLocalAppId - shortcuts are pushed beyond that range + + case k_EGameIDTypeP2P: + return m_gameID.m_nAppID == k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000); + + default: + return false; + } + + } + + void Reset() + { + m_ulGameID = 0; + } + +// +// Internal stuff. Use the accessors above if possible +// + + struct GameID_t + { +#ifdef VALVE_BIG_ENDIAN + unsigned int m_nModID : 32; + unsigned int m_nType : 8; + unsigned int m_nAppID : 24; +#else + unsigned int m_nAppID : 24; + unsigned int m_nType : 8; + unsigned int m_nModID : 32; +#endif + }; + + union + { + uint64 m_ulGameID; + GameID_t m_gameID; + }; + + friend CGameID GameIDFromAppAndModPath( uint32 nAppID, const char *pchModPath ); +}; + +#pragma pack( pop ) + +const int k_cchGameExtraInfoMax = 64; + + +//----------------------------------------------------------------------------- +// Purpose: Passed as argument to SteamAPI_UseBreakpadCrashHandler to enable optional callback +// just before minidump file is captured after a crash has occurred. (Allows app to append additional comment data to the dump, etc.) +//----------------------------------------------------------------------------- +typedef void (*PFNPreMinidumpCallback)(void *context); + +enum EGameSearchErrorCode_t +{ + k_EGameSearchErrorCode_OK = 1, + k_EGameSearchErrorCode_Failed_Search_Already_In_Progress = 2, + k_EGameSearchErrorCode_Failed_No_Search_In_Progress = 3, + k_EGameSearchErrorCode_Failed_Not_Lobby_Leader = 4, // if not the lobby leader can not call SearchForGameWithLobby + k_EGameSearchErrorCode_Failed_No_Host_Available = 5, // no host is available that matches those search params + k_EGameSearchErrorCode_Failed_Search_Params_Invalid = 6, // search params are invalid + k_EGameSearchErrorCode_Failed_Offline = 7, // offline, could not communicate with server + k_EGameSearchErrorCode_Failed_NotAuthorized = 8, // either the user or the application does not have priveledges to do this + k_EGameSearchErrorCode_Failed_Unknown_Error = 9, // unknown error +}; + +enum EPlayerResult_t +{ + k_EPlayerResultFailedToConnect = 1, // failed to connect after confirming + k_EPlayerResultAbandoned = 2, // quit game without completing it + k_EPlayerResultKicked = 3, // kicked by other players/moderator/server rules + k_EPlayerResultIncomplete = 4, // player stayed to end but game did not conclude successfully ( nofault to player ) + k_EPlayerResultCompleted = 5, // player completed game +}; + + +enum ESteamIPv6ConnectivityProtocol +{ + k_ESteamIPv6ConnectivityProtocol_Invalid = 0, + k_ESteamIPv6ConnectivityProtocol_HTTP = 1, // because a proxy may make this different than other protocols + k_ESteamIPv6ConnectivityProtocol_UDP = 2, // test UDP connectivity. Uses a port that is commonly needed for other Steam stuff. If UDP works, TCP probably works. +}; + +// For the above transport protocol, what do we think the local machine's connectivity to the internet over ipv6 is like +enum ESteamIPv6ConnectivityState +{ + k_ESteamIPv6ConnectivityState_Unknown = 0, // We haven't run a test yet + k_ESteamIPv6ConnectivityState_Good = 1, // We have recently been able to make a request on ipv6 for the given protocol + k_ESteamIPv6ConnectivityState_Bad = 2, // We failed to make a request, either because this machine has no ipv6 address assigned, or it has no upstream connectivity +}; + + +// Define compile time assert macros to let us validate the structure sizes. +#define VALVE_COMPILE_TIME_ASSERT( pred ) typedef char compile_time_assert_type[(pred) ? 1 : -1]; + +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) +// The 32-bit version of gcc has the alignment requirement for uint64 and double set to +// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. +// The 64-bit version of gcc has the alignment requirement for these types set to +// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. +// The 64-bit structure packing has to match the 32-bit structure packing for each platform. +#define VALVE_CALLBACK_PACK_SMALL +#else +#define VALVE_CALLBACK_PACK_LARGE +#endif + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error ??? +#endif + +typedef struct ValvePackingSentinel_t +{ + uint32 m_u32; + uint64 m_u64; + uint16 m_u16; + double m_d; +} ValvePackingSentinel_t; + +#pragma pack( pop ) + + +#if defined(VALVE_CALLBACK_PACK_SMALL) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 24 ) +#elif defined(VALVE_CALLBACK_PACK_LARGE) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 32 ) +#else +#error ??? +#endif + +#endif // STEAMCLIENTPUBLIC_H diff --git a/Steam/steamencryptedappticket.h b/Steam/steamencryptedappticket.h new file mode 100644 index 0000000..4419a0b --- /dev/null +++ b/Steam/steamencryptedappticket.h @@ -0,0 +1,40 @@ +//========= Copyright © 1996-2010, Valve LLC, All rights reserved. ============ +// +// Purpose: utilities to decode/decrypt a ticket from the +// ISteamUser::RequestEncryptedAppTicket, ISteamUser::GetEncryptedAppTicket API +// +// To use: declare CSteamEncryptedAppTicket, then call BDecryptTicket +// if BDecryptTicket returns true, other accessors are valid +// +//============================================================================= + +#include "steam_api.h" + +static const int k_nSteamEncryptedAppTicketSymmetricKeyLen = 32; + + +S_API bool SteamEncryptedAppTicket_BDecryptTicket( const uint8 *rgubTicketEncrypted, uint32 cubTicketEncrypted, + uint8 *rgubTicketDecrypted, uint32 *pcubTicketDecrypted, + const uint8 rgubKey[k_nSteamEncryptedAppTicketSymmetricKeyLen], int cubKey ); + +S_API bool SteamEncryptedAppTicket_BIsTicketForApp( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API RTime32 SteamEncryptedAppTicket_GetTicketIssueTime( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API void SteamEncryptedAppTicket_GetTicketSteamID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, CSteamID *psteamID ); + +S_API AppId_t SteamEncryptedAppTicket_GetTicketAppID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BUserOwnsAppInTicket( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API bool SteamEncryptedAppTicket_BUserIsVacBanned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BGetAppDefinedValue( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pValue ); + +S_API const uint8 *SteamEncryptedAppTicket_GetUserVariableData( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pcubUserData ); + +S_API bool SteamEncryptedAppTicket_BIsTicketSigned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, const uint8 *pubRSAKey, uint32 cubRSAKey ); + +S_API bool SteamEncryptedAppTicket_BIsLicenseBorrowed( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BIsLicenseTemporary( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); diff --git a/Steam/steamhttpenums.h b/Steam/steamhttpenums.h new file mode 100644 index 0000000..3592116 --- /dev/null +++ b/Steam/steamhttpenums.h @@ -0,0 +1,105 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: HTTP related enums, stuff that is shared by both clients and servers, and our +// UI projects goes here. +// +//============================================================================= + +#ifndef STEAMHTTPENUMS_H +#define STEAMHTTPENUMS_H +#ifdef _WIN32 +#pragma once +#endif + +// HTTP related types + +// This enum is used in client API methods, do not re-number existing values. +enum EHTTPMethod +{ + k_EHTTPMethodInvalid = 0, + k_EHTTPMethodGET, + k_EHTTPMethodHEAD, + k_EHTTPMethodPOST, + k_EHTTPMethodPUT, + k_EHTTPMethodDELETE, + k_EHTTPMethodOPTIONS, + k_EHTTPMethodPATCH, + + // The remaining HTTP methods are not yet supported, per rfc2616 section 5.1.1 only GET and HEAD are required for + // a compliant general purpose server. We'll likely add more as we find uses for them. + + // k_EHTTPMethodTRACE, + // k_EHTTPMethodCONNECT +}; + + +// HTTP Status codes that the server can send in response to a request, see rfc2616 section 10.3 for descriptions +// of each of these. +enum EHTTPStatusCode +{ + // Invalid status code (this isn't defined in HTTP, used to indicate unset in our code) + k_EHTTPStatusCodeInvalid = 0, + + // Informational codes + k_EHTTPStatusCode100Continue = 100, + k_EHTTPStatusCode101SwitchingProtocols = 101, + + // Success codes + k_EHTTPStatusCode200OK = 200, + k_EHTTPStatusCode201Created = 201, + k_EHTTPStatusCode202Accepted = 202, + k_EHTTPStatusCode203NonAuthoritative = 203, + k_EHTTPStatusCode204NoContent = 204, + k_EHTTPStatusCode205ResetContent = 205, + k_EHTTPStatusCode206PartialContent = 206, + + // Redirection codes + k_EHTTPStatusCode300MultipleChoices = 300, + k_EHTTPStatusCode301MovedPermanently = 301, + k_EHTTPStatusCode302Found = 302, + k_EHTTPStatusCode303SeeOther = 303, + k_EHTTPStatusCode304NotModified = 304, + k_EHTTPStatusCode305UseProxy = 305, + //k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1) + k_EHTTPStatusCode307TemporaryRedirect = 307, + k_EHTTPStatusCode308PermanentRedirect = 308, + + // Error codes + k_EHTTPStatusCode400BadRequest = 400, + k_EHTTPStatusCode401Unauthorized = 401, // You probably want 403 or something else. 401 implies you're sending a WWW-Authenticate header and the client can sent an Authorization header in response. + k_EHTTPStatusCode402PaymentRequired = 402, // This is reserved for future HTTP specs, not really supported by clients + k_EHTTPStatusCode403Forbidden = 403, + k_EHTTPStatusCode404NotFound = 404, + k_EHTTPStatusCode405MethodNotAllowed = 405, + k_EHTTPStatusCode406NotAcceptable = 406, + k_EHTTPStatusCode407ProxyAuthRequired = 407, + k_EHTTPStatusCode408RequestTimeout = 408, + k_EHTTPStatusCode409Conflict = 409, + k_EHTTPStatusCode410Gone = 410, + k_EHTTPStatusCode411LengthRequired = 411, + k_EHTTPStatusCode412PreconditionFailed = 412, + k_EHTTPStatusCode413RequestEntityTooLarge = 413, + k_EHTTPStatusCode414RequestURITooLong = 414, + k_EHTTPStatusCode415UnsupportedMediaType = 415, + k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416, + k_EHTTPStatusCode417ExpectationFailed = 417, + k_EHTTPStatusCode4xxUnknown = 418, // 418 is reserved, so we'll use it to mean unknown + k_EHTTPStatusCode429TooManyRequests = 429, + k_EHTTPStatusCode444ConnectionClosed = 444, // nginx only? + + // Server error codes + k_EHTTPStatusCode500InternalServerError = 500, + k_EHTTPStatusCode501NotImplemented = 501, + k_EHTTPStatusCode502BadGateway = 502, + k_EHTTPStatusCode503ServiceUnavailable = 503, + k_EHTTPStatusCode504GatewayTimeout = 504, + k_EHTTPStatusCode505HTTPVersionNotSupported = 505, + k_EHTTPStatusCode5xxUnknown = 599, +}; + +inline bool BIsHTTPStatusSuccess( EHTTPStatusCode eStatus ) +{ + return eStatus >= 200 && eStatus <= 299; +} + +#endif // STEAMHTTPENUMS_H \ No newline at end of file diff --git a/Steam/steamnetworkingfakeip.h b/Steam/steamnetworkingfakeip.h new file mode 100644 index 0000000..89ebd10 --- /dev/null +++ b/Steam/steamnetworkingfakeip.h @@ -0,0 +1,135 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef STEAMNETWORKINGFAKEIP_H +#define STEAMNETWORKINGFAKEIP_H +#pragma once + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +// It is HIGHLY recommended to limit messages sent via Fake UDP port to this +// value. The purpose of a Fake UDP port is to make porting ordinary ad-hoc UDP +// code easier. Although the real MTU might be higher than this, this particular +// conservative value is chosen so that fragmentation won't be occurring and +// hiding performance problems from you. +constexpr int k_cbSteamNetworkingSocketsFakeUDPPortRecommendedMTU = 1200; + +// Messages larger than this size are not allowed and cannot be sent +// via Fake UDP port. +constexpr int k_cbSteamNetworkingSocketsFakeUDPPortMaxMessageSize = 4096; + +//----------------------------------------------------------------------------- +/// ISteamNetworkingFakeUDPPort +/// +/// Acts like a UDP port, sending and receiving datagrams addressed using +/// FakeIP addresses. +/// +/// See: ISteamNetworkingSockets::CreateFakeUDPPort + +class ISteamNetworkingFakeUDPPort +{ +public: + /// Destroy the object and cleanup any internal connections. + /// Note that this function call is not threadsafe with respect + /// to any other method of this interface. (However, in general + /// all other operations are threadsafe with respect to each other.) + virtual void DestroyFakeUDPPort() = 0; + + /// Send a datagram to the specified FakeIP. + /// + /// See ISteamNetworkingSockets::SendMessageToConnection for the meaning of + /// nSendFlags and possible return codes. + /// + /// Notes: + /// - datagrams larger than the underlying MTU are supported, but + /// reliable messages (k_nSteamNetworkingSend_Reliable) are not supported. + /// - You will usually want to use k_nSteamNetworkingSend_NoNagle + /// - k_EResultBusy is returned if this is a "server" port and the global + /// allocation has not yet completed. + /// - k_EResultIPNotFound will be returned if the address is a local/ephemeral + /// address and no existing connection can be found. This can happen if + /// the remote host contacted us without having a global address, and we + /// assigned them a random local address, and then the session with + /// that host timed out. + /// - When initiating communications, the first messages may be sent + /// via backend signaling, or otherwise delayed, while a route is found. + /// Expect the ping time to fluctuate during this period, and it's possible + /// that messages will be delivered out of order (which is also possible with + /// ordinary UDP). + virtual EResult SendMessageToFakeIP( const SteamNetworkingIPAddr &remoteAddress, const void *pData, uint32 cbData, int nSendFlags ) = 0; + + /// Receive messages on the port. + /// + /// Returns the number of messages returned into your array, up to nMaxMessages. + /// + /// SteamNetworkingMessage_t::m_identity in the returned message(s) will always contain + /// a FakeIP. See ISteamNetworkingUtils::GetRealIdentityForFakeIP. + virtual int ReceiveMessages( SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Schedule the internal connection for a given peer to be cleaned up in a few seconds. + /// + /// Idle connections automatically time out, and so this is not strictly *necessary*, + /// but if you have reason to believe that you are done talking to a given peer for + /// a while, you can call this to speed up the timeout. If any remaining packets are + /// sent or received from the peer, the cleanup is canceled and the usual timeout + /// value is restored. Thus you will usually call this immediately after sending + /// or receiving application-layer "close connection" packets. + virtual void ScheduleCleanup( const SteamNetworkingIPAddr &remoteAddress ) = 0; +}; + +/// Callback struct used to notify when a connection has changed state +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +/// A struct used to describe a "fake IP" we have been assigned to +/// use as an identifier. This callback is posted when +/// ISteamNetworkingSoockets::BeginAsyncRequestFakeIP completes. +/// See also ISteamNetworkingSockets::GetFakeIP +struct SteamNetworkingFakeIPResult_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 3 }; + + /// Status/result of the allocation request. Possible failure values are: + /// - k_EResultBusy - you called GetFakeIP but the request has not completed. + /// - k_EResultInvalidParam - you called GetFakeIP with an invalid port index + /// - k_EResultLimitExceeded - You asked for too many ports, or made an + /// additional request after one had already succeeded + /// - k_EResultNoMatch - GetFakeIP was called, but no request has been made + /// + /// Note that, with the exception of k_EResultBusy (if you are polling), + /// it is highly recommended to treat all failures as fatal. + EResult m_eResult; + + /// Local identity of the ISteamNetworkingSockets object that made + /// this request and is assigned the IP. This is needed in the callback + /// in the case where there are multiple ISteamNetworkingSockets objects. + /// (E.g. one for the user, and another for the local gameserver). + SteamNetworkingIdentity m_identity; + + /// Fake IPv4 IP address that we have been assigned. NOTE: this + /// IP address is not exclusively ours! Steam tries to avoid sharing + /// IP addresses, but this may not always be possible. The IP address + /// may be currently in use by another host, but with different port(s). + /// The exact same IP:port address may have been used previously. + /// Steam tries to avoid reusing ports until they have not been in use for + /// some time, but this may not always be possible. + uint32 m_unIP; + + /// Port number(s) assigned to us. Only the first entries will contain + /// nonzero values. Entries corresponding to ports beyond what was + /// allocated for you will be zero. + /// + /// (NOTE: At the time of this writing, the maximum number of ports you may + /// request is 4.) + enum { k_nMaxReturnPorts = 8 }; + uint16 m_unPorts[k_nMaxReturnPorts]; +}; + +#pragma pack( pop ) + +#endif // _H diff --git a/Steam/steamnetworkingtypes.h b/Steam/steamnetworkingtypes.h new file mode 100644 index 0000000..66f3ba0 --- /dev/null +++ b/Steam/steamnetworkingtypes.h @@ -0,0 +1,1918 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: misc networking utilities +// +//============================================================================= + +#ifndef STEAMNETWORKINGTYPES +#define STEAMNETWORKINGTYPES +#pragma once + +#include +#include +#include "steamtypes.h" +#include "steamclientpublic.h" + +//----------------------------------------------------------------------------- +// SteamNetworkingSockets config. +#if !defined(STEAMNETWORKINGSOCKETS_STANDALONELIB) && !defined(STEAMNETWORKINGSOCKETS_STEAMAPI) + #define STEAMNETWORKINGSOCKETS_STEAMAPI +#endif +//----------------------------------------------------------------------------- + +#ifdef NN_NINTENDO_SDK // We always static link on Nintendo + #define STEAMNETWORKINGSOCKETS_STATIC_LINK +#endif +#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" +#elif defined( STEAMNETWORKINGSOCKETS_FOREXPORT ) + #if defined( _WIN32 ) || defined( __ORBIS__ ) || defined( __PROSPERO__ ) + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __declspec( dllexport ) + #else + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __attribute__((visibility("default"))) + #endif +#else + #ifdef _WIN32 + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __declspec( dllimport ) + #else + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" + #endif +#endif + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +struct SteamDatagramRelayAuthTicket; +struct SteamDatagramHostedAddress; +struct SteamDatagramGameCoordinatorServerLogin; +struct SteamNetConnectionStatusChangedCallback_t; +struct SteamNetAuthenticationStatus_t; +struct SteamRelayNetworkStatus_t; +struct SteamNetworkingMessagesSessionRequest_t; +struct SteamNetworkingMessagesSessionFailed_t; +struct SteamNetworkingFakeIPResult_t; + +typedef void (*FnSteamNetConnectionStatusChanged)( SteamNetConnectionStatusChangedCallback_t * ); +typedef void (*FnSteamNetAuthenticationStatusChanged)( SteamNetAuthenticationStatus_t * ); +typedef void (*FnSteamRelayNetworkStatusChanged)(SteamRelayNetworkStatus_t *); +typedef void (*FnSteamNetworkingMessagesSessionRequest)(SteamNetworkingMessagesSessionRequest_t *); +typedef void (*FnSteamNetworkingMessagesSessionFailed)(SteamNetworkingMessagesSessionFailed_t *); +typedef void (*FnSteamNetworkingFakeIPResult)(SteamNetworkingFakeIPResult_t *); + +/// Handle used to identify a connection to a remote host. +typedef uint32 HSteamNetConnection; +const HSteamNetConnection k_HSteamNetConnection_Invalid = 0; + +/// Handle used to identify a "listen socket". Unlike traditional +/// Berkeley sockets, a listen socket and a connection are two +/// different abstractions. +typedef uint32 HSteamListenSocket; +const HSteamListenSocket k_HSteamListenSocket_Invalid = 0; + +/// Handle used to identify a poll group, used to query many +/// connections at once efficiently. +typedef uint32 HSteamNetPollGroup; +const HSteamNetPollGroup k_HSteamNetPollGroup_Invalid = 0; + +/// Max length of diagnostic error message +const int k_cchMaxSteamNetworkingErrMsg = 1024; + +/// Used to return English-language diagnostic error messages to caller. +/// (For debugging or spewing to a console, etc. Not intended for UI.) +typedef char SteamNetworkingErrMsg[ k_cchMaxSteamNetworkingErrMsg ]; + +/// Identifier used for a network location point of presence. (E.g. a Valve data center.) +/// Typically you won't need to directly manipulate these. +typedef uint32 SteamNetworkingPOPID; + +/// A local timestamp. You can subtract two timestamps to get the number of elapsed +/// microseconds. This is guaranteed to increase over time during the lifetime +/// of a process, but not globally across runs. You don't need to worry about +/// the value wrapping around. Note that the underlying clock might not actually have +/// microsecond resolution. +typedef int64 SteamNetworkingMicroseconds; + +/// Describe the status of a particular network resource +enum ESteamNetworkingAvailability +{ + // Negative values indicate a problem. + // + // In general, we will not automatically retry unless you take some action that + // depends on of requests this resource, such as querying the status, attempting + // to initiate a connection, receive a connection, etc. If you do not take any + // action at all, we do not automatically retry in the background. + k_ESteamNetworkingAvailability_CannotTry = -102, // A dependent resource is missing, so this service is unavailable. (E.g. we cannot talk to routers because Internet is down or we don't have the network config.) + k_ESteamNetworkingAvailability_Failed = -101, // We have tried for enough time that we would expect to have been successful by now. We have never been successful + k_ESteamNetworkingAvailability_Previously = -100, // We tried and were successful at one time, but now it looks like we have a problem + + k_ESteamNetworkingAvailability_Retrying = -10, // We previously failed and are currently retrying + + // Not a problem, but not ready either + k_ESteamNetworkingAvailability_NeverTried = 1, // We don't know because we haven't ever checked/tried + k_ESteamNetworkingAvailability_Waiting = 2, // We're waiting on a dependent resource to be acquired. (E.g. we cannot obtain a cert until we are logged into Steam. We cannot measure latency to relays until we have the network config.) + k_ESteamNetworkingAvailability_Attempting = 3, // We're actively trying now, but are not yet successful. + + k_ESteamNetworkingAvailability_Current = 100, // Resource is online/available + + + k_ESteamNetworkingAvailability_Unknown = 0, // Internal dummy/sentinel, or value is not applicable in this context + k_ESteamNetworkingAvailability__Force32bit = 0x7fffffff, +}; + +// +// Describing network hosts +// + +/// Different methods of describing the identity of a network host +enum ESteamNetworkingIdentityType +{ + // Dummy/empty/invalid. + // Please note that if we parse a string that we don't recognize + // but that appears reasonable, we will NOT use this type. Instead + // we'll use k_ESteamNetworkingIdentityType_UnknownType. + k_ESteamNetworkingIdentityType_Invalid = 0, + + // + // Basic platform-specific identifiers. + // + k_ESteamNetworkingIdentityType_SteamID = 16, // 64-bit CSteamID + k_ESteamNetworkingIdentityType_XboxPairwiseID = 17, // Publisher-specific user identity, as string + k_ESteamNetworkingIdentityType_SonyPSN = 18, // 64-bit ID + + // + // Special identifiers. + // + + // Use their IP address (and port) as their "identity". + // These types of identities are always unauthenticated. + // They are useful for porting plain sockets code, and other + // situations where you don't care about authentication. In this + // case, the local identity will be "localhost", + // and the remote address will be their network address. + // + // We use the same type for either IPv4 or IPv6, and + // the address is always store as IPv6. We use IPv4 + // mapped addresses to handle IPv4. + k_ESteamNetworkingIdentityType_IPAddress = 1, + + // Generic string/binary blobs. It's up to your app to interpret this. + // This library can tell you if the remote host presented a certificate + // signed by somebody you have chosen to trust, with this identity on it. + // It's up to you to ultimately decide what this identity means. + k_ESteamNetworkingIdentityType_GenericString = 2, + k_ESteamNetworkingIdentityType_GenericBytes = 3, + + // This identity type is used when we parse a string that looks like is a + // valid identity, just of a kind that we don't recognize. In this case, we + // can often still communicate with the peer! Allowing such identities + // for types we do not recognize useful is very useful for forward + // compatibility. + k_ESteamNetworkingIdentityType_UnknownType = 4, + + // Make sure this enum is stored in an int. + k_ESteamNetworkingIdentityType__Force32bit = 0x7fffffff, +}; + +/// "Fake IPs" are assigned to hosts, to make it easier to interface with +/// older code that assumed all hosts will have an IPv4 address +enum ESteamNetworkingFakeIPType +{ + k_ESteamNetworkingFakeIPType_Invalid, // Error, argument was not even an IP address, etc. + k_ESteamNetworkingFakeIPType_NotFake, // Argument was a valid IP, but was not from the reserved "fake" range + k_ESteamNetworkingFakeIPType_GlobalIPv4, // Globally unique (for a given app) IPv4 address. Address space managed by Steam + k_ESteamNetworkingFakeIPType_LocalIPv4, // Locally unique IPv4 address. Address space managed by the local process. For internal use only; should not be shared! + + k_ESteamNetworkingFakeIPType__Force32Bit = 0x7fffffff +}; + +#pragma pack(push,1) + +/// Store an IP and port. IPv6 is always used; IPv4 is represented using +/// "IPv4-mapped" addresses: IPv4 aa.bb.cc.dd => IPv6 ::ffff:aabb:ccdd +/// (RFC 4291 section 2.5.5.2.) +struct SteamNetworkingIPAddr +{ + void Clear(); // Set everything to zero. E.g. [::]:0 + bool IsIPv6AllZeros() const; // Return true if the IP is ::0. (Doesn't check port.) + void SetIPv6( const uint8 *ipv6, uint16 nPort ); // Set IPv6 address. IP is interpreted as bytes, so there are no endian issues. (Same as inaddr_in6.) The IP can be a mapped IPv4 address + void SetIPv4( uint32 nIP, uint16 nPort ); // Sets to IPv4 mapped address. IP and port are in host byte order. + bool IsIPv4() const; // Return true if IP is mapped IPv4 + uint32 GetIPv4() const; // Returns IP in host byte order (e.g. aa.bb.cc.dd as 0xaabbccdd). Returns 0 if IP is not mapped IPv4. + void SetIPv6LocalHost( uint16 nPort = 0); // Set to the IPv6 localhost address ::1, and the specified port. + bool IsLocalHost() const; // Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) + + // Max length of the buffer needed to hold IP formatted using ToString, including '\0' + // ([0123:4567:89ab:cdef:0123:4567:89ab:cdef]:12345) + enum { k_cchMaxString = 48 }; + + /// Print to a string, with or without the port. Mapped IPv4 addresses are printed + /// as dotted decimal (12.34.56.78), otherwise this will print the canonical + /// form according to RFC5952. If you include the port, IPv6 will be surrounded by + /// brackets, e.g. [::1:2]:80. Your buffer should be at least k_cchMaxString bytes + /// to avoid truncation + /// + /// See also SteamNetworkingIdentityRender + inline void ToString( char *buf, size_t cbBuf, bool bWithPort ) const; + + /// Parse an IP address and optional port. If a port is not present, it is set to 0. + /// (This means that you cannot tell if a zero port was explicitly specified.) + inline bool ParseString( const char *pszStr ); + + /// RFC4038, section 4.2 + struct IPv4MappedAddress { + uint64 m_8zeros; + uint16 m_0000; + uint16 m_ffff; + uint8 m_ip[ 4 ]; // NOTE: As bytes, i.e. network byte order + }; + + union + { + uint8 m_ipv6[ 16 ]; + IPv4MappedAddress m_ipv4; + }; + uint16 m_port; // Host byte order + + /// See if two addresses are identical + bool operator==(const SteamNetworkingIPAddr &x ) const; + + /// Classify address as FakeIP. This function never returns + /// k_ESteamNetworkingFakeIPType_Invalid. + ESteamNetworkingFakeIPType GetFakeIPType() const; + + /// Return true if we are a FakeIP + bool IsFakeIP() const { return GetFakeIPType() > k_ESteamNetworkingFakeIPType_NotFake; } +}; + +/// An abstract way to represent the identity of a network host. All identities can +/// be represented as simple string. Furthermore, this string representation is actually +/// used on the wire in several places, even though it is less efficient, in order to +/// facilitate forward compatibility. (Old client code can handle an identity type that +/// it doesn't understand.) +struct SteamNetworkingIdentity +{ + /// Type of identity. + ESteamNetworkingIdentityType m_eType; + + // + // Get/Set in various formats. + // + + void Clear(); + bool IsInvalid() const; // Return true if we are the invalid type. Does not make any other validity checks (e.g. is SteamID actually valid) + + void SetSteamID( CSteamID steamID ); + CSteamID GetSteamID() const; // Return black CSteamID (!IsValid()) if identity is not a SteamID + void SetSteamID64( uint64 steamID ); // Takes SteamID as raw 64-bit number + uint64 GetSteamID64() const; // Returns 0 if identity is not SteamID + + bool SetXboxPairwiseID( const char *pszString ); // Returns false if invalid length + const char *GetXboxPairwiseID() const; // Returns nullptr if not Xbox ID + + void SetPSNID( uint64 id ); + uint64 GetPSNID() const; // Returns 0 if not PSN + + void SetIPAddr( const SteamNetworkingIPAddr &addr ); // Set to specified IP:port + const SteamNetworkingIPAddr *GetIPAddr() const; // returns null if we are not an IP address. + void SetIPv4Addr( uint32 nIPv4, uint16 nPort ); // Set to specified IPv4:port + uint32 GetIPv4() const; // returns 0 if we are not an IPv4 address. + + ESteamNetworkingFakeIPType GetFakeIPType() const; + bool IsFakeIP() const { return GetFakeIPType() > k_ESteamNetworkingFakeIPType_NotFake; } + + // "localhost" is equivalent for many purposes to "anonymous." Our remote + // will identify us by the network address we use. + void SetLocalHost(); // Set to localhost. (We always use IPv6 ::1 for this, not 127.0.0.1) + bool IsLocalHost() const; // Return true if this identity is localhost. + + bool SetGenericString( const char *pszString ); // Returns false if invalid length + const char *GetGenericString() const; // Returns nullptr if not generic string type + + bool SetGenericBytes( const void *data, size_t cbLen ); // Returns false if invalid size. + const uint8 *GetGenericBytes( int &cbLen ) const; // Returns null if not generic bytes type + + /// See if two identities are identical + bool operator==(const SteamNetworkingIdentity &x ) const; + + /// Print to a human-readable string. This is suitable for debug messages + /// or any other time you need to encode the identity as a string. It has a + /// URL-like format (type:). Your buffer should be at least + /// k_cchMaxString bytes big to avoid truncation. + /// + /// See also SteamNetworkingIPAddrRender + void ToString( char *buf, size_t cbBuf ) const; + + /// Parse back a string that was generated using ToString. If we don't understand the + /// string, but it looks "reasonable" (it matches the pattern type: and doesn't + /// have any funky characters, etc), then we will return true, and the type is set to + /// k_ESteamNetworkingIdentityType_UnknownType. false will only be returned if the string + /// looks invalid. + bool ParseString( const char *pszStr ); + + // Max sizes + enum { + k_cchMaxString = 128, // Max length of the buffer needed to hold any identity, formatted in string format by ToString + k_cchMaxGenericString = 32, // Max length of the string for generic string identities. Including terminating '\0' + k_cchMaxXboxPairwiseID = 33, // Including terminating '\0' + k_cbMaxGenericBytes = 32, + }; + + // + // Internal representation. Don't access this directly, use the accessors! + // + // Number of bytes that are relevant below. This MUST ALWAYS be + // set. (Use the accessors!) This is important to enable old code to work + // with new identity types. + int m_cbSize; + union { + uint64 m_steamID64; + uint64 m_PSNID; + char m_szGenericString[ k_cchMaxGenericString ]; + char m_szXboxPairwiseID[ k_cchMaxXboxPairwiseID ]; + uint8 m_genericBytes[ k_cbMaxGenericBytes ]; + char m_szUnknownRawString[ k_cchMaxString ]; + SteamNetworkingIPAddr m_ip; + uint32 m_reserved[ 32 ]; // Pad structure to leave easy room for future expansion + }; +}; +#pragma pack(pop) + +// +// Connection status +// + +/// High level connection status +enum ESteamNetworkingConnectionState +{ + + /// Dummy value used to indicate an error condition in the API. + /// Specified connection doesn't exist or has already been closed. + k_ESteamNetworkingConnectionState_None = 0, + + /// We are trying to establish whether peers can talk to each other, + /// whether they WANT to talk to each other, perform basic auth, + /// and exchange crypt keys. + /// + /// - For connections on the "client" side (initiated locally): + /// We're in the process of trying to establish a connection. + /// Depending on the connection type, we might not know who they are. + /// Note that it is not possible to tell if we are waiting on the + /// network to complete handshake packets, or for the application layer + /// to accept the connection. + /// + /// - For connections on the "server" side (accepted through listen socket): + /// We have completed some basic handshake and the client has presented + /// some proof of identity. The connection is ready to be accepted + /// using AcceptConnection(). + /// + /// In either case, any unreliable packets sent now are almost certain + /// to be dropped. Attempts to receive packets are guaranteed to fail. + /// You may send messages if the send mode allows for them to be queued. + /// but if you close the connection before the connection is actually + /// established, any queued messages will be discarded immediately. + /// (We will not attempt to flush the queue and confirm delivery to the + /// remote host, which ordinarily happens when a connection is closed.) + k_ESteamNetworkingConnectionState_Connecting = 1, + + /// Some connection types use a back channel or trusted 3rd party + /// for earliest communication. If the server accepts the connection, + /// then these connections switch into the rendezvous state. During this + /// state, we still have not yet established an end-to-end route (through + /// the relay network), and so if you send any messages unreliable, they + /// are going to be discarded. + k_ESteamNetworkingConnectionState_FindingRoute = 2, + + /// We've received communications from our peer (and we know + /// who they are) and are all good. If you close the connection now, + /// we will make our best effort to flush out any reliable sent data that + /// has not been acknowledged by the peer. (But note that this happens + /// from within the application process, so unlike a TCP connection, you are + /// not totally handing it off to the operating system to deal with it.) + k_ESteamNetworkingConnectionState_Connected = 3, + + /// Connection has been closed by our peer, but not closed locally. + /// The connection still exists from an API perspective. You must close the + /// handle to free up resources. If there are any messages in the inbound queue, + /// you may retrieve them. Otherwise, nothing may be done with the connection + /// except to close it. + /// + /// This stats is similar to CLOSE_WAIT in the TCP state machine. + k_ESteamNetworkingConnectionState_ClosedByPeer = 4, + + /// A disruption in the connection has been detected locally. (E.g. timeout, + /// local internet connection disrupted, etc.) + /// + /// The connection still exists from an API perspective. You must close the + /// handle to free up resources. + /// + /// Attempts to send further messages will fail. Any remaining received messages + /// in the queue are available. + k_ESteamNetworkingConnectionState_ProblemDetectedLocally = 5, + +// +// The following values are used internally and will not be returned by any API. +// We document them here to provide a little insight into the state machine that is used +// under the hood. +// + + /// We've disconnected on our side, and from an API perspective the connection is closed. + /// No more data may be sent or received. All reliable data has been flushed, or else + /// we've given up and discarded it. We do not yet know for sure that the peer knows + /// the connection has been closed, however, so we're just hanging around so that if we do + /// get a packet from them, we can send them the appropriate packets so that they can + /// know why the connection was closed (and not have to rely on a timeout, which makes + /// it appear as if something is wrong). + k_ESteamNetworkingConnectionState_FinWait = -1, + + /// We've disconnected on our side, and from an API perspective the connection is closed. + /// No more data may be sent or received. From a network perspective, however, on the wire, + /// we have not yet given any indication to the peer that the connection is closed. + /// We are in the process of flushing out the last bit of reliable data. Once that is done, + /// we will inform the peer that the connection has been closed, and transition to the + /// FinWait state. + /// + /// Note that no indication is given to the remote host that we have closed the connection, + /// until the data has been flushed. If the remote host attempts to send us data, we will + /// do whatever is necessary to keep the connection alive until it can be closed properly. + /// But in fact the data will be discarded, since there is no way for the application to + /// read it back. Typically this is not a problem, as application protocols that utilize + /// the lingering functionality are designed for the remote host to wait for the response + /// before sending any more data. + k_ESteamNetworkingConnectionState_Linger = -2, + + /// Connection is completely inactive and ready to be destroyed + k_ESteamNetworkingConnectionState_Dead = -3, + + k_ESteamNetworkingConnectionState__Force32Bit = 0x7fffffff +}; + +/// Enumerate various causes of connection termination. These are designed to work similar +/// to HTTP error codes: the numeric range gives you a rough classification as to the source +/// of the problem. +enum ESteamNetConnectionEnd +{ + // Invalid/sentinel value + k_ESteamNetConnectionEnd_Invalid = 0, + + // + // Application codes. These are the values you will pass to + // ISteamNetworkingSockets::CloseConnection. You can use these codes if + // you want to plumb through application-specific reason codes. If you don't + // need this facility, feel free to always pass + // k_ESteamNetConnectionEnd_App_Generic. + // + // The distinction between "normal" and "exceptional" termination is + // one you may use if you find useful, but it's not necessary for you + // to do so. The only place where we distinguish between normal and + // exceptional is in connection analytics. If a significant + // proportion of connections terminates in an exceptional manner, + // this can trigger an alert. + // + + // 1xxx: Application ended the connection in a "usual" manner. + // E.g.: user intentionally disconnected from the server, + // gameplay ended normally, etc + k_ESteamNetConnectionEnd_App_Min = 1000, + k_ESteamNetConnectionEnd_App_Generic = k_ESteamNetConnectionEnd_App_Min, + // Use codes in this range for "normal" disconnection + k_ESteamNetConnectionEnd_App_Max = 1999, + + // 2xxx: Application ended the connection in some sort of exceptional + // or unusual manner that might indicate a bug or configuration + // issue. + // + k_ESteamNetConnectionEnd_AppException_Min = 2000, + k_ESteamNetConnectionEnd_AppException_Generic = k_ESteamNetConnectionEnd_AppException_Min, + // Use codes in this range for "unusual" disconnection + k_ESteamNetConnectionEnd_AppException_Max = 2999, + + // + // System codes. These will be returned by the system when + // the connection state is k_ESteamNetworkingConnectionState_ClosedByPeer + // or k_ESteamNetworkingConnectionState_ProblemDetectedLocally. It is + // illegal to pass a code in this range to ISteamNetworkingSockets::CloseConnection + // + + // 3xxx: Connection failed or ended because of problem with the + // local host or their connection to the Internet. + k_ESteamNetConnectionEnd_Local_Min = 3000, + + // You cannot do what you want to do because you're running in offline mode. + k_ESteamNetConnectionEnd_Local_OfflineMode = 3001, + + // We're having trouble contacting many (perhaps all) relays. + // Since it's unlikely that they all went offline at once, the best + // explanation is that we have a problem on our end. Note that we don't + // bother distinguishing between "many" and "all", because in practice, + // it takes time to detect a connection problem, and by the time + // the connection has timed out, we might not have been able to + // actively probe all of the relay clusters, even if we were able to + // contact them at one time. So this code just means that: + // + // * We don't have any recent successful communication with any relay. + // * We have evidence of recent failures to communicate with multiple relays. + k_ESteamNetConnectionEnd_Local_ManyRelayConnectivity = 3002, + + // A hosted server is having trouble talking to the relay + // that the client was using, so the problem is most likely + // on our end + k_ESteamNetConnectionEnd_Local_HostedServerPrimaryRelay = 3003, + + // We're not able to get the SDR network config. This is + // *almost* always a local issue, since the network config + // comes from the CDN, which is pretty darn reliable. + k_ESteamNetConnectionEnd_Local_NetworkConfig = 3004, + + // Steam rejected our request because we don't have rights + // to do this. + k_ESteamNetConnectionEnd_Local_Rights = 3005, + + // ICE P2P rendezvous failed because we were not able to + // determine our "public" address (e.g. reflexive address via STUN) + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Local_P2P_ICE_NoPublicAddresses = 3006, + + k_ESteamNetConnectionEnd_Local_Max = 3999, + + // 4xxx: Connection failed or ended, and it appears that the + // cause does NOT have to do with the local host or their + // connection to the Internet. It could be caused by the + // remote host, or it could be somewhere in between. + k_ESteamNetConnectionEnd_Remote_Min = 4000, + + // The connection was lost, and as far as we can tell our connection + // to relevant services (relays) has not been disrupted. This doesn't + // mean that the problem is "their fault", it just means that it doesn't + // appear that we are having network issues on our end. + k_ESteamNetConnectionEnd_Remote_Timeout = 4001, + + // Something was invalid with the cert or crypt handshake + // info you gave me, I don't understand or like your key types, + // etc. + k_ESteamNetConnectionEnd_Remote_BadCrypt = 4002, + + // You presented me with a cert that was I was able to parse + // and *technically* we could use encrypted communication. + // But there was a problem that prevents me from checking your identity + // or ensuring that somebody int he middle can't observe our communication. + // E.g.: - the CA key was missing (and I don't accept unsigned certs) + // - The CA key isn't one that I trust, + // - The cert doesn't was appropriately restricted by app, user, time, data center, etc. + // - The cert wasn't issued to you. + // - etc + k_ESteamNetConnectionEnd_Remote_BadCert = 4003, + + // These will never be returned + //k_ESteamNetConnectionEnd_Remote_NotLoggedIn_DEPRECATED = 4004, + //k_ESteamNetConnectionEnd_Remote_NotRunningApp_DEPRECATED = 4005, + + // Something wrong with the protocol version you are using. + // (Probably the code you are running is too old.) + k_ESteamNetConnectionEnd_Remote_BadProtocolVersion = 4006, + + // NAT punch failed failed because we never received any public + // addresses from the remote host. (But we did receive some + // signals form them.) + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Remote_P2P_ICE_NoPublicAddresses = 4007, + + k_ESteamNetConnectionEnd_Remote_Max = 4999, + + // 5xxx: Connection failed for some other reason. + k_ESteamNetConnectionEnd_Misc_Min = 5000, + + // A failure that isn't necessarily the result of a software bug, + // but that should happen rarely enough that it isn't worth specifically + // writing UI or making a localized message for. + // The debug string should contain further details. + k_ESteamNetConnectionEnd_Misc_Generic = 5001, + + // Generic failure that is most likely a software bug. + k_ESteamNetConnectionEnd_Misc_InternalError = 5002, + + // The connection to the remote host timed out, but we + // don't know if the problem is on our end, in the middle, + // or on their end. + k_ESteamNetConnectionEnd_Misc_Timeout = 5003, + + //k_ESteamNetConnectionEnd_Misc_RelayConnectivity_DEPRECATED = 5004, + + // There's some trouble talking to Steam. + k_ESteamNetConnectionEnd_Misc_SteamConnectivity = 5005, + + // A server in a dedicated hosting situation has no relay sessions + // active with which to talk back to a client. (It's the client's + // job to open and maintain those sessions.) + k_ESteamNetConnectionEnd_Misc_NoRelaySessionsToClient = 5006, + + // While trying to initiate a connection, we never received + // *any* communication from the peer. + //k_ESteamNetConnectionEnd_Misc_ServerNeverReplied = 5007, + + // P2P rendezvous failed in a way that we don't have more specific + // information + k_ESteamNetConnectionEnd_Misc_P2P_Rendezvous = 5008, + + // NAT punch failed, probably due to NAT/firewall configuration. + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Misc_P2P_NAT_Firewall = 5009, + + // Our peer replied that it has no record of the connection. + // This should not happen ordinarily, but can happen in a few + // exception cases: + // + // - This is an old connection, and the peer has already cleaned + // up and forgotten about it. (Perhaps it timed out and they + // closed it and were not able to communicate this to us.) + // - A bug or internal protocol error has caused us to try to + // talk to the peer about the connection before we received + // confirmation that the peer has accepted the connection. + // - The peer thinks that we have closed the connection for some + // reason (perhaps a bug), and believes that is it is + // acknowledging our closure. + k_ESteamNetConnectionEnd_Misc_PeerSentNoConnection = 5010, + + k_ESteamNetConnectionEnd_Misc_Max = 5999, + + k_ESteamNetConnectionEnd__Force32Bit = 0x7fffffff +}; + +/// Max length, in bytes (including null terminator) of the reason string +/// when a connection is closed. +const int k_cchSteamNetworkingMaxConnectionCloseReason = 128; + +/// Max length, in bytes (include null terminator) of debug description +/// of a connection. +const int k_cchSteamNetworkingMaxConnectionDescription = 128; + +/// Max length of the app's part of the description +const int k_cchSteamNetworkingMaxConnectionAppName = 32; + +const int k_nSteamNetworkConnectionInfoFlags_Unauthenticated = 1; // We don't have a certificate for the remote host. +const int k_nSteamNetworkConnectionInfoFlags_Unencrypted = 2; // Information is being sent out over a wire unencrypted (by this library) +const int k_nSteamNetworkConnectionInfoFlags_LoopbackBuffers = 4; // Internal loopback buffers. Won't be true for localhost. (You can check the address to determine that.) This implies k_nSteamNetworkConnectionInfoFlags_FastLAN +const int k_nSteamNetworkConnectionInfoFlags_Fast = 8; // The connection is "fast" and "reliable". Either internal/localhost (check the address to find out), or the peer is on the same LAN. (Probably. It's based on the address and the ping time, this is actually hard to determine unambiguously). +const int k_nSteamNetworkConnectionInfoFlags_Relayed = 16; // The connection is relayed somehow (SDR or TURN). +const int k_nSteamNetworkConnectionInfoFlags_DualWifi = 32; // We're taking advantage of dual-wifi multi-path + +/// Describe the state of a connection. +struct SteamNetConnectionInfo_t +{ + + /// Who is on the other end? Depending on the connection type and phase of the connection, we might not know + SteamNetworkingIdentity m_identityRemote; + + /// Arbitrary user data set by the local application code + int64 m_nUserData; + + /// Handle to listen socket this was connected on, or k_HSteamListenSocket_Invalid if we initiated the connection + HSteamListenSocket m_hListenSocket; + + /// Remote address. Might be all 0's if we don't know it, or if this is N/A. + /// (E.g. Basically everything except direct UDP connection.) + SteamNetworkingIPAddr m_addrRemote; + uint16 m__pad1; + + /// What data center is the remote host in? (0 if we don't know.) + SteamNetworkingPOPID m_idPOPRemote; + + /// What relay are we using to communicate with the remote host? + /// (0 if not applicable.) + SteamNetworkingPOPID m_idPOPRelay; + + /// High level state of the connection + ESteamNetworkingConnectionState m_eState; + + /// Basic cause of the connection termination or problem. + /// See ESteamNetConnectionEnd for the values used + int m_eEndReason; + + /// Human-readable, but non-localized explanation for connection + /// termination or problem. This is intended for debugging / + /// diagnostic purposes only, not to display to users. It might + /// have some details specific to the issue. + char m_szEndDebug[ k_cchSteamNetworkingMaxConnectionCloseReason ]; + + /// Debug description. This includes the internal connection ID, + /// connection type (and peer information), and any name + /// given to the connection by the app. This string is used in various + /// internal logging messages. + /// + /// Note that the connection ID *usually* matches the HSteamNetConnection + /// handle, but in certain cases with symmetric connections it might not. + char m_szConnectionDescription[ k_cchSteamNetworkingMaxConnectionDescription ]; + + /// Misc flags. Bitmask of k_nSteamNetworkConnectionInfoFlags_Xxxx + int m_nFlags; + + /// Internal stuff, room to change API easily + uint32 reserved[63]; +}; + +/// Quick connection state, pared down to something you could call +/// more frequently without it being too big of a perf hit. +struct SteamNetConnectionRealTimeStatus_t +{ + + /// High level state of the connection + ESteamNetworkingConnectionState m_eState; + + /// Current ping (ms) + int m_nPing; + + /// Connection quality measured locally, 0...1. (Percentage of packets delivered + /// end-to-end in order). + float m_flConnectionQualityLocal; + + /// Packet delivery success rate as observed from remote host + float m_flConnectionQualityRemote; + + /// Current data rates from recent history. + float m_flOutPacketsPerSec; + float m_flOutBytesPerSec; + float m_flInPacketsPerSec; + float m_flInBytesPerSec; + + /// Estimate rate that we believe that we can send data to our peer. + /// Note that this could be significantly higher than m_flOutBytesPerSec, + /// meaning the capacity of the channel is higher than you are sending data. + /// (That's OK!) + int m_nSendRateBytesPerSecond; + + /// Number of bytes pending to be sent. This is data that you have recently + /// requested to be sent but has not yet actually been put on the wire. The + /// reliable number ALSO includes data that was previously placed on the wire, + /// but has now been scheduled for re-transmission. Thus, it's possible to + /// observe m_cbPendingReliable increasing between two checks, even if no + /// calls were made to send reliable data between the checks. Data that is + /// awaiting the Nagle delay will appear in these numbers. + int m_cbPendingUnreliable; + int m_cbPendingReliable; + + /// Number of bytes of reliable data that has been placed the wire, but + /// for which we have not yet received an acknowledgment, and thus we may + /// have to re-transmit. + int m_cbSentUnackedReliable; + + /// If you queued a message right now, approximately how long would that message + /// wait in the queue before we actually started putting its data on the wire in + /// a packet? + /// + /// In general, data that is sent by the application is limited by the bandwidth + /// of the channel. If you send data faster than this, it must be queued and + /// put on the wire at a metered rate. Even sending a small amount of data (e.g. + /// a few MTU, say ~3k) will require some of the data to be delayed a bit. + /// + /// Ignoring multiple lanes, the estimated delay will be approximately equal to + /// + /// ( m_cbPendingUnreliable+m_cbPendingReliable ) / m_nSendRateBytesPerSecond + /// + /// plus or minus one MTU. It depends on how much time has elapsed since the last + /// packet was put on the wire. For example, the queue might have *just* been emptied, + /// and the last packet placed on the wire, and we are exactly up against the send + /// rate limit. In that case we might need to wait for one packet's worth of time to + /// elapse before we can send again. On the other extreme, the queue might have data + /// in it waiting for Nagle. (This will always be less than one packet, because as + /// soon as we have a complete packet we would send it.) In that case, we might be + /// ready to send data now, and this value will be 0. + /// + /// This value is only valid if multiple lanes are not used. If multiple lanes are + /// in use, then the queue time will be different for each lane, and you must use + /// the value in SteamNetConnectionRealTimeLaneStatus_t. + /// + /// Nagle delay is ignored for the purposes of this calculation. + SteamNetworkingMicroseconds m_usecQueueTime; + + // Internal stuff, room to change API easily + uint32 reserved[16]; +}; + +/// Quick status of a particular lane +struct SteamNetConnectionRealTimeLaneStatus_t +{ + // Counters for this particular lane. See the corresponding variables + // in SteamNetConnectionRealTimeStatus_t + int m_cbPendingUnreliable; + int m_cbPendingReliable; + int m_cbSentUnackedReliable; + int _reservePad1; // Reserved for future use + + /// Lane-specific queue time. This value takes into consideration lane priorities + /// and weights, and how much data is queued in each lane, and attempts to predict + /// how any data currently queued will be sent out. + SteamNetworkingMicroseconds m_usecQueueTime; + + // Internal stuff, room to change API easily + uint32 reserved[10]; +}; + +#pragma pack( pop ) + +// +// Network messages +// + +/// Max size of a single message that we can SEND. +/// Note: We might be wiling to receive larger messages, +/// and our peer might, too. +const int k_cbMaxSteamNetworkingSocketsMessageSizeSend = 512 * 1024; + +/// A message that has been received. +struct SteamNetworkingMessage_t +{ + + /// Message payload + void *m_pData; + + /// Size of the payload. + int m_cbSize; + + /// For messages received on connections: what connection did this come from? + /// For outgoing messages: what connection to send it to? + /// Not used when using the ISteamNetworkingMessages interface + HSteamNetConnection m_conn; + + /// For inbound messages: Who sent this to us? + /// For outbound messages on connections: not used. + /// For outbound messages on the ad-hoc ISteamNetworkingMessages interface: who should we send this to? + SteamNetworkingIdentity m_identityPeer; + + /// For messages received on connections, this is the user data + /// associated with the connection. + /// + /// This is *usually* the same as calling GetConnection() and then + /// fetching the user data associated with that connection, but for + /// the following subtle differences: + /// + /// - This user data will match the connection's user data at the time + /// is captured at the time the message is returned by the API. + /// If you subsequently change the userdata on the connection, + /// this won't be updated. + /// - This is an inline call, so it's *much* faster. + /// - You might have closed the connection, so fetching the user data + /// would not be possible. + /// + /// Not used when sending messages. + int64 m_nConnUserData; + + /// Local timestamp when the message was received + /// Not used for outbound messages. + SteamNetworkingMicroseconds m_usecTimeReceived; + + /// Message number assigned by the sender. This is not used for outbound + /// messages. Note that if multiple lanes are used, each lane has its own + /// message numbers, which are assigned sequentially, so messages from + /// different lanes will share the same numbers. + int64 m_nMessageNumber; + + /// Function used to free up m_pData. This mechanism exists so that + /// apps can create messages with buffers allocated from their own + /// heap, and pass them into the library. This function will + /// usually be something like: + /// + /// free( pMsg->m_pData ); + void (*m_pfnFreeData)( SteamNetworkingMessage_t *pMsg ); + + /// Function to used to decrement the internal reference count and, if + /// it's zero, release the message. You should not set this function pointer, + /// or need to access this directly! Use the Release() function instead! + void (*m_pfnRelease)( SteamNetworkingMessage_t *pMsg ); + + /// When using ISteamNetworkingMessages, the channel number the message was received on + /// (Not used for messages sent or received on "connections") + int m_nChannel; + + /// Bitmask of k_nSteamNetworkingSend_xxx flags. + /// For received messages, only the k_nSteamNetworkingSend_Reliable bit is valid. + /// For outbound messages, all bits are relevant + int m_nFlags; + + /// Arbitrary user data that you can use when sending messages using + /// ISteamNetworkingUtils::AllocateMessage and ISteamNetworkingSockets::SendMessage. + /// (The callback you set in m_pfnFreeData might use this field.) + /// + /// Not used for received messages. + int64 m_nUserData; + + /// For outbound messages, which lane to use? See ISteamNetworkingSockets::ConfigureConnectionLanes. + /// For inbound messages, what lane was the message received on? + uint16 m_idxLane; + uint16 _pad1__; + + /// You MUST call this when you're done with the object, + /// to free up memory, etc. + inline void Release(); + + // For code compatibility, some accessors +#ifndef API_GEN + inline uint32 GetSize() const { return m_cbSize; } + inline const void *GetData() const { return m_pData; } + inline int GetChannel() const { return m_nChannel; } + inline HSteamNetConnection GetConnection() const { return m_conn; } + inline int64 GetConnectionUserData() const { return m_nConnUserData; } + inline SteamNetworkingMicroseconds GetTimeReceived() const { return m_usecTimeReceived; } + inline int64 GetMessageNumber() const { return m_nMessageNumber; } +#endif +protected: + // Declare destructor protected. You should never need to declare a message + // object on the stack or create one yourself. + // - You will receive a pointer to a message object when you receive messages (e.g. ISteamNetworkingSockets::ReceiveMessagesOnConnection) + // - You can allocate a message object for efficient sending using ISteamNetworkingUtils::AllocateMessage + // - Call Release() to free the object + inline ~SteamNetworkingMessage_t() {} +}; + +// +// Flags used to set options for message sending +// + +// Send the message unreliably. Can be lost. Messages *can* be larger than a +// single MTU (UDP packet), but there is no retransmission, so if any piece +// of the message is lost, the entire message will be dropped. +// +// The sending API does have some knowledge of the underlying connection, so +// if there is no NAT-traversal accomplished or there is a recognized adjustment +// happening on the connection, the packet will be batched until the connection +// is open again. +// +// Migration note: This is not exactly the same as k_EP2PSendUnreliable! You +// probably want k_ESteamNetworkingSendType_UnreliableNoNagle +const int k_nSteamNetworkingSend_Unreliable = 0; + +// Disable Nagle's algorithm. +// By default, Nagle's algorithm is applied to all outbound messages. This means +// that the message will NOT be sent immediately, in case further messages are +// sent soon after you send this, which can be grouped together. Any time there +// is enough buffered data to fill a packet, the packets will be pushed out immediately, +// but partially-full packets not be sent until the Nagle timer expires. See +// ISteamNetworkingSockets::FlushMessagesOnConnection, ISteamNetworkingMessages::FlushMessagesToUser +// +// NOTE: Don't just send every message without Nagle because you want packets to get there +// quicker. Make sure you understand the problem that Nagle is solving before disabling it. +// If you are sending small messages, often many at the same time, then it is very likely that +// it will be more efficient to leave Nagle enabled. A typical proper use of this flag is +// when you are sending what you know will be the last message sent for a while (e.g. the last +// in the server simulation tick to a particular client), and you use this flag to flush all +// messages. +const int k_nSteamNetworkingSend_NoNagle = 1; + +// Send a message unreliably, bypassing Nagle's algorithm for this message and any messages +// currently pending on the Nagle timer. This is equivalent to using k_ESteamNetworkingSend_Unreliable +// and then immediately flushing the messages using ISteamNetworkingSockets::FlushMessagesOnConnection +// or ISteamNetworkingMessages::FlushMessagesToUser. (But using this flag is more efficient since you +// only make one API call.) +const int k_nSteamNetworkingSend_UnreliableNoNagle = k_nSteamNetworkingSend_Unreliable|k_nSteamNetworkingSend_NoNagle; + +// If the message cannot be sent very soon (because the connection is still doing some initial +// handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable +// messages. Using this flag on reliable messages is invalid. +const int k_nSteamNetworkingSend_NoDelay = 4; + +// Send an unreliable message, but if it cannot be sent relatively quickly, just drop it instead of queuing it. +// This is useful for messages that are not useful if they are excessively delayed, such as voice data. +// NOTE: The Nagle algorithm is not used, and if the message is not dropped, any messages waiting on the +// Nagle timer are immediately flushed. +// +// A message will be dropped under the following circumstances: +// - the connection is not fully connected. (E.g. the "Connecting" or "FindingRoute" states) +// - there is a sufficiently large number of messages queued up already such that the current message +// will not be placed on the wire in the next ~200ms or so. +// +// If a message is dropped for these reasons, k_EResultIgnored will be returned. +const int k_nSteamNetworkingSend_UnreliableNoDelay = k_nSteamNetworkingSend_Unreliable|k_nSteamNetworkingSend_NoDelay|k_nSteamNetworkingSend_NoNagle; + +// Reliable message send. Can send up to k_cbMaxSteamNetworkingSocketsMessageSizeSend bytes in a single message. +// Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for +// efficient sends of large chunks of data. +// +// The Nagle algorithm is used. See notes on k_ESteamNetworkingSendType_Unreliable for more details. +// See k_ESteamNetworkingSendType_ReliableNoNagle, ISteamNetworkingSockets::FlushMessagesOnConnection, +// ISteamNetworkingMessages::FlushMessagesToUser +// +// Migration note: This is NOT the same as k_EP2PSendReliable, it's more like k_EP2PSendReliableWithBuffering +const int k_nSteamNetworkingSend_Reliable = 8; + +// Send a message reliably, but bypass Nagle's algorithm. +// +// Migration note: This is equivalent to k_EP2PSendReliable +const int k_nSteamNetworkingSend_ReliableNoNagle = k_nSteamNetworkingSend_Reliable|k_nSteamNetworkingSend_NoNagle; + +// By default, message sending is queued, and the work of encryption and talking to +// the operating system sockets, etc is done on a service thread. This is usually a +// a performance win when messages are sent from the "main thread". However, if this +// flag is set, and data is ready to be sent immediately (either from this message +// or earlier queued data), then that work will be done in the current thread, before +// the current call returns. If data is not ready to be sent (due to rate limiting +// or Nagle), then this flag has no effect. +// +// This is an advanced flag used to control performance at a very low level. For +// most applications running on modern hardware with more than one CPU core, doing +// the work of sending on a service thread will yield the best performance. Only +// use this flag if you have a really good reason and understand what you are doing. +// Otherwise you will probably just make performance worse. +const int k_nSteamNetworkingSend_UseCurrentThread = 16; + +// When sending a message using ISteamNetworkingMessages, automatically re-establish +// a broken session, without returning k_EResultNoConnection. Without this flag, +// if you attempt to send a message, and the session was proactively closed by the +// peer, or an error occurred that disrupted communications, then you must close the +// session using ISteamNetworkingMessages::CloseSessionWithUser before attempting to +// send another message. (Or you can simply add this flag and retry.) In this way, +// the disruption cannot go unnoticed, and a more clear order of events can be +// ascertained. This is especially important when reliable messages are used, since +// if the connection is disrupted, some of those messages will not have been delivered, +// and it is in general not possible to know which. Although a +// SteamNetworkingMessagesSessionFailed_t callback will be posted when an error occurs +// to notify you that a failure has happened, callbacks are asynchronous, so it is not +// possible to tell exactly when it happened. And because the primary purpose of +// ISteamNetworkingMessages is to be like UDP, there is no notification when a peer closes +// the session. +// +// If you are not using any reliable messages (e.g. you are using ISteamNetworkingMessages +// exactly as a transport replacement for UDP-style datagrams only), you may not need to +// know when an underlying connection fails, and so you may not need this notification. +const int k_nSteamNetworkingSend_AutoRestartBrokenSession = 32; + +// +// Ping location / measurement +// + +/// Object that describes a "location" on the Internet with sufficient +/// detail that we can reasonably estimate an upper bound on the ping between +/// the two hosts, even if a direct route between the hosts is not possible, +/// and the connection must be routed through the Steam Datagram Relay network. +/// This does not contain any information that identifies the host. Indeed, +/// if two hosts are in the same building or otherwise have nearly identical +/// networking characteristics, then it's valid to use the same location +/// object for both of them. +/// +/// NOTE: This object should only be used in the same process! Do not serialize it, +/// send it over the wire, or persist it in a file or database! If you need +/// to do that, convert it to a string representation using the methods in +/// ISteamNetworkingUtils(). +struct SteamNetworkPingLocation_t +{ + uint8 m_data[ 512 ]; +}; + +/// Max possible length of a ping location, in string format. This is +/// an extremely conservative worst case value which leaves room for future +/// syntax enhancements. Most strings in practice are a lot shorter. +/// If you are storing many of these, you will very likely benefit from +/// using dynamic memory. +const int k_cchMaxSteamNetworkingPingLocationString = 1024; + +/// Special values that are returned by some functions that return a ping. +const int k_nSteamNetworkingPing_Failed = -1; +const int k_nSteamNetworkingPing_Unknown = -2; + +// +// Configuration values +// + +/// Configuration values can be applied to different types of objects. +enum ESteamNetworkingConfigScope +{ + + /// Get/set global option, or defaults. Even options that apply to more specific scopes + /// have global scope, and you may be able to just change the global defaults. If you + /// need different settings per connection (for example), then you will need to set those + /// options at the more specific scope. + k_ESteamNetworkingConfig_Global = 1, + + /// Some options are specific to a particular interface. Note that all connection + /// and listen socket settings can also be set at the interface level, and they will + /// apply to objects created through those interfaces. + k_ESteamNetworkingConfig_SocketsInterface = 2, + + /// Options for a listen socket. Listen socket options can be set at the interface layer, + /// if you have multiple listen sockets and they all use the same options. + /// You can also set connection options on a listen socket, and they set the defaults + /// for all connections accepted through this listen socket. (They will be used if you don't + /// set a connection option.) + k_ESteamNetworkingConfig_ListenSocket = 3, + + /// Options for a specific connection. + k_ESteamNetworkingConfig_Connection = 4, + + k_ESteamNetworkingConfigScope__Force32Bit = 0x7fffffff +}; + +// Different configuration values have different data types +enum ESteamNetworkingConfigDataType +{ + k_ESteamNetworkingConfig_Int32 = 1, + k_ESteamNetworkingConfig_Int64 = 2, + k_ESteamNetworkingConfig_Float = 3, + k_ESteamNetworkingConfig_String = 4, + k_ESteamNetworkingConfig_Ptr = 5, + + k_ESteamNetworkingConfigDataType__Force32Bit = 0x7fffffff +}; + +/// Configuration options +enum ESteamNetworkingConfigValue +{ + k_ESteamNetworkingConfig_Invalid = 0, + +// +// Connection options +// + + /// [connection int32] Timeout value (in ms) to use when first connecting + k_ESteamNetworkingConfig_TimeoutInitial = 24, + + /// [connection int32] Timeout value (in ms) to use after connection is established + k_ESteamNetworkingConfig_TimeoutConnected = 25, + + /// [connection int32] Upper limit of buffered pending bytes to be sent, + /// if this is reached SendMessage will return k_EResultLimitExceeded + /// Default is 512k (524288 bytes) + k_ESteamNetworkingConfig_SendBufferSize = 9, + + /// [connection int32] Upper limit on total size (in bytes) of received messages + /// that will be buffered waiting to be processed by the application. If this limit + /// is exceeded, packets will be dropped. This is to protect us from a malicious + /// peer flooding us with messages faster than we can process them. + /// + /// This must be bigger than k_ESteamNetworkingConfig_RecvMaxMessageSize + k_ESteamNetworkingConfig_RecvBufferSize = 47, + + /// [connection int32] Upper limit on the number of received messages that will + /// that will be buffered waiting to be processed by the application. If this limit + /// is exceeded, packets will be dropped. This is to protect us from a malicious + /// peer flooding us with messages faster than we can pull them off the wire. + k_ESteamNetworkingConfig_RecvBufferMessages = 48, + + /// [connection int32] Maximum message size that we are willing to receive. + /// if a client attempts to send us a message larger than this, the connection + /// will be immediately closed. + /// + /// Default is 512k (524288 bytes). Note that the peer needs to be able to + /// send a message this big. (See k_cbMaxSteamNetworkingSocketsMessageSizeSend.) + k_ESteamNetworkingConfig_RecvMaxMessageSize = 49, + + /// [connection int32] Max number of message segments that can be received + /// in a single UDP packet. While decoding a packet, if the number of segments + /// exceeds this, we will abort further packet processing. + /// + /// The default is effectively unlimited. If you know that you very rarely + /// send small packets, you can protect yourself from malicious senders by + /// lowering this number. + /// + /// In particular, if you are NOT using the reliability layer and are only using + /// SteamNetworkingSockets for datagram transport, setting this to a very low + /// number may be beneficial. (We recommend a value of 2.) Make sure your sender + /// disables Nagle! + k_ESteamNetworkingConfig_RecvMaxSegmentsPerPacket = 50, + + /// [connection int64] Get/set userdata as a configuration option. + /// The default value is -1. You may want to set the user data as + /// a config value, instead of using ISteamNetworkingSockets::SetConnectionUserData + /// in two specific instances: + /// + /// - You wish to set the userdata atomically when creating + /// an outbound connection, so that the userdata is filled in properly + /// for any callbacks that happen. However, note that this trick + /// only works for connections initiated locally! For incoming + /// connections, multiple state transitions may happen and + /// callbacks be queued, before you are able to service the first + /// callback! Be careful! + /// + /// - You can set the default userdata for all newly created connections + /// by setting this value at a higher level (e.g. on the listen + /// socket or at the global level.) Then this default + /// value will be inherited when the connection is created. + /// This is useful in case -1 is a valid userdata value, and you + /// wish to use something else as the default value so you can + /// tell if it has been set or not. + /// + /// HOWEVER: once a connection is created, the effective value is + /// then bound to the connection. Unlike other connection options, + /// if you change it again at a higher level, the new value will not + /// be inherited by connections. + /// + /// Using the userdata field in callback structs is not advised because + /// of tricky race conditions. Instead, you might try one of these methods: + /// + /// - Use a separate map with the HSteamNetConnection as the key. + /// - Fetch the userdata from the connection in your callback + /// using ISteamNetworkingSockets::GetConnectionUserData, to + // ensure you have the current value. + k_ESteamNetworkingConfig_ConnectionUserData = 40, + + /// [connection int32] Minimum/maximum send rate clamp, in bytes/sec. + /// At the time of this writing these two options should always be set to + /// the same value, to manually configure a specific send rate. The default + /// value is 256K. Eventually we hope to have the library estimate the bandwidth + /// of the channel and set the send rate to that estimated bandwidth, and these + /// values will only set limits on that send rate. + k_ESteamNetworkingConfig_SendRateMin = 10, + k_ESteamNetworkingConfig_SendRateMax = 11, + + /// [connection int32] Nagle time, in microseconds. When SendMessage is called, if + /// the outgoing message is less than the size of the MTU, it will be + /// queued for a delay equal to the Nagle timer value. This is to ensure + /// that if the application sends several small messages rapidly, they are + /// coalesced into a single packet. + /// See historical RFC 896. Value is in microseconds. + /// Default is 5000us (5ms). + k_ESteamNetworkingConfig_NagleTime = 12, + + /// [connection int32] Don't automatically fail IP connections that don't have + /// strong auth. On clients, this means we will attempt the connection even if + /// we don't know our identity or can't get a cert. On the server, it means that + /// we won't automatically reject a connection due to a failure to authenticate. + /// (You can examine the incoming connection and decide whether to accept it.) + /// + /// 0: Don't attempt or accept unauthorized connections + /// 1: Attempt authorization when connecting, and allow unauthorized peers, but emit warnings + /// 2: don't attempt authentication, or complain if peer is unauthenticated + /// + /// This is a dev configuration value, and you should not let users modify it in + /// production. + k_ESteamNetworkingConfig_IP_AllowWithoutAuth = 23, + + /// [connection int32] The same as IP_AllowWithoutAuth, but will only apply + /// for connections to/from localhost addresses. Whichever value is larger + /// (more permissive) will be used. + k_ESteamNetworkingConfig_IPLocalHost_AllowWithoutAuth = 52, + + /// [connection int32] Do not send UDP packets with a payload of + /// larger than N bytes. If you set this, k_ESteamNetworkingConfig_MTU_DataSize + /// is automatically adjusted + k_ESteamNetworkingConfig_MTU_PacketSize = 32, + + /// [connection int32] (read only) Maximum message size you can send that + /// will not fragment, based on k_ESteamNetworkingConfig_MTU_PacketSize + k_ESteamNetworkingConfig_MTU_DataSize = 33, + + /// [connection int32] Allow unencrypted (and unauthenticated) communication. + /// 0: Not allowed (the default) + /// 1: Allowed, but prefer encrypted + /// 2: Allowed, and preferred + /// 3: Required. (Fail the connection if the peer requires encryption.) + /// + /// This is a dev configuration value, since its purpose is to disable encryption. + /// You should not let users modify it in production. (But note that it requires + /// the peer to also modify their value in order for encryption to be disabled.) + k_ESteamNetworkingConfig_Unencrypted = 34, + + /// [connection int32] Set this to 1 on outbound connections and listen sockets, + /// to enable "symmetric connect mode", which is useful in the following + /// common peer-to-peer use case: + /// + /// - The two peers are "equal" to each other. (Neither is clearly the "client" + /// or "server".) + /// - Either peer may initiate the connection, and indeed they may do this + /// at the same time + /// - The peers only desire a single connection to each other, and if both + /// peers initiate connections simultaneously, a protocol is needed for them + /// to resolve the conflict, so that we end up with a single connection. + /// + /// This use case is both common, and involves subtle race conditions and tricky + /// pitfalls, which is why the API has support for dealing with it. + /// + /// If an incoming connection arrives on a listen socket or via custom signaling, + /// and the application has not attempted to make a matching outbound connection + /// in symmetric mode, then the incoming connection can be accepted as usual. + /// A "matching" connection means that the relevant endpoint information matches. + /// (At the time this comment is being written, this is only supported for P2P + /// connections, which means that the peer identities must match, and the virtual + /// port must match. At a later time, symmetric mode may be supported for other + /// connection types.) + /// + /// If connections are initiated by both peers simultaneously, race conditions + /// can arise, but fortunately, most of them are handled internally and do not + /// require any special awareness from the application. However, there + /// is one important case that application code must be aware of: + /// If application code attempts an outbound connection using a ConnectXxx + /// function in symmetric mode, and a matching incoming connection is already + /// waiting on a listen socket, then instead of forming a new connection, + /// the ConnectXxx call will accept the existing incoming connection, and return + /// a connection handle to this accepted connection. + /// IMPORTANT: in this case, a SteamNetConnectionStatusChangedCallback_t + /// has probably *already* been posted to the queue for the incoming connection! + /// (Once callbacks are posted to the queue, they are not modified.) It doesn't + /// matter if the callback has not been consumed by the app. Thus, application + /// code that makes use of symmetric connections must be aware that, when processing a + /// SteamNetConnectionStatusChangedCallback_t for an incoming connection, the + /// m_hConn may refer to a new connection that the app has has not + /// seen before (the usual case), but it may also refer to a connection that + /// has already been accepted implicitly through a call to Connect()! In this + /// case, AcceptConnection() will return k_EResultDuplicateRequest. + /// + /// Only one symmetric connection to a given peer (on a given virtual port) + /// may exist at any given time. If client code attempts to create a connection, + /// and a (live) connection already exists on the local host, then either the + /// existing connection will be accepted as described above, or the attempt + /// to create a new connection will fail. Furthermore, linger mode functionality + /// is not supported on symmetric connections. + /// + /// A more complicated race condition can arise if both peers initiate a connection + /// at roughly the same time. In this situation, each peer will receive an incoming + /// connection from the other peer, when the application code has already initiated + /// an outgoing connection to that peer. The peers must resolve this conflict and + /// decide who is going to act as the "server" and who will act as the "client". + /// Typically the application does not need to be aware of this case as it is handled + /// internally. On both sides, the will observe their outbound connection being + /// "accepted", although one of them one have been converted internally to act + /// as the "server". + /// + /// In general, symmetric mode should be all-or-nothing: do not mix symmetric + /// connections with a non-symmetric connection that it might possible "match" + /// with. If you use symmetric mode on any connections, then both peers should + /// use it on all connections, and the corresponding listen socket, if any. The + /// behaviour when symmetric and ordinary connections are mixed is not defined by + /// this API, and you should not rely on it. (This advice only applies when connections + /// might possibly "match". For example, it's OK to use all symmetric mode + /// connections on one virtual port, and all ordinary, non-symmetric connections + /// on a different virtual port, as there is no potential for ambiguity.) + /// + /// When using the feature, you should set it in the following situations on + /// applicable objects: + /// + /// - When creating an outbound connection using ConnectXxx function + /// - When creating a listen socket. (Note that this will automatically cause + /// any accepted connections to inherit the flag.) + /// - When using custom signaling, before accepting an incoming connection. + /// + /// Setting the flag on listen socket and accepted connections will enable the + /// API to automatically deal with duplicate incoming connections, even if the + /// local host has not made any outbound requests. (In general, such duplicate + /// requests from a peer are ignored internally and will not be visible to the + /// application code. The previous connection must be closed or resolved first.) + k_ESteamNetworkingConfig_SymmetricConnect = 37, + + /// [connection int32] For connection types that use "virtual ports", this can be used + /// to assign a local virtual port. For incoming connections, this will always be the + /// virtual port of the listen socket (or the port requested by the remote host if custom + /// signaling is used and the connection is accepted), and cannot be changed. For + /// connections initiated locally, the local virtual port will default to the same as the + /// requested remote virtual port, if you do not specify a different option when creating + /// the connection. The local port is only relevant for symmetric connections, when + /// determining if two connections "match." In this case, if you need the local and remote + /// port to differ, you can set this value. + /// + /// You can also read back this value on listen sockets. + /// + /// This value should not be read or written in any other context. + k_ESteamNetworkingConfig_LocalVirtualPort = 38, + + /// [connection int32] Enable Dual wifi band support for this connection + /// 0 = no, 1 = yes, 2 = simulate it for debugging, even if dual wifi not available + k_ESteamNetworkingConfig_DualWifi_Enable = 39, + + /// [connection int32] True to enable diagnostics reporting through + /// generic platform UI. (Only available on Steam.) + k_ESteamNetworkingConfig_EnableDiagnosticsUI = 46, + + /// [connection int32] Send of time-since-previous-packet values in each UDP packet. + /// This add a small amount of packet overhead but allows for detailed jitter measurements + /// to be made by the receiver. + /// + /// - 0: disables the sending + /// - 1: enables sending + /// - -1: (the default) Use the default for the connection type. For plain UDP connections, + /// this is disabled, and for relayed connections, it is enabled. Note that relays + /// always send the value. + k_ESteamNetworkingConfig_SendTimeSincePreviousPacket = 59, + +// +// Simulating network conditions +// +// These are global (not per-connection) because they apply at +// a relatively low UDP layer. +// + + /// [global float, 0--100] Randomly discard N pct of packets instead of sending/recv + /// This is a global option only, since it is applied at a low level + /// where we don't have much context + k_ESteamNetworkingConfig_FakePacketLoss_Send = 2, + k_ESteamNetworkingConfig_FakePacketLoss_Recv = 3, + + /// [global int32]. Delay all outbound/inbound packets by N ms + k_ESteamNetworkingConfig_FakePacketLag_Send = 4, + k_ESteamNetworkingConfig_FakePacketLag_Recv = 5, + + /// Simulated jitter/clumping. + /// + /// For each packet, a jitter value is determined (which may + /// be zero). This amount is added as extra delay to the + /// packet. When a subsequent packet is queued, it receives its + /// own random jitter amount from the current time. if this would + /// result in the packets being delivered out of order, the later + /// packet queue time is adjusted to happen after the first packet. + /// Thus simulating jitter by itself will not reorder packets, but it + /// can "clump" them. + /// + /// - Avg: A random jitter time is generated using an exponential + /// distribution using this value as the mean (ms). The default + /// is zero, which disables random jitter. + /// - Max: Limit the random jitter time to this value (ms). + /// - Pct: odds (0-100) that a random jitter value for the packet + /// will be generated. Otherwise, a jitter value of zero + /// is used, and the packet will only be delayed by the jitter + /// system if necessary to retain order, due to the jitter of a + /// previous packet. + /// + /// All values are [global float] + /// + /// Fake jitter is simulated after fake lag, but before reordering. + k_ESteamNetworkingConfig_FakePacketJitter_Send_Avg = 53, + k_ESteamNetworkingConfig_FakePacketJitter_Send_Max = 54, + k_ESteamNetworkingConfig_FakePacketJitter_Send_Pct = 55, + k_ESteamNetworkingConfig_FakePacketJitter_Recv_Avg = 56, + k_ESteamNetworkingConfig_FakePacketJitter_Recv_Max = 57, + k_ESteamNetworkingConfig_FakePacketJitter_Recv_Pct = 58, + + /// [global float] 0-100 Percentage of packets we will add additional + /// delay to. If other packet(s) are sent/received within this delay + /// window (that doesn't also randomly receive the same extra delay), + /// then the packets become reordered. + /// + /// This mechanism is primarily intended to generate out-of-order + /// packets. To simulate random jitter, use the FakePacketJitter. + /// Fake packet reordering is applied after fake lag and jitter + k_ESteamNetworkingConfig_FakePacketReorder_Send = 6, + k_ESteamNetworkingConfig_FakePacketReorder_Recv = 7, + + /// [global int32] Extra delay, in ms, to apply to reordered + /// packets. The same time value is used for sending and receiving. + k_ESteamNetworkingConfig_FakePacketReorder_Time = 8, + + /// [global float 0--100] Globally duplicate some percentage of packets. + k_ESteamNetworkingConfig_FakePacketDup_Send = 26, + k_ESteamNetworkingConfig_FakePacketDup_Recv = 27, + + /// [global int32] Amount of delay, in ms, to delay duplicated packets. + /// (We chose a random delay between 0 and this value) + k_ESteamNetworkingConfig_FakePacketDup_TimeMax = 28, + + /// [global int32] Trace every UDP packet, similar to Wireshark or tcpdump. + /// Value is max number of bytes to dump. -1 disables tracing. + // 0 only traces the info but no actual data bytes + k_ESteamNetworkingConfig_PacketTraceMaxBytes = 41, + + + // [global int32] Global UDP token bucket rate limits. + // "Rate" refers to the steady state rate. (Bytes/sec, the + // rate that tokens are put into the bucket.) "Burst" + // refers to the max amount that could be sent in a single + // burst. (In bytes, the max capacity of the bucket.) + // Rate=0 disables the limiter entirely, which is the default. + // Burst=0 disables burst. (This is not realistic. A + // burst of at least 4K is recommended; the default is higher.) + k_ESteamNetworkingConfig_FakeRateLimit_Send_Rate = 42, + k_ESteamNetworkingConfig_FakeRateLimit_Send_Burst = 43, + k_ESteamNetworkingConfig_FakeRateLimit_Recv_Rate = 44, + k_ESteamNetworkingConfig_FakeRateLimit_Recv_Burst = 45, + + // Timeout used for out-of-order correction. This is used when we see a small + // gap in the sequence number on a packet flow. For example let's say we are + // processing packet 105 when the most recent one was 103. 104 might have dropped, + // but there is also a chance that packets are simply being reordered. It is very + // common on certain types of connections for packet 104 to arrive very soon after 105, + // especially if 104 was large and 104 was small. In this case, when we see packet 105 + // we will shunt it aside and pend it, in the hopes of seeing 104 soon after. If 104 + // arrives before the a timeout occurs, then we can deliver the packets in order to the + // remainder of packet processing, and we will record this as a "correctable" out-of-order + // situation. If the timer expires, then we will process packet 105, and assume for now + // that 104 has dropped. (If 104 later arrives, we will process it, but that will be + // accounted for as uncorrected.) + // + // The default value is 1000 microseconds. Note that the Windows scheduler does not + // have microsecond precision. + // + // Set the value to 0 to disable out of order correction at the packet layer. + // In many cases we are still effectively able to correct the situation because + // reassembly of message fragments is tolerant of fragments packets arriving out of + // order. Also, when messages are decoded and inserted into the queue for the app + // to receive them, we will correct out of order messages that have not been + // dequeued by the app yet. However, when out-of-order packets are corrected + // at the packet layer, they will not reduce the connection quality measure. + // (E.g. SteamNetConnectionRealTimeStatus_t::m_flConnectionQualityLocal) + k_ESteamNetworkingConfig_OutOfOrderCorrectionWindowMicroseconds = 51, + +// +// Callbacks +// + + // On Steam, you may use the default Steam callback dispatch mechanism. If you prefer + // to not use this dispatch mechanism (or you are not running with Steam), or you want + // to associate specific functions with specific listen sockets or connections, you can + // register them as configuration values. + // + // Note also that ISteamNetworkingUtils has some helpers to set these globally. + + /// [connection FnSteamNetConnectionStatusChanged] Callback that will be invoked + /// when the state of a connection changes. + /// + /// IMPORTANT: callbacks are dispatched to the handler that is in effect at the time + /// the event occurs, which might be in another thread. For example, immediately after + /// creating a listen socket, you may receive an incoming connection. And then immediately + /// after this, the remote host may close the connection. All of this could happen + /// before the function to create the listen socket has returned. For this reason, + /// callbacks usually must be in effect at the time of object creation. This means + /// you should set them when you are creating the listen socket or connection, or have + /// them in effect so they will be inherited at the time of object creation. + /// + /// For example: + /// + /// exterm void MyStatusChangedFunc( SteamNetConnectionStatusChangedCallback_t *info ); + /// SteamNetworkingConfigValue_t opt; opt.SetPtr( k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, MyStatusChangedFunc ); + /// SteamNetworkingIPAddr localAddress; localAddress.Clear(); + /// HSteamListenSocket hListenSock = SteamNetworkingSockets()->CreateListenSocketIP( localAddress, 1, &opt ); + /// + /// When accepting an incoming connection, there is no atomic way to switch the + /// callback. However, if the connection is DOA, AcceptConnection() will fail, and + /// you can fetch the state of the connection at that time. + /// + /// If all connections and listen sockets can use the same callback, the simplest + /// method is to set it globally before you create any listen sockets or connections. + k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged = 201, + + /// [global FnSteamNetAuthenticationStatusChanged] Callback that will be invoked + /// when our auth state changes. If you use this, install the callback before creating + /// any connections or listen sockets, and don't change it. + /// See: ISteamNetworkingUtils::SetGlobalCallback_SteamNetAuthenticationStatusChanged + k_ESteamNetworkingConfig_Callback_AuthStatusChanged = 202, + + /// [global FnSteamRelayNetworkStatusChanged] Callback that will be invoked + /// when our auth state changes. If you use this, install the callback before creating + /// any connections or listen sockets, and don't change it. + /// See: ISteamNetworkingUtils::SetGlobalCallback_SteamRelayNetworkStatusChanged + k_ESteamNetworkingConfig_Callback_RelayNetworkStatusChanged = 203, + + /// [global FnSteamNetworkingMessagesSessionRequest] Callback that will be invoked + /// when a peer wants to initiate a SteamNetworkingMessagesSessionRequest. + /// See: ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionRequest + k_ESteamNetworkingConfig_Callback_MessagesSessionRequest = 204, + + /// [global FnSteamNetworkingMessagesSessionFailed] Callback that will be invoked + /// when a session you have initiated, or accepted either fails to connect, or loses + /// connection in some unexpected way. + /// See: ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionFailed + k_ESteamNetworkingConfig_Callback_MessagesSessionFailed = 205, + + /// [global FnSteamNetworkingSocketsCreateConnectionSignaling] Callback that will + /// be invoked when we need to create a signaling object for a connection + /// initiated locally. See: ISteamNetworkingSockets::ConnectP2P, + /// ISteamNetworkingMessages. + k_ESteamNetworkingConfig_Callback_CreateConnectionSignaling = 206, + + /// [global FnSteamNetworkingFakeIPResult] Callback that's invoked when + /// a FakeIP allocation finishes. See: ISteamNetworkingSockets::BeginAsyncRequestFakeIP, + /// ISteamNetworkingUtils::SetGlobalCallback_FakeIPResult + k_ESteamNetworkingConfig_Callback_FakeIPResult = 207, + +// +// P2P connection settings +// + +// /// [listen socket int32] When you create a P2P listen socket, we will automatically +// /// open up a UDP port to listen for LAN connections. LAN connections can be made +// /// without any signaling: both sides can be disconnected from the Internet. +// /// +// /// This value can be set to zero to disable the feature. +// k_ESteamNetworkingConfig_P2P_Discovery_Server_LocalPort = 101, +// +// /// [connection int32] P2P connections can perform broadcasts looking for the peer +// /// on the LAN. +// k_ESteamNetworkingConfig_P2P_Discovery_Client_RemotePort = 102, + + /// [connection string] Comma-separated list of STUN servers that can be used + /// for NAT piercing. If you set this to an empty string, NAT piercing will + /// not be attempted. Also if "public" candidates are not allowed for + /// P2P_Transport_ICE_Enable, then this is ignored. + k_ESteamNetworkingConfig_P2P_STUN_ServerList = 103, + + /// [connection int32] What types of ICE candidates to share with the peer. + /// See k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_xxx values + k_ESteamNetworkingConfig_P2P_Transport_ICE_Enable = 104, + + /// [connection int32] When selecting P2P transport, add various + /// penalties to the scores for selected transports. (Route selection + /// scores are on a scale of milliseconds. The score begins with the + /// route ping time and is then adjusted.) + k_ESteamNetworkingConfig_P2P_Transport_ICE_Penalty = 105, + k_ESteamNetworkingConfig_P2P_Transport_SDR_Penalty = 106, + k_ESteamNetworkingConfig_P2P_TURN_ServerList = 107, + k_ESteamNetworkingConfig_P2P_TURN_UserList = 108, + k_ESteamNetworkingConfig_P2P_TURN_PassList = 109, + //k_ESteamNetworkingConfig_P2P_Transport_LANBeacon_Penalty = 107, + k_ESteamNetworkingConfig_P2P_Transport_ICE_Implementation = 110, + +// +// Settings for SDR relayed connections +// + + /// [global int32] If the first N pings to a port all fail, mark that port as unavailable for + /// a while, and try a different one. Some ISPs and routers may drop the first + /// packet, so setting this to 1 may greatly disrupt communications. + k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFailInitial = 19, + + /// [global int32] If N consecutive pings to a port fail, after having received successful + /// communication, mark that port as unavailable for a while, and try a + /// different one. + k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFail = 20, + + /// [global int32] Minimum number of lifetime pings we need to send, before we think our estimate + /// is solid. The first ping to each cluster is very often delayed because of NAT, + /// routers not having the best route, etc. Until we've sent a sufficient number + /// of pings, our estimate is often inaccurate. Keep pinging until we get this + /// many pings. + k_ESteamNetworkingConfig_SDRClient_MinPingsBeforePingAccurate = 21, + + /// [global int32] Set all steam datagram traffic to originate from the same + /// local port. By default, we open up a new UDP socket (on a different local + /// port) for each relay. This is slightly less optimal, but it works around + /// some routers that don't implement NAT properly. If you have intermittent + /// problems talking to relays that might be NAT related, try toggling + /// this flag + k_ESteamNetworkingConfig_SDRClient_SingleSocket = 22, + + /// [global string] Code of relay cluster to force use. If not empty, we will + /// only use relays in that cluster. E.g. 'iad' + k_ESteamNetworkingConfig_SDRClient_ForceRelayCluster = 29, + + /// [connection string] For development, a base-64 encoded ticket generated + /// using the cert tool. This can be used to connect to a gameserver via SDR + /// without a ticket generated using the game coordinator. (You will still + /// need a key that is trusted for your app, however.) + /// + /// This can also be passed using the SDR_DEVTICKET environment variable + k_ESteamNetworkingConfig_SDRClient_DevTicket = 30, + + /// [global string] For debugging. Override list of relays from the config with + /// this set (maybe just one). Comma-separated list. + k_ESteamNetworkingConfig_SDRClient_ForceProxyAddr = 31, + + /// [global string] For debugging. Force ping times to clusters to be the specified + /// values. A comma separated list of = values. E.g. "sto=32,iad=100" + /// + /// This is a dev configuration value, you probably should not let users modify it + /// in production. + k_ESteamNetworkingConfig_SDRClient_FakeClusterPing = 36, + + /// [global int32] When probing the SteamDatagram network, we limit exploration + /// to the closest N POPs, based on our current best approximated ping to that POP. + k_ESteamNetworkingConfig_SDRClient_LimitPingProbesToNearestN = 60, + +// +// Log levels for debugging information of various subsystems. +// Higher numeric values will cause more stuff to be printed. +// See ISteamNetworkingUtils::SetDebugOutputFunction for more +// information +// +// The default for all values is k_ESteamNetworkingSocketsDebugOutputType_Warning. +// + k_ESteamNetworkingConfig_LogLevel_AckRTT = 13, // [connection int32] RTT calculations for inline pings and replies + k_ESteamNetworkingConfig_LogLevel_PacketDecode = 14, // [connection int32] log SNP packets send/recv + k_ESteamNetworkingConfig_LogLevel_Message = 15, // [connection int32] log each message send/recv + k_ESteamNetworkingConfig_LogLevel_PacketGaps = 16, // [connection int32] dropped packets + 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".) + k_ESteamNetworkingConfig_ECN = 999, + + // Deleted, do not use + k_ESteamNetworkingConfig_DELETED_EnumerateDevVars = 35, + + k_ESteamNetworkingConfigValue__Force32Bit = 0x7fffffff +}; + +// Bitmask of types to share +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Default = -1; // Special value - use user defaults +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Disable = 0; // Do not do any ICE work at all or share any IP addresses with peer +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Relay = 1; // Relayed connection via TURN server. +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Private = 2; // host addresses that appear to be link-local or RFC1918 addresses +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Public = 4; // STUN reflexive addresses, or host address that isn't a "private" address +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_All = 0x7fffffff; + +/// In a few places we need to set configuration options on listen sockets and connections, and +/// have them take effect *before* the listen socket or connection really starts doing anything. +/// Creating the object and then setting the options "immediately" after creation doesn't work +/// completely, because network packets could be received between the time the object is created and +/// when the options are applied. To set options at creation time in a reliable way, they must be +/// passed to the creation function. This structure is used to pass those options. +/// +/// For the meaning of these fields, see ISteamNetworkingUtils::SetConfigValue. Basically +/// when the object is created, we just iterate over the list of options and call +/// ISteamNetworkingUtils::SetConfigValueStruct, where the scope arguments are supplied by the +/// object being created. +struct SteamNetworkingConfigValue_t +{ + /// Which option is being set + ESteamNetworkingConfigValue m_eValue; + + /// Which field below did you fill in? + ESteamNetworkingConfigDataType m_eDataType; + + /// Option value + union + { + int32_t m_int32; + int64_t m_int64; + float m_float; + const char *m_string; // Points to your '\0'-terminated buffer + void *m_ptr; + } m_val; + + // + // Shortcut helpers to set the type and value in a single call + // + inline void SetInt32( ESteamNetworkingConfigValue eVal, int32_t data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Int32; + m_val.m_int32 = data; + } + inline void SetInt64( ESteamNetworkingConfigValue eVal, int64_t data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Int64; + m_val.m_int64 = data; + } + inline void SetFloat( ESteamNetworkingConfigValue eVal, float data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Float; + m_val.m_float = data; + } + inline void SetPtr( ESteamNetworkingConfigValue eVal, void *data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Ptr; + m_val.m_ptr = data; + } + inline void SetString( ESteamNetworkingConfigValue eVal, const char *data ) // WARNING - Just saves your pointer. Does NOT make a copy of the string + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Ptr; + m_val.m_string = data; + } +}; + +/// Return value of ISteamNetworkintgUtils::GetConfigValue +enum ESteamNetworkingGetConfigValueResult +{ + k_ESteamNetworkingGetConfigValue_BadValue = -1, // No such configuration value + k_ESteamNetworkingGetConfigValue_BadScopeObj = -2, // Bad connection handle, etc + k_ESteamNetworkingGetConfigValue_BufferTooSmall = -3, // Couldn't fit the result in your buffer + k_ESteamNetworkingGetConfigValue_OK = 1, + k_ESteamNetworkingGetConfigValue_OKInherited = 2, // A value was not set at this level, but the effective (inherited) value was returned. + + k_ESteamNetworkingGetConfigValueResult__Force32Bit = 0x7fffffff +}; + +// +// Debug output +// + +/// Detail level for diagnostic output callback. +/// See ISteamNetworkingUtils::SetDebugOutputFunction +enum ESteamNetworkingSocketsDebugOutputType +{ + k_ESteamNetworkingSocketsDebugOutputType_None = 0, + k_ESteamNetworkingSocketsDebugOutputType_Bug = 1, // You used the API incorrectly, or an internal error happened + k_ESteamNetworkingSocketsDebugOutputType_Error = 2, // Run-time error condition that isn't the result of a bug. (E.g. we are offline, cannot bind a port, etc) + k_ESteamNetworkingSocketsDebugOutputType_Important = 3, // Nothing is wrong, but this is an important notification + k_ESteamNetworkingSocketsDebugOutputType_Warning = 4, + k_ESteamNetworkingSocketsDebugOutputType_Msg = 5, // Recommended amount + k_ESteamNetworkingSocketsDebugOutputType_Verbose = 6, // Quite a bit + k_ESteamNetworkingSocketsDebugOutputType_Debug = 7, // Practically everything + k_ESteamNetworkingSocketsDebugOutputType_Everything = 8, // Wall of text, detailed packet contents breakdown, etc + + k_ESteamNetworkingSocketsDebugOutputType__Force32Bit = 0x7fffffff +}; + +/// Setup callback for debug output, and the desired verbosity you want. +typedef void (*FSteamNetworkingSocketsDebugOutput)( ESteamNetworkingSocketsDebugOutputType nType, const char *pszMsg ); + +// +// Valve data centers +// + +/// Convert 3- or 4-character ID to 32-bit int. +inline SteamNetworkingPOPID CalculateSteamNetworkingPOPIDFromString( const char *pszCode ) +{ + // OK we made a bad decision when we decided how to pack 3-character codes into a uint32. We'd like to support + // 4-character codes, but we don't want to break compatibility. The migration path has some subtleties that make + // this nontrivial, and there are already some IDs stored in SQL. Ug, so the 4 character code "abcd" will + // be encoded with the digits like "0xddaabbcc". + // + // Also: we don't currently use 1- or 2-character codes, but if ever do in the future, let's make sure don't read + // past the end of the string and access uninitialized memory. (And if the string is empty, we always want + // to return 0 and not read bytes past the '\0'.) + // + // There is also extra paranoia to make sure the bytes are not treated as signed. + SteamNetworkingPOPID result = (uint32)(uint8)pszCode[0] << 16U; + if ( result && pszCode[1] ) + { + result |= ( (uint32)(uint8)pszCode[1] << 8U ); + if ( pszCode[2] ) + { + result |= (uint32)(uint8)pszCode[2] | ( (uint32)(uint8)pszCode[3] << 24U ); + } + } + return result; +} + +/// Unpack integer to string representation, including terminating '\0' +/// +/// See also SteamNetworkingPOPIDRender +template +inline void GetSteamNetworkingLocationPOPStringFromID( SteamNetworkingPOPID id, char (&szCode)[N] ) +{ + static_assert( N >= 5, "Fixed-size buffer not big enough to hold SDR POP ID" ); + szCode[0] = char( id >> 16U ); + szCode[1] = char( id >> 8U ); + szCode[2] = char( id ); + szCode[3] = char( id >> 24U ); // See comment above about deep regret and sadness + szCode[4] = 0; +} + +/// The POPID "dev" is used in non-production environments for testing. +const SteamNetworkingPOPID k_SteamDatagramPOPID_dev = ( (uint32)'d' << 16U ) | ( (uint32)'e' << 8U ) | (uint32)'v'; + +#ifndef API_GEN + +/// Utility class for printing a SteamNetworkingPOPID. +struct SteamNetworkingPOPIDRender +{ + SteamNetworkingPOPIDRender( SteamNetworkingPOPID x ) { GetSteamNetworkingLocationPOPStringFromID( x, buf ); } + inline const char *c_str() const { return buf; } +private: + char buf[ 8 ]; +}; + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// Internal stuff +#ifndef API_GEN + +// For code compatibility +typedef SteamNetworkingMessage_t ISteamNetworkingMessage; +typedef SteamNetworkingErrMsg SteamDatagramErrMsg; + +inline void SteamNetworkingIPAddr::Clear() { memset( this, 0, sizeof(*this) ); } +inline bool SteamNetworkingIPAddr::IsIPv6AllZeros() const { const uint64 *q = (const uint64 *)m_ipv6; return q[0] == 0 && q[1] == 0; } +inline void SteamNetworkingIPAddr::SetIPv6( const uint8 *ipv6, uint16 nPort ) { memcpy( m_ipv6, ipv6, 16 ); m_port = nPort; } +inline void SteamNetworkingIPAddr::SetIPv4( uint32 nIP, uint16 nPort ) { m_ipv4.m_8zeros = 0; m_ipv4.m_0000 = 0; m_ipv4.m_ffff = 0xffff; m_ipv4.m_ip[0] = uint8(nIP>>24); m_ipv4.m_ip[1] = uint8(nIP>>16); m_ipv4.m_ip[2] = uint8(nIP>>8); m_ipv4.m_ip[3] = uint8(nIP); m_port = nPort; } +inline bool SteamNetworkingIPAddr::IsIPv4() const { return m_ipv4.m_8zeros == 0 && m_ipv4.m_0000 == 0 && m_ipv4.m_ffff == 0xffff; } +inline uint32 SteamNetworkingIPAddr::GetIPv4() const { return IsIPv4() ? ( (uint32(m_ipv4.m_ip[0])<<24) | (uint32(m_ipv4.m_ip[1])<<16) | (uint32(m_ipv4.m_ip[2])<<8) | uint32(m_ipv4.m_ip[3]) ) : 0; } +inline void SteamNetworkingIPAddr::SetIPv6LocalHost( uint16 nPort ) { m_ipv4.m_8zeros = 0; m_ipv4.m_0000 = 0; m_ipv4.m_ffff = 0; m_ipv6[12] = 0; m_ipv6[13] = 0; m_ipv6[14] = 0; m_ipv6[15] = 1; m_port = nPort; } +inline bool SteamNetworkingIPAddr::IsLocalHost() const { return ( m_ipv4.m_8zeros == 0 && m_ipv4.m_0000 == 0 && m_ipv4.m_ffff == 0 && m_ipv6[12] == 0 && m_ipv6[13] == 0 && m_ipv6[14] == 0 && m_ipv6[15] == 1 ) || ( GetIPv4() == 0x7f000001 ); } +inline bool SteamNetworkingIPAddr::operator==(const SteamNetworkingIPAddr &x ) const { return memcmp( this, &x, sizeof(SteamNetworkingIPAddr) ) == 0; } + +inline void SteamNetworkingIdentity::Clear() { memset( this, 0, sizeof(*this) ); } +inline bool SteamNetworkingIdentity::IsInvalid() const { return m_eType == k_ESteamNetworkingIdentityType_Invalid; } +inline void SteamNetworkingIdentity::SetSteamID( CSteamID steamID ) { SetSteamID64( steamID.ConvertToUint64() ); } +inline CSteamID SteamNetworkingIdentity::GetSteamID() const { return CSteamID( GetSteamID64() ); } +inline void SteamNetworkingIdentity::SetSteamID64( uint64 steamID ) { m_eType = k_ESteamNetworkingIdentityType_SteamID; m_cbSize = sizeof( m_steamID64 ); m_steamID64 = steamID; } +inline uint64 SteamNetworkingIdentity::GetSteamID64() const { return m_eType == k_ESteamNetworkingIdentityType_SteamID ? m_steamID64 : 0; } +inline bool SteamNetworkingIdentity::SetXboxPairwiseID( const char *pszString ) { size_t l = strlen( pszString ); if ( l < 1 || l >= sizeof(m_szXboxPairwiseID) ) return false; + m_eType = k_ESteamNetworkingIdentityType_XboxPairwiseID; m_cbSize = int(l+1); memcpy( m_szXboxPairwiseID, pszString, m_cbSize ); return true; } +inline const char *SteamNetworkingIdentity::GetXboxPairwiseID() const { return m_eType == k_ESteamNetworkingIdentityType_XboxPairwiseID ? m_szXboxPairwiseID : NULL; } +inline void SteamNetworkingIdentity::SetPSNID( uint64 id ) { m_eType = k_ESteamNetworkingIdentityType_SonyPSN; m_cbSize = sizeof( m_PSNID ); m_PSNID = id; } +inline uint64 SteamNetworkingIdentity::GetPSNID() const { return m_eType == k_ESteamNetworkingIdentityType_SonyPSN ? m_PSNID : 0; } +inline void SteamNetworkingIdentity::SetIPAddr( const SteamNetworkingIPAddr &addr ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip = addr; } +inline const SteamNetworkingIPAddr *SteamNetworkingIdentity::GetIPAddr() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? &m_ip : NULL; } +inline void SteamNetworkingIdentity::SetIPv4Addr( uint32 nIPv4, uint16 nPort ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv4( nIPv4, nPort ); } +inline uint32 SteamNetworkingIdentity::GetIPv4() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetIPv4() : 0; } +inline ESteamNetworkingFakeIPType SteamNetworkingIdentity::GetFakeIPType() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetFakeIPType() : k_ESteamNetworkingFakeIPType_Invalid; } +inline void SteamNetworkingIdentity::SetLocalHost() { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv6LocalHost(); } +inline bool SteamNetworkingIdentity::IsLocalHost() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress && m_ip.IsLocalHost(); } +inline bool SteamNetworkingIdentity::SetGenericString( const char *pszString ) { size_t l = strlen( pszString ); if ( l >= sizeof(m_szGenericString) ) return false; + m_eType = k_ESteamNetworkingIdentityType_GenericString; m_cbSize = int(l+1); memcpy( m_szGenericString, pszString, m_cbSize ); return true; } +inline const char *SteamNetworkingIdentity::GetGenericString() const { return m_eType == k_ESteamNetworkingIdentityType_GenericString ? m_szGenericString : NULL; } +inline bool SteamNetworkingIdentity::SetGenericBytes( const void *data, size_t cbLen ) { if ( cbLen > sizeof(m_genericBytes) ) return false; + m_eType = k_ESteamNetworkingIdentityType_GenericBytes; m_cbSize = int(cbLen); memcpy( m_genericBytes, data, m_cbSize ); return true; } +inline const uint8 *SteamNetworkingIdentity::GetGenericBytes( int &cbLen ) const { if ( m_eType != k_ESteamNetworkingIdentityType_GenericBytes ) return NULL; + cbLen = m_cbSize; return m_genericBytes; } +inline bool SteamNetworkingIdentity::operator==(const SteamNetworkingIdentity &x ) const { return m_eType == x.m_eType && m_cbSize == x.m_cbSize && memcmp( m_genericBytes, x.m_genericBytes, m_cbSize ) == 0; } +inline void SteamNetworkingMessage_t::Release() { (*m_pfnRelease)( this ); } + +#endif // #ifndef API_GEN + +#endif // #ifndef STEAMNETWORKINGTYPES diff --git a/Steam/steamps3params.h b/Steam/steamps3params.h new file mode 100644 index 0000000..c0741b4 --- /dev/null +++ b/Steam/steamps3params.h @@ -0,0 +1,112 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMPS3PARAMS_H +#define STEAMPS3PARAMS_H +#ifdef _WIN32 +#pragma once +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 initialization parameters +// +// The following structure must be passed to when loading steam_api_ps3.prx +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAM_PS3_PATH_MAX 1055 +#define STEAM_PS3_SERVICE_ID_MAX 32 +#define STEAM_PS3_COMMUNICATION_ID_MAX 10 +#define STEAM_PS3_COMMUNICATION_SIG_MAX 160 +#define STEAM_PS3_LANGUAGE_MAX 64 +#define STEAM_PS3_REGION_CODE_MAX 16 +#define STEAM_PS3_CURRENT_PARAMS_VER 2 +struct SteamPS3Params_t +{ + uint32 m_unVersion; // set to STEAM_PS3_CURRENT_PARAMS_VER + + void *pReserved; + uint32 m_nAppId; // set to your game's appid + + char m_rgchInstallationPath[ STEAM_PS3_PATH_MAX ]; // directory containing latest steam prx's and sdata. Can be read only (BDVD) + char m_rgchSystemCache[ STEAM_PS3_PATH_MAX ]; // temp working cache, not persistent + char m_rgchGameData[ STEAM_PS3_PATH_MAX ]; // persistent game data path for storing user data + char m_rgchNpServiceID[ STEAM_PS3_SERVICE_ID_MAX ]; + char m_rgchNpCommunicationID[ STEAM_PS3_COMMUNICATION_ID_MAX ]; + char m_rgchNpCommunicationSig[ STEAM_PS3_COMMUNICATION_SIG_MAX ]; + + // Language should be one of the following. must be zero terminated + // danish + // dutch + // english + // finnish + // french + // german + // italian + // korean + // norwegian + // polish + // portuguese + // russian + // schinese + // spanish + // swedish + // tchinese + char m_rgchSteamLanguage[ STEAM_PS3_LANGUAGE_MAX ]; + + // region codes are "SCEA", "SCEE", "SCEJ". must be zero terminated + char m_rgchRegionCode[ STEAM_PS3_REGION_CODE_MAX ]; + + // Should be SYS_TTYP3 through SYS_TTYP10, if it's 0 then Steam won't spawn a + // thread to read console input at all. Using this let's you use Steam console commands + // like: profile_on, profile_off, profile_dump, mem_stats, mem_validate. + unsigned int m_cSteamInputTTY; + + struct Ps3netInit_t + { + bool m_bNeedInit; + void *m_pMemory; + int m_nMemorySize; + int m_flags; + } m_sysNetInitInfo; + + struct Ps3jpgInit_t + { + bool m_bNeedInit; + } m_sysJpgInitInfo; + + struct Ps3pngInit_t + { + bool m_bNeedInit; + } m_sysPngInitInfo; + + struct Ps3sysutilUserInfo_t + { + bool m_bNeedInit; + } m_sysSysUtilUserInfo; + + bool m_bIncludeNewsPage; +}; + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 memory structure +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAMPS3_MALLOC_INUSE 0x53D04A51 +#define STEAMPS3_MALLOC_SYSTEM 0x0D102C48 +#define STEAMPS3_MALLOC_OK 0xFFD04A51 +struct SteamPS3Memory_t +{ + bool m_bSingleAllocation; // If true, Steam will request one 6MB allocation and use the returned memory for all future allocations + // If false, Steam will make call malloc for each allocation + + // required function pointers + void* (*m_pfMalloc)(size_t); + void* (*m_pfRealloc)(void *, size_t); + void (*m_pfFree)(void *); + size_t (*m_pUsable_size)(void*); +}; + + +#endif // STEAMPS3PARAMS_H diff --git a/Steam/steamtypes.h b/Steam/steamtypes.h new file mode 100644 index 0000000..657f5b3 --- /dev/null +++ b/Steam/steamtypes.h @@ -0,0 +1,182 @@ +//========= Copyright 1996-2022, Valve LLC, All rights reserved. ============ + +#ifndef STEAMTYPES_H +#define STEAMTYPES_H + +#define S_CALLTYPE __cdecl +// WARNING: __cdecl is potentially #defined away in steam_api_common.h + +// Steam-specific types. Defined here so this header file can be included in other code bases. +#ifndef WCHARTYPES_H +typedef unsigned char uint8; +#endif + +#ifdef __GNUC__ + #if __GNUC__ < 4 + #error "Steamworks requires GCC 4.X (4.2 or 4.4 have been tested)" + #endif +#endif + +#if defined(__LP64__) || defined(__x86_64__) || defined(_WIN64) || defined(__aarch64__) || defined(__s390x__) +#define X64BITS +#endif + +#if !defined(VALVE_BIG_ENDIAN) +#if defined(_PS3) +// Make sure VALVE_BIG_ENDIAN gets set on PS3, may already be set previously in Valve internal code. +#define VALVE_BIG_ENDIAN 1 +#endif +#if defined( __GNUC__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define VALVE_BIG_ENDIAN 1 +#endif +#endif + +typedef unsigned char uint8; +typedef signed char int8; + +#if defined( _WIN32 ) && !defined( __GNUC__ ) + +typedef __int16 int16; +typedef unsigned __int16 uint16; +typedef __int32 int32; +typedef unsigned __int32 uint32; +typedef __int64 int64; +typedef unsigned __int64 uint64; + +typedef int64 lint64; +typedef uint64 ulint64; + +#ifdef X64BITS +typedef __int64 intp; // intp is an integer that can accomodate a pointer +typedef unsigned __int64 uintp; // (ie, sizeof(intp) >= sizeof(int) && sizeof(intp) >= sizeof(void *) +#else +typedef __int32 intp; +typedef unsigned __int32 uintp; +#endif + +#else // _WIN32 + +typedef short int16; +typedef unsigned short uint16; +typedef int int32; +typedef unsigned int uint32; +typedef long long int64; +typedef unsigned long long uint64; + +// [u]int64 are actually defined as 'long long' and gcc 64-bit +// doesn't automatically consider them the same as 'long int'. +// Changing the types for [u]int64 is complicated by +// there being many definitions, so we just +// define a 'long int' here and use it in places that would +// otherwise confuse the compiler. +typedef long int lint64; +typedef unsigned long int ulint64; + +#ifdef X64BITS +typedef long long intp; +typedef unsigned long long uintp; +#else +typedef int intp; +typedef unsigned int uintp; +#endif + +#endif // else _WIN32 + +typedef uint32 AppId_t; +const AppId_t k_uAppIdInvalid = 0x0; + +// AppIds and DepotIDs also presently share the same namespace +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. +typedef uint32 RTime32; + +// handle to a Steam API call +typedef uint64 SteamAPICall_t; +const SteamAPICall_t k_uAPICallInvalid = 0x0; + +typedef uint32 AccountID_t; +const AccountID_t k_uAccountIdInvalid = 0; + +// Party Beacon ID +typedef uint64 PartyBeaconID_t; +const PartyBeaconID_t k_ulPartyBeaconIdInvalid = 0; + +enum ESteamIPType +{ + k_ESteamIPTypeIPv4 = 0, + k_ESteamIPTypeIPv6 = 1, +}; + +#pragma pack( push, 1 ) + +struct SteamIPAddress_t +{ + union { + + uint32 m_unIPv4; // Host order + uint8 m_rgubIPv6[16]; // Network order! Same as inaddr_in6. (0011:2233:4455:6677:8899:aabb:ccdd:eeff) + + // Internal use only + uint64 m_ipv6Qword[2]; // big endian + }; + + ESteamIPType m_eType; + + bool IsSet() const + { + if ( k_ESteamIPTypeIPv4 == m_eType ) + { + return m_unIPv4 != 0; + } + else + { + return m_ipv6Qword[0] !=0 || m_ipv6Qword[1] != 0; + } + } + + static SteamIPAddress_t IPv4Any() + { + SteamIPAddress_t ipOut; + ipOut.m_eType = k_ESteamIPTypeIPv4; + ipOut.m_unIPv4 = 0; + + return ipOut; + } + + static SteamIPAddress_t IPv6Any() + { + SteamIPAddress_t ipOut; + ipOut.m_eType = k_ESteamIPTypeIPv6; + ipOut.m_ipv6Qword[0] = 0; + ipOut.m_ipv6Qword[1] = 0; + + return ipOut; + } + + static SteamIPAddress_t IPv4Loopback() + { + SteamIPAddress_t ipOut; + ipOut.m_eType = k_ESteamIPTypeIPv4; + ipOut.m_unIPv4 = 0x7f000001; + + return ipOut; + } + + static SteamIPAddress_t IPv6Loopback() + { + SteamIPAddress_t ipOut; + ipOut.m_eType = k_ESteamIPTypeIPv6; + ipOut.m_ipv6Qword[0] = 0; + ipOut.m_ipv6Qword[1] = 0; + ipOut.m_rgubIPv6[15] = 1; + + return ipOut; + } +}; + +#pragma pack( pop ) + +#endif // STEAMTYPES_H diff --git a/Steam/steamuniverse.h b/Steam/steamuniverse.h new file mode 100644 index 0000000..dd384dc --- /dev/null +++ b/Steam/steamuniverse.h @@ -0,0 +1,27 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMUNIVERSE_H +#define STEAMUNIVERSE_H +#ifdef _WIN32 +#pragma once +#endif + + +// Steam universes. Each universe is a self-contained Steam instance. +enum EUniverse +{ + k_EUniverseInvalid = 0, + k_EUniversePublic = 1, + k_EUniverseBeta = 2, + k_EUniverseInternal = 3, + k_EUniverseDev = 4, + // k_EUniverseRC = 5, // no such universe anymore + k_EUniverseMax +}; + + +#endif // STEAMUNIVERSE_H

    @d^>mAStr1 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 U=GVXRR;xe#T&mw9DhSi~fARpc`Tzg` literal 0 HcmV?d00001 diff --git a/Steam/lib/osx/libsdkencryptedappticket.dylib b/Steam/lib/osx/libsdkencryptedappticket.dylib new file mode 100644 index 0000000000000000000000000000000000000000..b0066be051621dd03d3ba8a589e9d434fac88dda GIT binary patch literal 1693584 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

  • aXkiCd-O13Pyh(n&$t+lJ~Bpl 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