mirror of
https://github.com/rlabrecque/SteamworksSDK.git
synced 2026-10-10 01:23:04 +08:00
v1.45
This commit is contained in:
+23
@@ -8,6 +8,29 @@ Copyright
|
||||
Welcome to the Steamworks SDK. For documentation please see our partner
|
||||
website at: http://partner.steamgames.com
|
||||
|
||||
----------------------------------------------------------------
|
||||
v1.45 25th June 2019
|
||||
----------------------------------------------------------------
|
||||
|
||||
Steam Input and Steam Controller Interfaces
|
||||
* Added the GetDeviceBindingRevision function which allows developers of Steam Input API games to detect out of date user configurations. Configurations w/ out of date major revisions should be automatically updated by Steam to the latest official configuration, but configurations w/ out of date minor revisions will be left in-place.
|
||||
|
||||
ISteamUser
|
||||
* Add duration control APIs to support anti-indulgence regulations in some territories. This includes callbacks when gameplay time thresholds have been passed, and an API to fetch the same data on the fly.
|
||||
|
||||
ISteamUtils
|
||||
* Add basic text filtering API.
|
||||
|
||||
----------------------------------------------------------------
|
||||
v1.44 13th March 2019
|
||||
----------------------------------------------------------------
|
||||
|
||||
ISteamNetworkingSockets
|
||||
* Socket-style API that relays traffic on the Valve network
|
||||
|
||||
ISteamNetworkingUtils
|
||||
* Tools for instantly estimating ping time between two network hosts
|
||||
|
||||
----------------------------------------------------------------
|
||||
v1.43 20th February 2019
|
||||
----------------------------------------------------------------
|
||||
|
||||
@@ -27,7 +27,8 @@ public:
|
||||
|
||||
if ( !steamIDLobby.IsValid() )
|
||||
{
|
||||
PopSelectedItem();
|
||||
LobbyMenuItem_t menuItem = { CSteamID(), LobbyMenuItem_t::k_ELobbyMenuItemLeaveLobby };
|
||||
AddMenuItem( CLobbyMenu::MenuItem_t( "Lobby Disconnected - Return to main menu", menuItem ) );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -182,6 +183,17 @@ void CLobby::OnLobbyChatUpdate( LobbyChatUpdate_t *pCallback )
|
||||
if ( m_steamIDLobby != pCallback->m_ulSteamIDLobby )
|
||||
return;
|
||||
|
||||
if ( pCallback->m_ulSteamIDUserChanged == SteamUser()->GetSteamID().ConvertToUint64() &&
|
||||
( pCallback->m_rgfChatMemberStateChange &
|
||||
( k_EChatMemberStateChangeLeft|
|
||||
k_EChatMemberStateChangeDisconnected|
|
||||
k_EChatMemberStateChangeKicked|
|
||||
k_EChatMemberStateChangeBanned ) ) )
|
||||
{
|
||||
// we've left the lobby, so it is now invalid
|
||||
m_steamIDLobby = CSteamID();
|
||||
}
|
||||
|
||||
// rebuild the menu
|
||||
m_pMenu->Rebuild( m_steamIDLobby );
|
||||
|
||||
|
||||
@@ -764,10 +764,10 @@ void CShip::Render()
|
||||
float rotationClockwise = (m_pGameEngine->GetGameTickCount() / 500.0f);
|
||||
float rotationCounter = -(m_pGameEngine->GetGameTickCount() / 500.0f);
|
||||
|
||||
float x1 = 28.0f * cos( rotationClockwise );
|
||||
float y1 = 28.0f * sin( rotationClockwise );
|
||||
float x2 = 28.0f * cos( rotationCounter );
|
||||
float y2 = 28.0f * sin( rotationCounter );
|
||||
float x1 = 28.0f * (float)cos( rotationClockwise );
|
||||
float y1 = 28.0f * (float)sin( rotationClockwise );
|
||||
float x2 = 28.0f * (float)cos( rotationCounter );
|
||||
float y2 = 28.0f * (float)sin( rotationCounter );
|
||||
|
||||
m_pGameEngine->BDrawTexturedQuad(
|
||||
this->GetXPos() - x1, this->GetYPos() - y1, this->GetXPos() + y1, this->GetYPos() - x1,
|
||||
|
||||
@@ -375,7 +375,7 @@ void CSpaceWarServer::AddPlayerShip( uint32 uShipPosition )
|
||||
float flXOffset = flWidth*0.12f;
|
||||
float flYOffset = flHeight*0.12f;
|
||||
|
||||
float flAngle = atan( flHeight/flWidth ) + PI_VALUE/2.0f;
|
||||
float flAngle = (float)atan( flHeight/flWidth ) + PI_VALUE/2.0f;
|
||||
switch( uShipPosition )
|
||||
{
|
||||
case 0:
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#ifndef SPACEWARSERVER_H
|
||||
#define SPACEWARSERVER_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "GameEngine.h"
|
||||
#include "SpaceWar.h"
|
||||
#include "Ship.h"
|
||||
|
||||
@@ -134,7 +134,7 @@ void CVectorEntity::RunFrame()
|
||||
|
||||
// Make sure velocity does not exceed maximum allowed
|
||||
|
||||
float flVelocity = sqrt( m_flXVelocity*m_flXVelocity + m_flYVelocity*m_flYVelocity );
|
||||
float flVelocity = (float)sqrt( m_flXVelocity*m_flXVelocity + m_flYVelocity*m_flYVelocity );
|
||||
|
||||
if ( flVelocity > m_flMaximumVelocity )
|
||||
{
|
||||
|
||||
+6
-6
@@ -962,7 +962,12 @@ void GLMDisplayDB::PopulateRenderers( void )
|
||||
|
||||
SInt32 vMajor = 0; SInt32 vMinor = 0; SInt32 vMinorMinor = 0;
|
||||
|
||||
#if __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_10
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_9
|
||||
NSOperatingSystemVersion osVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
|
||||
vMajor = osVersion.majorVersion;
|
||||
vMinor = osVersion.minorVersion;
|
||||
vMinorMinor = osVersion.patchVersion;
|
||||
#else
|
||||
OSStatus gestalt_err = 0;
|
||||
gestalt_err = Gestalt(gestaltSystemVersionMajor, &vMajor);
|
||||
Assert(!gestalt_err);
|
||||
@@ -972,11 +977,6 @@ void GLMDisplayDB::PopulateRenderers( void )
|
||||
|
||||
gestalt_err = Gestalt(gestaltSystemVersionBugFix, &vMinorMinor);
|
||||
Assert(!gestalt_err);
|
||||
#else
|
||||
NSOperatingSystemVersion osVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
|
||||
vMajor = osVersion.majorVersion;
|
||||
vMinor = osVersion.minorVersion;
|
||||
vMinorMinor = osVersion.patchVersion;
|
||||
#endif
|
||||
//encode into one quantity - 10.6.3 becomes 0x000A0603
|
||||
fields.m_osComboVersion = (vMajor << 16) | (vMinor << 8) | (vMinorMinor);
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
#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
|
||||
|
||||
@@ -345,6 +347,12 @@ enum EControllerActionOrigin
|
||||
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,
|
||||
|
||||
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.
|
||||
};
|
||||
@@ -489,7 +497,7 @@ public:
|
||||
// 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( ControllerHandle_t *handlesOut ) = 0;
|
||||
virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_COUNT, Receives list of connected controllers ) ControllerHandle_t *handlesOut ) = 0;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// ACTION SETS
|
||||
@@ -508,7 +516,10 @@ public:
|
||||
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;
|
||||
virtual int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t *handlesOut ) = 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
|
||||
@@ -523,7 +534,7 @@ public:
|
||||
// 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, EControllerActionOrigin *originsOut ) = 0;
|
||||
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;
|
||||
@@ -534,7 +545,7 @@ public:
|
||||
// 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, EControllerActionOrigin *originsOut ) = 0;
|
||||
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;
|
||||
@@ -582,10 +593,10 @@ public:
|
||||
// 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. This function is cheap.
|
||||
// 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. This function is serialized.
|
||||
// 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
|
||||
@@ -594,6 +605,9 @@ public:
|
||||
|
||||
// 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 "SteamController007"
|
||||
|
||||
+20
-12
@@ -23,6 +23,8 @@
|
||||
|
||||
#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
|
||||
|
||||
@@ -184,7 +186,7 @@ enum EInputActionOrigin
|
||||
k_EInputActionOrigin_PS4_Gyro_Pitch,
|
||||
k_EInputActionOrigin_PS4_Gyro_Yaw,
|
||||
k_EInputActionOrigin_PS4_Gyro_Roll,
|
||||
k_EInputActionOrigin_PS4_Reserved0,
|
||||
k_EInputActionOrigin_PS4_DPad_Move,
|
||||
k_EInputActionOrigin_PS4_Reserved1,
|
||||
k_EInputActionOrigin_PS4_Reserved2,
|
||||
k_EInputActionOrigin_PS4_Reserved3,
|
||||
@@ -225,7 +227,7 @@ enum EInputActionOrigin
|
||||
k_EInputActionOrigin_XBoxOne_DPad_South,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_West,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_East,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved0,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_Move,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved1,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved2,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved3,
|
||||
@@ -266,7 +268,7 @@ enum EInputActionOrigin
|
||||
k_EInputActionOrigin_XBox360_DPad_South,
|
||||
k_EInputActionOrigin_XBox360_DPad_West,
|
||||
k_EInputActionOrigin_XBox360_DPad_East,
|
||||
k_EInputActionOrigin_XBox360_Reserved0,
|
||||
k_EInputActionOrigin_XBox360_DPad_Move,
|
||||
k_EInputActionOrigin_XBox360_Reserved1,
|
||||
k_EInputActionOrigin_XBox360_Reserved2,
|
||||
k_EInputActionOrigin_XBox360_Reserved3,
|
||||
@@ -314,7 +316,7 @@ enum EInputActionOrigin
|
||||
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_Reserved0,
|
||||
k_EInputActionOrigin_Switch_DPad_Move,
|
||||
k_EInputActionOrigin_Switch_Reserved1,
|
||||
k_EInputActionOrigin_Switch_Reserved2,
|
||||
k_EInputActionOrigin_Switch_Reserved3,
|
||||
@@ -498,7 +500,7 @@ public:
|
||||
// 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( InputHandle_t *handlesOut ) = 0;
|
||||
virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_COUNT, Receives list of connected controllers ) InputHandle_t *handlesOut ) = 0;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// ACTION SETS
|
||||
@@ -517,7 +519,10 @@ public:
|
||||
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;
|
||||
virtual int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut ) = 0;
|
||||
// Enumerate currently active layers.
|
||||
// handlesOut should point to a STEAM_INPUT_MAX_ACTIVE_LAYERS sized array of ControllerActionSetHandle_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
|
||||
@@ -532,7 +537,7 @@ public:
|
||||
// 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, EInputActionOrigin *originsOut ) = 0;
|
||||
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;
|
||||
|
||||
// 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;
|
||||
@@ -543,12 +548,12 @@ public:
|
||||
// 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, EInputActionOrigin *originsOut ) = 0;
|
||||
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 art for on-screen glyph for a particular origin - this call is cheap
|
||||
// Get a local path to art for on-screen glyph for a particular origin
|
||||
virtual const char *GetGlyphForActionOrigin( EInputActionOrigin eOrigin ) = 0;
|
||||
|
||||
// Returns a localized string (from Steam's language setting) for the specified origin - this call is serialized
|
||||
// Returns a localized string (from Steam's language setting) for the specified origin.
|
||||
virtual const char *GetStringForActionOrigin( EInputActionOrigin eOrigin ) = 0;
|
||||
|
||||
// Stop analog momentum for the action if it is a mouse action in trackball mode
|
||||
@@ -594,10 +599,10 @@ public:
|
||||
// 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. This function is cheap.
|
||||
// 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. This function is serialized.
|
||||
// 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
|
||||
@@ -608,6 +613,9 @@ public:
|
||||
// When a new input type is added you will be able to pass in k_ESteamInputType_Unknown amd the closest origin that your version of the SDK regonized 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;
|
||||
};
|
||||
|
||||
#define STEAMINPUT_INTERFACE_VERSION "SteamInput001"
|
||||
|
||||
@@ -23,6 +23,8 @@ enum ELobbyType
|
||||
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
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "steamnetworkingtypes.h"
|
||||
|
||||
class ISteamNetworkingSocketsCallbacks;
|
||||
struct SteamNetAuthenticationStatus_t;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// Lower level networking interface that more closely mirrors the standard
|
||||
@@ -84,7 +85,7 @@ public:
|
||||
/// be able to connect to one or the other, then nVirtualPort should be a small integer (<1000)
|
||||
/// unique to each listen socket you create.
|
||||
///
|
||||
/// If you use this, you probably want to call ISteamNetworkingUtils::InitializeRelayNetworkAccess()
|
||||
/// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess()
|
||||
/// when your app initializes
|
||||
virtual HSteamListenSocket CreateListenSocketP2P( int nVirtualPort ) = 0;
|
||||
|
||||
@@ -97,7 +98,7 @@ public:
|
||||
/// client is online and facilitate a relay connection. Note that all P2P connections on
|
||||
/// Steam are currently relayed.
|
||||
///
|
||||
/// If you use this, you probably want to call ISteamNetworkingUtils::InitializeRelayNetworkAccess()
|
||||
/// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess()
|
||||
/// when your app initializes
|
||||
virtual HSteamNetConnection ConnectP2P( const SteamNetworkingIdentity &identityRemote, int nVirtualPort ) = 0;
|
||||
#endif
|
||||
@@ -312,6 +313,57 @@ public:
|
||||
/// 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;
|
||||
|
||||
/// Certificate provision by the application. (On Steam, Steam will handle all this automatically)
|
||||
#ifndef STEAMNETWORKINGSOCKETS_STEAM
|
||||
|
||||
/// 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. (256 bytes is a very 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;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
|
||||
|
||||
//
|
||||
@@ -340,43 +392,54 @@ public:
|
||||
/// 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::InitializeRelayNetworkAccess()
|
||||
/// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess()
|
||||
/// when your app initializes
|
||||
virtual HSteamNetConnection ConnectToHostedDedicatedServer( const SteamNetworkingIdentity &identityTarget, int nVirtualPort ) = 0;
|
||||
|
||||
//
|
||||
// Servers hosted in Valve data centers
|
||||
// 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. (You
|
||||
/// should set it yourself for testing.)
|
||||
/// 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;
|
||||
|
||||
/// If you are running in a production data center, this will return the data
|
||||
/// center code. Returns 0 otherwise.
|
||||
/// 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 envirionment.
|
||||
virtual SteamNetworkingPOPID GetHostedDedicatedServerPOPID() = 0;
|
||||
|
||||
/// Return info about the hosted 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
|
||||
/// 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.
|
||||
///
|
||||
/// NOTE ABOUT DEVELOPMENT ENVIRONMENTS:
|
||||
/// In production in our data centers, these parameters are configured via environment variables.
|
||||
/// In development, the only one you need to set is SDR_LISTEN_PORT, which is the local port you
|
||||
/// want to listen on. Furthermore, if you are running your server behind a corporate firewall,
|
||||
/// you probably will not be able to put the routing information returned by this function into
|
||||
/// tickets. Instead, it should be a public internet address that the relays can use to send
|
||||
/// data to your server. So you might just end up hardcoding a public address and setup port
|
||||
/// forwarding on your corporate firewall. In that case, the port you put into the ticket
|
||||
/// needs to be the public-facing port opened on your firewall, if it is different from the
|
||||
/// actual server port.
|
||||
/// 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.
|
||||
///
|
||||
/// This function will fail if SteamDatagramServer_Init has not been called.
|
||||
/// On a successful exit, k_EResultOK is returned
|
||||
///
|
||||
/// Returns false if the SDR_LISTEN_PORT environment variable is not set.
|
||||
virtual bool GetHostedDedicatedServerAddress( SteamDatagramHostedAddress *pRouting ) = 0;
|
||||
/// 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
|
||||
@@ -385,6 +448,38 @@ public:
|
||||
/// Note that this call MUST be made through the SteamGameServerNetworkingSockets() interface
|
||||
virtual HSteamListenSocket CreateHostedDedicatedServerListenSocket( int nVirtualPort ) = 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;
|
||||
|
||||
#endif // #ifndef STEAMNETWORKINGSOCKETS_ENABLE_SDR
|
||||
|
||||
// Invoke all callbacks queued for this interface.
|
||||
@@ -397,7 +492,7 @@ public:
|
||||
protected:
|
||||
~ISteamNetworkingSockets(); // Silence some warnings
|
||||
};
|
||||
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets002"
|
||||
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets003"
|
||||
|
||||
extern "C" {
|
||||
|
||||
@@ -482,6 +577,25 @@ struct SteamNetConnectionStatusChangedCallback_t
|
||||
/// 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.
|
||||
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 )
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "steamnetworkingtypes.h"
|
||||
struct SteamDatagramRelayAuthTicket;
|
||||
struct SteamRelayNetworkStatus_t;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// Misc networking utilities for checking the local networking environment
|
||||
@@ -24,7 +25,7 @@ public:
|
||||
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
|
||||
|
||||
//
|
||||
// Initialization
|
||||
// Initialization and status check
|
||||
//
|
||||
|
||||
/// If you know that you are going to be using the relay network, call
|
||||
@@ -33,16 +34,25 @@ public:
|
||||
/// happen the first time you use a feature that requires access to the
|
||||
/// relay network, and that use will be delayed.
|
||||
///
|
||||
/// Returns true if initialization has completed successfully.
|
||||
/// (It will probably return false on the first call.)
|
||||
///
|
||||
/// 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 with Valve 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
|
||||
/// 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 bool InitializeRelayNetworkAccess();
|
||||
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
|
||||
@@ -59,14 +69,14 @@ public:
|
||||
// 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 backend to manipulate
|
||||
// these objects. (See steamdatagram_ticketgen.h)
|
||||
// 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 InitializeRelayNetworkAccess,
|
||||
/// 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
|
||||
@@ -117,10 +127,6 @@ public:
|
||||
/// the string.
|
||||
virtual bool ParsePingLocationString( const char *pszString, SteamNetworkPingLocation_t &result ) = 0;
|
||||
|
||||
//
|
||||
// Initialization / ping measurement status
|
||||
//
|
||||
|
||||
/// Check if the ping data of sufficient recency is available, and if
|
||||
/// it's too old, start refreshing it.
|
||||
///
|
||||
@@ -136,13 +142,11 @@ public:
|
||||
/// 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;
|
||||
|
||||
/// Return true if we are taking ping measurements to update our ping
|
||||
/// location or select optimal routing. Ping measurement typically takes
|
||||
/// a few seconds, perhaps up to 10 seconds.
|
||||
virtual bool IsPingMeasurementInProgress() = 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
|
||||
@@ -261,7 +265,7 @@ public:
|
||||
protected:
|
||||
~ISteamNetworkingUtils(); // Silence some warnings
|
||||
};
|
||||
#define STEAMNETWORKINGUTILS_INTERFACE_VERSION "SteamNetworkingUtils001"
|
||||
#define STEAMNETWORKINGUTILS_INTERFACE_VERSION "SteamNetworkingUtils002"
|
||||
|
||||
// Global accessor.
|
||||
#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB
|
||||
@@ -277,12 +281,48 @@ protected:
|
||||
STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamNetworkingUtils *, SteamNetworkingUtils, SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) );
|
||||
#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 ];
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Internal stuff
|
||||
|
||||
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
|
||||
inline bool ISteamNetworkingUtils::InitializeRelayNetworkAccess() { return CheckPingDataUpToDate( 1e10f ); }
|
||||
inline void ISteamNetworkingUtils::InitRelayNetworkAccess() { CheckPingDataUpToDate( 1e10f ); }
|
||||
#endif
|
||||
|
||||
inline bool ISteamNetworkingUtils::SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Int32, &val ); }
|
||||
@@ -292,7 +332,7 @@ inline bool ISteamNetworkingUtils::SetConnectionConfigValueInt32( HSteamNetConne
|
||||
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 ); }
|
||||
|
||||
#if !defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) && defined( STEAMNETWORKINGSOCKETS_STEAM )
|
||||
#if !defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) && defined( STEAMNETWORKINGSOCKETS_STEAMCLIENT )
|
||||
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 void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingUtils()->SteamNetworkingIdentity_ToString( *this, buf, cbBuf ); }
|
||||
|
||||
@@ -67,6 +67,7 @@ enum ERemoteStoragePlatform
|
||||
k_ERemoteStoragePlatformLinux = (1 << 3),
|
||||
k_ERemoteStoragePlatformReserved2 = (1 << 4),
|
||||
k_ERemoteStoragePlatformAndroid = (1 << 5),
|
||||
k_ERemoteStoragePlatformIOS = (1 << 6),
|
||||
|
||||
k_ERemoteStoragePlatformAll = 0xffffffff
|
||||
};
|
||||
|
||||
@@ -226,6 +226,8 @@ public:
|
||||
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.
|
||||
virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, const char *pchKey, STEAM_OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0;
|
||||
|
||||
// Release the request to free up memory, after retrieving results
|
||||
virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0;
|
||||
@@ -271,6 +273,7 @@ public:
|
||||
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
|
||||
@@ -350,7 +353,7 @@ public:
|
||||
virtual SteamAPICall_t DeleteItem( PublishedFileId_t nPublishedFileID ) = 0;
|
||||
};
|
||||
|
||||
#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION012"
|
||||
#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION013"
|
||||
|
||||
// Global interface accessor
|
||||
inline ISteamUGC *SteamUGC();
|
||||
|
||||
@@ -206,6 +206,11 @@ public:
|
||||
|
||||
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;
|
||||
|
||||
};
|
||||
|
||||
#define STEAMUSER_INTERFACE_VERSION "SteamUser020"
|
||||
@@ -383,6 +388,27 @@ struct MarketEligibilityResponse_t
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: sent for games with enabled anti indulgence / duration control, for
|
||||
// enabled users. Lets the game know whether persistent rewards or XP should be
|
||||
// granted at normal rate, half rate, or zero rate.
|
||||
//
|
||||
// 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 in trailing 5 hour window plus current session, in seconds
|
||||
EDurationControlProgress m_progress; // recommended progress
|
||||
EDurationControlNotification m_notification; // notification to show, if any (always k_EDurationControlNotification_None for API calls)
|
||||
};
|
||||
|
||||
|
||||
#pragma pack( pop )
|
||||
|
||||
|
||||
@@ -169,6 +169,21 @@ public:
|
||||
// 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.
|
||||
// Returns false if filtering is unavailable for the language the user is currently running in.
|
||||
virtual bool InitFilterText() = 0;
|
||||
|
||||
// Filters the provided input message and places the filtered result into pchOutFilteredText.
|
||||
// pchOutFilteredText is where the output will be placed, even if no filtering or censoring is performed
|
||||
// nByteSizeOutFilteredText is the size (in bytes) of pchOutFilteredText
|
||||
// pchInputText is the input string that should be filtered, which can be ASCII or UTF-8
|
||||
// bLegalOnly should be false if you want profanity and legally required filtering (where required) and true if you want legally required filtering only
|
||||
// Returns the number of characters (not bytes) filtered.
|
||||
virtual int FilterText( char* pchOutFilteredText, uint32 nByteSizeOutFilteredText, const char * pchInputMessage, bool bLegalOnly ) = 0;
|
||||
};
|
||||
|
||||
#define STEAMUTILS_INTERFACE_VERSION "SteamUtils009"
|
||||
|
||||
@@ -49,13 +49,6 @@ public:
|
||||
inline ISteamVideo *SteamVideo();
|
||||
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamVideo *, SteamVideo, STEAMVIDEO_INTERFACE_VERSION );
|
||||
|
||||
STEAM_CALLBACK_BEGIN( BroadcastUploadStart_t, k_iClientVideoCallbacks + 4 )
|
||||
STEAM_CALLBACK_END(0)
|
||||
|
||||
STEAM_CALLBACK_BEGIN( BroadcastUploadStop_t, k_iClientVideoCallbacks + 5 )
|
||||
STEAM_CALLBACK_MEMBER( 0, EBroadcastUploadResult, m_eResult )
|
||||
STEAM_CALLBACK_END(1)
|
||||
|
||||
STEAM_CALLBACK_BEGIN( GetVideoURLResult_t, k_iClientVideoCallbacks + 11 )
|
||||
STEAM_CALLBACK_MEMBER( 0, EResult, m_eResult )
|
||||
STEAM_CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID )
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -165,9 +165,11 @@ inline bool CSteamAPIContext::Init()
|
||||
if ( !m_pSteamGameSearch )
|
||||
return false;
|
||||
|
||||
#if !defined( IOSALL) // Not yet supported on iOS.
|
||||
m_pSteamMatchmakingServers = ::SteamMatchmakingServers();
|
||||
if ( !m_pSteamMatchmakingServers )
|
||||
return false;
|
||||
#endif
|
||||
|
||||
m_pSteamUserStats = ::SteamUserStats();
|
||||
if ( !m_pSteamUserStats )
|
||||
@@ -213,10 +215,10 @@ inline bool CSteamAPIContext::Init()
|
||||
if ( !m_pSteamMusicRemote )
|
||||
return false;
|
||||
|
||||
#ifndef ANDROID // Not yet supported on Android
|
||||
#if !defined( ANDROID ) && !defined( IOSALL) // Not yet supported on Android or ios.
|
||||
m_pSteamHTMLSurface = ::SteamHTMLSurface();
|
||||
if ( !m_pSteamHTMLSurface )
|
||||
return false;
|
||||
return false;
|
||||
#endif
|
||||
|
||||
m_pSteamInventory = ::SteamInventory();
|
||||
|
||||
+194
-16
@@ -313,6 +313,7 @@
|
||||
,{"name": "k_EAppType_Music","value": "8192"}
|
||||
,{"name": "k_EAppType_Series","value": "16384"}
|
||||
,{"name": "k_EAppType_Comic","value": "32768"}
|
||||
,{"name": "k_EAppType_Beta","value": "65536"}
|
||||
,{"name": "k_EAppType_Shortcut","value": "1073741824"}
|
||||
,{"name": "k_EAppType_DepotOnly","value": "-2147483648"}
|
||||
]}
|
||||
@@ -429,6 +430,7 @@
|
||||
,{"name": "k_eEVRHMDType_Oculus_DK1","value": "21"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_DK2","value": "22"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_Rift","value": "23"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_RiftS","value": "24"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_Unknown","value": "40"}
|
||||
,{"name": "k_eEVRHMDType_Acer_Unknown","value": "50"}
|
||||
,{"name": "k_eEVRHMDType_Acer_WindowsMR","value": "51"}
|
||||
@@ -445,7 +447,9 @@
|
||||
,{"name": "k_eEVRHMDType_vridge","value": "110"}
|
||||
,{"name": "k_eEVRHMDType_Huawei_Unknown","value": "120"}
|
||||
,{"name": "k_eEVRHMDType_Huawei_VR2","value": "121"}
|
||||
,{"name": "k_eEVRHMDType_Huawei_Unannounced","value": "129"}
|
||||
,{"name": "k_eEVRHMDType_Huawei_EndOfRange","value": "129"}
|
||||
,{"name": "k_eEVRHmdType_Valve_Unknown","value": "130"}
|
||||
,{"name": "k_eEVRHmdType_Valve_Index","value": "131"}
|
||||
]}
|
||||
, {"enumname": "EMarketNotAllowedReasonFlags","values": [
|
||||
{"name": "k_EMarketNotAllowedReason_None","value": "0"}
|
||||
@@ -466,6 +470,18 @@
|
||||
,{"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"}
|
||||
]}
|
||||
, {"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"}
|
||||
]}
|
||||
, {"enumname": "CGameID::EGameIDType","values": [
|
||||
{"name": "k_EGameIDTypeApp","value": "0"}
|
||||
,{"name": "k_EGameIDTypeGameMod","value": "1"}
|
||||
@@ -598,6 +614,7 @@
|
||||
,{"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"}
|
||||
@@ -645,6 +662,7 @@
|
||||
,{"name": "k_ERemoteStoragePlatformLinux","value": "8"}
|
||||
,{"name": "k_ERemoteStoragePlatformReserved2","value": "16"}
|
||||
,{"name": "k_ERemoteStoragePlatformAndroid","value": "32"}
|
||||
,{"name": "k_ERemoteStoragePlatformIOS","value": "64"}
|
||||
,{"name": "k_ERemoteStoragePlatformAll","value": "-1"}
|
||||
]}
|
||||
, {"enumname": "ERemoteStoragePublishedFileVisibility","values": [
|
||||
@@ -974,7 +992,7 @@
|
||||
,{"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_Reserved0","value": "103"}
|
||||
,{"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"}
|
||||
@@ -1013,7 +1031,7 @@
|
||||
,{"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_Reserved0","value": "142"}
|
||||
,{"name": "k_EInputActionOrigin_XBoxOne_DPad_Move","value": "142"}
|
||||
,{"name": "k_EInputActionOrigin_XBoxOne_Reserved1","value": "143"}
|
||||
,{"name": "k_EInputActionOrigin_XBoxOne_Reserved2","value": "144"}
|
||||
,{"name": "k_EInputActionOrigin_XBoxOne_Reserved3","value": "145"}
|
||||
@@ -1052,7 +1070,7 @@
|
||||
,{"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_Reserved0","value": "181"}
|
||||
,{"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"}
|
||||
@@ -1096,7 +1114,7 @@
|
||||
,{"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_Reserved0","value": "225"}
|
||||
,{"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"}
|
||||
@@ -1469,7 +1487,11 @@
|
||||
,{"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_Count","value": "241"}
|
||||
,{"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_Count","value": "245"}
|
||||
,{"name": "k_EControllerActionOrigin_MaximumPossibleValue","value": "32767"}
|
||||
]}
|
||||
, {"enumname": "ESteamControllerLEDFlag","values": [
|
||||
@@ -1633,6 +1655,12 @@
|
||||
,{"name": "k_ESteamItemRemoved","value": "256"}
|
||||
,{"name": "k_ESteamItemConsumed","value": "512"}
|
||||
]}
|
||||
, {"enumname": "ESteamTVRegionBehavior","values": [
|
||||
{"name": "k_ESteamVideoRegionBehaviorInvalid","value": "-1"}
|
||||
,{"name": "k_ESteamVideoRegionBehaviorHover","value": "0"}
|
||||
,{"name": "k_ESteamVideoRegionBehaviorClickPopup","value": "1"}
|
||||
,{"name": "k_ESteamVideoRegionBehaviorClickSurroundingRegion","value": "2"}
|
||||
]}
|
||||
, {"enumname": "EParentalFeature","values": [
|
||||
{"name": "k_EFeatureInvalid","value": "0"}
|
||||
,{"name": "k_EFeatureStore","value": "1"}
|
||||
@@ -1678,6 +1706,8 @@
|
||||
"constname": "k_iSteamNetworkingSocketsCallbacks","consttype": "int", "constval": "1220"}
|
||||
,{
|
||||
"constname": "k_iSteamNetworkingMessagesCallbacks","consttype": "int", "constval": "1250"}
|
||||
,{
|
||||
"constname": "k_iSteamNetworkingUtilsCallbacks","consttype": "int", "constval": "1280"}
|
||||
,{
|
||||
"constname": "k_iClientRemoteStorageCallbacks","consttype": "int", "constval": "1300"}
|
||||
,{
|
||||
@@ -1762,6 +1792,10 @@
|
||||
"constname": "k_iSteamPartiesCallbacks","consttype": "int", "constval": "5300"}
|
||||
,{
|
||||
"constname": "k_iClientPartiesCallbacks","consttype": "int", "constval": "5400"}
|
||||
,{
|
||||
"constname": "k_iSteamSTARCallbacks","consttype": "int", "constval": "5500"}
|
||||
,{
|
||||
"constname": "k_iClientSTARCallbacks","consttype": "int", "constval": "5600"}
|
||||
,{
|
||||
"constname": "k_cchPersonaNameMax","consttype": "int", "constval": "128"}
|
||||
,{
|
||||
@@ -1782,6 +1816,8 @@
|
||||
"constname": "k_SteamItemInstanceIDInvalid","consttype": "const SteamItemInstanceID_t", "constval": "18446744073709551615"}
|
||||
,{
|
||||
"constname": "k_SteamInventoryResultInvalid","consttype": "const SteamInventoryResult_t", "constval": "-1"}
|
||||
,{
|
||||
"constname": "k_cchBroadcastGameDataMax","consttype": "int", "constval": "8192"}
|
||||
],
|
||||
"structs":[{"struct": "CSteamID","fields": [
|
||||
{ "fieldname": "m_steamid", "fieldtype": "union SteamID_t"}]}
|
||||
@@ -1837,6 +1873,7 @@
|
||||
{ "fieldname": "m_pSteamHTMLSurface", "fieldtype": "class ISteamHTMLSurface *"},
|
||||
{ "fieldname": "m_pSteamInventory", "fieldtype": "class ISteamInventory *"},
|
||||
{ "fieldname": "m_pSteamVideo", "fieldtype": "class ISteamVideo *"},
|
||||
{ "fieldname": "m_pSteamTV", "fieldtype": "class ISteamTV *"},
|
||||
{ "fieldname": "m_pSteamParentalSettings", "fieldtype": "class ISteamParentalSettings *"},
|
||||
{ "fieldname": "m_pSteamInput", "fieldtype": "class ISteamInput *"}]}
|
||||
,{"struct": "CSteamGameServerAPIContext","fields": [
|
||||
@@ -1888,6 +1925,13 @@
|
||||
{ "fieldname": "m_rtAllowedAtTime", "fieldtype": "RTime32"},
|
||||
{ "fieldname": "m_cdaySteamGuardRequiredDays", "fieldtype": "int"},
|
||||
{ "fieldname": "m_cdayNewDeviceCooldown", "fieldtype": "int"}]}
|
||||
,{"struct": "DurationControl_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EResult"},
|
||||
{ "fieldname": "m_appid", "fieldtype": "AppId_t"},
|
||||
{ "fieldname": "m_bApplicable", "fieldtype": "_Bool"},
|
||||
{ "fieldname": "m_csecsLast5h", "fieldtype": "int32"},
|
||||
{ "fieldname": "m_progress", "fieldtype": "enum EDurationControlProgress"},
|
||||
{ "fieldname": "m_notification", "fieldtype": "enum EDurationControlNotification"}]}
|
||||
,{"struct": "FriendGameInfo_t","fields": [
|
||||
{ "fieldname": "m_gameID", "fieldtype": "class CGameID"},
|
||||
{ "fieldname": "m_unGameIP", "fieldtype": "uint32"},
|
||||
@@ -2587,8 +2631,6 @@
|
||||
,{"struct": "SteamInventoryRequestPricesResult_t","fields": [
|
||||
{ "fieldname": "m_result", "fieldtype": "enum EResult"},
|
||||
{ "fieldname": "m_rgchCurrency", "fieldtype": "char [4]"}]}
|
||||
,{"struct": "BroadcastUploadStop_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EBroadcastUploadResult"}]}
|
||||
,{"struct": "GetVideoURLResult_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EResult"},
|
||||
{ "fieldname": "m_unVideoAppID", "fieldtype": "AppId_t"},
|
||||
@@ -2596,6 +2638,15 @@
|
||||
,{"struct": "GetOPFSettingsResult_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EResult"},
|
||||
{ "fieldname": "m_unVideoAppID", "fieldtype": "AppId_t"}]}
|
||||
,{"struct": "SteamTVRegion_t","fields": [
|
||||
{ "fieldname": "unMinX", "fieldtype": "uint32"},
|
||||
{ "fieldname": "unMinY", "fieldtype": "uint32"},
|
||||
{ "fieldname": "unMaxX", "fieldtype": "uint32"},
|
||||
{ "fieldname": "unMaxY", "fieldtype": "uint32"}]}
|
||||
,{"struct": "BroadcastUploadStart_t","fields": [
|
||||
{ "fieldname": "m_bIsRTMP", "fieldtype": "_Bool"}]}
|
||||
,{"struct": "BroadcastUploadStop_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EBroadcastUploadResult"}]}
|
||||
,{"struct": "GSClientApprove_t","fields": [
|
||||
{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"},
|
||||
{ "fieldname": "m_OwnerSteamID", "fieldtype": "class CSteamID"}]}
|
||||
@@ -3208,6 +3259,11 @@
|
||||
"methodname": "GetMarketEligibility", "callresult": "MarketEligibilityResponse_t",
|
||||
"returntype": "SteamAPICall_t"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUser",
|
||||
"methodname": "GetDurationControl", "callresult": "DurationControl_t",
|
||||
"returntype": "SteamAPICall_t"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamFriends",
|
||||
"methodname": "GetPersonaName",
|
||||
@@ -4003,6 +4059,27 @@
|
||||
{ "paramname": "bEnabled" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUtils",
|
||||
"methodname": "IsSteamChinaLauncher",
|
||||
"returntype": "bool"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUtils",
|
||||
"methodname": "InitFilterText",
|
||||
"returntype": "bool"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUtils",
|
||||
"methodname": "FilterText",
|
||||
"returntype": "int",
|
||||
"params": [
|
||||
{ "paramname": "pchOutFilteredText" ,"paramtype": "char *"},
|
||||
{ "paramname": "nByteSizeOutFilteredText" ,"paramtype": "uint32"},
|
||||
{ "paramname": "pchInputMessage" ,"paramtype": "const char *"},
|
||||
{ "paramname": "bLegalOnly" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamMatchmaking",
|
||||
"methodname": "GetFavoriteGameCount",
|
||||
@@ -6708,7 +6785,7 @@
|
||||
"methodname": "GetConnectedControllers",
|
||||
"returntype": "int",
|
||||
"params": [
|
||||
{ "paramname": "handlesOut" ,"paramtype": "InputHandle_t *"}
|
||||
{ "paramname": "handlesOut" ,"out_array_count": "STEAM_INPUT_MAX_COUNT" ,"desc": "Receives list of connected controllers" ,"paramtype": "InputHandle_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -6768,7 +6845,7 @@
|
||||
"returntype": "int",
|
||||
"params": [
|
||||
{ "paramname": "inputHandle" ,"paramtype": "InputHandle_t"},
|
||||
{ "paramname": "handlesOut" ,"paramtype": "InputActionSetHandle_t *"}
|
||||
{ "paramname": "handlesOut" ,"out_array_count": "STEAM_INPUT_MAX_ACTIVE_LAYERS" ,"desc": "Receives list of active layers" ,"paramtype": "InputActionSetHandle_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -6796,7 +6873,7 @@
|
||||
{ "paramname": "inputHandle" ,"paramtype": "InputHandle_t"},
|
||||
{ "paramname": "actionSetHandle" ,"paramtype": "InputActionSetHandle_t"},
|
||||
{ "paramname": "digitalActionHandle" ,"paramtype": "InputDigitalActionHandle_t"},
|
||||
{ "paramname": "originsOut" ,"paramtype": "EInputActionOrigin *"}
|
||||
{ "paramname": "originsOut" ,"out_array_count": "STEAM_INPUT_MAX_ORIGINS" ,"desc": "Receives list of action origins" ,"paramtype": "EInputActionOrigin *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -6824,7 +6901,7 @@
|
||||
{ "paramname": "inputHandle" ,"paramtype": "InputHandle_t"},
|
||||
{ "paramname": "actionSetHandle" ,"paramtype": "InputActionSetHandle_t"},
|
||||
{ "paramname": "analogActionHandle" ,"paramtype": "InputAnalogActionHandle_t"},
|
||||
{ "paramname": "originsOut" ,"paramtype": "EInputActionOrigin *"}
|
||||
{ "paramname": "originsOut" ,"out_array_count": "STEAM_INPUT_MAX_ORIGINS" ,"desc": "Receives list of action origins" ,"paramtype": "EInputActionOrigin *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -6971,6 +7048,16 @@
|
||||
{ "paramname": "eSourceOrigin" ,"paramtype": "EInputActionOrigin"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamInput",
|
||||
"methodname": "GetDeviceBindingRevision",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "inputHandle" ,"paramtype": "InputHandle_t"},
|
||||
{ "paramname": "pMajor" ,"paramtype": "int *"},
|
||||
{ "paramname": "pMinor" ,"paramtype": "int *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamController",
|
||||
"methodname": "Init",
|
||||
@@ -6991,7 +7078,7 @@
|
||||
"methodname": "GetConnectedControllers",
|
||||
"returntype": "int",
|
||||
"params": [
|
||||
{ "paramname": "handlesOut" ,"paramtype": "ControllerHandle_t *"}
|
||||
{ "paramname": "handlesOut" ,"out_array_count": "STEAM_CONTROLLER_MAX_COUNT" ,"desc": "Receives list of connected controllers" ,"paramtype": "ControllerHandle_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -7051,7 +7138,7 @@
|
||||
"returntype": "int",
|
||||
"params": [
|
||||
{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"},
|
||||
{ "paramname": "handlesOut" ,"paramtype": "ControllerActionSetHandle_t *"}
|
||||
{ "paramname": "handlesOut" ,"out_array_count": "STEAM_CONTROLLER_MAX_ACTIVE_LAYERS" ,"desc": "Receives list of active layers" ,"paramtype": "ControllerActionSetHandle_t *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -7079,7 +7166,7 @@
|
||||
{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"},
|
||||
{ "paramname": "actionSetHandle" ,"paramtype": "ControllerActionSetHandle_t"},
|
||||
{ "paramname": "digitalActionHandle" ,"paramtype": "ControllerDigitalActionHandle_t"},
|
||||
{ "paramname": "originsOut" ,"paramtype": "EControllerActionOrigin *"}
|
||||
{ "paramname": "originsOut" ,"out_array_count": "STEAM_CONTROLLER_MAX_ORIGINS" ,"desc": "Receives list of aciton origins" ,"paramtype": "EControllerActionOrigin *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -7107,7 +7194,7 @@
|
||||
{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"},
|
||||
{ "paramname": "actionSetHandle" ,"paramtype": "ControllerActionSetHandle_t"},
|
||||
{ "paramname": "analogActionHandle" ,"paramtype": "ControllerAnalogActionHandle_t"},
|
||||
{ "paramname": "originsOut" ,"paramtype": "EControllerActionOrigin *"}
|
||||
{ "paramname": "originsOut" ,"out_array_count": "STEAM_CONTROLLER_MAX_ORIGINS" ,"desc": "Receives list of action origins" ,"paramtype": "EControllerActionOrigin *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -7254,6 +7341,16 @@
|
||||
{ "paramname": "eSourceOrigin" ,"paramtype": "EControllerActionOrigin"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamController",
|
||||
"methodname": "GetControllerBindingRevision",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"},
|
||||
{ "paramname": "pMajor" ,"paramtype": "int *"},
|
||||
{ "paramname": "pMinor" ,"paramtype": "int *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUGC",
|
||||
"methodname": "CreateQueryUserUGCRequest",
|
||||
@@ -7410,6 +7507,18 @@
|
||||
{ "paramname": "cchValueSize" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUGC",
|
||||
"methodname": "GetQueryUGCKeyValueTag",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"},
|
||||
{ "paramname": "index" ,"paramtype": "uint32"},
|
||||
{ "paramname": "pchKey" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchValue" ,"out_string_count": "cchValueSize" ,"paramtype": "char *"},
|
||||
{ "paramname": "cchValueSize" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUGC",
|
||||
"methodname": "ReleaseQueryUGCRequest",
|
||||
@@ -7680,6 +7789,14 @@
|
||||
{ "paramname": "bAllowLegacyUpload" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUGC",
|
||||
"methodname": "RemoveAllItemKeyValueTags",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUGC",
|
||||
"methodname": "RemoveItemKeyValueTags",
|
||||
@@ -8715,6 +8832,67 @@
|
||||
{ "paramname": "pnBufferSize" ,"paramtype": "int32 *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "IsBroadcasting",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "pnNumViewers" ,"paramtype": "int *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "AddBroadcastGameData",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pchKey" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchValue" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "RemoveBroadcastGameData",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pchKey" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "AddTimelineMarker",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pchTemplateName" ,"paramtype": "const char *"},
|
||||
{ "paramname": "bPersistent" ,"paramtype": "bool"},
|
||||
{ "paramname": "nColorR" ,"paramtype": "uint8"},
|
||||
{ "paramname": "nColorG" ,"paramtype": "uint8"},
|
||||
{ "paramname": "nColorB" ,"paramtype": "uint8"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "RemoveTimelineMarker",
|
||||
"returntype": "void"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "AddRegion",
|
||||
"returntype": "uint32",
|
||||
"params": [
|
||||
{ "paramname": "pchElementName" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pchTimelineDataSection" ,"paramtype": "const char *"},
|
||||
{ "paramname": "pSteamTVRegion" ,"paramtype": "const struct SteamTVRegion_t *"},
|
||||
{ "paramname": "eSteamTVRegionBehavior" ,"paramtype": "ESteamTVRegionBehavior"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamTV",
|
||||
"methodname": "RemoveRegion",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "unRegionHandle" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamParentalSettings",
|
||||
"methodname": "BIsParentalLockEnabled",
|
||||
|
||||
@@ -93,6 +93,7 @@ int const_k_iSteamUserStatsCallbacks = 1100;
|
||||
int const_k_iSteamNetworkingCallbacks = 1200;
|
||||
int const_k_iSteamNetworkingSocketsCallbacks = 1220;
|
||||
int const_k_iSteamNetworkingMessagesCallbacks = 1250;
|
||||
int const_k_iSteamNetworkingUtilsCallbacks = 1280;
|
||||
int const_k_iClientRemoteStorageCallbacks = 1300;
|
||||
int const_k_iClientDepotBuilderCallbacks = 1400;
|
||||
int const_k_iSteamGameServerItemsCallbacks = 1500;
|
||||
@@ -135,6 +136,8 @@ int const_k_iClientShaderCallbacks = 5100;
|
||||
int const_k_iSteamGameSearchCallbacks = 5200;
|
||||
int const_k_iSteamPartiesCallbacks = 5300;
|
||||
int const_k_iClientPartiesCallbacks = 5400;
|
||||
int const_k_iSteamSTARCallbacks = 5500;
|
||||
int const_k_iClientSTARCallbacks = 5600;
|
||||
int const_k_cchPersonaNameMax = 128;
|
||||
int const_k_cwchPersonaNameMax = 32;
|
||||
int const_k_cchMaxRichPresenceKeys = 30;
|
||||
@@ -145,6 +148,7 @@ int const_k_cchLeaderboardNameMax = 128;
|
||||
int const_k_cLeaderboardDetailsMax = 64;
|
||||
unsigned long const_k_SteamItemInstanceIDInvalid = 0xffffffff;
|
||||
int const_k_SteamInventoryResultInvalid = -1;
|
||||
int const_k_cchBroadcastGameDataMax = 8192;
|
||||
|
||||
|
||||
|
||||
@@ -218,6 +222,7 @@ S_API bool SteamAPI_ISteamUser_BIsTwoFactorEnabled(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamUser_BIsPhoneIdentifying(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification(intptr_t instancePtr);
|
||||
S_API SteamAPICall_t SteamAPI_ISteamUser_GetMarketEligibility(intptr_t instancePtr);
|
||||
S_API SteamAPICall_t SteamAPI_ISteamUser_GetDurationControl(intptr_t instancePtr);
|
||||
S_API const char * SteamAPI_ISteamFriends_GetPersonaName(intptr_t instancePtr);
|
||||
S_API SteamAPICall_t SteamAPI_ISteamFriends_SetPersonaName(intptr_t instancePtr, const char * pchPersonaName);
|
||||
S_API EPersonaState SteamAPI_ISteamFriends_GetPersonaState(intptr_t instancePtr);
|
||||
@@ -320,6 +325,9 @@ S_API bool SteamAPI_ISteamUtils_IsSteamInBigPictureMode(intptr_t instancePtr);
|
||||
S_API void SteamAPI_ISteamUtils_StartVRDashboard(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled(intptr_t instancePtr);
|
||||
S_API void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(intptr_t instancePtr, bool bEnabled);
|
||||
S_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamUtils_InitFilterText(intptr_t instancePtr);
|
||||
S_API int SteamAPI_ISteamUtils_FilterText(intptr_t instancePtr, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText, const char * pchInputMessage, bool bLegalOnly);
|
||||
S_API int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamMatchmaking_GetFavoriteGame(intptr_t instancePtr, int iGame, AppId_t * pnAppID, uint32 * pnIP, uint16 * pnConnPort, uint16 * pnQueryPort, uint32 * punFlags, uint32 * pRTime32LastPlayedOnServer);
|
||||
S_API int SteamAPI_ISteamMatchmaking_AddFavoriteGame(intptr_t instancePtr, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer);
|
||||
@@ -668,6 +676,7 @@ S_API const char * SteamAPI_ISteamInput_GetStringForXboxOrigin(intptr_t instance
|
||||
S_API const char * SteamAPI_ISteamInput_GetGlyphForXboxOrigin(intptr_t instancePtr, EXboxOrigin eOrigin);
|
||||
S_API EInputActionOrigin SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin(intptr_t instancePtr, InputHandle_t inputHandle, EXboxOrigin eOrigin);
|
||||
S_API EInputActionOrigin SteamAPI_ISteamInput_TranslateActionOrigin(intptr_t instancePtr, ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin);
|
||||
S_API bool SteamAPI_ISteamInput_GetDeviceBindingRevision(intptr_t instancePtr, InputHandle_t inputHandle, int * pMajor, int * pMinor);
|
||||
S_API bool SteamAPI_ISteamController_Init(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamController_Shutdown(intptr_t instancePtr);
|
||||
S_API void SteamAPI_ISteamController_RunFrame(intptr_t instancePtr);
|
||||
@@ -701,6 +710,7 @@ S_API const char * SteamAPI_ISteamController_GetStringForXboxOrigin(intptr_t ins
|
||||
S_API const char * SteamAPI_ISteamController_GetGlyphForXboxOrigin(intptr_t instancePtr, EXboxOrigin eOrigin);
|
||||
S_API EControllerActionOrigin SteamAPI_ISteamController_GetActionOriginFromXboxOrigin(intptr_t instancePtr, ControllerHandle_t controllerHandle, EXboxOrigin eOrigin);
|
||||
S_API EControllerActionOrigin SteamAPI_ISteamController_TranslateActionOrigin(intptr_t instancePtr, ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin);
|
||||
S_API bool SteamAPI_ISteamController_GetControllerBindingRevision(intptr_t instancePtr, ControllerHandle_t controllerHandle, int * pMajor, int * pMinor);
|
||||
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(intptr_t instancePtr, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage);
|
||||
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(intptr_t instancePtr, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage);
|
||||
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequest0(intptr_t instancePtr, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char * pchCursor);
|
||||
@@ -715,6 +725,7 @@ S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(intptr_t instan
|
||||
S_API bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, char * pchURLOrVideoID, uint32 cchURLSize, char * pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType * pPreviewType);
|
||||
S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index);
|
||||
S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char * pchKey, uint32 cchKeySize, char * pchValue, uint32 cchValueSize);
|
||||
S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag0(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, const char * pchKey, char * pchValue, uint32 cchValueSize);
|
||||
S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(intptr_t instancePtr, UGCQueryHandle_t handle);
|
||||
S_API bool SteamAPI_ISteamUGC_AddRequiredTag(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pTagName);
|
||||
S_API bool SteamAPI_ISteamUGC_AddExcludedTag(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pTagName);
|
||||
@@ -745,6 +756,7 @@ S_API bool SteamAPI_ISteamUGC_SetItemTags(intptr_t instancePtr, UGCUpdateHandle_
|
||||
S_API bool SteamAPI_ISteamUGC_SetItemContent(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszContentFolder);
|
||||
S_API bool SteamAPI_ISteamUGC_SetItemPreview(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszPreviewFile);
|
||||
S_API bool SteamAPI_ISteamUGC_SetAllowLegacyUpload(intptr_t instancePtr, UGCUpdateHandle_t handle, bool bAllowLegacyUpload);
|
||||
S_API bool SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags(intptr_t instancePtr, UGCUpdateHandle_t handle);
|
||||
S_API bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchKey);
|
||||
S_API bool SteamAPI_ISteamUGC_AddItemKeyValueTag(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchKey, const char * pchValue);
|
||||
S_API bool SteamAPI_ISteamUGC_AddItemPreviewFile(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type);
|
||||
@@ -860,6 +872,13 @@ S_API void SteamAPI_ISteamVideo_GetVideoURL(intptr_t instancePtr, AppId_t unVide
|
||||
S_API bool SteamAPI_ISteamVideo_IsBroadcasting(intptr_t instancePtr, int * pnNumViewers);
|
||||
S_API void SteamAPI_ISteamVideo_GetOPFSettings(intptr_t instancePtr, AppId_t unVideoAppID);
|
||||
S_API bool SteamAPI_ISteamVideo_GetOPFStringForApp(intptr_t instancePtr, AppId_t unVideoAppID, char * pchBuffer, int32 * pnBufferSize);
|
||||
S_API bool SteamAPI_ISteamTV_IsBroadcasting(intptr_t instancePtr, int * pnNumViewers);
|
||||
S_API void SteamAPI_ISteamTV_AddBroadcastGameData(intptr_t instancePtr, const char * pchKey, const char * pchValue);
|
||||
S_API void SteamAPI_ISteamTV_RemoveBroadcastGameData(intptr_t instancePtr, const char * pchKey);
|
||||
S_API void SteamAPI_ISteamTV_AddTimelineMarker(intptr_t instancePtr, const char * pchTemplateName, bool bPersistent, uint8 nColorR, uint8 nColorG, uint8 nColorB);
|
||||
S_API void SteamAPI_ISteamTV_RemoveTimelineMarker(intptr_t instancePtr);
|
||||
S_API uint32 SteamAPI_ISteamTV_AddRegion(intptr_t instancePtr, const char * pchElementName, const char * pchTimelineDataSection, const struct SteamTVRegion_t * pSteamTVRegion, ESteamTVRegionBehavior eSteamTVRegionBehavior);
|
||||
S_API void SteamAPI_ISteamTV_RemoveRegion(intptr_t instancePtr, uint32 unRegionHandle);
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsAppBlocked(intptr_t instancePtr, AppId_t nAppID);
|
||||
|
||||
@@ -196,6 +196,7 @@ class ISteamParentalSettings;
|
||||
class ISteamGameSearch;
|
||||
class ISteamInput;
|
||||
class ISteamParties;
|
||||
class ISteamTV;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Base values for callback identifiers, each callback must
|
||||
@@ -215,6 +216,7 @@ enum { k_iSteamUserStatsCallbacks = 1100 };
|
||||
enum { k_iSteamNetworkingCallbacks = 1200 };
|
||||
enum { k_iSteamNetworkingSocketsCallbacks = 1220 };
|
||||
enum { k_iSteamNetworkingMessagesCallbacks = 1250 };
|
||||
enum { k_iSteamNetworkingUtilsCallbacks = 1280 };
|
||||
enum { k_iClientRemoteStorageCallbacks = 1300 };
|
||||
enum { k_iClientDepotBuilderCallbacks = 1400 };
|
||||
enum { k_iSteamGameServerItemsCallbacks = 1500 };
|
||||
@@ -257,6 +259,8 @@ enum { k_iClientShaderCallbacks = 5100 };
|
||||
enum { k_iSteamGameSearchCallbacks = 5200 };
|
||||
enum { k_iSteamPartiesCallbacks = 5300 };
|
||||
enum { k_iClientPartiesCallbacks = 5400 };
|
||||
enum { k_iSteamSTARCallbacks = 5500 };
|
||||
enum { k_iClientSTARCallbacks = 5600 };
|
||||
|
||||
// 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
|
||||
@@ -325,6 +329,7 @@ public:
|
||||
ISteamHTMLSurface* SteamHTMLSurface() const { return m_pSteamHTMLSurface; }
|
||||
ISteamInventory* SteamInventory() const { return m_pSteamInventory; }
|
||||
ISteamVideo* SteamVideo() const { return m_pSteamVideo; }
|
||||
ISteamTV* SteamTV() const { return m_pSteamTV; }
|
||||
ISteamParentalSettings* SteamParentalSettings() const { return m_pSteamParentalSettings; }
|
||||
ISteamInput* SteamInput() const { return m_pSteamInput; }
|
||||
private:
|
||||
@@ -349,6 +354,7 @@ private:
|
||||
ISteamHTMLSurface *m_pSteamHTMLSurface;
|
||||
ISteamInventory *m_pSteamInventory;
|
||||
ISteamVideo *m_pSteamVideo;
|
||||
ISteamTV *m_pSteamTV;
|
||||
ISteamParentalSettings *m_pSteamParentalSettings;
|
||||
ISteamInput *m_pSteamInput;
|
||||
};
|
||||
|
||||
@@ -147,6 +147,8 @@ internal static extern bool SteamAPI_ISteamUser_BIsPhoneIdentifying(IntPtr insta
|
||||
internal static extern bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetMarketEligibility")]
|
||||
internal static extern ulong SteamAPI_ISteamUser_GetMarketEligibility(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetDurationControl")]
|
||||
internal static extern ulong SteamAPI_ISteamUser_GetDurationControl(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetPersonaName")]
|
||||
internal static extern IntPtr SteamAPI_ISteamFriends_GetPersonaName(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetPersonaName")]
|
||||
@@ -351,6 +353,12 @@ internal static extern void SteamAPI_ISteamUtils_StartVRDashboard(IntPtr instanc
|
||||
internal static extern bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled")]
|
||||
internal static extern void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(IntPtr instancePtr, bool bEnabled);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsSteamChinaLauncher")]
|
||||
internal static extern bool SteamAPI_ISteamUtils_IsSteamChinaLauncher(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_InitFilterText")]
|
||||
internal static extern bool SteamAPI_ISteamUtils_InitFilterText(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_FilterText")]
|
||||
internal static extern int SteamAPI_ISteamUtils_FilterText(IntPtr instancePtr, string pchOutFilteredText, uint nByteSizeOutFilteredText, string pchInputMessage, bool bLegalOnly);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetFavoriteGameCount")]
|
||||
internal static extern int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetFavoriteGame")]
|
||||
@@ -988,7 +996,7 @@ internal static extern bool SteamAPI_ISteamInput_Shutdown(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_RunFrame")]
|
||||
internal static extern void SteamAPI_ISteamInput_RunFrame(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetConnectedControllers")]
|
||||
internal static extern int SteamAPI_ISteamInput_GetConnectedControllers(IntPtr instancePtr, ref ulong handlesOut);
|
||||
internal static extern int SteamAPI_ISteamInput_GetConnectedControllers(IntPtr instancePtr, [In, Out] ulong[] handlesOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetActionSetHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamInput_GetActionSetHandle(IntPtr instancePtr, string pszActionSetName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_ActivateActionSet")]
|
||||
@@ -1002,19 +1010,19 @@ internal static extern void SteamAPI_ISteamInput_DeactivateActionSetLayer(IntPtr
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_DeactivateAllActionSetLayers")]
|
||||
internal static extern void SteamAPI_ISteamInput_DeactivateAllActionSetLayers(IntPtr instancePtr, ulong inputHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetActiveActionSetLayers")]
|
||||
internal static extern int SteamAPI_ISteamInput_GetActiveActionSetLayers(IntPtr instancePtr, ulong inputHandle, ref ulong handlesOut);
|
||||
internal static extern int SteamAPI_ISteamInput_GetActiveActionSetLayers(IntPtr instancePtr, ulong inputHandle, [In, Out] ulong[] handlesOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetDigitalActionHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamInput_GetDigitalActionHandle(IntPtr instancePtr, string pszActionName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetDigitalActionData")]
|
||||
internal static extern InputDigitalActionData_t SteamAPI_ISteamInput_GetDigitalActionData(IntPtr instancePtr, ulong inputHandle, ulong digitalActionHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetDigitalActionOrigins")]
|
||||
internal static extern int SteamAPI_ISteamInput_GetDigitalActionOrigins(IntPtr instancePtr, ulong inputHandle, ulong actionSetHandle, ulong digitalActionHandle, ref uint originsOut);
|
||||
internal static extern int SteamAPI_ISteamInput_GetDigitalActionOrigins(IntPtr instancePtr, ulong inputHandle, ulong actionSetHandle, ulong digitalActionHandle, [In, Out] uint[] originsOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetAnalogActionHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamInput_GetAnalogActionHandle(IntPtr instancePtr, string pszActionName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetAnalogActionData")]
|
||||
internal static extern InputAnalogActionData_t SteamAPI_ISteamInput_GetAnalogActionData(IntPtr instancePtr, ulong inputHandle, ulong analogActionHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetAnalogActionOrigins")]
|
||||
internal static extern int SteamAPI_ISteamInput_GetAnalogActionOrigins(IntPtr instancePtr, ulong inputHandle, ulong actionSetHandle, ulong analogActionHandle, ref uint originsOut);
|
||||
internal static extern int SteamAPI_ISteamInput_GetAnalogActionOrigins(IntPtr instancePtr, ulong inputHandle, ulong actionSetHandle, ulong analogActionHandle, [In, Out] uint[] originsOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetGlyphForActionOrigin")]
|
||||
internal static extern IntPtr SteamAPI_ISteamInput_GetGlyphForActionOrigin(IntPtr instancePtr, uint eOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetStringForActionOrigin")]
|
||||
@@ -1047,6 +1055,8 @@ internal static extern IntPtr SteamAPI_ISteamInput_GetGlyphForXboxOrigin(IntPtr
|
||||
internal static extern uint SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin(IntPtr instancePtr, ulong inputHandle, uint eOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_TranslateActionOrigin")]
|
||||
internal static extern uint SteamAPI_ISteamInput_TranslateActionOrigin(IntPtr instancePtr, uint eDestinationInputType, uint eSourceOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInput_GetDeviceBindingRevision")]
|
||||
internal static extern bool SteamAPI_ISteamInput_GetDeviceBindingRevision(IntPtr instancePtr, ulong inputHandle, ref int pMajor, ref int pMinor);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Init")]
|
||||
internal static extern bool SteamAPI_ISteamController_Init(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Shutdown")]
|
||||
@@ -1054,7 +1064,7 @@ internal static extern bool SteamAPI_ISteamController_Shutdown(IntPtr instancePt
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_RunFrame")]
|
||||
internal static extern void SteamAPI_ISteamController_RunFrame(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetConnectedControllers")]
|
||||
internal static extern int SteamAPI_ISteamController_GetConnectedControllers(IntPtr instancePtr, ref ulong handlesOut);
|
||||
internal static extern int SteamAPI_ISteamController_GetConnectedControllers(IntPtr instancePtr, [In, Out] ulong[] handlesOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetActionSetHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamController_GetActionSetHandle(IntPtr instancePtr, string pszActionSetName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ActivateActionSet")]
|
||||
@@ -1068,19 +1078,19 @@ internal static extern void SteamAPI_ISteamController_DeactivateActionSetLayer(I
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_DeactivateAllActionSetLayers")]
|
||||
internal static extern void SteamAPI_ISteamController_DeactivateAllActionSetLayers(IntPtr instancePtr, ulong controllerHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetActiveActionSetLayers")]
|
||||
internal static extern int SteamAPI_ISteamController_GetActiveActionSetLayers(IntPtr instancePtr, ulong controllerHandle, ref ulong handlesOut);
|
||||
internal static extern int SteamAPI_ISteamController_GetActiveActionSetLayers(IntPtr instancePtr, ulong controllerHandle, [In, Out] ulong[] handlesOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamController_GetDigitalActionHandle(IntPtr instancePtr, string pszActionName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionData")]
|
||||
internal static extern InputDigitalActionData_t SteamAPI_ISteamController_GetDigitalActionData(IntPtr instancePtr, ulong controllerHandle, ulong digitalActionHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionOrigins")]
|
||||
internal static extern int SteamAPI_ISteamController_GetDigitalActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, ref uint originsOut);
|
||||
internal static extern int SteamAPI_ISteamController_GetDigitalActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, [In, Out] uint[] originsOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionHandle")]
|
||||
internal static extern ulong SteamAPI_ISteamController_GetAnalogActionHandle(IntPtr instancePtr, string pszActionName);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionData")]
|
||||
internal static extern InputAnalogActionData_t SteamAPI_ISteamController_GetAnalogActionData(IntPtr instancePtr, ulong controllerHandle, ulong analogActionHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionOrigins")]
|
||||
internal static extern int SteamAPI_ISteamController_GetAnalogActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong analogActionHandle, ref uint originsOut);
|
||||
internal static extern int SteamAPI_ISteamController_GetAnalogActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong analogActionHandle, [In, Out] uint[] originsOut);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetGlyphForActionOrigin")]
|
||||
internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin(IntPtr instancePtr, uint eOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetStringForActionOrigin")]
|
||||
@@ -1113,6 +1123,8 @@ internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForXboxOrigin(In
|
||||
internal static extern uint SteamAPI_ISteamController_GetActionOriginFromXboxOrigin(IntPtr instancePtr, ulong controllerHandle, uint eOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_TranslateActionOrigin")]
|
||||
internal static extern uint SteamAPI_ISteamController_TranslateActionOrigin(IntPtr instancePtr, uint eDestinationInputType, uint eSourceOrigin);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetControllerBindingRevision")]
|
||||
internal static extern bool SteamAPI_ISteamController_GetControllerBindingRevision(IntPtr instancePtr, ulong controllerHandle, ref int pMajor, ref int pMinor);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateQueryUserUGCRequest")]
|
||||
internal static extern ulong SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(IntPtr instancePtr, uint unAccountID, uint eListType, uint eMatchingUGCType, uint eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint unPage);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateQueryAllUGCRequest")]
|
||||
@@ -1141,6 +1153,8 @@ internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(IntP
|
||||
internal static extern uint SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(IntPtr instancePtr, ulong handle, uint index);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(IntPtr instancePtr, ulong handle, uint index, uint keyValueTagIndex, System.Text.StringBuilder pchKey, uint cchKeySize, System.Text.StringBuilder pchValue, uint cchValueSize);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag0")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag0(IntPtr instancePtr, ulong handle, uint index, string pchKey, System.Text.StringBuilder pchValue, uint cchValueSize);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(IntPtr instancePtr, ulong handle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddRequiredTag")]
|
||||
@@ -1201,6 +1215,8 @@ internal static extern bool SteamAPI_ISteamUGC_SetItemContent(IntPtr instancePtr
|
||||
internal static extern bool SteamAPI_ISteamUGC_SetItemPreview(IntPtr instancePtr, ulong handle, string pszPreviewFile);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetAllowLegacyUpload")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_SetAllowLegacyUpload(IntPtr instancePtr, ulong handle, bool bAllowLegacyUpload);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags(IntPtr instancePtr, ulong handle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveItemKeyValueTags")]
|
||||
internal static extern bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags(IntPtr instancePtr, ulong handle, string pchKey);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddItemKeyValueTag")]
|
||||
@@ -1431,6 +1447,20 @@ internal static extern bool SteamAPI_ISteamVideo_IsBroadcasting(IntPtr instanceP
|
||||
internal static extern void SteamAPI_ISteamVideo_GetOPFSettings(IntPtr instancePtr, uint unVideoAppID);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamVideo_GetOPFStringForApp")]
|
||||
internal static extern bool SteamAPI_ISteamVideo_GetOPFStringForApp(IntPtr instancePtr, uint unVideoAppID, string pchBuffer, ref int pnBufferSize);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_IsBroadcasting")]
|
||||
internal static extern bool SteamAPI_ISteamTV_IsBroadcasting(IntPtr instancePtr, ref int pnNumViewers);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_AddBroadcastGameData")]
|
||||
internal static extern void SteamAPI_ISteamTV_AddBroadcastGameData(IntPtr instancePtr, string pchKey, string pchValue);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_RemoveBroadcastGameData")]
|
||||
internal static extern void SteamAPI_ISteamTV_RemoveBroadcastGameData(IntPtr instancePtr, string pchKey);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_AddTimelineMarker")]
|
||||
internal static extern void SteamAPI_ISteamTV_AddTimelineMarker(IntPtr instancePtr, string pchTemplateName, bool bPersistent, byte nColorR, byte nColorG, byte nColorB);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_RemoveTimelineMarker")]
|
||||
internal static extern void SteamAPI_ISteamTV_RemoveTimelineMarker(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_AddRegion")]
|
||||
internal static extern uint SteamAPI_ISteamTV_AddRegion(IntPtr instancePtr, string pchElementName, string pchTimelineDataSection, ref SteamTVRegion_t pSteamTVRegion, uint eSteamTVRegionBehavior);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamTV_RemoveRegion")]
|
||||
internal static extern void SteamAPI_ISteamTV_RemoveRegion(IntPtr instancePtr, uint unRegionHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled")]
|
||||
internal static extern bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsParentalLockLocked")]
|
||||
@@ -1766,11 +1796,11 @@ public delegate void SteamAPI_RemoteStorageEnumerateWorkshopFilesResult_t_CallRe
|
||||
public static extern ulong CRemoteStorageEnumerateWorkshopFilesResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageEnumerateWorkshopFilesResult_t_CallResult func);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult")]
|
||||
public static extern ulong CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult(ulong handle);
|
||||
public delegate void SteamAPI_RemoveUGCDependencyResult_t_CallResult(RemoveUGCDependencyResult_t pRemoveUGCDependencyResult_t, bool bIOFailure);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_SetCallResult")]
|
||||
public static extern ulong CRemoveUGCDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoveUGCDependencyResult_t_CallResult func);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_RemoveCallResult")]
|
||||
public static extern ulong CRemoveUGCDependencyResult_t_RemoveCallResult(ulong handle);
|
||||
public delegate void SteamAPI_DurationControl_t_CallResult(DurationControl_t pDurationControl_t, bool bIOFailure);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CDurationControl_t_SetCallResult")]
|
||||
public static extern ulong CDurationControl_t_SetCallResult(ulong hAPICall, SteamAPI_DurationControl_t_CallResult func);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CDurationControl_t_RemoveCallResult")]
|
||||
public static extern ulong CDurationControl_t_RemoveCallResult(ulong handle);
|
||||
public delegate void SteamAPI_GSReputation_t_CallResult(GSReputation_t pGSReputation_t, bool bIOFailure);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CGSReputation_t_SetCallResult")]
|
||||
public static extern ulong CGSReputation_t_SetCallResult(ulong hAPICall, SteamAPI_GSReputation_t_CallResult func);
|
||||
@@ -1876,6 +1906,11 @@ public delegate void SteamAPI_SteamInventoryEligiblePromoItemDefIDs_t_CallResult
|
||||
public static extern ulong CSteamInventoryEligiblePromoItemDefIDs_t_SetCallResult(ulong hAPICall, SteamAPI_SteamInventoryEligiblePromoItemDefIDs_t_CallResult func);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult")]
|
||||
public static extern ulong CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult(ulong handle);
|
||||
public delegate void SteamAPI_RemoveUGCDependencyResult_t_CallResult(RemoveUGCDependencyResult_t pRemoveUGCDependencyResult_t, bool bIOFailure);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_SetCallResult")]
|
||||
public static extern ulong CRemoveUGCDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoveUGCDependencyResult_t_CallResult func);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_RemoveCallResult")]
|
||||
public static extern ulong CRemoveUGCDependencyResult_t_RemoveCallResult(ulong handle);
|
||||
public delegate void SteamAPI_JoinClanChatRoomCompletionResult_t_CallResult(JoinClanChatRoomCompletionResult_t pJoinClanChatRoomCompletionResult_t, bool bIOFailure);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "CJoinClanChatRoomCompletionResult_t_SetCallResult")]
|
||||
public static extern ulong CJoinClanChatRoomCompletionResult_t_SetCallResult(ulong hAPICall, SteamAPI_JoinClanChatRoomCompletionResult_t_CallResult func);
|
||||
@@ -1968,6 +2003,7 @@ namespace Valve.Steamworks
|
||||
public abstract bool BIsPhoneIdentifying();
|
||||
public abstract bool BIsPhoneRequiringVerification();
|
||||
public abstract ulong GetMarketEligibility();
|
||||
public abstract ulong GetDurationControl();
|
||||
}
|
||||
|
||||
|
||||
@@ -2082,6 +2118,9 @@ namespace Valve.Steamworks
|
||||
public abstract void StartVRDashboard();
|
||||
public abstract bool IsVRHeadsetStreamingEnabled();
|
||||
public abstract void SetVRHeadsetStreamingEnabled(bool bEnabled);
|
||||
public abstract bool IsSteamChinaLauncher();
|
||||
public abstract bool InitFilterText();
|
||||
public abstract int FilterText(string pchOutFilteredText,uint nByteSizeOutFilteredText,string pchInputMessage,bool bLegalOnly);
|
||||
}
|
||||
|
||||
|
||||
@@ -2502,20 +2541,20 @@ namespace Valve.Steamworks
|
||||
public abstract bool Init();
|
||||
public abstract bool Shutdown();
|
||||
public abstract void RunFrame();
|
||||
public abstract int GetConnectedControllers(ref ulong handlesOut);
|
||||
public abstract int GetConnectedControllers(out ulong [] handlesOut);
|
||||
public abstract ulong GetActionSetHandle(string pszActionSetName);
|
||||
public abstract void ActivateActionSet(ulong inputHandle,ulong actionSetHandle);
|
||||
public abstract ulong GetCurrentActionSet(ulong inputHandle);
|
||||
public abstract void ActivateActionSetLayer(ulong inputHandle,ulong actionSetLayerHandle);
|
||||
public abstract void DeactivateActionSetLayer(ulong inputHandle,ulong actionSetLayerHandle);
|
||||
public abstract void DeactivateAllActionSetLayers(ulong inputHandle);
|
||||
public abstract int GetActiveActionSetLayers(ulong inputHandle,ref ulong handlesOut);
|
||||
public abstract int GetActiveActionSetLayers(ulong inputHandle,out ulong [] handlesOut);
|
||||
public abstract ulong GetDigitalActionHandle(string pszActionName);
|
||||
public abstract InputDigitalActionData_t GetDigitalActionData(ulong inputHandle,ulong digitalActionHandle);
|
||||
public abstract int GetDigitalActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut);
|
||||
public abstract int GetDigitalActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong digitalActionHandle,out uint [] originsOut);
|
||||
public abstract ulong GetAnalogActionHandle(string pszActionName);
|
||||
public abstract InputAnalogActionData_t GetAnalogActionData(ulong inputHandle,ulong analogActionHandle);
|
||||
public abstract int GetAnalogActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut);
|
||||
public abstract int GetAnalogActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong analogActionHandle,out uint [] originsOut);
|
||||
public abstract string GetGlyphForActionOrigin(uint eOrigin);
|
||||
public abstract string GetStringForActionOrigin(uint eOrigin);
|
||||
public abstract void StopAnalogActionMomentum(ulong inputHandle,ulong eAction);
|
||||
@@ -2532,6 +2571,7 @@ namespace Valve.Steamworks
|
||||
public abstract string GetGlyphForXboxOrigin(uint eOrigin);
|
||||
public abstract uint GetActionOriginFromXboxOrigin(ulong inputHandle,uint eOrigin);
|
||||
public abstract uint TranslateActionOrigin(uint eDestinationInputType,uint eSourceOrigin);
|
||||
public abstract bool GetDeviceBindingRevision(ulong inputHandle,ref int pMajor,ref int pMinor);
|
||||
}
|
||||
|
||||
|
||||
@@ -2541,20 +2581,20 @@ namespace Valve.Steamworks
|
||||
public abstract bool Init();
|
||||
public abstract bool Shutdown();
|
||||
public abstract void RunFrame();
|
||||
public abstract int GetConnectedControllers(ref ulong handlesOut);
|
||||
public abstract int GetConnectedControllers(out ulong [] handlesOut);
|
||||
public abstract ulong GetActionSetHandle(string pszActionSetName);
|
||||
public abstract void ActivateActionSet(ulong controllerHandle,ulong actionSetHandle);
|
||||
public abstract ulong GetCurrentActionSet(ulong controllerHandle);
|
||||
public abstract void ActivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle);
|
||||
public abstract void DeactivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle);
|
||||
public abstract void DeactivateAllActionSetLayers(ulong controllerHandle);
|
||||
public abstract int GetActiveActionSetLayers(ulong controllerHandle,ref ulong handlesOut);
|
||||
public abstract int GetActiveActionSetLayers(ulong controllerHandle,out ulong [] handlesOut);
|
||||
public abstract ulong GetDigitalActionHandle(string pszActionName);
|
||||
public abstract InputDigitalActionData_t GetDigitalActionData(ulong controllerHandle,ulong digitalActionHandle);
|
||||
public abstract int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut);
|
||||
public abstract int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,out uint [] originsOut);
|
||||
public abstract ulong GetAnalogActionHandle(string pszActionName);
|
||||
public abstract InputAnalogActionData_t GetAnalogActionData(ulong controllerHandle,ulong analogActionHandle);
|
||||
public abstract int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut);
|
||||
public abstract int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,out uint [] originsOut);
|
||||
public abstract string GetGlyphForActionOrigin(uint eOrigin);
|
||||
public abstract string GetStringForActionOrigin(uint eOrigin);
|
||||
public abstract void StopAnalogActionMomentum(ulong controllerHandle,ulong eAction);
|
||||
@@ -2571,6 +2611,7 @@ namespace Valve.Steamworks
|
||||
public abstract string GetGlyphForXboxOrigin(uint eOrigin);
|
||||
public abstract uint GetActionOriginFromXboxOrigin(ulong controllerHandle,uint eOrigin);
|
||||
public abstract uint TranslateActionOrigin(uint eDestinationInputType,uint eSourceOrigin);
|
||||
public abstract bool GetControllerBindingRevision(ulong controllerHandle,ref int pMajor,ref int pMinor);
|
||||
}
|
||||
|
||||
|
||||
@@ -2591,6 +2632,7 @@ namespace Valve.Steamworks
|
||||
public abstract bool GetQueryUGCAdditionalPreview(ulong handle,uint index,uint previewIndex,out string pchURLOrVideoID,out string pchOriginalFileName,uint cchOriginalFileNameSize,ref uint pPreviewType);
|
||||
public abstract uint GetQueryUGCNumKeyValueTags(ulong handle,uint index);
|
||||
public abstract bool GetQueryUGCKeyValueTag(ulong handle,uint index,uint keyValueTagIndex,out string pchKey,out string pchValue);
|
||||
public abstract bool GetQueryUGCKeyValueTag0(ulong handle,uint index,string pchKey,out string pchValue);
|
||||
public abstract bool ReleaseQueryUGCRequest(ulong handle);
|
||||
public abstract bool AddRequiredTag(ulong handle,string pTagName);
|
||||
public abstract bool AddExcludedTag(ulong handle,string pTagName);
|
||||
@@ -2621,6 +2663,7 @@ namespace Valve.Steamworks
|
||||
public abstract bool SetItemContent(ulong handle,string pszContentFolder);
|
||||
public abstract bool SetItemPreview(ulong handle,string pszPreviewFile);
|
||||
public abstract bool SetAllowLegacyUpload(ulong handle,bool bAllowLegacyUpload);
|
||||
public abstract bool RemoveAllItemKeyValueTags(ulong handle);
|
||||
public abstract bool RemoveItemKeyValueTags(ulong handle,string pchKey);
|
||||
public abstract bool AddItemKeyValueTag(ulong handle,string pchKey,string pchValue);
|
||||
public abstract bool AddItemPreviewFile(ulong handle,string pszPreviewFile,uint type);
|
||||
@@ -2763,6 +2806,19 @@ namespace Valve.Steamworks
|
||||
}
|
||||
|
||||
|
||||
public abstract class ISteamTV
|
||||
{
|
||||
public abstract IntPtr GetIntPtr();
|
||||
public abstract bool IsBroadcasting(ref int pnNumViewers);
|
||||
public abstract void AddBroadcastGameData(string pchKey,string pchValue);
|
||||
public abstract void RemoveBroadcastGameData(string pchKey);
|
||||
public abstract void AddTimelineMarker(string pchTemplateName,bool bPersistent,byte nColorR,byte nColorG,byte nColorB);
|
||||
public abstract void RemoveTimelineMarker();
|
||||
public abstract uint AddRegion(string pchElementName,string pchTimelineDataSection,ref SteamTVRegion_t pSteamTVRegion,uint eSteamTVRegionBehavior);
|
||||
public abstract void RemoveRegion(uint unRegionHandle);
|
||||
}
|
||||
|
||||
|
||||
public abstract class ISteamParentalSettings
|
||||
{
|
||||
public abstract IntPtr GetIntPtr();
|
||||
@@ -3266,6 +3322,12 @@ public override ulong GetMarketEligibility()
|
||||
ulong result = NativeEntrypoints.SteamAPI_ISteamUser_GetMarketEligibility(m_pSteamUser);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetDurationControl()
|
||||
{
|
||||
CheckIfUsable();
|
||||
ulong result = NativeEntrypoints.SteamAPI_ISteamUser_GetDurationControl(m_pSteamUser);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3918,6 +3980,24 @@ public override void SetVRHeadsetStreamingEnabled(bool bEnabled)
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(m_pSteamUtils,bEnabled);
|
||||
}
|
||||
public override bool IsSteamChinaLauncher()
|
||||
{
|
||||
CheckIfUsable();
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsSteamChinaLauncher(m_pSteamUtils);
|
||||
return result;
|
||||
}
|
||||
public override bool InitFilterText()
|
||||
{
|
||||
CheckIfUsable();
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamUtils_InitFilterText(m_pSteamUtils);
|
||||
return result;
|
||||
}
|
||||
public override int FilterText(string pchOutFilteredText,uint nByteSizeOutFilteredText,string pchInputMessage,bool bLegalOnly)
|
||||
{
|
||||
CheckIfUsable();
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamUtils_FilterText(m_pSteamUtils,pchOutFilteredText,nByteSizeOutFilteredText,pchInputMessage,bLegalOnly);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6197,11 +6277,13 @@ public override void RunFrame()
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamInput_RunFrame(m_pSteamInput);
|
||||
}
|
||||
public override int GetConnectedControllers(ref ulong handlesOut)
|
||||
public override int GetConnectedControllers(out ulong [] handlesOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
handlesOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetConnectedControllers(m_pSteamInput,ref handlesOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetConnectedControllers(m_pSteamInput,null);
|
||||
handlesOut= new ulong[STEAM_INPUT_MAX_COUNT];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamInput_GetConnectedControllers(m_pSteamInput,handlesOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetActionSetHandle(string pszActionSetName)
|
||||
@@ -6236,11 +6318,13 @@ public override void DeactivateAllActionSetLayers(ulong inputHandle)
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamInput_DeactivateAllActionSetLayers(m_pSteamInput,inputHandle);
|
||||
}
|
||||
public override int GetActiveActionSetLayers(ulong inputHandle,ref ulong handlesOut)
|
||||
public override int GetActiveActionSetLayers(ulong inputHandle,out ulong [] handlesOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
handlesOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetActiveActionSetLayers(m_pSteamInput,inputHandle,ref handlesOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetActiveActionSetLayers(m_pSteamInput,inputHandle,null);
|
||||
handlesOut= new ulong[STEAM_INPUT_MAX_ACTIVE_LAYERS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamInput_GetActiveActionSetLayers(m_pSteamInput,inputHandle,handlesOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetDigitalActionHandle(string pszActionName)
|
||||
@@ -6255,11 +6339,13 @@ public override InputDigitalActionData_t GetDigitalActionData(ulong inputHandle,
|
||||
InputDigitalActionData_t result = NativeEntrypoints.SteamAPI_ISteamInput_GetDigitalActionData(m_pSteamInput,inputHandle,digitalActionHandle);
|
||||
return result;
|
||||
}
|
||||
public override int GetDigitalActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut)
|
||||
public override int GetDigitalActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong digitalActionHandle,out uint [] originsOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
originsOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetDigitalActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,digitalActionHandle,ref originsOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetDigitalActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,digitalActionHandle,null);
|
||||
originsOut= new uint[STEAM_INPUT_MAX_ORIGINS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamInput_GetDigitalActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,digitalActionHandle,originsOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetAnalogActionHandle(string pszActionName)
|
||||
@@ -6274,11 +6360,13 @@ public override InputAnalogActionData_t GetAnalogActionData(ulong inputHandle,ul
|
||||
InputAnalogActionData_t result = NativeEntrypoints.SteamAPI_ISteamInput_GetAnalogActionData(m_pSteamInput,inputHandle,analogActionHandle);
|
||||
return result;
|
||||
}
|
||||
public override int GetAnalogActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut)
|
||||
public override int GetAnalogActionOrigins(ulong inputHandle,ulong actionSetHandle,ulong analogActionHandle,out uint [] originsOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
originsOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetAnalogActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,analogActionHandle,ref originsOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamInput_GetAnalogActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,analogActionHandle,null);
|
||||
originsOut= new uint[STEAM_INPUT_MAX_ORIGINS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamInput_GetAnalogActionOrigins(m_pSteamInput,inputHandle,actionSetHandle,analogActionHandle,originsOut);
|
||||
return result;
|
||||
}
|
||||
public override string GetGlyphForActionOrigin(uint eOrigin)
|
||||
@@ -6372,6 +6460,14 @@ public override uint TranslateActionOrigin(uint eDestinationInputType,uint eSour
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamInput_TranslateActionOrigin(m_pSteamInput,eDestinationInputType,eSourceOrigin);
|
||||
return result;
|
||||
}
|
||||
public override bool GetDeviceBindingRevision(ulong inputHandle,ref int pMajor,ref int pMinor)
|
||||
{
|
||||
CheckIfUsable();
|
||||
pMajor = 0;
|
||||
pMinor = 0;
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamInput_GetDeviceBindingRevision(m_pSteamInput,inputHandle,ref pMajor,ref pMinor);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6409,11 +6505,13 @@ public override void RunFrame()
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamController_RunFrame(m_pSteamController);
|
||||
}
|
||||
public override int GetConnectedControllers(ref ulong handlesOut)
|
||||
public override int GetConnectedControllers(out ulong [] handlesOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
handlesOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetConnectedControllers(m_pSteamController,ref handlesOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetConnectedControllers(m_pSteamController,null);
|
||||
handlesOut= new ulong[STEAM_CONTROLLER_MAX_COUNT];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamController_GetConnectedControllers(m_pSteamController,handlesOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetActionSetHandle(string pszActionSetName)
|
||||
@@ -6448,11 +6546,13 @@ public override void DeactivateAllActionSetLayers(ulong controllerHandle)
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamController_DeactivateAllActionSetLayers(m_pSteamController,controllerHandle);
|
||||
}
|
||||
public override int GetActiveActionSetLayers(ulong controllerHandle,ref ulong handlesOut)
|
||||
public override int GetActiveActionSetLayers(ulong controllerHandle,out ulong [] handlesOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
handlesOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetActiveActionSetLayers(m_pSteamController,controllerHandle,ref handlesOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetActiveActionSetLayers(m_pSteamController,controllerHandle,null);
|
||||
handlesOut= new ulong[STEAM_CONTROLLER_MAX_ACTIVE_LAYERS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamController_GetActiveActionSetLayers(m_pSteamController,controllerHandle,handlesOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetDigitalActionHandle(string pszActionName)
|
||||
@@ -6467,11 +6567,13 @@ public override InputDigitalActionData_t GetDigitalActionData(ulong controllerHa
|
||||
InputDigitalActionData_t result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionData(m_pSteamController,controllerHandle,digitalActionHandle);
|
||||
return result;
|
||||
}
|
||||
public override int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut)
|
||||
public override int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,out uint [] originsOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
originsOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,digitalActionHandle,ref originsOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,digitalActionHandle,null);
|
||||
originsOut= new uint[STEAM_CONTROLLER_MAX_ORIGINS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,digitalActionHandle,originsOut);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetAnalogActionHandle(string pszActionName)
|
||||
@@ -6486,11 +6588,13 @@ public override InputAnalogActionData_t GetAnalogActionData(ulong controllerHand
|
||||
InputAnalogActionData_t result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionData(m_pSteamController,controllerHandle,analogActionHandle);
|
||||
return result;
|
||||
}
|
||||
public override int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut)
|
||||
public override int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,out uint [] originsOut)
|
||||
{
|
||||
CheckIfUsable();
|
||||
originsOut = 0;
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,analogActionHandle,ref originsOut);
|
||||
int result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,analogActionHandle,null);
|
||||
originsOut= new uint[STEAM_CONTROLLER_MAX_ORIGINS];
|
||||
result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,analogActionHandle,originsOut);
|
||||
return result;
|
||||
}
|
||||
public override string GetGlyphForActionOrigin(uint eOrigin)
|
||||
@@ -6584,6 +6688,14 @@ public override uint TranslateActionOrigin(uint eDestinationInputType,uint eSour
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamController_TranslateActionOrigin(m_pSteamController,eDestinationInputType,eSourceOrigin);
|
||||
return result;
|
||||
}
|
||||
public override bool GetControllerBindingRevision(ulong controllerHandle,ref int pMajor,ref int pMinor)
|
||||
{
|
||||
CheckIfUsable();
|
||||
pMajor = 0;
|
||||
pMinor = 0;
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamController_GetControllerBindingRevision(m_pSteamController,controllerHandle,ref pMajor,ref pMinor);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6704,6 +6816,14 @@ public override bool GetQueryUGCKeyValueTag(ulong handle,uint index,uint keyValu
|
||||
pchValue = pStrBuffer2.ToString();
|
||||
return result;
|
||||
}
|
||||
public override bool GetQueryUGCKeyValueTag0(ulong handle,uint index,string pchKey,out string pchValue)
|
||||
{
|
||||
CheckIfUsable();
|
||||
System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048);
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag0(m_pSteamUGC,handle,index,pchKey,pStrBuffer1,2048);
|
||||
pchValue = pStrBuffer1.ToString();
|
||||
return result;
|
||||
}
|
||||
public override bool ReleaseQueryUGCRequest(ulong handle)
|
||||
{
|
||||
CheckIfUsable();
|
||||
@@ -6884,6 +7004,12 @@ public override bool SetAllowLegacyUpload(ulong handle,bool bAllowLegacyUpload)
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetAllowLegacyUpload(m_pSteamUGC,handle,bAllowLegacyUpload);
|
||||
return result;
|
||||
}
|
||||
public override bool RemoveAllItemKeyValueTags(ulong handle)
|
||||
{
|
||||
CheckIfUsable();
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags(m_pSteamUGC,handle);
|
||||
return result;
|
||||
}
|
||||
public override bool RemoveItemKeyValueTags(ulong handle,string pchKey)
|
||||
{
|
||||
CheckIfUsable();
|
||||
@@ -7672,6 +7798,64 @@ public override bool GetOPFStringForApp(uint unVideoAppID,string pchBuffer,ref i
|
||||
}
|
||||
|
||||
|
||||
public class CSteamTV : ISteamTV
|
||||
{
|
||||
public CSteamTV(IntPtr SteamTV)
|
||||
{
|
||||
m_pSteamTV = SteamTV;
|
||||
}
|
||||
IntPtr m_pSteamTV;
|
||||
|
||||
public override IntPtr GetIntPtr() { return m_pSteamTV; }
|
||||
|
||||
private void CheckIfUsable()
|
||||
{
|
||||
if (m_pSteamTV == IntPtr.Zero)
|
||||
{
|
||||
throw new Exception("Steam Pointer not configured");
|
||||
}
|
||||
}
|
||||
public override bool IsBroadcasting(ref int pnNumViewers)
|
||||
{
|
||||
CheckIfUsable();
|
||||
pnNumViewers = 0;
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamTV_IsBroadcasting(m_pSteamTV,ref pnNumViewers);
|
||||
return result;
|
||||
}
|
||||
public override void AddBroadcastGameData(string pchKey,string pchValue)
|
||||
{
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamTV_AddBroadcastGameData(m_pSteamTV,pchKey,pchValue);
|
||||
}
|
||||
public override void RemoveBroadcastGameData(string pchKey)
|
||||
{
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamTV_RemoveBroadcastGameData(m_pSteamTV,pchKey);
|
||||
}
|
||||
public override void AddTimelineMarker(string pchTemplateName,bool bPersistent,byte nColorR,byte nColorG,byte nColorB)
|
||||
{
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamTV_AddTimelineMarker(m_pSteamTV,pchTemplateName,bPersistent,nColorR,nColorG,nColorB);
|
||||
}
|
||||
public override void RemoveTimelineMarker()
|
||||
{
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamTV_RemoveTimelineMarker(m_pSteamTV);
|
||||
}
|
||||
public override uint AddRegion(string pchElementName,string pchTimelineDataSection,ref SteamTVRegion_t pSteamTVRegion,uint eSteamTVRegionBehavior)
|
||||
{
|
||||
CheckIfUsable();
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamTV_AddRegion(m_pSteamTV,pchElementName,pchTimelineDataSection,ref pSteamTVRegion,eSteamTVRegionBehavior);
|
||||
return result;
|
||||
}
|
||||
public override void RemoveRegion(uint unRegionHandle)
|
||||
{
|
||||
CheckIfUsable();
|
||||
NativeEntrypoints.SteamAPI_ISteamTV_RemoveRegion(m_pSteamTV,unRegionHandle);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class CSteamParentalSettings : ISteamParentalSettings
|
||||
{
|
||||
public CSteamParentalSettings(IntPtr SteamParentalSettings)
|
||||
@@ -8932,24 +9116,24 @@ public class CRemoteStorageEnumerateWorkshopFilesResult_t_CallResult
|
||||
m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateWorkshopFilesResult_t_SetCallResult(hAPICall, func);
|
||||
}
|
||||
}
|
||||
public class CRemoveUGCDependencyResult_t_CallResult
|
||||
public class CDurationControl_t_CallResult
|
||||
{
|
||||
public CRemoveUGCDependencyResult_t_CallResult() { }
|
||||
~CRemoveUGCDependencyResult_t_CallResult()
|
||||
public CDurationControl_t_CallResult() { }
|
||||
~CDurationControl_t_CallResult()
|
||||
{
|
||||
if(m_Handle != 0)
|
||||
{
|
||||
Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle);
|
||||
Valve.Interop.NativeEntrypoints.CDurationControl_t_RemoveCallResult(m_Handle);
|
||||
}
|
||||
}
|
||||
ulong m_Handle = 0;
|
||||
public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoveUGCDependencyResult_t_CallResult func)
|
||||
public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_DurationControl_t_CallResult func)
|
||||
{
|
||||
if (m_Handle != 0)
|
||||
{
|
||||
Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle);
|
||||
Valve.Interop.NativeEntrypoints.CDurationControl_t_RemoveCallResult(m_Handle);
|
||||
}
|
||||
m_Handle = Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_SetCallResult(hAPICall, func);
|
||||
m_Handle = Valve.Interop.NativeEntrypoints.CDurationControl_t_SetCallResult(hAPICall, func);
|
||||
}
|
||||
}
|
||||
public class CGSReputation_t_CallResult
|
||||
@@ -9372,6 +9556,26 @@ public class CSteamInventoryEligiblePromoItemDefIDs_t_CallResult
|
||||
m_Handle = Valve.Interop.NativeEntrypoints.CSteamInventoryEligiblePromoItemDefIDs_t_SetCallResult(hAPICall, func);
|
||||
}
|
||||
}
|
||||
public class CRemoveUGCDependencyResult_t_CallResult
|
||||
{
|
||||
public CRemoveUGCDependencyResult_t_CallResult() { }
|
||||
~CRemoveUGCDependencyResult_t_CallResult()
|
||||
{
|
||||
if(m_Handle != 0)
|
||||
{
|
||||
Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle);
|
||||
}
|
||||
}
|
||||
ulong m_Handle = 0;
|
||||
public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoveUGCDependencyResult_t_CallResult func)
|
||||
{
|
||||
if (m_Handle != 0)
|
||||
{
|
||||
Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle);
|
||||
}
|
||||
m_Handle = Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_SetCallResult(hAPICall, func);
|
||||
}
|
||||
}
|
||||
public class CJoinClanChatRoomCompletionResult_t_CallResult
|
||||
{
|
||||
public CJoinClanChatRoomCompletionResult_t_CallResult() { }
|
||||
@@ -9478,6 +9682,8 @@ internal static extern IntPtr SteamHTMLSurface();
|
||||
internal static extern IntPtr SteamInventory();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamVideo")]
|
||||
internal static extern IntPtr SteamVideo();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamTV")]
|
||||
internal static extern IntPtr SteamTV();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamParentalSettings")]
|
||||
internal static extern IntPtr SteamParentalSettings();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamGameServer")]
|
||||
@@ -9736,6 +9942,7 @@ public enum EAppType
|
||||
k_EAppType_Music = 8192,
|
||||
k_EAppType_Series = 16384,
|
||||
k_EAppType_Comic = 32768,
|
||||
k_EAppType_Beta = 65536,
|
||||
k_EAppType_Shortcut = 1073741824,
|
||||
k_EAppType_DepotOnly = -2147483648,
|
||||
}
|
||||
@@ -9861,6 +10068,7 @@ public enum EVRHMDType
|
||||
k_eEVRHMDType_Oculus_DK1 = 21,
|
||||
k_eEVRHMDType_Oculus_DK2 = 22,
|
||||
k_eEVRHMDType_Oculus_Rift = 23,
|
||||
k_eEVRHMDType_Oculus_RiftS = 24,
|
||||
k_eEVRHMDType_Oculus_Unknown = 40,
|
||||
k_eEVRHMDType_Acer_Unknown = 50,
|
||||
k_eEVRHMDType_Acer_WindowsMR = 51,
|
||||
@@ -9877,7 +10085,9 @@ public enum EVRHMDType
|
||||
k_eEVRHMDType_vridge = 110,
|
||||
k_eEVRHMDType_Huawei_Unknown = 120,
|
||||
k_eEVRHMDType_Huawei_VR2 = 121,
|
||||
k_eEVRHMDType_Huawei_Unannounced = 129,
|
||||
k_eEVRHMDType_Huawei_EndOfRange = 129,
|
||||
k_eEVRHmdType_Valve_Unknown = 130,
|
||||
k_eEVRHmdType_Valve_Index = 131,
|
||||
}
|
||||
public enum EMarketNotAllowedReasonFlags
|
||||
{
|
||||
@@ -9899,6 +10109,20 @@ public enum EMarketNotAllowedReasonFlags
|
||||
k_EMarketNotAllowedReason_NoRecentPurchases = 16384,
|
||||
k_EMarketNotAllowedReason_AcceptedWalletGift = 32768,
|
||||
}
|
||||
public enum EDurationControlProgress
|
||||
{
|
||||
k_EDurationControlProgress_Full = 0,
|
||||
k_EDurationControlProgress_Half = 1,
|
||||
k_EDurationControlProgress_None = 2,
|
||||
}
|
||||
public enum EDurationControlNotification
|
||||
{
|
||||
k_EDurationControlNotification_None = 0,
|
||||
k_EDurationControlNotification_1Hour = 1,
|
||||
k_EDurationControlNotification_3Hours = 2,
|
||||
k_EDurationControlNotification_HalfProgress = 3,
|
||||
k_EDurationControlNotification_NoProgress = 4,
|
||||
}
|
||||
public enum EGameSearchErrorCode_t
|
||||
{
|
||||
k_EGameSearchErrorCode_OK = 1,
|
||||
@@ -10041,6 +10265,7 @@ public enum ELobbyType
|
||||
k_ELobbyTypeFriendsOnly = 1,
|
||||
k_ELobbyTypePublic = 2,
|
||||
k_ELobbyTypeInvisible = 3,
|
||||
k_ELobbyTypePrivateUnique = 4,
|
||||
}
|
||||
public enum ELobbyComparison
|
||||
{
|
||||
@@ -10089,6 +10314,7 @@ public enum ERemoteStoragePlatform
|
||||
k_ERemoteStoragePlatformLinux = 8,
|
||||
k_ERemoteStoragePlatformReserved2 = 16,
|
||||
k_ERemoteStoragePlatformAndroid = 32,
|
||||
k_ERemoteStoragePlatformIOS = 64,
|
||||
k_ERemoteStoragePlatformAll = -1,
|
||||
}
|
||||
public enum ERemoteStoragePublishedFileVisibility
|
||||
@@ -10441,7 +10667,7 @@ public enum EInputActionOrigin
|
||||
k_EInputActionOrigin_PS4_Gyro_Pitch = 100,
|
||||
k_EInputActionOrigin_PS4_Gyro_Yaw = 101,
|
||||
k_EInputActionOrigin_PS4_Gyro_Roll = 102,
|
||||
k_EInputActionOrigin_PS4_Reserved0 = 103,
|
||||
k_EInputActionOrigin_PS4_DPad_Move = 103,
|
||||
k_EInputActionOrigin_PS4_Reserved1 = 104,
|
||||
k_EInputActionOrigin_PS4_Reserved2 = 105,
|
||||
k_EInputActionOrigin_PS4_Reserved3 = 106,
|
||||
@@ -10480,7 +10706,7 @@ public enum EInputActionOrigin
|
||||
k_EInputActionOrigin_XBoxOne_DPad_South = 139,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_West = 140,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_East = 141,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved0 = 142,
|
||||
k_EInputActionOrigin_XBoxOne_DPad_Move = 142,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved1 = 143,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved2 = 144,
|
||||
k_EInputActionOrigin_XBoxOne_Reserved3 = 145,
|
||||
@@ -10519,7 +10745,7 @@ public enum EInputActionOrigin
|
||||
k_EInputActionOrigin_XBox360_DPad_South = 178,
|
||||
k_EInputActionOrigin_XBox360_DPad_West = 179,
|
||||
k_EInputActionOrigin_XBox360_DPad_East = 180,
|
||||
k_EInputActionOrigin_XBox360_Reserved0 = 181,
|
||||
k_EInputActionOrigin_XBox360_DPad_Move = 181,
|
||||
k_EInputActionOrigin_XBox360_Reserved1 = 182,
|
||||
k_EInputActionOrigin_XBox360_Reserved2 = 183,
|
||||
k_EInputActionOrigin_XBox360_Reserved3 = 184,
|
||||
@@ -10563,7 +10789,7 @@ public enum EInputActionOrigin
|
||||
k_EInputActionOrigin_Switch_ProGyro_Pitch = 222,
|
||||
k_EInputActionOrigin_Switch_ProGyro_Yaw = 223,
|
||||
k_EInputActionOrigin_Switch_ProGyro_Roll = 224,
|
||||
k_EInputActionOrigin_Switch_Reserved0 = 225,
|
||||
k_EInputActionOrigin_Switch_DPad_Move = 225,
|
||||
k_EInputActionOrigin_Switch_Reserved1 = 226,
|
||||
k_EInputActionOrigin_Switch_Reserved2 = 227,
|
||||
k_EInputActionOrigin_Switch_Reserved3 = 228,
|
||||
@@ -10943,7 +11169,11 @@ public enum EControllerActionOrigin
|
||||
k_EControllerActionOrigin_Switch_LeftGrip_Upper = 238,
|
||||
k_EControllerActionOrigin_Switch_RightGrip_Lower = 239,
|
||||
k_EControllerActionOrigin_Switch_RightGrip_Upper = 240,
|
||||
k_EControllerActionOrigin_Count = 241,
|
||||
k_EControllerActionOrigin_PS4_DPad_Move = 241,
|
||||
k_EControllerActionOrigin_XBoxOne_DPad_Move = 242,
|
||||
k_EControllerActionOrigin_XBox360_DPad_Move = 243,
|
||||
k_EControllerActionOrigin_Switch_DPad_Move = 244,
|
||||
k_EControllerActionOrigin_Count = 245,
|
||||
k_EControllerActionOrigin_MaximumPossibleValue = 32767,
|
||||
}
|
||||
public enum ESteamControllerLEDFlag
|
||||
@@ -11120,6 +11350,13 @@ public enum ESteamItemFlags
|
||||
k_ESteamItemRemoved = 256,
|
||||
k_ESteamItemConsumed = 512,
|
||||
}
|
||||
public enum ESteamTVRegionBehavior
|
||||
{
|
||||
k_ESteamVideoRegionBehaviorInvalid = -1,
|
||||
k_ESteamVideoRegionBehaviorHover = 0,
|
||||
k_ESteamVideoRegionBehaviorClickPopup = 1,
|
||||
k_ESteamVideoRegionBehaviorClickSurroundingRegion = 2,
|
||||
}
|
||||
public enum EParentalFeature
|
||||
{
|
||||
k_EFeatureInvalid = 0,
|
||||
@@ -11205,6 +11442,7 @@ public enum EParentalFeature
|
||||
public IntPtr m_pSteamHTMLSurface; // class ISteamHTMLSurface *
|
||||
public IntPtr m_pSteamInventory; // class ISteamInventory *
|
||||
public IntPtr m_pSteamVideo; // class ISteamVideo *
|
||||
public IntPtr m_pSteamTV; // class ISteamTV *
|
||||
public IntPtr m_pSteamParentalSettings; // class ISteamParentalSettings *
|
||||
public IntPtr m_pSteamInput; // class ISteamInput *
|
||||
}
|
||||
@@ -11285,6 +11523,16 @@ public enum EParentalFeature
|
||||
public int m_cdaySteamGuardRequiredDays;
|
||||
public int m_cdayNewDeviceCooldown;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct DurationControl_t
|
||||
{
|
||||
public EResult m_eResult;
|
||||
public uint m_appid;
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool m_bApplicable;
|
||||
public int m_csecsLast5h;
|
||||
public EDurationControlProgress m_progress;
|
||||
public EDurationControlNotification m_notification;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct FriendGameInfo_t
|
||||
{
|
||||
public ulong m_gameID;
|
||||
@@ -12395,10 +12643,6 @@ public enum EParentalFeature
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
|
||||
public string m_rgchCurrency; //char[4]
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct BroadcastUploadStop_t
|
||||
{
|
||||
public EBroadcastUploadResult m_eResult;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct GetVideoURLResult_t
|
||||
{
|
||||
public EResult m_eResult;
|
||||
@@ -12411,6 +12655,22 @@ public enum EParentalFeature
|
||||
public EResult m_eResult;
|
||||
public uint m_unVideoAppID;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct SteamTVRegion_t
|
||||
{
|
||||
public uint unMinX;
|
||||
public uint unMinY;
|
||||
public uint unMaxX;
|
||||
public uint unMaxY;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct BroadcastUploadStart_t
|
||||
{
|
||||
[MarshalAs(UnmanagedType.I1)]
|
||||
public bool m_bIsRTMP;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct BroadcastUploadStop_t
|
||||
{
|
||||
public EBroadcastUploadResult m_eResult;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct GSClientApprove_t
|
||||
{
|
||||
public ulong m_SteamID;
|
||||
@@ -12531,6 +12791,7 @@ public const int k_iSteamUserStatsCallbacks = 1100;
|
||||
public const int k_iSteamNetworkingCallbacks = 1200;
|
||||
public const int k_iSteamNetworkingSocketsCallbacks = 1220;
|
||||
public const int k_iSteamNetworkingMessagesCallbacks = 1250;
|
||||
public const int k_iSteamNetworkingUtilsCallbacks = 1280;
|
||||
public const int k_iClientRemoteStorageCallbacks = 1300;
|
||||
public const int k_iClientDepotBuilderCallbacks = 1400;
|
||||
public const int k_iSteamGameServerItemsCallbacks = 1500;
|
||||
@@ -12573,6 +12834,8 @@ public const int k_iClientShaderCallbacks = 5100;
|
||||
public const int k_iSteamGameSearchCallbacks = 5200;
|
||||
public const int k_iSteamPartiesCallbacks = 5300;
|
||||
public const int k_iClientPartiesCallbacks = 5400;
|
||||
public const int k_iSteamSTARCallbacks = 5500;
|
||||
public const int k_iClientSTARCallbacks = 5600;
|
||||
public const int k_cchPersonaNameMax = 128;
|
||||
public const int k_cwchPersonaNameMax = 32;
|
||||
public const int k_cchMaxRichPresenceKeys = 30;
|
||||
@@ -12583,6 +12846,7 @@ public const int k_cchLeaderboardNameMax = 128;
|
||||
public const int k_cLeaderboardDetailsMax = 64;
|
||||
public const ulong k_SteamItemInstanceIDInvalid = 0xffffffffffffffff;
|
||||
public const int k_SteamInventoryResultInvalid = -1;
|
||||
public const int k_cchBroadcastGameDataMax = 8192;
|
||||
public static ISteamClient SteamClient()
|
||||
{
|
||||
return new CSteamClient(SteamAPIInterop.SteamClient());
|
||||
@@ -12718,6 +12982,11 @@ public static ISteamVideo SteamVideo()
|
||||
return new CSteamVideo(SteamAPIInterop.SteamVideo());
|
||||
}
|
||||
|
||||
public static ISteamTV SteamTV()
|
||||
{
|
||||
return new CSteamTV(SteamAPIInterop.SteamTV());
|
||||
}
|
||||
|
||||
public static ISteamParentalSettings SteamParentalSettings()
|
||||
{
|
||||
return new CSteamParentalSettings(SteamAPIInterop.SteamParentalSettings());
|
||||
|
||||
@@ -301,6 +301,7 @@ enum EAppType
|
||||
k_EAppType_Music = 0x2000, // Music files
|
||||
k_EAppType_Series = 0x4000, // Container app for video series
|
||||
k_EAppType_Comic = 0x8000, // Comic Book
|
||||
k_EAppType_Beta = 0x10000, // this is a beta version of a game
|
||||
|
||||
k_EAppType_Shortcut = 0x40000000, // just a shortcut, client side only
|
||||
k_EAppType_DepotOnly = 0x80000000, // placeholder since depots and apps share the same namespace
|
||||
@@ -520,7 +521,8 @@ enum EVRHMDType
|
||||
|
||||
k_eEVRHMDType_Oculus_DK1 = 21, // Oculus DK1
|
||||
k_eEVRHMDType_Oculus_DK2 = 22, // Oculus DK2
|
||||
k_eEVRHMDType_Oculus_Rift = 23, // Oculus rift
|
||||
k_eEVRHMDType_Oculus_Rift = 23, // Oculus Rift
|
||||
k_eEVRHMDType_Oculus_RiftS = 24, // Oculus Rift S
|
||||
|
||||
k_eEVRHMDType_Oculus_Unknown = 40, // // Oculus unknown HMD
|
||||
|
||||
@@ -548,6 +550,9 @@ enum EVRHMDType
|
||||
k_eEVRHMDType_Huawei_VR2 = 121, // Huawei VR2 3DOF headset
|
||||
k_eEVRHMDType_Huawei_EndOfRange = 129, // end of Huawei HMD range
|
||||
|
||||
k_eEVRHmdType_Valve_Unknown = 130, // Valve Unknown HMD
|
||||
k_eEVRHmdType_Valve_Index = 131, // Valve Index HMD
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -556,7 +561,7 @@ enum EVRHMDType
|
||||
//-----------------------------------------------------------------------------
|
||||
static inline bool BIsOculusHMD( EVRHMDType eType )
|
||||
{
|
||||
return eType == k_eEVRHMDType_Oculus_DK1 || eType == k_eEVRHMDType_Oculus_DK2 || eType == k_eEVRHMDType_Oculus_Rift || eType == k_eEVRHMDType_Oculus_Unknown;
|
||||
return eType == k_eEVRHMDType_Oculus_DK1 || eType == k_eEVRHMDType_Oculus_DK2 || eType == k_eEVRHMDType_Oculus_Rift || eType == k_eEVRHMDType_Oculus_RiftS || eType == k_eEVRHMDType_Oculus_Unknown;
|
||||
}
|
||||
|
||||
|
||||
@@ -647,6 +652,31 @@ enum EMarketNotAllowedReasonFlags
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// describes XP / progress restrictions to apply for games with duration control /
|
||||
// anti-indulgence enabled for minor Steam China users.
|
||||
//
|
||||
enum EDurationControlProgress
|
||||
{
|
||||
k_EDurationControlProgress_Full, // Full progress
|
||||
k_EDurationControlProgress_Half, // XP or persistent rewards should be halved
|
||||
k_EDurationControlProgress_None, // XP or persistent rewards should be stopped
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// describes which notification timer has expired, for steam china duration control feature
|
||||
//
|
||||
enum EDurationControlNotification
|
||||
{
|
||||
k_EDurationControlNotification_None, // just informing you about progress, no notification to show
|
||||
k_EDurationControlNotification_1Hour, // "you've been playing for an hour"
|
||||
k_EDurationControlNotification_3Hours, // "you've been playing for 3 hours; take a break"
|
||||
k_EDurationControlNotification_HalfProgress, // "your XP / progress is half normal"
|
||||
k_EDurationControlNotification_NoProgress, // "your XP / progress is zero"
|
||||
};
|
||||
|
||||
|
||||
#pragma pack( push, 1 )
|
||||
|
||||
#define CSTEAMID_DEFINED
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
//====== Copyright Valve Corporation, All rights reserved. ====================
|
||||
//
|
||||
// Backend functions to generate authorization tickets for steam datagram
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef STEAMDATAGRAM_TICKETGEN_H
|
||||
#define STEAMDATAGRAM_TICKETGEN_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Import some common stuff that is useful by both the client
|
||||
// and the backend ticket-generating authority.
|
||||
#include "steamdatagram_tickets.h"
|
||||
|
||||
#if defined( STEAMDATAGRAM_TICKETGEN_FOREXPORT )
|
||||
#define STEAMDATAGRAM_TICKET_INTERFACE DLL_EXPORT
|
||||
#elif defined( STEAMNETWORKINGSOCKETS_STATIC_LINK )
|
||||
#define STEAMDATAGRAM_TICKET_INTERFACE extern "C"
|
||||
#else
|
||||
#define STEAMDATAGRAM_TICKET_INTERFACE DLL_IMPORT
|
||||
#endif
|
||||
|
||||
struct SteamDatagramSignedTicketBlob
|
||||
{
|
||||
int m_sz;
|
||||
uint8 m_blob[ k_cbSteamDatagramMaxSerializedTicket ];
|
||||
};
|
||||
|
||||
/// Initialize ticket generation with an Ed25519 private key.
|
||||
/// See: https://ed25519.cr.yp.to/
|
||||
///
|
||||
/// Input buffer will be securely wiped.
|
||||
///
|
||||
/// You can generate an Ed25519 key using OpenSSH: ssh-keygen -t ed25519
|
||||
/// Or with our cert tool: steamnetworkingsockets_certtool gen_keypair
|
||||
///
|
||||
/// The private key should be a PEM-like block of text
|
||||
/// ("-----BEGIN OPENSSH PRIVATE KEY-----").
|
||||
/// Private keys encrypted with a password are not supported.
|
||||
///
|
||||
/// In order for signatures using this key to be accepted by the relay network,
|
||||
/// you need to send your public key to Valve. This key should be on a single line
|
||||
/// of text that begins with "ssh-ed25519". (The format used in the .ssh/authorized_keys
|
||||
/// file.)
|
||||
STEAMDATAGRAM_TICKET_INTERFACE bool SteamDatagram_InitTicketGenerator_Ed25519( void *pvPrivateKey, size_t cbPrivateKey );
|
||||
|
||||
/// Serialize the specified auth ticket and attach a signature.
|
||||
/// Returns false if you did something stupid like forgot to load a key.
|
||||
/// Will also fail if your ticket is too big. (Probably because you
|
||||
/// added too many extra fields.)
|
||||
///
|
||||
/// The resulting blob should be sent to the client, who will put it in
|
||||
/// their ticket cache using ISteamNetworkingSockets::ReceivedRelayAuthTicket
|
||||
STEAMDATAGRAM_TICKET_INTERFACE bool SteamDatagram_SerializeAndSignTicket( const SteamDatagramRelayAuthTicket &ticket, SteamDatagramSignedTicketBlob &outBlob, SteamNetworkingErrMsg &errMsg );
|
||||
|
||||
//
|
||||
// Some ping-related tools that don't have anything to do with tickets.
|
||||
// But it's something that a backend might find useful, so we're putting it in this library for now.
|
||||
//
|
||||
|
||||
/// Parse location string. Returns true on success
|
||||
STEAMDATAGRAM_TICKET_INTERFACE bool SteamDatagram_ParsePingLocation( const char *pszString, SteamNetworkPingLocation_t &outLocation );
|
||||
|
||||
/// Estimate ping time between two locations.
|
||||
STEAMDATAGRAM_TICKET_INTERFACE int SteamDatagram_EstimatePingBetweenTwoLocations( const SteamNetworkPingLocation_t &location1, const SteamNetworkPingLocation_t &location2 );
|
||||
|
||||
#endif // STEAMDATAGRAM_TICKETGEN_H
|
||||
@@ -36,7 +36,6 @@ const size_t k_cbSteamDatagramMaxSerializedTicket = 512;
|
||||
/// to the intended destination, but otherwise clients really should not
|
||||
/// need to know what's inside. (Indeed, we don't really want them to
|
||||
/// know, as it could reveal information useful to an attacker.)
|
||||
#ifndef IS_STEAMDATAGRAMROUTER
|
||||
struct SteamDatagramHostedAddress
|
||||
{
|
||||
|
||||
@@ -73,7 +72,7 @@ struct SteamDatagramHostedAddress
|
||||
/// Convert to/from std::string (or anything that acts like it).
|
||||
/// Useful for interfacing with google protobuf. It's a template
|
||||
/// mainly so that we don't have to include <string> in the header.
|
||||
/// Note: by "string", we don't mean that it's text. Ut's a binary
|
||||
/// Note: by "string", we don't mean that it's text. It's a binary
|
||||
/// blob, and it might have zeros in it. (std::string can handle that.)
|
||||
template <typename T> bool SetFromStdString( const T &str )
|
||||
{
|
||||
@@ -90,9 +89,7 @@ struct SteamDatagramHostedAddress
|
||||
{
|
||||
str->assign( m_data, m_cbSize );
|
||||
}
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
/// Ticket used to gain access to the relay network.
|
||||
struct SteamDatagramRelayAuthTicket
|
||||
@@ -228,7 +225,7 @@ private:
|
||||
if ( m_nExtraFields >= k_nMaxExtraFields )
|
||||
{
|
||||
assert( false );
|
||||
return nullptr;
|
||||
return NULL;
|
||||
}
|
||||
ExtraField *p = &m_vecExtraFields[ m_nExtraFields++ ];
|
||||
p->m_eType = eType;
|
||||
@@ -244,4 +241,46 @@ private:
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
/// Max size of user data blob
|
||||
const size_t k_cbMaxSteamDatagramGameCoordinatorServerLoginAppData = 2048;
|
||||
|
||||
/// Max size of serialized data blob
|
||||
const size_t k_cbMaxSteamDatagramGameCoordinatorServerLoginSerialized = 4096;
|
||||
|
||||
/// Structure that describes a gameserver attempting to authenticate
|
||||
/// with your central server allocator / matchmaking service ("game coordinator").
|
||||
/// This is useful because the game coordinator needs to know:
|
||||
///
|
||||
/// - What data center is the gameserver running in?
|
||||
/// - The routing blob of the gameserver
|
||||
/// - Is the gameserver actually trusted?
|
||||
///
|
||||
/// Using this structure, you can securely communicate this information
|
||||
/// to your server, and you can do this WITHOUT maintaining any
|
||||
/// whitelists or tables of IP addresses.
|
||||
///
|
||||
/// See ISteamNetworkingSockets::GetGameCoordinatorServerLogin
|
||||
struct SteamDatagramGameCoordinatorServerLogin
|
||||
{
|
||||
/// Server's identity
|
||||
SteamNetworkingIdentity m_identity;
|
||||
|
||||
/// Routing info. Note that this includes the POPID
|
||||
SteamDatagramHostedAddress m_routing;
|
||||
|
||||
/// AppID that the server thinks it is running
|
||||
AppId_t m_nAppID;
|
||||
|
||||
/// Unix timestamp when this was generated
|
||||
RTime32 m_rtime;
|
||||
|
||||
/// Size of application data
|
||||
int m_cbAppData;
|
||||
|
||||
/// Application data. This is any additional information
|
||||
/// that you need to identify the server not contained above.
|
||||
/// (E.g. perhaps a public IP as seen by the coordinator service.)
|
||||
char m_appData[ k_cbMaxSteamDatagramGameCoordinatorServerLoginAppData ];
|
||||
};
|
||||
|
||||
#endif // STEAMDATAGRAM_TICKETS_H
|
||||
|
||||
@@ -29,4 +29,6 @@ S_API bool SteamEncryptedAppTicket_BUserOwnsAppInTicket( uint8 *rgubTicketDecryp
|
||||
|
||||
S_API bool SteamEncryptedAppTicket_BUserIsVacBanned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted );
|
||||
|
||||
S_API const uint8 *SteamEncryptedAppTicket_GetUserVariableData( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pcubUserData );
|
||||
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 );
|
||||
|
||||
@@ -19,8 +19,10 @@
|
||||
#ifdef STEAMNETWORKINGSOCKETS_STATIC_LINK
|
||||
#define STEAMNETWORKINGSOCKETS_INTERFACE extern
|
||||
#endif
|
||||
#define STEAMNETWORKINGSOCKETS_STEAMCLIENT
|
||||
#define STEAMNETWORKINGSOCKETS_ENABLE_SDR
|
||||
#include <steam/steam_api_common.h>
|
||||
#define STEAMNETWORKINGSOCKETS_ENABLE_P2P
|
||||
#include "steam_api_common.h"
|
||||
//
|
||||
//----------------------------------------
|
||||
|
||||
@@ -35,7 +37,10 @@
|
||||
|
||||
struct SteamDatagramRelayAuthTicket;
|
||||
struct SteamDatagramHostedAddress;
|
||||
struct SteamDatagramGameCoordinatorServerLogin;
|
||||
struct SteamNetConnectionStatusChangedCallback_t;
|
||||
struct SteamNetAuthenticationStatus_t;
|
||||
struct SteamRelayNetworkStatus_t;
|
||||
|
||||
/// Handle used to identify a connection to a remote host.
|
||||
typedef uint32 HSteamNetConnection;
|
||||
@@ -63,6 +68,33 @@ typedef uint32 SteamNetworkingPOPID;
|
||||
/// 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
|
||||
//
|
||||
@@ -70,15 +102,16 @@ typedef int64 SteamNetworkingMicroseconds;
|
||||
/// Different methods of describing the identity of a network host
|
||||
enum ESteamNetworkingIdentityType
|
||||
{
|
||||
// Dummy/unknown/invalid
|
||||
// Dummy/empty/invalid.
|
||||
// Plese 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_PlaystationSomething = 18,
|
||||
|
||||
//
|
||||
// Special identifiers.
|
||||
@@ -103,6 +136,13 @@ enum ESteamNetworkingIdentityType
|
||||
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,
|
||||
};
|
||||
@@ -173,9 +213,6 @@ struct SteamNetworkingIdentity
|
||||
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 SetIPAddr( const SteamNetworkingIPAddr &addr ); // Set to specified IP:port
|
||||
const SteamNetworkingIPAddr *GetIPAddr() const; // returns null if we are not an IP address.
|
||||
|
||||
@@ -206,7 +243,6 @@ struct SteamNetworkingIdentity
|
||||
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 = 32, // Including terminating '\0'
|
||||
k_cbMaxGenericBytes = 32,
|
||||
};
|
||||
|
||||
@@ -220,8 +256,8 @@ struct SteamNetworkingIdentity
|
||||
union {
|
||||
uint64 m_steamID64;
|
||||
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
|
||||
};
|
||||
@@ -926,6 +962,15 @@ enum ESteamNetworkingConfigValue
|
||||
/// (You can examine the incoming connection and decide whether to accept it.)
|
||||
k_ESteamNetworkingConfig_IP_AllowWithoutAuth = 23,
|
||||
|
||||
/// [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,
|
||||
|
||||
//
|
||||
// Settings for SDR relayed connections
|
||||
//
|
||||
@@ -1059,6 +1104,9 @@ inline void GetSteamNetworkingLocationPOPStringFromID( SteamNetworkingPOPID id,
|
||||
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';
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Internal stuff
|
||||
@@ -1083,24 +1131,21 @@ inline void SteamNetworkingIdentity::SetSteamID( CSteamID steamID ) { SetSteamID
|
||||
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 : nullptr; }
|
||||
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 : nullptr; }
|
||||
inline const SteamNetworkingIPAddr *SteamNetworkingIdentity::GetIPAddr() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? &m_ip : NULL; }
|
||||
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 : nullptr; }
|
||||
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 nullptr;
|
||||
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 ); }
|
||||
|
||||
#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) || !defined( STEAMNETWORKINGSOCKETS_STEAM )
|
||||
#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) || !defined( STEAMNETWORKINGSOCKETS_STEAMCLIENT )
|
||||
STEAMNETWORKINGSOCKETS_INTERFACE void SteamAPI_SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr *pAddr, char *buf, size_t cbBuf, bool bWithPort );
|
||||
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr );
|
||||
STEAMNETWORKINGSOCKETS_INTERFACE void SteamAPI_SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity &identity, char *buf, size_t cbBuf );
|
||||
|
||||
@@ -130,7 +130,6 @@ const JobID_t k_JobIDNil = 0xffffffffffffffffull;
|
||||
// this is baked into client messages and interfaces as an int,
|
||||
// make sure we never break this.
|
||||
typedef uint32 PackageId_t;
|
||||
const PackageId_t k_uPackageIdFreeSub = 0x0;
|
||||
const PackageId_t k_uPackageIdInvalid = 0xFFFFFFFF;
|
||||
|
||||
typedef uint32 BundleId_t;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -11,6 +11,7 @@
|
||||
#include "SpaceWar.h"
|
||||
#include "GameEngine.h"
|
||||
#include <list>
|
||||
#include <string>
|
||||
|
||||
class CSpaceWarItem;
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
503C6D0E1268F49F00B66E3B /* voicechat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voicechat.h; sourceTree = "<group>"; };
|
||||
503C6DAA1268FE1000B66E3B /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
|
||||
503C6DAB1268FE1000B66E3B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||
503C6DB31269002800B66E3B /* libsteam_api.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsteam_api.dylib; path = ../redistributable_bin/osx32/libsteam_api.dylib; sourceTree = "<absolute>"; };
|
||||
503C6DB31269002800B66E3B /* libsteam_api.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsteam_api.dylib; path = ../redistributable_bin/osx/libsteam_api.dylib; sourceTree = "<absolute>"; };
|
||||
504EDCB4126900D600F96D63 /* steamworksexample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "steamworksexample-Info.plist"; path = "osx/steamworksexample-Info.plist"; sourceTree = "<group>"; };
|
||||
504EDCC01269025A00F96D63 /* steam_appid.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = steam_appid.txt; path = osx/steam_appid.txt; sourceTree = "<group>"; };
|
||||
50D642851461EF3200A5739B /* clanchatroom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = clanchatroom.cpp; sourceTree = "<group>"; };
|
||||
@@ -488,6 +488,7 @@
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
@@ -499,7 +500,9 @@
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
../lib/osx32/release,
|
||||
"\"$(SRCROOT)/../lib/osx32/release\"",
|
||||
../redistributable_bin/osx32/,
|
||||
../lib/osx/release,
|
||||
"\"$(SRCROOT)/../lib/osx/release\"",
|
||||
../redistributable_bin/osx/,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
PRODUCT_NAME = steamworksexample;
|
||||
@@ -513,6 +516,7 @@
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
@@ -525,7 +529,9 @@
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
../lib/osx32/debug,
|
||||
"\"$(SRCROOT)/../lib/osx32/release\"",
|
||||
../redistributable_bin/osx32/,
|
||||
../lib/osx/debug,
|
||||
"\"$(SRCROOT)/../lib/osx/release\"",
|
||||
../redistributable_bin/osx/,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
PRODUCT_NAME = steamworksexample;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Versions/Current/Breakpad
|
||||
@@ -1 +0,0 @@
|
||||
Versions/Current/Headers
|
||||
@@ -1 +0,0 @@
|
||||
Versions/Current/Resources
|
||||
Binary file not shown.
-282
@@ -1,282 +0,0 @@
|
||||
// Copyright (c) 2006, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// Framework to provide a simple C API to crash reporting for
|
||||
// applications. By default, if any machine-level exception (e.g.,
|
||||
// EXC_BAD_ACCESS) occurs, it will be handled by the BreakpadRef
|
||||
// object as follows:
|
||||
//
|
||||
// 1. Create a minidump file (see Breakpad for details)
|
||||
// 2. Prompt the user (using CFUserNotification)
|
||||
// 3. Invoke a command line reporting tool to send the minidump to a
|
||||
// server
|
||||
//
|
||||
// By specifying parameters to the BreakpadCreate function, you can
|
||||
// modify the default behavior to suit your needs and wants and
|
||||
// desires.
|
||||
|
||||
// A service name associated with the original bootstrap parent port, saved in
|
||||
// OnDemandServer and restored in Inspector.
|
||||
#define BREAKPAD_BOOTSTRAP_PARENT_PORT "com.Breakpad.BootstrapParent"
|
||||
|
||||
typedef void *BreakpadRef;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#include <Foundation/Foundation.h>
|
||||
|
||||
#include "BreakpadDefines.h"
|
||||
|
||||
// Optional user-defined function to dec to decide if we should handle
|
||||
// this crash or forward it along.
|
||||
// Return true if you want Breakpad to handle it.
|
||||
// Return false if you want Breakpad to skip it
|
||||
// The exception handler always returns false, as if SEND_AND_EXIT were false
|
||||
// (which means the next exception handler will take the exception)
|
||||
typedef bool (*BreakpadFilterCallback)(int exception_type,
|
||||
int exception_code,
|
||||
mach_port_t crashing_thread,
|
||||
void *context);
|
||||
|
||||
// Create a new BreakpadRef object and install it as an exception
|
||||
// handler. The |parameters| will typically be the contents of your
|
||||
// bundle's Info.plist.
|
||||
//
|
||||
// You can also specify these additional keys for customizable behavior:
|
||||
// Key: Value:
|
||||
// BREAKPAD_PRODUCT Product name (e.g., "MyAwesomeProduct")
|
||||
// This one is used as the key to identify
|
||||
// the product when uploading. Falls back to
|
||||
// CFBundleName if not specified.
|
||||
// REQUIRED
|
||||
//
|
||||
// BREAKPAD_PRODUCT_DISPLAY This is the display name, e.g. a pretty
|
||||
// name for the product when the crash_sender
|
||||
// pops up UI for the user. Falls back first to
|
||||
// CFBundleDisplayName and then to
|
||||
// BREAKPAD_PRODUCT if not specified.
|
||||
//
|
||||
// BREAKPAD_VERSION Product version (e.g., 1.2.3), used
|
||||
// as metadata for crash report. Falls back to
|
||||
// CFBundleVersion if not specified.
|
||||
// REQUIRED
|
||||
//
|
||||
// BREAKPAD_VENDOR Vendor name, used in UI (e.g. "A report has
|
||||
// been created that you can send to <vendor>")
|
||||
//
|
||||
// BREAKPAD_URL URL destination for reporting
|
||||
// REQUIRED
|
||||
//
|
||||
// BREAKPAD_REPORT_INTERVAL # of seconds between sending
|
||||
// reports. If an additional report is
|
||||
// generated within this time, it will
|
||||
// be ignored. Default: 3600sec.
|
||||
// Specify 0 to send all reports.
|
||||
//
|
||||
// BREAKPAD_SKIP_CONFIRM If true, the reporter will send the report
|
||||
// without any user intervention.
|
||||
// Defaults to NO
|
||||
//
|
||||
// BREAKPAD_CONFIRM_TIMEOUT Number of seconds before the upload
|
||||
// confirmation dialog will be automatically
|
||||
// dismissed (cancelling the upload).
|
||||
// Default: 300 seconds (min of 60).
|
||||
// Specify 0 to prevent timeout.
|
||||
//
|
||||
// BREAKPAD_SEND_AND_EXIT If true, the handler will exit after sending.
|
||||
// This will prevent any other handler (e.g.,
|
||||
// CrashReporter) from getting the crash.
|
||||
// Defaults TO YES
|
||||
//
|
||||
// BREAKPAD_DUMP_DIRECTORY The directory to store crash-dumps
|
||||
// in. By default, we use
|
||||
// ~/Library/Breakpad/<BREAKPAD_PRODUCT>
|
||||
// The path you specify here is tilde-expanded.
|
||||
//
|
||||
// BREAKPAD_INSPECTOR_LOCATION The full path to the Inspector executable.
|
||||
// Defaults to <Framework resources>/Inspector
|
||||
//
|
||||
// BREAKPAD_REPORTER_EXE_LOCATION The full path to the Reporter/sender
|
||||
// executable.
|
||||
// Default:
|
||||
// <Framework Resources>/crash_report_sender.app
|
||||
//
|
||||
// BREAKPAD_LOGFILES Indicates an array of log file paths that
|
||||
// should be uploaded at crash time.
|
||||
//
|
||||
// BREAKPAD_REQUEST_COMMENTS If true, the message dialog will have a
|
||||
// text box for the user to enter comments.
|
||||
// Default: NO
|
||||
//
|
||||
// BREAKPAD_REQUEST_EMAIL If true and BREAKPAD_REQUEST_COMMENTS is also
|
||||
// true, the message dialog will have a text
|
||||
// box for the user to enter their email address.
|
||||
// Default: NO
|
||||
//
|
||||
// BREAKPAD_SERVER_TYPE A parameter that tells Breakpad how to
|
||||
// rewrite the upload parameters for a specific
|
||||
// server type. The currently valid values are
|
||||
// 'socorro' or 'google'. If you want to add
|
||||
// other types, see the function in
|
||||
// crash_report_sender.m that maps parameters to
|
||||
// URL parameters. Defaults to 'google'.
|
||||
//
|
||||
// BREAKPAD_SERVER_PARAMETER_DICT A plist dictionary of static
|
||||
// parameters that are uploaded to the
|
||||
// server. The parameters are sent as
|
||||
// is to the crash server. Their
|
||||
// content isn't added to the minidump
|
||||
// but pass as URL parameters when
|
||||
// uploading theminidump to the crash
|
||||
// server.
|
||||
//=============================================================================
|
||||
// The BREAKPAD_PRODUCT, BREAKPAD_VERSION and BREAKPAD_URL are
|
||||
// required to have non-NULL values. By default, the BREAKPAD_PRODUCT
|
||||
// will be the CFBundleName and the BREAKPAD_VERSION will be the
|
||||
// CFBundleVersion when these keys are present in the bundle's
|
||||
// Info.plist, which is usually passed in to BreakpadCreate() as an
|
||||
// NSDictionary (you could also pass in another dictionary that had
|
||||
// the same keys configured). If the BREAKPAD_PRODUCT or
|
||||
// BREAKPAD_VERSION are ultimately undefined, BreakpadCreate() will
|
||||
// fail. You have been warned.
|
||||
//
|
||||
// If you are running in a debugger, Breakpad will not install, unless the
|
||||
// BREAKPAD_IGNORE_DEBUGGER envionment variable is set and/or non-zero.
|
||||
//
|
||||
// The BREAKPAD_SKIP_CONFIRM and BREAKPAD_SEND_AND_EXIT default
|
||||
// values are NO and YES. However, they can be controlled by setting their
|
||||
// values in a user or global plist.
|
||||
//
|
||||
// It's easiest to use Breakpad via the Framework, but if you're compiling the
|
||||
// code in directly, BREAKPAD_INSPECTOR_LOCATION and
|
||||
// BREAKPAD_REPORTER_EXE_LOCATION allow you to specify custom paths
|
||||
// to the helper executables.
|
||||
//
|
||||
//=============================================================================
|
||||
// The following are NOT user-supplied but are documented here for
|
||||
// completeness. They are calculated by Breakpad during initialization &
|
||||
// crash-dump generation, or entered in by the user.
|
||||
//
|
||||
// BREAKPAD_PROCESS_START_TIME The time, in seconds since the Epoch, the
|
||||
// process started
|
||||
//
|
||||
// BREAKPAD_PROCESS_CRASH_TIME The time, in seconds since the Epoch, the
|
||||
// process crashed.
|
||||
//
|
||||
// BREAKPAD_PROCESS_UP_TIME The total time in milliseconds the process
|
||||
// has been running. This parameter is not
|
||||
// set until the crash-dump-generation phase.
|
||||
//
|
||||
// BREAKPAD_LOGFILE_KEY_PREFIX Used to find out which parameters in the
|
||||
// parameter dictionary correspond to log
|
||||
// file paths.
|
||||
//
|
||||
// BREAKPAD_SERVER_PARAMETER_PREFIX This prefix is used by Breakpad
|
||||
// internally, because Breakpad uses
|
||||
// the same dictionary internally to
|
||||
// track both its internal
|
||||
// configuration parameters and
|
||||
// parameters meant to be uploaded
|
||||
// to the server. This string is
|
||||
// used internally by Breakpad to
|
||||
// prefix user-supplied parameter
|
||||
// names so those can be sent to the
|
||||
// server without leaking Breakpad's
|
||||
// internal values.
|
||||
//
|
||||
// BREAKPAD_ON_DEMAND Used internally to indicate to the
|
||||
// Reporter that we're sending on-demand,
|
||||
// not as result of a crash.
|
||||
//
|
||||
// BREAKPAD_COMMENTS The text the user provided as comments.
|
||||
// Only used in crash_report_sender.
|
||||
|
||||
// Returns a new BreakpadRef object on success, NULL otherwise.
|
||||
BreakpadRef BreakpadCreate(NSDictionary *parameters);
|
||||
|
||||
// Uninstall and release the data associated with |ref|.
|
||||
void BreakpadRelease(BreakpadRef ref);
|
||||
|
||||
// Clients may set an optional callback which gets called when a crash
|
||||
// occurs. The callback function should return |true| if we should
|
||||
// handle the crash, generate a crash report, etc. or |false| if we
|
||||
// should ignore it and forward the crash (normally to CrashReporter).
|
||||
// Context is a pointer to arbitrary data to make the callback with.
|
||||
void BreakpadSetFilterCallback(BreakpadRef ref,
|
||||
BreakpadFilterCallback callback,
|
||||
void *context);
|
||||
|
||||
// User defined key and value string storage. Generally this is used
|
||||
// to configure Breakpad's internal operation, such as whether the
|
||||
// crash_sender should prompt the user, or the filesystem location for
|
||||
// the minidump file. See Breakpad.h for some parameters that can be
|
||||
// set. Anything longer than 255 bytes will be truncated. Note that
|
||||
// the string is converted to UTF8 before truncation, so any multibyte
|
||||
// character that straddles the 255(256 - 1 for terminator) byte limit
|
||||
// will be mangled.
|
||||
//
|
||||
// A maximum number of 64 key/value pairs are supported. An assert()
|
||||
// will fire if more than this number are set. Unfortunately, right
|
||||
// now, the same dictionary is used for both Breakpad's parameters AND
|
||||
// the Upload parameters.
|
||||
//
|
||||
// TODO (nealsid): Investigate how necessary this is if we don't
|
||||
// automatically upload parameters to the server anymore.
|
||||
// TODO (nealsid): separate server parameter dictionary from the
|
||||
// dictionary used to configure Breakpad, and document limits for each
|
||||
// independently.
|
||||
void BreakpadSetKeyValue(BreakpadRef ref, NSString *key, NSString *value);
|
||||
NSString *BreakpadKeyValue(BreakpadRef ref, NSString *key);
|
||||
void BreakpadRemoveKeyValue(BreakpadRef ref, NSString *key);
|
||||
|
||||
// You can use this method to specify parameters that will be uploaded
|
||||
// to the crash server. They will be automatically encoded as
|
||||
// necessary. Note that as mentioned above there are limits on both
|
||||
// the number of keys and their length.
|
||||
void BreakpadAddUploadParameter(BreakpadRef ref, NSString *key,
|
||||
NSString *value);
|
||||
|
||||
// This method will remove a previously-added parameter from the
|
||||
// upload parameter set.
|
||||
void BreakpadRemoveUploadParameter(BreakpadRef ref, NSString *key);
|
||||
|
||||
// Add a log file for Breakpad to read and send upon crash dump
|
||||
void BreakpadAddLogFile(BreakpadRef ref, NSString *logPathname);
|
||||
|
||||
// Generate a minidump and send
|
||||
void BreakpadGenerateAndSendReport(BreakpadRef ref);
|
||||
|
||||
void BreakpadSetComment( BreakpadRef ref, char const *pchComment );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
-72
@@ -1,72 +0,0 @@
|
||||
// Copyright (c) 2011, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Keys for configuration file
|
||||
#define kReporterMinidumpDirectoryKey "MinidumpDir"
|
||||
#define kReporterMinidumpIDKey "MinidumpID"
|
||||
|
||||
// Filename for recording uploaded IDs
|
||||
#define kReporterLogFilename "uploads.log"
|
||||
|
||||
// The default subdirectory of the Library to put crash dumps in
|
||||
// The subdirectory is
|
||||
// ~/Library/<kDefaultLibrarySubdirectory>/<GoogleBreakpadProduct>
|
||||
#define kDefaultLibrarySubdirectory "Breakpad"
|
||||
|
||||
// Specify some special keys to be used in the configuration file that is
|
||||
// generated by Breakpad and consumed by the crash_sender.
|
||||
#define BREAKPAD_PRODUCT "BreakpadProduct"
|
||||
#define BREAKPAD_PRODUCT_DISPLAY "BreakpadProductDisplay"
|
||||
#define BREAKPAD_VERSION "BreakpadVersion"
|
||||
#define BREAKPAD_VENDOR "BreakpadVendor"
|
||||
#define BREAKPAD_URL "BreakpadURL"
|
||||
#define BREAKPAD_REPORT_INTERVAL "BreakpadReportInterval"
|
||||
#define BREAKPAD_SKIP_CONFIRM "BreakpadSkipConfirm"
|
||||
#define BREAKPAD_CONFIRM_TIMEOUT "BreakpadConfirmTimeout"
|
||||
#define BREAKPAD_SEND_AND_EXIT "BreakpadSendAndExit"
|
||||
#define BREAKPAD_DUMP_DIRECTORY "BreakpadMinidumpLocation"
|
||||
#define BREAKPAD_INSPECTOR_LOCATION "BreakpadInspectorLocation"
|
||||
#define BREAKPAD_REPORTER_EXE_LOCATION \
|
||||
"BreakpadReporterExeLocation"
|
||||
#define BREAKPAD_LOGFILES "BreakpadLogFiles"
|
||||
#define BREAKPAD_LOGFILE_UPLOAD_SIZE "BreakpadLogFileTailSize"
|
||||
#define BREAKPAD_REQUEST_COMMENTS "BreakpadRequestComments"
|
||||
#define BREAKPAD_COMMENTS "BreakpadComments"
|
||||
#define BREAKPAD_REQUEST_EMAIL "BreakpadRequestEmail"
|
||||
#define BREAKPAD_EMAIL "BreakpadEmail"
|
||||
#define BREAKPAD_SERVER_TYPE "BreakpadServerType"
|
||||
#define BREAKPAD_SERVER_PARAMETER_DICT "BreakpadServerParameters"
|
||||
|
||||
// The keys below are NOT user supplied, and are used internally.
|
||||
#define BREAKPAD_PROCESS_START_TIME "BreakpadProcStartTime"
|
||||
#define BREAKPAD_PROCESS_UP_TIME "BreakpadProcessUpTime"
|
||||
#define BREAKPAD_PROCESS_CRASH_TIME "BreakpadProcessCrashTime"
|
||||
#define BREAKPAD_LOGFILE_KEY_PREFIX "BreakpadAppLogFile"
|
||||
#define BREAKPAD_SERVER_PARAMETER_PREFIX "BreakpadServerParameterPrefix_"
|
||||
#define BREAKPAD_ON_DEMAND "BreakpadOnDemand"
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>11G63</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Breakpad</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.googlecode.google-breakpad</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Breakpad</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0.compiler</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>4E3002</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>10K549</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.6</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0433</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>4E3002</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
-48
@@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>11G63</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>crash_report_sender</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>crash_report_sender</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>crash_report_sender</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.Breakpad.crash_report_sender</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>crash_report_sender</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0.compiler</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>4E3002</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>10K549</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.6</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0433</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>4E3002</string>
|
||||
<key>LSHasLocalizedDisplayName</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
Binary file not shown.
-1
@@ -1 +0,0 @@
|
||||
APPL????
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
A
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user