mirror of
https://github.com/rlabrecque/SteamworksSDK.git
synced 2026-10-10 09:33:04 +08:00
v1.46
This commit is contained in:
+11
@@ -8,6 +8,17 @@ Copyright
|
||||
Welcome to the Steamworks SDK. For documentation please see our partner
|
||||
website at: http://partner.steamgames.com
|
||||
|
||||
----------------------------------------------------------------
|
||||
v1.46 26th July 2019
|
||||
----------------------------------------------------------------
|
||||
|
||||
ISteamRemotePlay
|
||||
* Added a new interface to get information about Steam Remote Play sessions
|
||||
|
||||
ISteamInput
|
||||
* Added the GetRemotePlaySessionID function to find out whether a controller is associated with a Steam Remote Play session
|
||||
|
||||
|
||||
----------------------------------------------------------------
|
||||
v1.45 25th June 2019
|
||||
----------------------------------------------------------------
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CMainMenu::CMainMenu( IGameEngine *pGameEngine ) : CBaseMenu<EClientGameState>( pGameEngine ), m_callbackParentalSettingsChanged( this, &CMainMenu::OnParentalSettingsChanged )
|
||||
CMainMenu::CMainMenu( IGameEngine *pGameEngine ) : CBaseMenu<EClientGameState>( pGameEngine )
|
||||
{
|
||||
SetupMenu();
|
||||
}
|
||||
@@ -43,6 +43,7 @@ void CMainMenu::SetupMenu()
|
||||
AddMenuItem( MenuItem_t( "Friends List", k_EClientFriendsList ) );
|
||||
AddMenuItem( MenuItem_t( "Group chat room", k_EClientClanChatRoom ) );
|
||||
}
|
||||
AddMenuItem( MenuItem_t( "Remote Play", k_EClientRemotePlay ) );
|
||||
AddMenuItem( MenuItem_t( "Remote Storage", k_EClientRemoteStorage ) );
|
||||
AddMenuItem( MenuItem_t( "Write Minidump", k_EClientMinidump ) );
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
void SetupMenu();
|
||||
|
||||
private:
|
||||
STEAM_CALLBACK( CMainMenu, OnParentalSettingsChanged, SteamParentalSettingsChanged_t, m_callbackParentalSettingsChanged );
|
||||
STEAM_CALLBACK( CMainMenu, OnParentalSettingsChanged, SteamParentalSettingsChanged_t );
|
||||
};
|
||||
|
||||
#endif // MAINMENU_H
|
||||
@@ -0,0 +1,180 @@
|
||||
//========= Copyright � 1996-2009, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose: Class for Remote Play session list
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "RemotePlay.h"
|
||||
#include "BaseMenu.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Menu that shows your Remote Play session
|
||||
//-----------------------------------------------------------------------------
|
||||
class CRemotePlayListMenu : public CBaseMenu<RemotePlayListMenuItem_t>
|
||||
{
|
||||
static const RemotePlayListMenuItem_t k_menuItemEmpty;
|
||||
|
||||
public:
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CRemotePlayListMenu( IGameEngine *pGameEngine ) : CBaseMenu<RemotePlayListMenuItem_t>( pGameEngine )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Creates Remote Play session list menu
|
||||
//-----------------------------------------------------------------------------
|
||||
void Rebuild()
|
||||
{
|
||||
PushSelectedItem();
|
||||
ClearMenuItems();
|
||||
|
||||
AddMenuItem( CRemotePlayListMenu::MenuItem_t( "Remote Play Session List", k_menuItemEmpty ) );
|
||||
|
||||
InputHandle_t arrInputHandles[ STEAM_INPUT_MAX_COUNT ];
|
||||
int nNumControllers = SteamInput()->GetConnectedControllers( arrInputHandles );
|
||||
|
||||
uint32 unSessionCount = SteamRemotePlay()->GetSessionCount();
|
||||
for ( uint32 iIndex = 0; iIndex < unSessionCount; iIndex++ )
|
||||
{
|
||||
uint32 unSessionID = SteamRemotePlay()->GetSessionID( iIndex );
|
||||
if ( !unSessionID )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
RemotePlayListMenuItem_t item;
|
||||
item.m_unSessionID = unSessionID;
|
||||
|
||||
const char *pszSessionPersonaName = SteamFriends()->GetFriendPersonaName( SteamRemotePlay()->GetSessionSteamID( unSessionID ) );
|
||||
const char *pszSessionClientName = SteamRemotePlay()->GetSessionClientName( unSessionID );
|
||||
const char *pszSessionClientFormFactor = GetFormFactor( SteamRemotePlay()->GetSessionClientFormFactor( unSessionID ) );
|
||||
|
||||
int nResolutionX, nResolutionY;
|
||||
SteamRemotePlay()->BGetSessionClientResolution( unSessionID, &nResolutionX, &nResolutionY );
|
||||
|
||||
char szLabel[ 1024 ];
|
||||
snprintf( szLabel, sizeof( szLabel ), "%s streaming to %s: %s %dx%d", pszSessionPersonaName, pszSessionClientName, pszSessionClientFormFactor, nResolutionX, nResolutionY );
|
||||
|
||||
for ( int iController = 0; iController < nNumControllers; ++iController )
|
||||
{
|
||||
if ( SteamInput()->GetRemotePlaySessionID( arrInputHandles[ iController ] ) == unSessionID )
|
||||
{
|
||||
strncat( szLabel, ", has ", sizeof( szLabel ) - strlen( szLabel ) - 1 );
|
||||
strncat( szLabel, GetControllerType( SteamInput()->GetInputTypeForHandle( arrInputHandles[ iController ] ) ), sizeof( szLabel ) - strlen( szLabel ) - 1 );
|
||||
}
|
||||
}
|
||||
AddMenuItem( CRemotePlayListMenu::MenuItem_t( szLabel, item ) );
|
||||
}
|
||||
|
||||
PopSelectedItem();
|
||||
}
|
||||
|
||||
private:
|
||||
const char *GetFormFactor( ESteamDeviceFormFactor eFormFactor )
|
||||
{
|
||||
switch ( eFormFactor )
|
||||
{
|
||||
case k_ESteamDeviceFormFactorPhone:
|
||||
return "[PHONE]";
|
||||
case k_ESteamDeviceFormFactorTablet:
|
||||
return "[TABLET]";
|
||||
case k_ESteamDeviceFormFactorComputer:
|
||||
return "[COMPUTER]";
|
||||
case k_ESteamDeviceFormFactorTV:
|
||||
return "[TV]";
|
||||
default:
|
||||
return "[UNKNOWN]";
|
||||
}
|
||||
}
|
||||
|
||||
const char *GetControllerType( ESteamInputType eInputType )
|
||||
{
|
||||
switch ( eInputType )
|
||||
{
|
||||
case k_ESteamInputType_SteamController:
|
||||
return "Steam Controller";
|
||||
case k_ESteamInputType_XBox360Controller:
|
||||
return "XBox 360 Controller";
|
||||
case k_ESteamInputType_XBoxOneController:
|
||||
return "XBox One Controller";
|
||||
case k_ESteamInputType_PS4Controller:
|
||||
return "PS4 Controller";
|
||||
case k_ESteamInputType_MobileTouch:
|
||||
return "Touch Controller";
|
||||
default:
|
||||
return "Game Controller";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const RemotePlayListMenuItem_t CRemotePlayListMenu::k_menuItemEmpty = { 0 };
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CRemotePlayList::CRemotePlayList( IGameEngine *pGameEngine ) : m_pGameEngine( pGameEngine )
|
||||
{
|
||||
m_pRemotePlayListMenu = new CRemotePlayListMenu( pGameEngine );
|
||||
m_nNumControllers = 0;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Run a frame for the CRemotePlayList
|
||||
//-----------------------------------------------------------------------------
|
||||
void CRemotePlayList::RunFrame()
|
||||
{
|
||||
InputHandle_t arrInputHandles[ STEAM_INPUT_MAX_COUNT ];
|
||||
int nNumControllers = SteamInput()->GetConnectedControllers( arrInputHandles );
|
||||
if ( nNumControllers != m_nNumControllers )
|
||||
{
|
||||
m_nNumControllers = nNumControllers;
|
||||
|
||||
m_pRemotePlayListMenu->Rebuild();
|
||||
}
|
||||
|
||||
m_pRemotePlayListMenu->RunFrame();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handles menu actions when viewing a Remote Play session list
|
||||
//-----------------------------------------------------------------------------
|
||||
void CRemotePlayList::OnMenuSelection( RemotePlayListMenuItem_t selection )
|
||||
{
|
||||
// Do nothing (yet)
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Shows / Refreshes the Remote Play session list
|
||||
//-----------------------------------------------------------------------------
|
||||
void CRemotePlayList::Show()
|
||||
{
|
||||
m_pRemotePlayListMenu->Rebuild();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handle Remote Play session connected
|
||||
//-----------------------------------------------------------------------------
|
||||
void CRemotePlayList::OnRemotePlaySessionConnected( SteamRemotePlaySessionConnected_t *pParam )
|
||||
{
|
||||
m_pRemotePlayListMenu->Rebuild();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handle Remote Play session disconnected
|
||||
//-----------------------------------------------------------------------------
|
||||
void CRemotePlayList::OnRemotePlaySessionDisconnected( SteamRemotePlaySessionDisconnected_t *pParam )
|
||||
{
|
||||
m_pRemotePlayListMenu->Rebuild();
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
//========= Copyright © 1996-2009, Valve LLC, All rights reserved. ============
|
||||
//
|
||||
// Purpose: Class for Remote Play session list
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef REMOTEPLAY_H
|
||||
#define REMOTEPLAY_H
|
||||
|
||||
#include "SpaceWar.h"
|
||||
#include "GameEngine.h"
|
||||
#include "SpaceWarClient.h"
|
||||
|
||||
|
||||
class CSpaceWarClient;
|
||||
class CRemotePlayListMenu;
|
||||
|
||||
class CRemotePlayList
|
||||
{
|
||||
public:
|
||||
// Constructor
|
||||
CRemotePlayList( IGameEngine *pGameEngine );
|
||||
|
||||
// Run a frame
|
||||
void RunFrame();
|
||||
|
||||
// shows / refreshes Remote Play session list
|
||||
void Show();
|
||||
|
||||
// handles input from Remote Play session list menu
|
||||
void OnMenuSelection( RemotePlayListMenuItem_t selection );
|
||||
|
||||
private:
|
||||
STEAM_CALLBACK( CRemotePlayList, OnRemotePlaySessionConnected, SteamRemotePlaySessionConnected_t );
|
||||
STEAM_CALLBACK( CRemotePlayList, OnRemotePlaySessionDisconnected, SteamRemotePlaySessionDisconnected_t );
|
||||
|
||||
private:
|
||||
// Engine
|
||||
IGameEngine *m_pGameEngine;
|
||||
|
||||
CRemotePlayListMenu *m_pRemotePlayListMenu;
|
||||
int m_nNumControllers;
|
||||
};
|
||||
|
||||
#endif // REMOTEPLAY_H
|
||||
@@ -190,6 +190,7 @@ enum EClientGameState
|
||||
k_EClientWorkshop,
|
||||
k_EClientHTMLSurface,
|
||||
k_EClientInGameStore,
|
||||
k_EClientRemotePlay,
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "htmlsurface.h"
|
||||
#include "Inventory.h"
|
||||
#include "steam/steamencryptedappticket.h"
|
||||
#include "RemotePlay.h"
|
||||
#ifdef WIN32
|
||||
#include <direct.h>
|
||||
#else
|
||||
@@ -148,6 +149,9 @@ void CSpaceWarClient::Init( IGameEngine *pGameEngine )
|
||||
m_pMusicPlayer = new CMusicPlayer( pGameEngine );
|
||||
m_pClanChatRoom = new CClanChatRoom( pGameEngine );
|
||||
|
||||
// Remote Play session list
|
||||
m_pRemotePlayList = new CRemotePlayList( pGameEngine );
|
||||
|
||||
// Remote Storage page
|
||||
m_pRemoteStorage = new CRemoteStorage( pGameEngine );
|
||||
|
||||
@@ -959,6 +963,15 @@ void CSpaceWarClient::OnMenuSelection( FriendsListMenuItem_t selection )
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handles menu actions when viewing the Remote Play session list
|
||||
//-----------------------------------------------------------------------------
|
||||
void CSpaceWarClient::OnMenuSelection( RemotePlayListMenuItem_t selection )
|
||||
{
|
||||
m_pRemotePlayList->OnMenuSelection( selection );
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handles menu actions when viewing the remote storage sync screen
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -1125,6 +1138,12 @@ void CSpaceWarClient::OnGameStateChanged( EClientGameState eGameStateNew )
|
||||
pchSteamRichPresenceDisplay = SetInGameRichPresence();
|
||||
bDisplayScoreInRichPresence = true;
|
||||
}
|
||||
else if ( m_eGameState == k_EClientRemotePlay )
|
||||
{
|
||||
// we've switched to the remote play menu
|
||||
m_pRemotePlayList->Show();
|
||||
SteamFriends()->SetRichPresence( "status", "Viewing remote play sessions" );
|
||||
}
|
||||
else if ( m_eGameState == k_EClientRemoteStorage )
|
||||
{
|
||||
// we've switched to the remote storage menu
|
||||
@@ -1500,6 +1519,14 @@ void CSpaceWarClient::RunFrame()
|
||||
SetGameState( k_EClientGameMenu );
|
||||
break;
|
||||
|
||||
case k_EClientRemotePlay:
|
||||
m_pStarField->Render();
|
||||
m_pRemotePlayList->RunFrame();
|
||||
|
||||
if ( bEscapePressed )
|
||||
SetGameState( k_EClientGameMenu );
|
||||
break;
|
||||
|
||||
case k_EClientRemoteStorage:
|
||||
m_pStarField->Render();
|
||||
m_pRemoteStorage->Render();
|
||||
|
||||
@@ -34,6 +34,7 @@ class CP2PAuthPlayer;
|
||||
class CP2PAuthedGame;
|
||||
class CVoiceChat;
|
||||
class CHTMLSurface;
|
||||
class CRemotePlayList;
|
||||
|
||||
// Height of the HUD font
|
||||
#define HUD_FONT_HEIGHT 18
|
||||
@@ -93,6 +94,12 @@ struct FriendsListMenuItem_t
|
||||
CSteamID m_steamIDFriend;
|
||||
};
|
||||
|
||||
// a Remote Play session list item
|
||||
struct RemotePlayListMenuItem_t
|
||||
{
|
||||
uint32 m_unSessionID;
|
||||
};
|
||||
|
||||
#define MAX_WORKSHOP_ITEMS 16
|
||||
|
||||
// a Steam Workshop item
|
||||
@@ -178,6 +185,7 @@ public:
|
||||
void OnMenuSelection( LobbyMenuItem_t selection );
|
||||
void OnMenuSelection( LeaderboardMenuItem_t selection );
|
||||
void OnMenuSelection( FriendsListMenuItem_t selection );
|
||||
void OnMenuSelection( RemotePlayListMenuItem_t selection );
|
||||
void OnMenuSelection( ERemoteStorageSyncMenuCommand selection );
|
||||
|
||||
void OnMenuSelection( MusicPlayerMenuItem_t selection ) { m_pMusicPlayer->OnMenuSelection( selection ); }
|
||||
@@ -412,9 +420,10 @@ private:
|
||||
CMusicPlayer *m_pMusicPlayer;
|
||||
CClanChatRoom *m_pClanChatRoom;
|
||||
CServerBrowser *m_pServerBrowser;
|
||||
|
||||
CRemotePlayList *m_pRemotePlayList;
|
||||
CRemoteStorage *m_pRemoteStorage;
|
||||
|
||||
|
||||
// lobby handling
|
||||
// the name of the lobby we're connected to
|
||||
CSteamID m_steamIDLobby;
|
||||
|
||||
@@ -156,8 +156,11 @@ public:
|
||||
// Steam Parties interface
|
||||
virtual ISteamParties *GetISteamParties( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0;
|
||||
|
||||
// Steam Remote Play interface
|
||||
virtual ISteamRemotePlay *GetISteamRemotePlay( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0;
|
||||
|
||||
};
|
||||
#define STEAMCLIENT_INTERFACE_VERSION "SteamClient018"
|
||||
#define STEAMCLIENT_INTERFACE_VERSION "SteamClient019"
|
||||
|
||||
#ifndef STEAM_API_EXPORTS
|
||||
|
||||
|
||||
@@ -610,12 +610,16 @@ public:
|
||||
virtual EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin ) = 0;
|
||||
|
||||
// Convert an origin to another controller type - for inputs not present on the other controller type this will return k_EInputActionOrigin_None
|
||||
// When a new input type is added you will be able to pass in k_ESteamInputType_Unknown amd the closest origin that your version of the SDK regonized will be returned
|
||||
// When a new input type is added you will be able to pass in k_ESteamInputType_Unknown and the closest origin that your version of the SDK recognized will be returned
|
||||
// ex: if a Playstation 5 controller was released this function would return Playstation 4 origins.
|
||||
virtual EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin ) = 0;
|
||||
|
||||
// Get the binding revision for a given device. Returns false if the handle was not valid or if a mapping is not yet loaded for the device
|
||||
virtual bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor ) = 0;
|
||||
|
||||
// Get the Steam Remote Play session ID associated with a device, or 0 if there is no session associated with it
|
||||
// See isteamremoteplay.h for more information on Steam Remote Play sessions
|
||||
virtual uint32 GetRemotePlaySessionID( InputHandle_t inputHandle ) = 0;
|
||||
};
|
||||
|
||||
#define STEAMINPUT_INTERFACE_VERSION "SteamInput001"
|
||||
|
||||
@@ -492,7 +492,7 @@ public:
|
||||
protected:
|
||||
~ISteamNetworkingSockets(); // Silence some warnings
|
||||
};
|
||||
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets003"
|
||||
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets004"
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
//============ Copyright (c) Valve Corporation, All rights reserved. ============
|
||||
|
||||
#ifndef ISTEAMREMOTEPLAY_H
|
||||
#define ISTEAMREMOTEPLAY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "steam_api_common.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: The form factor of a device
|
||||
//-----------------------------------------------------------------------------
|
||||
enum ESteamDeviceFormFactor
|
||||
{
|
||||
k_ESteamDeviceFormFactorUnknown,
|
||||
k_ESteamDeviceFormFactorPhone,
|
||||
k_ESteamDeviceFormFactorTablet,
|
||||
k_ESteamDeviceFormFactorComputer,
|
||||
k_ESteamDeviceFormFactorTV,
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Functions to provide information about Steam Remote Play sessions
|
||||
//-----------------------------------------------------------------------------
|
||||
class ISteamRemotePlay
|
||||
{
|
||||
public:
|
||||
// Get the number of currently connected Steam Remote Play sessions
|
||||
virtual uint32 GetSessionCount() = 0;
|
||||
|
||||
// Get the currently connected Steam Remote Play session ID at the specified index. Returns zero if index is out of bounds.
|
||||
virtual uint32 GetSessionID( int iSessionIndex ) = 0;
|
||||
|
||||
// Get the SteamID of the connected user
|
||||
virtual CSteamID GetSessionSteamID( uint32 unSessionID ) = 0;
|
||||
|
||||
// Get the name of the session client device
|
||||
// This returns NULL if the sessionID is not valid
|
||||
virtual const char *GetSessionClientName( uint32 unSessionID ) = 0;
|
||||
|
||||
// Get the form factor of the session client device
|
||||
virtual ESteamDeviceFormFactor GetSessionClientFormFactor( uint32 unSessionID ) = 0;
|
||||
|
||||
// Get the resolution, in pixels, of the session client device
|
||||
// This is set to 0x0 if the resolution is not available
|
||||
virtual bool BGetSessionClientResolution( uint32 unSessionID, int *pnResolutionX, int *pnResolutionY ) = 0;
|
||||
};
|
||||
|
||||
#define STEAMREMOTEPLAY_INTERFACE_VERSION "STEAMREMOTEPLAY_INTERFACE_VERSION001"
|
||||
|
||||
// Global interface accessor
|
||||
inline ISteamRemotePlay *SteamRemotePlay();
|
||||
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemotePlay *, SteamRemotePlay, STEAMREMOTEPLAY_INTERFACE_VERSION );
|
||||
|
||||
// callbacks
|
||||
#if defined( VALVE_CALLBACK_PACK_SMALL )
|
||||
#pragma pack( push, 4 )
|
||||
#elif defined( VALVE_CALLBACK_PACK_LARGE )
|
||||
#pragma pack( push, 8 )
|
||||
#else
|
||||
#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx
|
||||
#endif
|
||||
|
||||
|
||||
STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionConnected_t, k_iSteamRemotePlayCallbacks + 1 )
|
||||
STEAM_CALLBACK_MEMBER( 0, uint32, m_unSessionID )
|
||||
STEAM_CALLBACK_END( 0 )
|
||||
|
||||
|
||||
STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionDisconnected_t, k_iSteamRemotePlayCallbacks + 2 )
|
||||
STEAM_CALLBACK_MEMBER( 0, uint32, m_unSessionID )
|
||||
STEAM_CALLBACK_END( 0 )
|
||||
|
||||
|
||||
#pragma pack( pop )
|
||||
|
||||
|
||||
#endif // #define ISTEAMREMOTEPLAY_H
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -42,6 +42,7 @@
|
||||
#include "isteamvideo.h"
|
||||
#include "isteamparentalsettings.h"
|
||||
#include "isteaminput.h"
|
||||
#include "isteamremoteplay.h"
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||
|
||||
@@ -426,6 +426,7 @@
|
||||
,{"name": "k_eEVRHMDType_HTC_VivePre","value": "2"}
|
||||
,{"name": "k_eEVRHMDType_HTC_Vive","value": "3"}
|
||||
,{"name": "k_eEVRHMDType_HTC_VivePro","value": "4"}
|
||||
,{"name": "k_eEVRHMDType_HTC_ViveCosmos","value": "5"}
|
||||
,{"name": "k_eEVRHMDType_HTC_Unknown","value": "20"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_DK1","value": "21"}
|
||||
,{"name": "k_eEVRHMDType_Oculus_DK2","value": "22"}
|
||||
@@ -1677,6 +1678,13 @@
|
||||
,{"name": "k_EFeatureTest","value": "12"}
|
||||
,{"name": "k_EFeatureMax","value": "13"}
|
||||
]}
|
||||
, {"enumname": "ESteamDeviceFormFactor","values": [
|
||||
{"name": "k_ESteamDeviceFormFactorUnknown","value": "0"}
|
||||
,{"name": "k_ESteamDeviceFormFactorPhone","value": "1"}
|
||||
,{"name": "k_ESteamDeviceFormFactorTablet","value": "2"}
|
||||
,{"name": "k_ESteamDeviceFormFactorComputer","value": "3"}
|
||||
,{"name": "k_ESteamDeviceFormFactorTV","value": "4"}
|
||||
]}
|
||||
],
|
||||
"consts":[{
|
||||
"constname": "k_iSteamUserCallbacks","consttype": "int", "constval": "100"}
|
||||
@@ -1796,6 +1804,8 @@
|
||||
"constname": "k_iSteamSTARCallbacks","consttype": "int", "constval": "5500"}
|
||||
,{
|
||||
"constname": "k_iClientSTARCallbacks","consttype": "int", "constval": "5600"}
|
||||
,{
|
||||
"constname": "k_iSteamRemotePlayCallbacks","consttype": "int", "constval": "5700"}
|
||||
,{
|
||||
"constname": "k_cchPersonaNameMax","consttype": "int", "constval": "128"}
|
||||
,{
|
||||
@@ -2647,6 +2657,10 @@
|
||||
{ "fieldname": "m_bIsRTMP", "fieldtype": "_Bool"}]}
|
||||
,{"struct": "BroadcastUploadStop_t","fields": [
|
||||
{ "fieldname": "m_eResult", "fieldtype": "enum EBroadcastUploadResult"}]}
|
||||
,{"struct": "SteamRemotePlaySessionConnected_t","fields": [
|
||||
{ "fieldname": "m_unSessionID", "fieldtype": "uint32"}]}
|
||||
,{"struct": "SteamRemotePlaySessionDisconnected_t","fields": [
|
||||
{ "fieldname": "m_unSessionID", "fieldtype": "uint32"}]}
|
||||
,{"struct": "GSClientApprove_t","fields": [
|
||||
{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"},
|
||||
{ "fieldname": "m_OwnerSteamID", "fieldtype": "class CSteamID"}]}
|
||||
@@ -3023,6 +3037,16 @@
|
||||
{ "paramname": "pchVersion" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamClient",
|
||||
"methodname": "GetISteamRemotePlay",
|
||||
"returntype": "class ISteamRemotePlay *",
|
||||
"params": [
|
||||
{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"},
|
||||
{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"},
|
||||
{ "paramname": "pchVersion" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamUser",
|
||||
"methodname": "GetHSteamUser",
|
||||
@@ -7058,6 +7082,14 @@
|
||||
{ "paramname": "pMinor" ,"paramtype": "int *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamInput",
|
||||
"methodname": "GetRemotePlaySessionID",
|
||||
"returntype": "uint32",
|
||||
"params": [
|
||||
{ "paramname": "inputHandle" ,"paramtype": "InputHandle_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamController",
|
||||
"methodname": "Init",
|
||||
@@ -8935,6 +8967,53 @@
|
||||
{ "paramname": "eFeature" ,"paramtype": "EParentalFeature"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "GetSessionCount",
|
||||
"returntype": "uint32"
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "GetSessionID",
|
||||
"returntype": "uint32",
|
||||
"params": [
|
||||
{ "paramname": "iSessionIndex" ,"paramtype": "int"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "GetSessionSteamID",
|
||||
"returntype": "class CSteamID",
|
||||
"params": [
|
||||
{ "paramname": "unSessionID" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "GetSessionClientName",
|
||||
"returntype": "const char *",
|
||||
"params": [
|
||||
{ "paramname": "unSessionID" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "GetSessionClientFormFactor",
|
||||
"returntype": "ESteamDeviceFormFactor",
|
||||
"params": [
|
||||
{ "paramname": "unSessionID" ,"paramtype": "uint32"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamRemotePlay",
|
||||
"methodname": "BGetSessionClientResolution",
|
||||
"returntype": "bool",
|
||||
"params": [
|
||||
{ "paramname": "unSessionID" ,"paramtype": "uint32"},
|
||||
{ "paramname": "pnResolutionX" ,"paramtype": "int *"},
|
||||
{ "paramname": "pnResolutionY" ,"paramtype": "int *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "ISteamGameServer",
|
||||
"methodname": "InitGameServer",
|
||||
|
||||
@@ -138,6 +138,7 @@ int const_k_iSteamPartiesCallbacks = 5300;
|
||||
int const_k_iClientPartiesCallbacks = 5400;
|
||||
int const_k_iSteamSTARCallbacks = 5500;
|
||||
int const_k_iClientSTARCallbacks = 5600;
|
||||
int const_k_iSteamRemotePlayCallbacks = 5700;
|
||||
int const_k_cchPersonaNameMax = 128;
|
||||
int const_k_cwchPersonaNameMax = 32;
|
||||
int const_k_cchMaxRichPresenceKeys = 30;
|
||||
@@ -192,6 +193,7 @@ S_API class ISteamVideo * SteamAPI_ISteamClient_GetISteamVideo(intptr_t instance
|
||||
S_API class ISteamParentalSettings * SteamAPI_ISteamClient_GetISteamParentalSettings(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion);
|
||||
S_API class ISteamInput * SteamAPI_ISteamClient_GetISteamInput(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion);
|
||||
S_API class ISteamParties * SteamAPI_ISteamClient_GetISteamParties(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion);
|
||||
S_API class ISteamRemotePlay * SteamAPI_ISteamClient_GetISteamRemotePlay(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion);
|
||||
S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser(intptr_t instancePtr);
|
||||
S_API bool SteamAPI_ISteamUser_BLoggedOn(intptr_t instancePtr);
|
||||
S_API uint64 SteamAPI_ISteamUser_GetSteamID(intptr_t instancePtr);
|
||||
@@ -677,6 +679,7 @@ S_API const char * SteamAPI_ISteamInput_GetGlyphForXboxOrigin(intptr_t instanceP
|
||||
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 uint32 SteamAPI_ISteamInput_GetRemotePlaySessionID(intptr_t instancePtr, InputHandle_t inputHandle);
|
||||
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);
|
||||
@@ -885,6 +888,12 @@ S_API bool SteamAPI_ISteamParentalSettings_BIsAppBlocked(intptr_t instancePtr, A
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList(intptr_t instancePtr, AppId_t nAppID);
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(intptr_t instancePtr, EParentalFeature eFeature);
|
||||
S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(intptr_t instancePtr, EParentalFeature eFeature);
|
||||
S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionCount(intptr_t instancePtr);
|
||||
S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionID(intptr_t instancePtr, int iSessionIndex);
|
||||
S_API uint64 SteamAPI_ISteamRemotePlay_GetSessionSteamID(intptr_t instancePtr, uint32 unSessionID);
|
||||
S_API const char * SteamAPI_ISteamRemotePlay_GetSessionClientName(intptr_t instancePtr, uint32 unSessionID);
|
||||
S_API ESteamDeviceFormFactor SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor(intptr_t instancePtr, uint32 unSessionID);
|
||||
S_API bool SteamAPI_ISteamRemotePlay_BGetSessionClientResolution(intptr_t instancePtr, uint32 unSessionID, int * pnResolutionX, int * pnResolutionY);
|
||||
S_API bool SteamAPI_ISteamGameServer_InitGameServer(intptr_t instancePtr, uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char * pchVersionString);
|
||||
S_API void SteamAPI_ISteamGameServer_SetProduct(intptr_t instancePtr, const char * pszProduct);
|
||||
S_API void SteamAPI_ISteamGameServer_SetGameDescription(intptr_t instancePtr, const char * pszGameDescription);
|
||||
|
||||
@@ -197,6 +197,7 @@ class ISteamGameSearch;
|
||||
class ISteamInput;
|
||||
class ISteamParties;
|
||||
class ISteamTV;
|
||||
class ISteamRemotePlay;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Base values for callback identifiers, each callback must
|
||||
@@ -261,6 +262,7 @@ enum { k_iSteamPartiesCallbacks = 5300 };
|
||||
enum { k_iClientPartiesCallbacks = 5400 };
|
||||
enum { k_iSteamSTARCallbacks = 5500 };
|
||||
enum { k_iClientSTARCallbacks = 5600 };
|
||||
enum { k_iSteamRemotePlayCallbacks = 5700 };
|
||||
|
||||
// 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
|
||||
|
||||
@@ -87,6 +87,8 @@ internal static extern IntPtr SteamAPI_ISteamClient_GetISteamParentalSettings(In
|
||||
internal static extern IntPtr SteamAPI_ISteamClient_GetISteamInput(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamParties")]
|
||||
internal static extern IntPtr SteamAPI_ISteamClient_GetISteamParties(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamRemotePlay")]
|
||||
internal static extern IntPtr SteamAPI_ISteamClient_GetISteamRemotePlay(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetHSteamUser")]
|
||||
internal static extern uint SteamAPI_ISteamUser_GetHSteamUser(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BLoggedOn")]
|
||||
@@ -1057,6 +1059,8 @@ internal static extern uint SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin(I
|
||||
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_ISteamInput_GetRemotePlaySessionID")]
|
||||
internal static extern uint SteamAPI_ISteamInput_GetRemotePlaySessionID(IntPtr instancePtr, ulong inputHandle);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Init")]
|
||||
internal static extern bool SteamAPI_ISteamController_Init(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Shutdown")]
|
||||
@@ -1473,6 +1477,18 @@ internal static extern bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList(In
|
||||
internal static extern bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(IntPtr instancePtr, uint eFeature);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList")]
|
||||
internal static extern bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(IntPtr instancePtr, uint eFeature);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_GetSessionCount")]
|
||||
internal static extern uint SteamAPI_ISteamRemotePlay_GetSessionCount(IntPtr instancePtr);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_GetSessionID")]
|
||||
internal static extern uint SteamAPI_ISteamRemotePlay_GetSessionID(IntPtr instancePtr, int iSessionIndex);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_GetSessionSteamID")]
|
||||
internal static extern ulong SteamAPI_ISteamRemotePlay_GetSessionSteamID(IntPtr instancePtr, uint unSessionID);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_GetSessionClientName")]
|
||||
internal static extern IntPtr SteamAPI_ISteamRemotePlay_GetSessionClientName(IntPtr instancePtr, uint unSessionID);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor")]
|
||||
internal static extern uint SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor(IntPtr instancePtr, uint unSessionID);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemotePlay_BGetSessionClientResolution")]
|
||||
internal static extern bool SteamAPI_ISteamRemotePlay_BGetSessionClientResolution(IntPtr instancePtr, uint unSessionID, ref int pnResolutionX, ref int pnResolutionY);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_InitGameServer")]
|
||||
internal static extern bool SteamAPI_ISteamGameServer_InitGameServer(IntPtr instancePtr, uint unIP, char usGamePort, char usQueryPort, uint unFlags, uint nGameAppId, string pchVersionString);
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetProduct")]
|
||||
@@ -1967,6 +1983,7 @@ namespace Valve.Steamworks
|
||||
public abstract ISteamParentalSettings GetISteamParentalSettings(uint hSteamuser,uint hSteamPipe,string pchVersion);
|
||||
public abstract ISteamInput GetISteamInput(uint hSteamUser,uint hSteamPipe,string pchVersion);
|
||||
public abstract ISteamParties GetISteamParties(uint hSteamUser,uint hSteamPipe,string pchVersion);
|
||||
public abstract ISteamRemotePlay GetISteamRemotePlay(uint hSteamUser,uint hSteamPipe,string pchVersion);
|
||||
}
|
||||
|
||||
|
||||
@@ -2572,6 +2589,7 @@ namespace Valve.Steamworks
|
||||
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);
|
||||
public abstract uint GetRemotePlaySessionID(ulong inputHandle);
|
||||
}
|
||||
|
||||
|
||||
@@ -2831,6 +2849,18 @@ namespace Valve.Steamworks
|
||||
}
|
||||
|
||||
|
||||
public abstract class ISteamRemotePlay
|
||||
{
|
||||
public abstract IntPtr GetIntPtr();
|
||||
public abstract uint GetSessionCount();
|
||||
public abstract uint GetSessionID(int iSessionIndex);
|
||||
public abstract ulong GetSessionSteamID(uint unSessionID);
|
||||
public abstract string GetSessionClientName(uint unSessionID);
|
||||
public abstract uint GetSessionClientFormFactor(uint unSessionID);
|
||||
public abstract bool BGetSessionClientResolution(uint unSessionID,ref int pnResolutionX,ref int pnResolutionY);
|
||||
}
|
||||
|
||||
|
||||
public abstract class ISteamGameServer
|
||||
{
|
||||
public abstract IntPtr GetIntPtr();
|
||||
@@ -3122,6 +3152,12 @@ public override ISteamParties GetISteamParties(uint hSteamUser,uint hSteamPipe,s
|
||||
IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamParties(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion);
|
||||
return (ISteamParties) Marshal.PtrToStructure(result, typeof(ISteamParties));
|
||||
}
|
||||
public override ISteamRemotePlay GetISteamRemotePlay(uint hSteamUser,uint hSteamPipe,string pchVersion)
|
||||
{
|
||||
CheckIfUsable();
|
||||
IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamRemotePlay(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion);
|
||||
return (ISteamRemotePlay) Marshal.PtrToStructure(result, typeof(ISteamRemotePlay));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6468,6 +6504,12 @@ public override bool GetDeviceBindingRevision(ulong inputHandle,ref int pMajor,r
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamInput_GetDeviceBindingRevision(m_pSteamInput,inputHandle,ref pMajor,ref pMinor);
|
||||
return result;
|
||||
}
|
||||
public override uint GetRemotePlaySessionID(ulong inputHandle)
|
||||
{
|
||||
CheckIfUsable();
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamInput_GetRemotePlaySessionID(m_pSteamInput,inputHandle);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7912,6 +7954,64 @@ public override bool BIsFeatureInBlockList(uint eFeature)
|
||||
}
|
||||
|
||||
|
||||
public class CSteamRemotePlay : ISteamRemotePlay
|
||||
{
|
||||
public CSteamRemotePlay(IntPtr SteamRemotePlay)
|
||||
{
|
||||
m_pSteamRemotePlay = SteamRemotePlay;
|
||||
}
|
||||
IntPtr m_pSteamRemotePlay;
|
||||
|
||||
public override IntPtr GetIntPtr() { return m_pSteamRemotePlay; }
|
||||
|
||||
private void CheckIfUsable()
|
||||
{
|
||||
if (m_pSteamRemotePlay == IntPtr.Zero)
|
||||
{
|
||||
throw new Exception("Steam Pointer not configured");
|
||||
}
|
||||
}
|
||||
public override uint GetSessionCount()
|
||||
{
|
||||
CheckIfUsable();
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_GetSessionCount(m_pSteamRemotePlay);
|
||||
return result;
|
||||
}
|
||||
public override uint GetSessionID(int iSessionIndex)
|
||||
{
|
||||
CheckIfUsable();
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_GetSessionID(m_pSteamRemotePlay,iSessionIndex);
|
||||
return result;
|
||||
}
|
||||
public override ulong GetSessionSteamID(uint unSessionID)
|
||||
{
|
||||
CheckIfUsable();
|
||||
ulong result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_GetSessionSteamID(m_pSteamRemotePlay,unSessionID);
|
||||
return result;
|
||||
}
|
||||
public override string GetSessionClientName(uint unSessionID)
|
||||
{
|
||||
CheckIfUsable();
|
||||
IntPtr result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_GetSessionClientName(m_pSteamRemotePlay,unSessionID);
|
||||
return Marshal.PtrToStringAnsi(result);
|
||||
}
|
||||
public override uint GetSessionClientFormFactor(uint unSessionID)
|
||||
{
|
||||
CheckIfUsable();
|
||||
uint result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor(m_pSteamRemotePlay,unSessionID);
|
||||
return result;
|
||||
}
|
||||
public override bool BGetSessionClientResolution(uint unSessionID,ref int pnResolutionX,ref int pnResolutionY)
|
||||
{
|
||||
CheckIfUsable();
|
||||
pnResolutionX = 0;
|
||||
pnResolutionY = 0;
|
||||
bool result = NativeEntrypoints.SteamAPI_ISteamRemotePlay_BGetSessionClientResolution(m_pSteamRemotePlay,unSessionID,ref pnResolutionX,ref pnResolutionY);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class CSteamGameServer : ISteamGameServer
|
||||
{
|
||||
public CSteamGameServer(IntPtr SteamGameServer)
|
||||
@@ -9686,6 +9786,8 @@ internal static extern IntPtr SteamVideo();
|
||||
internal static extern IntPtr SteamTV();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamParentalSettings")]
|
||||
internal static extern IntPtr SteamParentalSettings();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamRemotePlay")]
|
||||
internal static extern IntPtr SteamRemotePlay();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamGameServer")]
|
||||
internal static extern IntPtr SteamGameServer();
|
||||
[DllImportAttribute("Steam_api", EntryPoint = "SteamGameServerStats")]
|
||||
@@ -10064,6 +10166,7 @@ public enum EVRHMDType
|
||||
k_eEVRHMDType_HTC_VivePre = 2,
|
||||
k_eEVRHMDType_HTC_Vive = 3,
|
||||
k_eEVRHMDType_HTC_VivePro = 4,
|
||||
k_eEVRHMDType_HTC_ViveCosmos = 5,
|
||||
k_eEVRHMDType_HTC_Unknown = 20,
|
||||
k_eEVRHMDType_Oculus_DK1 = 21,
|
||||
k_eEVRHMDType_Oculus_DK2 = 22,
|
||||
@@ -11374,6 +11477,14 @@ public enum EParentalFeature
|
||||
k_EFeatureTest = 12,
|
||||
k_EFeatureMax = 13,
|
||||
}
|
||||
public enum ESteamDeviceFormFactor
|
||||
{
|
||||
k_ESteamDeviceFormFactorUnknown = 0,
|
||||
k_ESteamDeviceFormFactorPhone = 1,
|
||||
k_ESteamDeviceFormFactorTablet = 2,
|
||||
k_ESteamDeviceFormFactorComputer = 3,
|
||||
k_ESteamDeviceFormFactorTV = 4,
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct CSteamID
|
||||
{
|
||||
public SteamID_t m_steamid;
|
||||
@@ -12671,6 +12782,14 @@ public enum EParentalFeature
|
||||
{
|
||||
public EBroadcastUploadResult m_eResult;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct SteamRemotePlaySessionConnected_t
|
||||
{
|
||||
public uint m_unSessionID;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct SteamRemotePlaySessionDisconnected_t
|
||||
{
|
||||
public uint m_unSessionID;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct GSClientApprove_t
|
||||
{
|
||||
public ulong m_SteamID;
|
||||
@@ -12836,6 +12955,7 @@ 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_iSteamRemotePlayCallbacks = 5700;
|
||||
public const int k_cchPersonaNameMax = 128;
|
||||
public const int k_cwchPersonaNameMax = 32;
|
||||
public const int k_cchMaxRichPresenceKeys = 30;
|
||||
@@ -12992,6 +13112,11 @@ public static ISteamParentalSettings SteamParentalSettings()
|
||||
return new CSteamParentalSettings(SteamAPIInterop.SteamParentalSettings());
|
||||
}
|
||||
|
||||
public static ISteamRemotePlay SteamRemotePlay()
|
||||
{
|
||||
return new CSteamRemotePlay(SteamAPIInterop.SteamRemotePlay());
|
||||
}
|
||||
|
||||
public static ISteamGameServer SteamGameServer()
|
||||
{
|
||||
return new CSteamGameServer(SteamAPIInterop.SteamGameServer());
|
||||
|
||||
@@ -516,6 +516,7 @@ enum EVRHMDType
|
||||
k_eEVRHMDType_HTC_VivePre = 2, // htc vive pre
|
||||
k_eEVRHMDType_HTC_Vive = 3, // htc vive consumer release
|
||||
k_eEVRHMDType_HTC_VivePro = 4, // htc vive pro release
|
||||
k_eEVRHMDType_HTC_ViveCosmos = 5, // HTC Vive Cosmos
|
||||
|
||||
k_eEVRHMDType_HTC_Unknown = 20, // unknown htc hmd
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user