Skip to content

Commit 952a7b9

Browse files
committed
Reduce differences between opensource and Steam versions.
Thse headers are now *almost* identical to the one in the Steamworks SDK, which makes it much easier for me (and possibly others) to switch between a standalone lib and the Steamworks one, even at runtime. Don't conditionally remove functions from the interface. This makes them have different ABIs and the same code cannot be compiled to target either one. Move STEAMNETWORKINGSOCKETS_ENABLE_SDR into a private header, and provide stubs for all of the functions when it's not defined. Global accessors that are defined to access code in the standalone lib will have _Lib on the end, and the Steamworks ones will have SteamAPI(). And, if you are only compiling with one or the other (the common case), then also declare the "undecorated accessor" to go to that one. Added a steam_api_common.h stub which will define the very few things that we need that are defined in that file in Steamworks. There is one remaining cause of ABI differences, and that is structure packing. The Steamworks code does really unfortunate things with structure packing, which cannot be fixed now because of backwards compatibility. That ship, unfortunately, has sailed. I made a different decition with the opensource code, but if we do want compatibiilty with the steamworks version, we will need to do the bad thing steamworks does. This only affects certain platforms. I'll leave it alone for now, but we might need to revisit it in the future. I think right now the number of people who just want the opensource version to have the same ABI regardless of platform (e.g. for C# wrappers) is more than the number who might wany the ABI to be the same as Steamworks. I closed issue ValveSoftware#93, even though it was not fully resolved. This change actually totally resolves it (with the exception of the structure packing).
1 parent bf30c11 commit 952a7b9

File tree

7 files changed

+126
-71
lines changed

7 files changed

+126
-71
lines changed

include/steam/isteamnetworkingsockets.h

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22

33
#ifndef ISTEAMNETWORKINGSOCKETS
44
#define ISTEAMNETWORKINGSOCKETS
5-
#ifdef _WIN32
65
#pragma once
7-
#endif
86

97
#include "steamnetworkingtypes.h"
8+
#include "steam_api_common.h"
109

1110
struct SteamNetAuthenticationStatus_t;
1211
class ISteamNetworkingConnectionCustomSignaling;
@@ -437,8 +436,6 @@ class ISteamNetworkingSockets
437436
/// other connections.)
438437
virtual int ReceiveMessagesOnPollGroup( HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0;
439438

440-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
441-
442439
//
443440
// Clients connecting to dedicated servers hosted in a data center,
444441
// using central-authority-granted tickets.
@@ -560,7 +557,6 @@ class ISteamNetworkingSockets
560557
/// NOTE: The routing blob returned here is not encrypted. Send it to your backend
561558
/// and don't share it directly with clients.
562559
virtual EResult GetGameCoordinatorServerLogin( SteamDatagramGameCoordinatorServerLogin *pLoginInfo, int *pcbSignedBlob, void *pBlob ) = 0;
563-
#endif // #ifndef STEAMNETWORKINGSOCKETS_ENABLE_SDR
564560

565561

566562
//
@@ -664,28 +660,40 @@ class ISteamNetworkingSockets
664660
};
665661
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets009"
666662

667-
// Global accessor.
668-
#if defined( STEAMNETWORKINGSOCKETS_STANDALONELIB )
663+
// Global accessors
664+
// Using standalone lib
665+
#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB
669666

670-
// Standalone lib. Use different symbol name, so that we can dynamically switch between steamclient.dll
671-
// and the standalone lib
667+
// Standalone lib.
672668
static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '9', "Version mismatch" );
673669
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV9();
674-
inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV9(); }
670+
inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV9(); }
675671

676-
// In Partner lib, we also define a gameserver instance.
677-
#ifdef STEAMNETWORKINGSOCKETS_PARTNER
672+
// If running in context of steam, we also define a gameserver instance.
673+
#ifdef STEAMNETWORKINGSOCKETS_STEAM
678674
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV9();
679-
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV9(); }
675+
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV9(); }
680676
#endif
681677

682-
#else
678+
#ifndef STEAMNETWORKINGSOCKETS_STEAMAPI
679+
inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV9(); }
680+
#ifdef STEAMNETWORKINGSOCKETS_STEAM
681+
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV9(); }
682+
#endif
683+
#endif
684+
#endif
685+
686+
// Using Steamworks SDK
687+
#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI
683688

684689
// Steamworks SDK
685-
inline ISteamNetworkingSockets *SteamNetworkingSockets();
686-
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamNetworkingSockets, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
687-
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets();
688-
STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamGameServerNetworkingSockets, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
690+
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
691+
STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamGameServerNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
692+
693+
#ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB
694+
inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_SteamAPI(); }
695+
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_SteamAPI(); }
696+
#endif
689697
#endif
690698

691699
/// Callback struct used to notify when a connection has changed state

include/steam/isteamnetworkingutils.h

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@
66

77
#ifndef ISTEAMNETWORKINGUTILS
88
#define ISTEAMNETWORKINGUTILS
9-
#ifdef _WIN32
109
#pragma once
11-
#endif
12-
13-
#include <stdint.h>
1410

1511
#include "steamnetworkingtypes.h"
12+
#include "steam_api_common.h"
13+
1614
struct SteamDatagramRelayAuthTicket;
1715
struct SteamRelayNetworkStatus_t;
1816

@@ -46,8 +44,6 @@ class ISteamNetworkingUtils
4644
// Access to Steam Datagram Relay (SDR) network
4745
//
4846

49-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
50-
5147
//
5248
// Initialization and status check
5349
//
@@ -196,7 +192,6 @@ class ISteamNetworkingUtils
196192
/// Get list of all POP IDs. Returns the number of entries that were filled into
197193
/// your list.
198194
virtual int GetPOPList( SteamNetworkingPOPID *list, int nListSz ) = 0;
199-
#endif // #ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
200195

201196
//
202197
// Misc
@@ -324,19 +319,23 @@ class ISteamNetworkingUtils
324319
};
325320
#define STEAMNETWORKINGUTILS_INTERFACE_VERSION "SteamNetworkingUtils003"
326321

327-
// Global accessor.
322+
// Global accessors
323+
// Using standalone lib
328324
#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB
329325

330326
// Standalone lib
331327
static_assert( STEAMNETWORKINGUTILS_INTERFACE_VERSION[22] == '3', "Version mismatch" );
332328
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingUtils *SteamNetworkingUtils_LibV3();
333-
inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_LibV3(); }
329+
inline ISteamNetworkingUtils *SteamNetworkingUtils_Lib() { return SteamNetworkingUtils_LibV3(); }
334330

335-
#else
331+
#ifndef STEAMNETWORKINGSOCKETS_STEAMAPI
332+
inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_LibV3(); }
333+
#endif
334+
#endif
336335

337-
// Steamworks SDK
338-
inline ISteamNetworkingUtils *SteamNetworkingUtils();
339-
STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamNetworkingUtils *, SteamNetworkingUtils,
336+
// Using Steamworks SDK
337+
#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI
338+
STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamNetworkingUtils *, SteamNetworkingUtils_SteamAPI,
340339
/* Prefer user version of the interface. But if it isn't found, then use
341340
gameserver one. Yes, this is a completely terrible hack */
342341
SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) ?
@@ -345,6 +344,10 @@ class ISteamNetworkingUtils
345344
"global",
346345
STEAMNETWORKINGUTILS_INTERFACE_VERSION
347346
)
347+
348+
#ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB
349+
inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_SteamAPI(); }
350+
#endif
348351
#endif
349352

350353
/// A struct used to describe our readiness to use the relay network.
@@ -405,10 +408,7 @@ struct SteamNetworkingIPAddrRender
405408
//
406409
// Internal stuff
407410

408-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
409411
inline void ISteamNetworkingUtils::InitRelayNetworkAccess() { CheckPingDataUpToDate( 1e10f ); }
410-
#endif
411-
412412
inline bool ISteamNetworkingUtils::SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Int32, &val ); }
413413
inline bool ISteamNetworkingUtils::SetGlobalConfigValueFloat( ESteamNetworkingConfigValue eValue, float val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Float, &val ); }
414414
inline bool ISteamNetworkingUtils::SetGlobalConfigValueString( ESteamNetworkingConfigValue eValue, const char *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_String, val ); }
@@ -432,11 +432,27 @@ inline bool ISteamNetworkingUtils::SetConfigValueStruct( const SteamNetworkingCo
432432
return SetConfigValue( opt.m_eValue, eScopeType, scopeObj, opt.m_eDataType, pVal );
433433
}
434434

435-
#if !defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) && defined( STEAMNETWORKINGSOCKETS_STEAMCLIENT )
436-
inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingUtils()->SteamNetworkingIPAddr_ToString( *this, buf, cbBuf, bWithPort ); }
437-
inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIPAddr_ParseString( this, pszStr ); }
438-
inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingUtils()->SteamNetworkingIdentity_ToString( *this, buf, cbBuf ); }
439-
inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIdentity_ParseString( this, pszStr ); }
435+
// How to get helper functions.
436+
#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) || defined( STEAMNETWORKINGSOCKETS_STANDALONELIB )
437+
438+
// Call direct to static functions
439+
STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr *pAddr, char *buf, size_t cbBuf, bool bWithPort );
440+
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr );
441+
STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity *pIdentity, char *buf, size_t cbBuf );
442+
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, size_t sizeofIdentity, const char *pszStr );
443+
inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingIPAddr_ToString( this, buf, cbBuf, bWithPort ); }
444+
inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingIPAddr_ParseString( this, pszStr ); }
445+
inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingIdentity_ToString( this, buf, cbBuf ); }
446+
inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingIdentity_ParseString( this, sizeof(*this), pszStr ); }
447+
448+
#elif defined( STEAMNETWORKINGSOCKETS_STEAMAPI )
449+
// Using steamworks SDK - go through SteamNetworkingUtils()
450+
inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingUtils()->SteamNetworkingIPAddr_ToString( *this, buf, cbBuf, bWithPort ); }
451+
inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIPAddr_ParseString( this, pszStr ); }
452+
inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingUtils()->SteamNetworkingIdentity_ToString( *this, buf, cbBuf ); }
453+
inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIdentity_ParseString( this, pszStr ); }
454+
#else
455+
#error "Invalid config"
440456
#endif
441457

442458
#endif // ISTEAMNETWORKINGUTILS

include/steam/steam_api_common.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#ifndef STEAM_API_COMMON
2+
#define STEAM_API_COMMON
3+
#pragma once
4+
5+
// When using the SteamWorks SDK, this header contains declarations
6+
// for callbacks, etc. In the OpenSource version, it's a stub with
7+
// just a few things.
8+
9+
enum { k_iSteamNetworkingSocketsCallbacks = 1220 };
10+
enum { k_iSteamNetworkingMessagesCallbacks = 1250 };
11+
enum { k_iSteamNetworkingUtilsCallbacks = 1280 };
12+
13+
#endif // STEAM_API_COMMON

include/steam/steamnetworkingsockets_flat.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,8 @@ typedef uint64 uint64_steamid; // Used when passing or returning CSteamID
2222
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_v009();
2323
STEAMNETWORKINGSOCKETS_INTERFACE HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketIP( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & localAddress, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
2424
STEAMNETWORKINGSOCKETS_INTERFACE HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectByIPAddress( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & address, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
25-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
2625
STEAMNETWORKINGSOCKETS_INTERFACE HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2P( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
2726
STEAMNETWORKINGSOCKETS_INTERFACE HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2P( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityRemote, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
28-
#endif
2927
STEAMNETWORKINGSOCKETS_INTERFACE EResult SteamAPI_ISteamNetworkingSockets_AcceptConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn );
3028
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_CloseConnection( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, int nReason, const char * pszDebug, bool bEnableLinger );
3129
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_CloseListenSocket( ISteamNetworkingSockets* self, HSteamListenSocket hSocket );
@@ -49,7 +47,6 @@ STEAMNETWORKINGSOCKETS_INTERFACE HSteamNetPollGroup SteamAPI_ISteamNetworkingSoc
4947
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup );
5048
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_SetConnectionPollGroup( ISteamNetworkingSockets* self, HSteamNetConnection hConn, HSteamNetPollGroup hPollGroup );
5149
STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages );
52-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
5350
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_ReceivedRelayAuthTicket( ISteamNetworkingSockets* self, const void * pvTicket, int cbTicket, SteamDatagramRelayAuthTicket * pOutParsedTicket );
5451
STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingSockets_FindRelayAuthTicketForServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityGameServer, int nRemoteVirtualPort, SteamDatagramRelayAuthTicket * pOutParsedTicket );
5552
STEAMNETWORKINGSOCKETS_INTERFACE HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectToHostedDedicatedServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityTarget, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
@@ -60,15 +57,13 @@ STEAMNETWORKINGSOCKETS_INTERFACE HSteamListenSocket SteamAPI_ISteamNetworkingSoc
6057
STEAMNETWORKINGSOCKETS_INTERFACE EResult SteamAPI_ISteamNetworkingSockets_GetGameCoordinatorServerLogin( ISteamNetworkingSockets* self, SteamDatagramGameCoordinatorServerLogin * pLoginInfo, int * pcbSignedBlob, void * pBlob );
6158
STEAMNETWORKINGSOCKETS_INTERFACE HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2PCustomSignaling( ISteamNetworkingSockets* self, ISteamNetworkingConnectionCustomSignaling * pSignaling, const SteamNetworkingIdentity * pPeerIdentity, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions );
6259
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_ReceivedP2PCustomSignal( ISteamNetworkingSockets* self, const void * pMsg, int cbMsg, ISteamNetworkingCustomSignalingRecvContext * pContext );
63-
#endif // #ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
6460
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_GetCertificateRequest( ISteamNetworkingSockets* self, int * pcbBlob, void * pBlob, SteamNetworkingErrMsg & errMsg );
6561
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingSockets_SetCertificate( ISteamNetworkingSockets* self, const void * pCertificate, int cbCertificate, SteamNetworkingErrMsg & errMsg );
6662
STEAMNETWORKINGSOCKETS_INTERFACE void SteamAPI_ISteamNetworkingSockets_RunCallbacks( ISteamNetworkingSockets* self );
6763

6864
// ISteamNetworkingUtils
6965
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingUtils *SteamAPI_SteamNetworkingUtils_v003();
7066
STEAMNETWORKINGSOCKETS_INTERFACE SteamNetworkingMessage_t * SteamAPI_ISteamNetworkingUtils_AllocateMessage( ISteamNetworkingUtils* self, int cbAllocateBuffer );
71-
#ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
7267
STEAMNETWORKINGSOCKETS_INTERFACE void SteamAPI_ISteamNetworkingUtils_InitRelayNetworkAccess( ISteamNetworkingUtils* self );
7368
STEAMNETWORKINGSOCKETS_INTERFACE ESteamNetworkingAvailability SteamAPI_ISteamNetworkingUtils_GetRelayNetworkStatus( ISteamNetworkingUtils* self, SteamRelayNetworkStatus_t * pDetails );
7469
STEAMNETWORKINGSOCKETS_INTERFACE float SteamAPI_ISteamNetworkingUtils_GetLocalPingLocation( ISteamNetworkingUtils* self, SteamNetworkPingLocation_t & result );
@@ -81,7 +76,6 @@ STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingUtils_GetPingToDat
8176
STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingUtils_GetDirectPingToPOP( ISteamNetworkingUtils* self, SteamNetworkingPOPID popID );
8277
STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingUtils_GetPOPCount( ISteamNetworkingUtils* self );
8378
STEAMNETWORKINGSOCKETS_INTERFACE int SteamAPI_ISteamNetworkingUtils_GetPOPList( ISteamNetworkingUtils* self, SteamNetworkingPOPID * list, int nListSz );
84-
#endif // #ifdef STEAMNETWORKINGSOCKETS_ENABLE_SDR
8579
STEAMNETWORKINGSOCKETS_INTERFACE SteamNetworkingMicroseconds SteamAPI_ISteamNetworkingUtils_GetLocalTimestamp( ISteamNetworkingUtils* self );
8680
STEAMNETWORKINGSOCKETS_INTERFACE void SteamAPI_ISteamNetworkingUtils_SetDebugOutputFunction( ISteamNetworkingUtils* self, ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc );
8781
STEAMNETWORKINGSOCKETS_INTERFACE bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueInt32( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, int32 val );

0 commit comments

Comments
 (0)