diff --git a/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.cpp b/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.cpp new file mode 100644 index 00000000..db454164 --- /dev/null +++ b/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.cpp @@ -0,0 +1,119 @@ +#include "steam_defs.h" +#include "steamworks_sdk_144/steam_api.h" +#include "steamworks_sdk_144/steamnetworkingtypes.h" +#include "steamworks_sdk_144/isteamnetworkingutils.h" +#include "steamclient_private.h" +#ifdef __cplusplus +extern "C" { +#endif +#define SDKVER_144 +#include "struct_converters.h" +#include "cppISteamNetworkingUtils_SteamNetworkingUtils001.h" +float cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation(void *linux_side, SteamNetworkPingLocation_t * result) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetLocalPingLocation((SteamNetworkPingLocation_t *)result); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations(void *linux_side, const SteamNetworkPingLocation_t * location1, const SteamNetworkPingLocation_t * location2) +{ + return ((ISteamNetworkingUtils*)linux_side)->EstimatePingTimeBetweenTwoLocations((const SteamNetworkPingLocation_t *)location1, (const SteamNetworkPingLocation_t *)location2); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost(void *linux_side, const SteamNetworkPingLocation_t * remoteLocation) +{ + return ((ISteamNetworkingUtils*)linux_side)->EstimatePingTimeFromLocalHost((const SteamNetworkPingLocation_t *)remoteLocation); +} + +void cppISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString(void *linux_side, const SteamNetworkPingLocation_t * location, char * pszBuf, int cchBufSize) +{ + ((ISteamNetworkingUtils*)linux_side)->ConvertPingLocationToString((const SteamNetworkPingLocation_t *)location, (char *)pszBuf, (int)cchBufSize); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString(void *linux_side, const char * pszString, SteamNetworkPingLocation_t * result) +{ + return ((ISteamNetworkingUtils*)linux_side)->ParsePingLocationString((const char *)pszString, (SteamNetworkPingLocation_t *)result); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate(void *linux_side, float flMaxAgeSeconds) +{ + return ((ISteamNetworkingUtils*)linux_side)->CheckPingDataUpToDate((float)flMaxAgeSeconds); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress(void *linux_side) +{ + return ((ISteamNetworkingUtils*)linux_side)->IsPingMeasurementInProgress(); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter(void *linux_side, SteamNetworkingPOPID popID, SteamNetworkingPOPID * pViaRelayPoP) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetPingToDataCenter((SteamNetworkingPOPID)popID, (SteamNetworkingPOPID *)pViaRelayPoP); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP(void *linux_side, SteamNetworkingPOPID popID) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetDirectPingToPOP((SteamNetworkingPOPID)popID); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount(void *linux_side) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetPOPCount(); +} + +int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList(void *linux_side, SteamNetworkingPOPID * list, int nListSz) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetPOPList((SteamNetworkingPOPID *)list, (int)nListSz); +} + +SteamNetworkingMicroseconds cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp(void *linux_side) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetLocalTimestamp(); +} + +void cppISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction(void *linux_side, ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc) +{ + ((ISteamNetworkingUtils*)linux_side)->SetDebugOutputFunction((ESteamNetworkingSocketsDebugOutputType)eDetailLevel, (FSteamNetworkingSocketsDebugOutput)pfnFunc); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue(void *linux_side, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void * pArg) +{ + return ((ISteamNetworkingUtils*)linux_side)->SetConfigValue((ESteamNetworkingConfigValue)eValue, (ESteamNetworkingConfigScope)eScopeType, (intptr_t)scopeObj, (ESteamNetworkingConfigDataType)eDataType, (const void *)pArg); +} + +ESteamNetworkingGetConfigValueResult cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue(void *linux_side, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType * pOutDataType, void * pResult, size_t * cbResult) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetConfigValue((ESteamNetworkingConfigValue)eValue, (ESteamNetworkingConfigScope)eScopeType, (intptr_t)scopeObj, (ESteamNetworkingConfigDataType *)pOutDataType, (void *)pResult, (size_t *)cbResult); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo(void *linux_side, ESteamNetworkingConfigValue eValue, const char ** pOutName, ESteamNetworkingConfigDataType * pOutDataType, ESteamNetworkingConfigScope * pOutScope, ESteamNetworkingConfigValue * pOutNextValue) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetConfigValueInfo((ESteamNetworkingConfigValue)eValue, (const char **)pOutName, (ESteamNetworkingConfigDataType *)pOutDataType, (ESteamNetworkingConfigScope *)pOutScope, (ESteamNetworkingConfigValue *)pOutNextValue); +} + +ESteamNetworkingConfigValue cppISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue(void *linux_side) +{ + return ((ISteamNetworkingUtils*)linux_side)->GetFirstConfigValue(); +} + +void cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString(void *linux_side, const SteamNetworkingIPAddr * addr, char * buf, size_t cbBuf, bool bWithPort) +{ + ((ISteamNetworkingUtils*)linux_side)->SteamNetworkingIPAddr_ToString((const SteamNetworkingIPAddr *)addr, (char *)buf, (size_t)cbBuf, (bool)bWithPort); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString(void *linux_side, SteamNetworkingIPAddr * pAddr, const char * pszStr) +{ + return ((ISteamNetworkingUtils*)linux_side)->SteamNetworkingIPAddr_ParseString((SteamNetworkingIPAddr *)pAddr, (const char *)pszStr); +} + +void cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString(void *linux_side, const SteamNetworkingIdentity * identity, char * buf, size_t cbBuf) +{ + ((ISteamNetworkingUtils*)linux_side)->SteamNetworkingIdentity_ToString((const SteamNetworkingIdentity *)identity, (char *)buf, (size_t)cbBuf); +} + +bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString(void *linux_side, SteamNetworkingIdentity * pIdentity, const char * pszStr) +{ + return ((ISteamNetworkingUtils*)linux_side)->SteamNetworkingIdentity_ParseString((SteamNetworkingIdentity *)pIdentity, (const char *)pszStr); +} + +#ifdef __cplusplus +} +#endif diff --git a/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.h b/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.h new file mode 100644 index 00000000..2b317935 --- /dev/null +++ b/lsteamclient/cppISteamNetworkingUtils_SteamNetworkingUtils001.h @@ -0,0 +1,21 @@ +extern float cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation(void *, SteamNetworkPingLocation_t *); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations(void *, const SteamNetworkPingLocation_t *, const SteamNetworkPingLocation_t *); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost(void *, const SteamNetworkPingLocation_t *); +extern void cppISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString(void *, const SteamNetworkPingLocation_t *, char *, int); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString(void *, const char *, SteamNetworkPingLocation_t *); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate(void *, float); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress(void *); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter(void *, SteamNetworkingPOPID, SteamNetworkingPOPID *); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP(void *, SteamNetworkingPOPID); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount(void *); +extern int cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList(void *, SteamNetworkingPOPID *, int); +extern SteamNetworkingMicroseconds cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp(void *); +extern void cppISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction(void *, ESteamNetworkingSocketsDebugOutputType, FSteamNetworkingSocketsDebugOutput); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue(void *, ESteamNetworkingConfigValue, ESteamNetworkingConfigScope, intptr_t, ESteamNetworkingConfigDataType, const void *); +extern ESteamNetworkingGetConfigValueResult cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue(void *, ESteamNetworkingConfigValue, ESteamNetworkingConfigScope, intptr_t, ESteamNetworkingConfigDataType *, void *, size_t *); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo(void *, ESteamNetworkingConfigValue, const char **, ESteamNetworkingConfigDataType *, ESteamNetworkingConfigScope *, ESteamNetworkingConfigValue *); +extern ESteamNetworkingConfigValue cppISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue(void *); +extern void cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString(void *, const SteamNetworkingIPAddr *, char *, size_t, bool); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString(void *, SteamNetworkingIPAddr *, const char *); +extern void cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString(void *, const SteamNetworkingIdentity *, char *, size_t); +extern bool cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString(void *, SteamNetworkingIdentity *, const char *); diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 1ba6c536..8ebaf18b 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -140,6 +140,9 @@ files = [ ("isteamnetworkingsocketsserialized.h", [ "ISteamNetworkingSocketsSerialized" ]), + ("isteamnetworkingutils.h", [ + "ISteamNetworkingUtils" + ]), ] aliases = { @@ -173,6 +176,8 @@ manually_handled_structs = [ #} struct_conversion_cache = {} +converted_structs = [] + # callback classes for which we have a linux wrapper wrapped_classes = [ "ISteamMatchmakingServerListResponse", @@ -694,7 +699,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(steamclient); cfile.write("} %s;\n\n" % winclassname) methods = [] for child in children: - if child.kind == clang.cindex.CursorKind.CXX_METHOD: + if child.kind == clang.cindex.CursorKind.CXX_METHOD and \ + child.is_virtual_method(): handle_method(cfile, classnode.spelling, winclassname, cppname, child, cpp, cpp_h, methods) elif child.kind == clang.cindex.CursorKind.DESTRUCTOR: methods.append(handle_destructor(cfile, classnode.spelling, winclassname, child)) @@ -783,6 +789,11 @@ def handle_struct(sdkver, struct): return struct_name = "%s_%s" % (struct.displayname, sdkver) + + if struct_name in converted_structs: + return + converted_structs.append(struct_name) + w2l_handler_name = "win_to_lin_struct_%s" % struct_name; l2w_handler_name = "lin_to_win_struct_%s" % struct_name; diff --git a/lsteamclient/steam_defs.h b/lsteamclient/steam_defs.h index 2bb89aee..7b1ab3ef 100644 --- a/lsteamclient/steam_defs.h +++ b/lsteamclient/steam_defs.h @@ -85,7 +85,12 @@ typedef uint32_t EUserUGCList, ESteamPartyBeaconLocationData, ESteamPartyBeaconLocationType, EInputActionOrigin, - ESteamNetworkingIdentityType + ESteamNetworkingIdentityType, + ESteamNetworkingConfigScope, + ESteamNetworkingConfigValue, + ESteamNetworkingConfigDataType, + ESteamNetworkingSocketsDebugOutputType, + ESteamNetworkingGetConfigValueResult ; /* structs below are PODs with identical size & layout across platforms */ @@ -96,6 +101,7 @@ typedef struct RemoteStorageUpdatePublishedFileRequest_t { unsigned char a[40]; typedef struct ControllerAnalogActionData_t { unsigned char a[13]; } ControllerAnalogActionData_t; typedef struct ControllerDigitalActionData_t { unsigned char a[2]; } ControllerDigitalActionData_t; typedef struct ControllerMotionData_t { unsigned char a[40]; } ControllerMotionData_t; +typedef struct SteamNetworkPingLocation_t { uint8 m_data[ 512 ]; } SteamNetworkPingLocation_t; #pragma pack( push, 1 ) @@ -201,6 +207,7 @@ typedef struct SteamDatagramHostedAddress SteamDatagramHostedAddress; typedef void *SteamAPI_CheckCallbackRegistered_t; typedef void *SteamAPIWarningMessageHook_t; typedef void *SteamAPI_PostAPIResultInProcess_t; +typedef void *FSteamNetworkingSocketsDebugOutput; /* XXX */ typedef uint8 Salt_t[8]; typedef uint64 GID_t; diff --git a/lsteamclient/steamworks_sdk_144/isteamnetworkingutils.h b/lsteamclient/steamworks_sdk_144/isteamnetworkingutils.h index 02af4d14..f530ac1c 100644 --- a/lsteamclient/steamworks_sdk_144/isteamnetworkingutils.h +++ b/lsteamclient/steamworks_sdk_144/isteamnetworkingutils.h @@ -71,7 +71,7 @@ public: /// /// This always return the most up-to-date information we have available /// right now, even if we are in the middle of re-calculating ping times. - virtual float GetLocalPingLocation( SteamNetworkPingLocation_t &result ) = 0; + virtual float GetLocalPingLocation( SteamNetworkPingLocation_t *result ) = 0; /// Estimate the round-trip latency between two arbitrary locations, in /// milliseconds. This is a conservative estimate, based on routing through @@ -95,7 +95,7 @@ public: /// /// Do you need to be able to do this from a backend/matchmaking server? /// You are looking for the "ticketgen" library. - virtual int EstimatePingTimeBetweenTwoLocations( const SteamNetworkPingLocation_t &location1, const SteamNetworkPingLocation_t &location2 ) = 0; + virtual int EstimatePingTimeBetweenTwoLocations( const SteamNetworkPingLocation_t *location1, const SteamNetworkPingLocation_t *location2 ) = 0; /// Same as EstimatePingTime, but assumes that one location is the local host. /// This is a bit faster, especially if you need to calculate a bunch of @@ -105,17 +105,17 @@ public: /// GetLocalPingLocation with EstimatePingTimeBetweenTwoLocations. That's because /// this function uses a slightly more complete set of information about what /// route would be taken. - virtual int EstimatePingTimeFromLocalHost( const SteamNetworkPingLocation_t &remoteLocation ) = 0; + virtual int EstimatePingTimeFromLocalHost( const SteamNetworkPingLocation_t *remoteLocation ) = 0; /// Convert a ping location into a text format suitable for sending over the wire. /// The format is a compact and human readable. However, it is subject to change /// so please do not parse it yourself. Your buffer must be at least /// k_cchMaxSteamNetworkingPingLocationString bytes. - virtual void ConvertPingLocationToString( const SteamNetworkPingLocation_t &location, char *pszBuf, int cchBufSize ) = 0; + virtual void ConvertPingLocationToString( const SteamNetworkPingLocation_t *location, char *pszBuf, int cchBufSize ) = 0; /// Parse back SteamNetworkPingLocation_t string. Returns false if we couldn't understand /// the string. - virtual bool ParsePingLocationString( const char *pszString, SteamNetworkPingLocation_t &result ) = 0; + virtual bool ParsePingLocationString( const char *pszString, SteamNetworkPingLocation_t *result ) = 0; // // Initialization / ping measurement status @@ -253,9 +253,9 @@ public: // String conversions. You'll usually access these using the respective // inline methods. - virtual void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr &addr, char *buf, size_t cbBuf, bool bWithPort ) = 0; + virtual void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr *addr, char *buf, size_t cbBuf, bool bWithPort ) = 0; virtual bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr ) = 0; - virtual void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity &identity, char *buf, size_t cbBuf ) = 0; + virtual void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity *identity, char *buf, size_t cbBuf ) = 0; virtual bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, const char *pszStr ) = 0; protected: @@ -293,10 +293,12 @@ inline bool ISteamNetworkingUtils::SetConnectionConfigValueFloat( HSteamNetConne 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 ) +/* 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 ); } inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIdentity_ParseString( this, pszStr ); } +*/ #endif #endif // ISTEAMNETWORKINGUTILS diff --git a/lsteamclient/winISteamNetworkingUtils.c b/lsteamclient/winISteamNetworkingUtils.c new file mode 100644 index 00000000..1e269ad2 --- /dev/null +++ b/lsteamclient/winISteamNetworkingUtils.c @@ -0,0 +1,217 @@ +/* This file is auto-generated, do not edit. */ +#include + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +#include "cxx.h" + +#include "steam_defs.h" + +#include "steamclient_private.h" + +#include "struct_converters.h" + +WINE_DEFAULT_DEBUG_CHANNEL(steamclient); + +#include "cppISteamNetworkingUtils_SteamNetworkingUtils001.h" + +typedef struct __winISteamNetworkingUtils_SteamNetworkingUtils001 { + vtable_ptr *vtable; + void *linux_side; +} winISteamNetworkingUtils_SteamNetworkingUtils001; + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation, 8) +float __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkPingLocation_t * result) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation(_this->linux_side, result); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations, 12) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const SteamNetworkPingLocation_t * location1, const SteamNetworkPingLocation_t * location2) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations(_this->linux_side, location1, location2); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost, 8) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const SteamNetworkPingLocation_t * remoteLocation) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost(_this->linux_side, remoteLocation); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString, 16) +void __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const SteamNetworkPingLocation_t * location, char * pszBuf, int cchBufSize) +{ + TRACE("%p\n", _this); + cppISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString(_this->linux_side, location, pszBuf, cchBufSize); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString, 12) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const char * pszString, SteamNetworkPingLocation_t * result) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString(_this->linux_side, pszString, result); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate, 8) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, float flMaxAgeSeconds) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate(_this->linux_side, flMaxAgeSeconds); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress, 4) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress(_this->linux_side); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter, 12) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkingPOPID popID, SteamNetworkingPOPID * pViaRelayPoP) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter(_this->linux_side, popID, pViaRelayPoP); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP, 8) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkingPOPID popID) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP(_this->linux_side, popID); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount, 4) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount(_this->linux_side); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList, 12) +int __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkingPOPID * list, int nListSz) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList(_this->linux_side, list, nListSz); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp, 4) +SteamNetworkingMicroseconds __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp(_this->linux_side); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction, 12) +void __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc) +{ + TRACE("%p\n", _this); + cppISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction(_this->linux_side, eDetailLevel, pfnFunc); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue, 24) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void * pArg) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue(_this->linux_side, eValue, eScopeType, scopeObj, eDataType, pArg); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue, 28) +ESteamNetworkingGetConfigValueResult __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType * pOutDataType, void * pResult, size_t * cbResult) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue(_this->linux_side, eValue, eScopeType, scopeObj, pOutDataType, pResult, cbResult); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo, 24) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, ESteamNetworkingConfigValue eValue, const char ** pOutName, ESteamNetworkingConfigDataType * pOutDataType, ESteamNetworkingConfigScope * pOutScope, ESteamNetworkingConfigValue * pOutNextValue) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo(_this->linux_side, eValue, pOutName, pOutDataType, pOutScope, pOutNextValue); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue, 4) +ESteamNetworkingConfigValue __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue(_this->linux_side); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString, 20) +void __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const SteamNetworkingIPAddr * addr, char * buf, size_t cbBuf, bool bWithPort) +{ + TRACE("%p\n", _this); + cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString(_this->linux_side, addr, buf, cbBuf, bWithPort); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString, 12) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkingIPAddr * pAddr, const char * pszStr) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString(_this->linux_side, pAddr, pszStr); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString, 16) +void __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, const SteamNetworkingIdentity * identity, char * buf, size_t cbBuf) +{ + TRACE("%p\n", _this); + cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString(_this->linux_side, identity, buf, cbBuf); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString, 12) +bool __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this, SteamNetworkingIdentity * pIdentity, const char * pszStr) +{ + TRACE("%p\n", _this); + return cppISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString(_this->linux_side, pIdentity, pszStr); +} + +DEFINE_THISCALL_WRAPPER(winISteamNetworkingUtils_SteamNetworkingUtils001_destructor, 4) +void __thiscall winISteamNetworkingUtils_SteamNetworkingUtils001_destructor(winISteamNetworkingUtils_SteamNetworkingUtils001 *_this) +{/* never called */} + +extern vtable_ptr winISteamNetworkingUtils_SteamNetworkingUtils001_vtable; + +#ifndef __GNUC__ +void __asm_dummy_vtables(void) { +#endif + __ASM_VTABLE(winISteamNetworkingUtils_SteamNetworkingUtils001, + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalPingLocation) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeBetweenTwoLocations) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_EstimatePingTimeFromLocalHost) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_ConvertPingLocationToString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_ParsePingLocationString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_CheckPingDataUpToDate) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_IsPingMeasurementInProgress) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPingToDataCenter) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetDirectPingToPOP) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPCount) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetPOPList) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetLocalTimestamp) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SetDebugOutputFunction) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SetConfigValue) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValue) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetConfigValueInfo) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_GetFirstConfigValue) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ToString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIPAddr_ParseString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ToString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_SteamNetworkingIdentity_ParseString) + VTABLE_ADD_FUNC(winISteamNetworkingUtils_SteamNetworkingUtils001_destructor) + ); +#ifndef __GNUC__ +} +#endif + +winISteamNetworkingUtils_SteamNetworkingUtils001 *create_winISteamNetworkingUtils_SteamNetworkingUtils001(void *linux_side) +{ + winISteamNetworkingUtils_SteamNetworkingUtils001 *r = HeapAlloc(GetProcessHeap(), 0, sizeof(winISteamNetworkingUtils_SteamNetworkingUtils001)); + TRACE("-> %p\n", r); + r->vtable = &winISteamNetworkingUtils_SteamNetworkingUtils001_vtable; + r->linux_side = linux_side; + return r; +} + diff --git a/lsteamclient/win_constructors.h b/lsteamclient/win_constructors.h index 1d1111a6..f9609987 100644 --- a/lsteamclient/win_constructors.h +++ b/lsteamclient/win_constructors.h @@ -26,6 +26,7 @@ extern void *create_winISteamGameServerStats_SteamGameServerStats001(void *); extern void *create_winISteamGameCoordinator_SteamGameCoordinator001(void *); extern void *create_winISteamParentalSettings_STEAMPARENTALSETTINGS_INTERFACE_VERSION001(void *); extern void *create_winISteamNetworkingSockets_SteamNetworkingSockets002(void *); +extern void *create_winISteamNetworkingUtils_SteamNetworkingUtils001(void *); extern void *create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized003(void *); extern void *create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002(void *); extern void *create_winISteamClient_SteamClient017(void *); diff --git a/lsteamclient/win_constructors_table.dat b/lsteamclient/win_constructors_table.dat index f8d8822a..f3347e7c 100644 --- a/lsteamclient/win_constructors_table.dat +++ b/lsteamclient/win_constructors_table.dat @@ -26,6 +26,7 @@ {"SteamGameCoordinator001", &create_winISteamGameCoordinator_SteamGameCoordinator001}, {"STEAMPARENTALSETTINGS_INTERFACE_VERSION001", &create_winISteamParentalSettings_STEAMPARENTALSETTINGS_INTERFACE_VERSION001}, {"SteamNetworkingSockets002", &create_winISteamNetworkingSockets_SteamNetworkingSockets002}, + {"SteamNetworkingUtils001", &create_winISteamNetworkingUtils_SteamNetworkingUtils001}, {"SteamNetworkingSocketsSerialized003", &create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized003}, {"SteamNetworkingSocketsSerialized002", &create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002}, {"SteamNetworkingSocketsSerialized001", &create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002}, /* alias */