diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Constants.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Constants.cs index 31b4a26..411274d 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Constants.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Constants.cs @@ -53,18 +53,20 @@ namespace SteamNative public const int ClientVideo = 4600; public const int ClientInventory = 4700; public const int ClientBluetoothManager = 4800; + public const int ClientSharedConnection = 4900; + public const int ClientShader = 5100; } internal static class Defines { internal const string STEAMAPPLIST_INTERFACE_VERSION = "STEAMAPPLIST_INTERFACE_VERSION001"; internal const string STEAMAPPS_INTERFACE_VERSION = "STEAMAPPS_INTERFACE_VERSION008"; internal const string STEAMAPPTICKET_INTERFACE_VERSION = "STEAMAPPTICKET_INTERFACE_VERSION001"; - internal const string STEAMCONTROLLER_INTERFACE_VERSION = "SteamController005"; + internal const string STEAMCONTROLLER_INTERFACE_VERSION = "SteamController006"; internal const string STEAMFRIENDS_INTERFACE_VERSION = "SteamFriends015"; internal const string STEAMGAMECOORDINATOR_INTERFACE_VERSION = "SteamGameCoordinator001"; internal const string STEAMGAMESERVER_INTERFACE_VERSION = "SteamGameServer012"; internal const string STEAMGAMESERVERSTATS_INTERFACE_VERSION = "SteamGameServerStats001"; - internal const string STEAMHTMLSURFACE_INTERFACE_VERSION = "STEAMHTMLSURFACE_INTERFACE_VERSION_003"; + internal const string STEAMHTMLSURFACE_INTERFACE_VERSION = "STEAMHTMLSURFACE_INTERFACE_VERSION_004"; internal const string STEAMHTTP_INTERFACE_VERSION = "STEAMHTTP_INTERFACE_VERSION002"; internal const string STEAMINVENTORY_INTERFACE_VERSION = "STEAMINVENTORY_INTERFACE_V002"; internal const string STEAMMATCHMAKING_INTERFACE_VERSION = "SteamMatchMaking009"; @@ -72,10 +74,10 @@ namespace SteamNative internal const string STEAMMUSIC_INTERFACE_VERSION = "STEAMMUSIC_INTERFACE_VERSION001"; internal const string STEAMMUSICREMOTE_INTERFACE_VERSION = "STEAMMUSICREMOTE_INTERFACE_VERSION001"; internal const string STEAMNETWORKING_INTERFACE_VERSION = "SteamNetworking005"; + internal const string STEAMPARENTALSETTINGS_INTERFACE_VERSION = "STEAMPARENTALSETTINGS_INTERFACE_VERSION001"; internal const string STEAMREMOTESTORAGE_INTERFACE_VERSION = "STEAMREMOTESTORAGE_INTERFACE_VERSION014"; internal const string STEAMSCREENSHOTS_INTERFACE_VERSION = "STEAMSCREENSHOTS_INTERFACE_VERSION003"; internal const string STEAMUGC_INTERFACE_VERSION = "STEAMUGC_INTERFACE_VERSION010"; - internal const string STEAMUNIFIEDMESSAGES_INTERFACE_VERSION = "STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001"; internal const string STEAMUSER_INTERFACE_VERSION = "SteamUser019"; internal const string STEAMUSERSTATS_INTERFACE_VERSION = "STEAMUSERSTATS_INTERFACE_VERSION011"; internal const string STEAMUTILS_INTERFACE_VERSION = "SteamUtils009"; diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Enums.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Enums.cs index 0a31223..f57eb40 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Enums.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Enums.cs @@ -129,6 +129,10 @@ namespace SteamNative GSLTExpired = 106, InsufficientFunds = 107, TooManyPending = 108, + NoSiteLicensesFound = 109, + WGNetworkSendExceeded = 110, + AccountNotFriends = 111, + LimitedUserAccount = 112, } // @@ -290,6 +294,7 @@ namespace SteamNative Plugin = 4096, Music = 8192, Series = 16384, + Comic = 32768, Shortcut = 1073741824, DepotOnly = -2147483648, } @@ -343,6 +348,7 @@ namespace SteamNative CommunityBan = 9, MemberBlockedYou = 10, YouBlockedMember = 11, + RatelimitExceeded = 15, } // @@ -440,6 +446,18 @@ namespace SteamNative Oculus_DK2 = 22, Oculus_Rift = 23, Oculus_Unknown = 40, + Acer_Unknown = 50, + Acer_WindowsMR = 51, + Dell_Unknown = 60, + Dell_Visor = 61, + Lenovo_Unknown = 70, + Lenovo_Explorer = 71, + HP_Unknown = 80, + HP_WindowsMR = 81, + Samsung_Unknown = 90, + Samsung_Odyssey = 91, + Unannounced_Unknown = 100, + Unannounced_WindowsMR = 101, } // @@ -981,7 +999,9 @@ namespace SteamNative CenterTrackpad = 9, RightJoystick = 10, DPad = 11, - Count = 12, + Key = 12, + Mouse = 13, + Count = 14, } // @@ -1221,6 +1241,19 @@ namespace SteamNative RestoreUserDefault = 1, } + // + // ESteamInputType + // + internal enum SteamInputType : int + { + Unknown = 0, + SteamController = 1, + XBox360Controller = 2, + XBoxOneController = 3, + GenericXInput = 4, + PS4Controller = 5, + } + // // EUGCMatchingUGCType // @@ -1438,4 +1471,25 @@ namespace SteamNative Consumed = 512, } + // + // EParentalFeature + // + internal enum ParentalFeature : int + { + Invalid = 0, + Store = 1, + Community = 2, + Profile = 3, + Friends = 4, + News = 5, + Trading = 6, + Settings = 7, + Console = 8, + Browser = 9, + ParentalSetup = 10, + Library = 11, + Test = 12, + Max = 13, + } + } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Interface.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Interface.cs index b4720a8..adbdb16 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Interface.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Interface.cs @@ -65,7 +65,6 @@ namespace SteamNative void /*void*/ ISteamClient_SetWarningMessageHook( IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); bool /*bool*/ ISteamClient_BShutdownIfAllPipesClosed(); IntPtr /*class ISteamHTTP **/ ISteamClient_GetISteamHTTP( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); IntPtr /*class ISteamUGC **/ ISteamClient_GetISteamUGC( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); IntPtr /*class ISteamAppList **/ ISteamClient_GetISteamAppList( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -74,6 +73,7 @@ namespace SteamNative IntPtr /*class ISteamHTMLSurface **/ ISteamClient_GetISteamHTMLSurface( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); IntPtr /*class ISteamInventory **/ ISteamClient_GetISteamInventory( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); IntPtr /*class ISteamVideo **/ ISteamClient_GetISteamVideo( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); bool /*bool*/ ISteamController_Init(); bool /*bool*/ ISteamController_Shutdown(); void /*void*/ ISteamController_RunFrame(); @@ -82,6 +82,10 @@ namespace SteamNative ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ ISteamController_GetActionSetHandle( string /*const char **/ pszActionSetName ); void /*void*/ ISteamController_ActivateActionSet( ulong controllerHandle, ulong actionSetHandle ); ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ ISteamController_GetCurrentActionSet( ulong controllerHandle ); + void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ); + void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ); + void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ); + int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ); ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ ISteamController_GetDigitalActionData( ulong controllerHandle, ulong digitalActionHandle ); int /*int*/ ISteamController_GetDigitalActionOrigins( ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -100,6 +104,7 @@ namespace SteamNative bool /*bool*/ ISteamController_ShowAnalogActionOrigins( ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); IntPtr ISteamController_GetStringForActionOrigin( ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); IntPtr ISteamController_GetGlyphForActionOrigin( ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ); IntPtr ISteamFriends_GetPersonaName(); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamFriends_SetPersonaName( string /*const char **/ pchPersonaName ); PersonaState /*EPersonaState*/ ISteamFriends_GetPersonaState(); @@ -170,6 +175,8 @@ namespace SteamNative SteamAPICall_t /*(SteamAPICall_t)*/ ISteamFriends_GetFollowerCount( ulong steamID ); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamFriends_IsFollowing( ulong steamID ); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamFriends_EnumerateFollowingList( uint /*uint32*/ unStartIndex ); + bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ); + bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ); bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ); void /*void*/ ISteamGameServer_SetProduct( string /*const char **/ pszProduct ); void /*void*/ ISteamGameServer_SetGameDescription( string /*const char **/ pszGameDescription ); @@ -257,6 +264,7 @@ namespace SteamNative void /*void*/ ISteamHTMLSurface_SetCookie( string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); void /*void*/ ISteamHTMLSurface_SetPageScaleFactor( uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); void /*void*/ ISteamHTMLSurface_SetBackgroundMode( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ); void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); void /*void*/ ISteamHTMLSurface_JSDialogResponse( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); HTTPRequestHandle /*(HTTPRequestHandle)*/ ISteamHTTP_CreateHTTPRequest( HTTPMethod /*EHTTPMethod*/ eHTTPRequestMethod, string /*const char **/ pchAbsoluteURL ); @@ -309,6 +317,18 @@ namespace SteamNative bool /*bool*/ ISteamInventory_GetItemDefinitionProperty( int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( ulong steamID ); bool /*bool*/ ISteamInventory_GetEligiblePromoItemDefinitionIDs( ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices(); + uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices(); + bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ); + SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties(); + bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ); int /*int*/ ISteamMatchmaking_GetFavoriteGameCount(); bool /*bool*/ ISteamMatchmaking_GetFavoriteGame( int /*int*/ iGame, ref uint pnAppID, out uint /*uint32 **/ pnIP, out ushort /*uint16 **/ pnConnPort, out ushort /*uint16 **/ pnQueryPort, out uint /*uint32 **/ punFlags, out uint /*uint32 **/ pRTime32LastPlayedOnServer ); int /*int*/ ISteamMatchmaking_AddFavoriteGame( uint nAppID, uint /*uint32*/ nIP, ushort /*uint16*/ nConnPort, ushort /*uint16*/ nQueryPort, uint /*uint32*/ unFlags, uint /*uint32*/ rTime32LastPlayedOnServer ); @@ -427,6 +447,12 @@ namespace SteamNative bool /*bool*/ ISteamNetworking_GetListenSocketInfo( uint hListenSocket, out uint /*uint32 **/ pnIP, out ushort /*uint16 **/ pnPort ); SNetSocketConnectionType /*ESNetSocketConnectionType*/ ISteamNetworking_GetSocketConnectionType( uint hSocket ); int /*int*/ ISteamNetworking_GetMaxPacketSize( uint hSocket ); + bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled(); + bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked(); + bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ); + bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ); + bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ); + bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ); bool /*bool*/ ISteamRemoteStorage_FileWrite( string /*const char **/ pchFile, IntPtr /*const void **/ pvData, int /*int32*/ cubData ); int /*int32*/ ISteamRemoteStorage_FileRead( string /*const char **/ pchFile, IntPtr /*void **/ pvData, int /*int32*/ cubDataToRead ); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamRemoteStorage_FileWriteAsync( string /*const char **/ pchFile, IntPtr /*const void **/ pvData, uint /*uint32*/ cubData ); @@ -561,11 +587,10 @@ namespace SteamNative SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_StopPlaytimeTrackingForAllItems(); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddDependency( ulong nParentPublishedFileID, ulong nChildPublishedFileID ); SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveDependency( ulong nParentPublishedFileID, ulong nChildPublishedFileID ); - ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ); - bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ); + SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ); HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser(); bool /*bool*/ ISteamUser_BLoggedOn(); CSteamID /*(class CSteamID)*/ ISteamUser_GetSteamID(); diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux32.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux32.cs index 9184e4c..d990c9e 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux32.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux32.cs @@ -164,12 +164,6 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamHTTP(_ptr, hSteamuser, hSteamPipe, pchVersion); } - public virtual IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); - - return Native.SteamAPI_ISteamClient_GetISteamUnifiedMessages(_ptr, hSteamuser, hSteamPipe, pchVersion); - } public virtual IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); @@ -218,6 +212,12 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamVideo(_ptr, hSteamuser, hSteamPipe, pchVersion); } + public virtual IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); + + return Native.SteamAPI_ISteamClient_GetISteamParentalSettings(_ptr, hSteamuser, hSteamPipe, pchVersion); + } public virtual HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser() { @@ -817,6 +817,18 @@ namespace SteamNative return Native.SteamAPI_ISteamFriends_EnumerateFollowingList(_ptr, unStartIndex); } + public virtual bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanPublic(_ptr, steamIDClan); + } + public virtual bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(_ptr, steamIDClan); + } public virtual uint /*uint32*/ ISteamUtils_GetSecondsSinceAppActive() { @@ -2684,37 +2696,6 @@ namespace SteamNative return Native.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(_ptr, hRequest, ref pbWasTimedOut); } - public virtual ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendMethod(_ptr, pchServiceMethod, pRequestBuffer, unRequestBufferSize, unContext); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo(_ptr, hHandle, out punResponseSize, out peResult); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseData(_ptr, hHandle, pResponseBuffer, unResponseBufferSize, bAutoRelease); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_ReleaseMethod(_ptr, hHandle); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendNotification(_ptr, pchServiceNotification, pNotificationBuffer, unNotificationBufferSize); - } - public virtual bool /*bool*/ ISteamController_Init() { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2763,6 +2744,30 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetCurrentActionSet(_ptr, controllerHandle); } + public virtual void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_ActivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateAllActionSetLayers(_ptr, controllerHandle); + } + public virtual int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetActiveActionSetLayers(_ptr, controllerHandle, handlesOut); + } public virtual ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2871,6 +2876,12 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetGlyphForActionOrigin(_ptr, eOrigin); } + public virtual SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetInputTypeForHandle(_ptr, controllerHandle); + } public virtual UGCQueryHandle_t /*(UGCQueryHandle_t)*/ ISteamUGC_CreateQueryUserUGCRequest( uint unAccountID, UserUGCList /*EUserUGCList*/ eListType, UGCMatchingUGCType /*EUGCMatchingUGCType*/ eMatchingUGCType, UserUGCListSortOrder /*EUserUGCListSortOrder*/ eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint /*uint32*/ unPage ) { @@ -3298,6 +3309,30 @@ namespace SteamNative return Native.SteamAPI_ISteamUGC_RemoveDependency(_ptr, nParentPublishedFileID, nChildPublishedFileID); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_AddAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_RemoveAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_GetAppDependencies(_ptr, nPublishedFileID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_DeleteItem(_ptr, nPublishedFileID); + } public virtual uint /*uint32*/ ISteamAppList_GetNumInstalledApps() { @@ -3528,6 +3563,12 @@ namespace SteamNative Native.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(_ptr, unBrowserHandle, bBackgroundMode); } + public virtual void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); + + Native.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(_ptr, unBrowserHandle, flDPIScaling); + } public virtual void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); @@ -3691,6 +3732,78 @@ namespace SteamNative return Native.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(_ptr, steamID, pItemDefIDs, out punItemDefIDsArraySize); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartPurchase(_ptr, pArrayItemDefs, punArrayQuantity, unArrayLength); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RequestPrices(_ptr); + } + public virtual uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetNumItemsWithPrices(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemsWithPrices(_ptr, pArrayItemDefs, pPrices, unArrayLength); + } + public virtual bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemPrice(_ptr, iDefinition, out pPrice); + } + public virtual SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartUpdateProperties(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RemoveProperty(_ptr, handle, nItemID, pchPropertyName); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty(_ptr, handle, nItemID, pchPropertyName, pchPropertyValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, bValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, nValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, flValue); + } + public virtual bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SubmitUpdateProperties(_ptr, handle, ref pResultHandle); + } public virtual void /*void*/ ISteamVideo_GetVideoURL( uint unVideoAppID ) { @@ -3717,6 +3830,43 @@ namespace SteamNative return Native.SteamAPI_ISteamVideo_GetOPFStringForApp(_ptr, unVideoAppID, pchBuffer, out pnBufferSize); } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppBlocked(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamGameServer _ptr is null!" ); @@ -4136,7 +4286,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamClient_SetWarningMessageHook( IntPtr ISteamClient, IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( IntPtr ISteamClient ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamHTTP **/ SteamAPI_ISteamClient_GetISteamHTTP( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamUnifiedMessages **/ SteamAPI_ISteamClient_GetISteamUnifiedMessages( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamController **/ SteamAPI_ISteamClient_GetISteamController( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamUGC **/ SteamAPI_ISteamClient_GetISteamUGC( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamAppList **/ SteamAPI_ISteamClient_GetISteamAppList( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -4145,6 +4294,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamHTMLSurface **/ SteamAPI_ISteamClient_GetISteamHTMLSurface( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamInventory **/ SteamAPI_ISteamClient_GetISteamInventory( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamVideo **/ SteamAPI_ISteamClient_GetISteamVideo( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr /*class ISteamParentalSettings **/ SteamAPI_ISteamClient_GetISteamParentalSettings( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); // // ISteamUser @@ -4252,6 +4402,8 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_GetFollowerCount( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_IsFollowing( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_EnumerateFollowingList( IntPtr ISteamFriends, uint /*uint32*/ unStartIndex ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanPublic( IntPtr ISteamFriends, ulong steamIDClan ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanOfficialGameGroup( IntPtr ISteamFriends, ulong steamIDClan ); // // ISteamUtils @@ -4602,15 +4754,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( IntPtr ISteamHTTP, uint hRequest, uint /*uint32*/ unMilliseconds ); [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( IntPtr ISteamHTTP, uint hRequest, [MarshalAs(UnmanagedType.U1)] ref bool /*bool **/ pbWasTimedOut ); - // - // ISteamUnifiedMessages - // - [DllImportAttribute( "libsteam_api.so" )] internal static extern ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ SteamAPI_ISteamUnifiedMessages_SendMethod( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo( IntPtr ISteamUnifiedMessages, ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseData( IntPtr ISteamUnifiedMessages, ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_ReleaseMethod( IntPtr ISteamUnifiedMessages, ulong hHandle ); - [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_SendNotification( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); - // // ISteamController // @@ -4622,6 +4765,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetActionSetHandle( IntPtr ISteamController, string /*const char **/ pszActionSetName ); [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSet( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle ); [DllImportAttribute( "libsteam_api.so" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetCurrentActionSet( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateAllActionSetLayers( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetActiveActionSetLayers( IntPtr ISteamController, ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); [DllImportAttribute( "libsteam_api.so" )] internal static extern ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ SteamAPI_ISteamController_GetDigitalActionHandle( IntPtr ISteamController, string /*const char **/ pszActionName ); [DllImportAttribute( "libsteam_api.so" )] internal static extern ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ SteamAPI_ISteamController_GetDigitalActionData( IntPtr ISteamController, ulong controllerHandle, ulong digitalActionHandle ); [DllImportAttribute( "libsteam_api.so" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetDigitalActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -4640,6 +4787,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamController_ShowAnalogActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); [DllImportAttribute( "libsteam_api.so" )] internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamInputType /*ESteamInputType*/ SteamAPI_ISteamController_GetInputTypeForHandle( IntPtr ISteamController, ulong controllerHandle ); // // ISteamUGC @@ -4714,6 +4862,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( IntPtr ISteamUGC ); [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_GetAppDependencies( IntPtr ISteamUGC, ulong nPublishedFileID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_DeleteItem( IntPtr ISteamUGC, ulong nPublishedFileID ); // // ISteamAppList @@ -4760,6 +4912,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetCookie( IntPtr ISteamHTMLSurface, string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetBackgroundMode( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flDPIScaling ); [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_AllowStartRequest( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_JSDialogResponse( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); @@ -4791,6 +4944,18 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemDefinitionProperty( IntPtr ISteamInventory, int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( IntPtr ISteamInventory, ulong steamID ); [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( IntPtr ISteamInventory, ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_StartPurchase( IntPtr ISteamInventory, int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern uint /*uint32*/ SteamAPI_ISteamInventory_GetNumItemsWithPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemsWithPrices( IntPtr ISteamInventory, IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemPrice( IntPtr ISteamInventory, int iDefinition, out ulong /*uint64 **/ pPrice ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ SteamAPI_ISteamInventory_StartUpdateProperties( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_RemoveProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SubmitUpdateProperties( IntPtr ISteamInventory, ulong handle, ref int pResultHandle ); // // ISteamVideo @@ -4800,6 +4965,16 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.so" )] internal static extern void /*void*/ SteamAPI_ISteamVideo_GetOPFSettings( IntPtr ISteamVideo, uint unVideoAppID ); [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamVideo_GetOPFStringForApp( IntPtr ISteamVideo, uint unVideoAppID, System.Text.StringBuilder /*char **/ pchBuffer, out int /*int32 **/ pnBufferSize ); + // + // ISteamParentalSettings + // + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppBlocked( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppInBlockList( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + [DllImportAttribute( "libsteam_api.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + // // ISteamGameServer // diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux64.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux64.cs index 7884753..cb38993 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux64.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Linux64.cs @@ -164,12 +164,6 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamHTTP(_ptr, hSteamuser, hSteamPipe, pchVersion); } - public virtual IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); - - return Native.SteamAPI_ISteamClient_GetISteamUnifiedMessages(_ptr, hSteamuser, hSteamPipe, pchVersion); - } public virtual IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); @@ -218,6 +212,12 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamVideo(_ptr, hSteamuser, hSteamPipe, pchVersion); } + public virtual IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); + + return Native.SteamAPI_ISteamClient_GetISteamParentalSettings(_ptr, hSteamuser, hSteamPipe, pchVersion); + } public virtual HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser() { @@ -817,6 +817,18 @@ namespace SteamNative return Native.SteamAPI_ISteamFriends_EnumerateFollowingList(_ptr, unStartIndex); } + public virtual bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanPublic(_ptr, steamIDClan); + } + public virtual bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(_ptr, steamIDClan); + } public virtual uint /*uint32*/ ISteamUtils_GetSecondsSinceAppActive() { @@ -2684,37 +2696,6 @@ namespace SteamNative return Native.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(_ptr, hRequest, ref pbWasTimedOut); } - public virtual ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendMethod(_ptr, pchServiceMethod, pRequestBuffer, unRequestBufferSize, unContext); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo(_ptr, hHandle, out punResponseSize, out peResult); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseData(_ptr, hHandle, pResponseBuffer, unResponseBufferSize, bAutoRelease); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_ReleaseMethod(_ptr, hHandle); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendNotification(_ptr, pchServiceNotification, pNotificationBuffer, unNotificationBufferSize); - } - public virtual bool /*bool*/ ISteamController_Init() { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2763,6 +2744,30 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetCurrentActionSet(_ptr, controllerHandle); } + public virtual void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_ActivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateAllActionSetLayers(_ptr, controllerHandle); + } + public virtual int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetActiveActionSetLayers(_ptr, controllerHandle, handlesOut); + } public virtual ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2871,6 +2876,12 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetGlyphForActionOrigin(_ptr, eOrigin); } + public virtual SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetInputTypeForHandle(_ptr, controllerHandle); + } public virtual UGCQueryHandle_t /*(UGCQueryHandle_t)*/ ISteamUGC_CreateQueryUserUGCRequest( uint unAccountID, UserUGCList /*EUserUGCList*/ eListType, UGCMatchingUGCType /*EUGCMatchingUGCType*/ eMatchingUGCType, UserUGCListSortOrder /*EUserUGCListSortOrder*/ eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint /*uint32*/ unPage ) { @@ -3298,6 +3309,30 @@ namespace SteamNative return Native.SteamAPI_ISteamUGC_RemoveDependency(_ptr, nParentPublishedFileID, nChildPublishedFileID); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_AddAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_RemoveAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_GetAppDependencies(_ptr, nPublishedFileID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_DeleteItem(_ptr, nPublishedFileID); + } public virtual uint /*uint32*/ ISteamAppList_GetNumInstalledApps() { @@ -3528,6 +3563,12 @@ namespace SteamNative Native.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(_ptr, unBrowserHandle, bBackgroundMode); } + public virtual void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); + + Native.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(_ptr, unBrowserHandle, flDPIScaling); + } public virtual void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); @@ -3691,6 +3732,78 @@ namespace SteamNative return Native.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(_ptr, steamID, pItemDefIDs, out punItemDefIDsArraySize); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartPurchase(_ptr, pArrayItemDefs, punArrayQuantity, unArrayLength); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RequestPrices(_ptr); + } + public virtual uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetNumItemsWithPrices(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemsWithPrices(_ptr, pArrayItemDefs, pPrices, unArrayLength); + } + public virtual bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemPrice(_ptr, iDefinition, out pPrice); + } + public virtual SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartUpdateProperties(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RemoveProperty(_ptr, handle, nItemID, pchPropertyName); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty(_ptr, handle, nItemID, pchPropertyName, pchPropertyValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, bValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, nValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, flValue); + } + public virtual bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SubmitUpdateProperties(_ptr, handle, ref pResultHandle); + } public virtual void /*void*/ ISteamVideo_GetVideoURL( uint unVideoAppID ) { @@ -3717,6 +3830,43 @@ namespace SteamNative return Native.SteamAPI_ISteamVideo_GetOPFStringForApp(_ptr, unVideoAppID, pchBuffer, out pnBufferSize); } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppBlocked(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamGameServer _ptr is null!" ); @@ -4136,7 +4286,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamClient_SetWarningMessageHook( IntPtr ISteamClient, IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( IntPtr ISteamClient ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamHTTP **/ SteamAPI_ISteamClient_GetISteamHTTP( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamUnifiedMessages **/ SteamAPI_ISteamClient_GetISteamUnifiedMessages( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamController **/ SteamAPI_ISteamClient_GetISteamController( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamUGC **/ SteamAPI_ISteamClient_GetISteamUGC( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamAppList **/ SteamAPI_ISteamClient_GetISteamAppList( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -4145,6 +4294,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamHTMLSurface **/ SteamAPI_ISteamClient_GetISteamHTMLSurface( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamInventory **/ SteamAPI_ISteamClient_GetISteamInventory( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamVideo **/ SteamAPI_ISteamClient_GetISteamVideo( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr /*class ISteamParentalSettings **/ SteamAPI_ISteamClient_GetISteamParentalSettings( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); // // ISteamUser @@ -4252,6 +4402,8 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_GetFollowerCount( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_IsFollowing( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_EnumerateFollowingList( IntPtr ISteamFriends, uint /*uint32*/ unStartIndex ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanPublic( IntPtr ISteamFriends, ulong steamIDClan ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanOfficialGameGroup( IntPtr ISteamFriends, ulong steamIDClan ); // // ISteamUtils @@ -4602,15 +4754,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( IntPtr ISteamHTTP, uint hRequest, uint /*uint32*/ unMilliseconds ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( IntPtr ISteamHTTP, uint hRequest, [MarshalAs(UnmanagedType.U1)] ref bool /*bool **/ pbWasTimedOut ); - // - // ISteamUnifiedMessages - // - [DllImportAttribute( "libsteam_api64.so" )] internal static extern ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ SteamAPI_ISteamUnifiedMessages_SendMethod( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo( IntPtr ISteamUnifiedMessages, ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseData( IntPtr ISteamUnifiedMessages, ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_ReleaseMethod( IntPtr ISteamUnifiedMessages, ulong hHandle ); - [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_SendNotification( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); - // // ISteamController // @@ -4622,6 +4765,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetActionSetHandle( IntPtr ISteamController, string /*const char **/ pszActionSetName ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSet( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetCurrentActionSet( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateAllActionSetLayers( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetActiveActionSetLayers( IntPtr ISteamController, ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ SteamAPI_ISteamController_GetDigitalActionHandle( IntPtr ISteamController, string /*const char **/ pszActionName ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ SteamAPI_ISteamController_GetDigitalActionData( IntPtr ISteamController, ulong controllerHandle, ulong digitalActionHandle ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetDigitalActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -4640,6 +4787,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamController_ShowAnalogActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamInputType /*ESteamInputType*/ SteamAPI_ISteamController_GetInputTypeForHandle( IntPtr ISteamController, ulong controllerHandle ); // // ISteamUGC @@ -4714,6 +4862,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( IntPtr ISteamUGC ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_GetAppDependencies( IntPtr ISteamUGC, ulong nPublishedFileID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_DeleteItem( IntPtr ISteamUGC, ulong nPublishedFileID ); // // ISteamAppList @@ -4760,6 +4912,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetCookie( IntPtr ISteamHTMLSurface, string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetBackgroundMode( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flDPIScaling ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_AllowStartRequest( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_JSDialogResponse( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); @@ -4791,6 +4944,18 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemDefinitionProperty( IntPtr ISteamInventory, int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( IntPtr ISteamInventory, ulong steamID ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( IntPtr ISteamInventory, ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_StartPurchase( IntPtr ISteamInventory, int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern uint /*uint32*/ SteamAPI_ISteamInventory_GetNumItemsWithPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemsWithPrices( IntPtr ISteamInventory, IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemPrice( IntPtr ISteamInventory, int iDefinition, out ulong /*uint64 **/ pPrice ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ SteamAPI_ISteamInventory_StartUpdateProperties( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_RemoveProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SubmitUpdateProperties( IntPtr ISteamInventory, ulong handle, ref int pResultHandle ); // // ISteamVideo @@ -4800,6 +4965,16 @@ namespace SteamNative [DllImportAttribute( "libsteam_api64.so" )] internal static extern void /*void*/ SteamAPI_ISteamVideo_GetOPFSettings( IntPtr ISteamVideo, uint unVideoAppID ); [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamVideo_GetOPFStringForApp( IntPtr ISteamVideo, uint unVideoAppID, System.Text.StringBuilder /*char **/ pchBuffer, out int /*int32 **/ pnBufferSize ); + // + // ISteamParentalSettings + // + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppBlocked( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppInBlockList( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + [DllImportAttribute( "libsteam_api64.so" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + // // ISteamGameServer // diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Mac.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Mac.cs index 499b86c..d475f22 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Mac.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Mac.cs @@ -164,12 +164,6 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamHTTP(_ptr, hSteamuser, hSteamPipe, pchVersion); } - public virtual IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); - - return Native.SteamAPI_ISteamClient_GetISteamUnifiedMessages(_ptr, hSteamuser, hSteamPipe, pchVersion); - } public virtual IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); @@ -218,6 +212,12 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamVideo(_ptr, hSteamuser, hSteamPipe, pchVersion); } + public virtual IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); + + return Native.SteamAPI_ISteamClient_GetISteamParentalSettings(_ptr, hSteamuser, hSteamPipe, pchVersion); + } public virtual HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser() { @@ -817,6 +817,18 @@ namespace SteamNative return Native.SteamAPI_ISteamFriends_EnumerateFollowingList(_ptr, unStartIndex); } + public virtual bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanPublic(_ptr, steamIDClan); + } + public virtual bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(_ptr, steamIDClan); + } public virtual uint /*uint32*/ ISteamUtils_GetSecondsSinceAppActive() { @@ -2684,37 +2696,6 @@ namespace SteamNative return Native.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(_ptr, hRequest, ref pbWasTimedOut); } - public virtual ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendMethod(_ptr, pchServiceMethod, pRequestBuffer, unRequestBufferSize, unContext); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo(_ptr, hHandle, out punResponseSize, out peResult); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseData(_ptr, hHandle, pResponseBuffer, unResponseBufferSize, bAutoRelease); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_ReleaseMethod(_ptr, hHandle); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendNotification(_ptr, pchServiceNotification, pNotificationBuffer, unNotificationBufferSize); - } - public virtual bool /*bool*/ ISteamController_Init() { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2763,6 +2744,30 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetCurrentActionSet(_ptr, controllerHandle); } + public virtual void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_ActivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateAllActionSetLayers(_ptr, controllerHandle); + } + public virtual int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetActiveActionSetLayers(_ptr, controllerHandle, handlesOut); + } public virtual ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2871,6 +2876,12 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetGlyphForActionOrigin(_ptr, eOrigin); } + public virtual SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetInputTypeForHandle(_ptr, controllerHandle); + } public virtual UGCQueryHandle_t /*(UGCQueryHandle_t)*/ ISteamUGC_CreateQueryUserUGCRequest( uint unAccountID, UserUGCList /*EUserUGCList*/ eListType, UGCMatchingUGCType /*EUGCMatchingUGCType*/ eMatchingUGCType, UserUGCListSortOrder /*EUserUGCListSortOrder*/ eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint /*uint32*/ unPage ) { @@ -3298,6 +3309,30 @@ namespace SteamNative return Native.SteamAPI_ISteamUGC_RemoveDependency(_ptr, nParentPublishedFileID, nChildPublishedFileID); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_AddAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_RemoveAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_GetAppDependencies(_ptr, nPublishedFileID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_DeleteItem(_ptr, nPublishedFileID); + } public virtual uint /*uint32*/ ISteamAppList_GetNumInstalledApps() { @@ -3528,6 +3563,12 @@ namespace SteamNative Native.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(_ptr, unBrowserHandle, bBackgroundMode); } + public virtual void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); + + Native.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(_ptr, unBrowserHandle, flDPIScaling); + } public virtual void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); @@ -3691,6 +3732,78 @@ namespace SteamNative return Native.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(_ptr, steamID, pItemDefIDs, out punItemDefIDsArraySize); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartPurchase(_ptr, pArrayItemDefs, punArrayQuantity, unArrayLength); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RequestPrices(_ptr); + } + public virtual uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetNumItemsWithPrices(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemsWithPrices(_ptr, pArrayItemDefs, pPrices, unArrayLength); + } + public virtual bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemPrice(_ptr, iDefinition, out pPrice); + } + public virtual SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartUpdateProperties(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RemoveProperty(_ptr, handle, nItemID, pchPropertyName); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty(_ptr, handle, nItemID, pchPropertyName, pchPropertyValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, bValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, nValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, flValue); + } + public virtual bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SubmitUpdateProperties(_ptr, handle, ref pResultHandle); + } public virtual void /*void*/ ISteamVideo_GetVideoURL( uint unVideoAppID ) { @@ -3717,6 +3830,43 @@ namespace SteamNative return Native.SteamAPI_ISteamVideo_GetOPFStringForApp(_ptr, unVideoAppID, pchBuffer, out pnBufferSize); } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppBlocked(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamGameServer _ptr is null!" ); @@ -4136,7 +4286,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamClient_SetWarningMessageHook( IntPtr ISteamClient, IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( IntPtr ISteamClient ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamHTTP **/ SteamAPI_ISteamClient_GetISteamHTTP( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamUnifiedMessages **/ SteamAPI_ISteamClient_GetISteamUnifiedMessages( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamController **/ SteamAPI_ISteamClient_GetISteamController( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamUGC **/ SteamAPI_ISteamClient_GetISteamUGC( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamAppList **/ SteamAPI_ISteamClient_GetISteamAppList( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -4145,6 +4294,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamHTMLSurface **/ SteamAPI_ISteamClient_GetISteamHTMLSurface( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamInventory **/ SteamAPI_ISteamClient_GetISteamInventory( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamVideo **/ SteamAPI_ISteamClient_GetISteamVideo( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr /*class ISteamParentalSettings **/ SteamAPI_ISteamClient_GetISteamParentalSettings( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); // // ISteamUser @@ -4252,6 +4402,8 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_GetFollowerCount( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_IsFollowing( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_EnumerateFollowingList( IntPtr ISteamFriends, uint /*uint32*/ unStartIndex ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanPublic( IntPtr ISteamFriends, ulong steamIDClan ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanOfficialGameGroup( IntPtr ISteamFriends, ulong steamIDClan ); // // ISteamUtils @@ -4602,15 +4754,6 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( IntPtr ISteamHTTP, uint hRequest, uint /*uint32*/ unMilliseconds ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( IntPtr ISteamHTTP, uint hRequest, [MarshalAs(UnmanagedType.U1)] ref bool /*bool **/ pbWasTimedOut ); - // - // ISteamUnifiedMessages - // - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ SteamAPI_ISteamUnifiedMessages_SendMethod( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo( IntPtr ISteamUnifiedMessages, ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseData( IntPtr ISteamUnifiedMessages, ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_ReleaseMethod( IntPtr ISteamUnifiedMessages, ulong hHandle ); - [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_SendNotification( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); - // // ISteamController // @@ -4622,6 +4765,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetActionSetHandle( IntPtr ISteamController, string /*const char **/ pszActionSetName ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSet( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetCurrentActionSet( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateAllActionSetLayers( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetActiveActionSetLayers( IntPtr ISteamController, ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ SteamAPI_ISteamController_GetDigitalActionHandle( IntPtr ISteamController, string /*const char **/ pszActionName ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ SteamAPI_ISteamController_GetDigitalActionData( IntPtr ISteamController, ulong controllerHandle, ulong digitalActionHandle ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetDigitalActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -4640,6 +4787,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamController_ShowAnalogActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamInputType /*ESteamInputType*/ SteamAPI_ISteamController_GetInputTypeForHandle( IntPtr ISteamController, ulong controllerHandle ); // // ISteamUGC @@ -4714,6 +4862,10 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( IntPtr ISteamUGC ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_GetAppDependencies( IntPtr ISteamUGC, ulong nPublishedFileID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_DeleteItem( IntPtr ISteamUGC, ulong nPublishedFileID ); // // ISteamAppList @@ -4760,6 +4912,7 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetCookie( IntPtr ISteamHTMLSurface, string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetBackgroundMode( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flDPIScaling ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_AllowStartRequest( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_JSDialogResponse( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); @@ -4791,6 +4944,18 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemDefinitionProperty( IntPtr ISteamInventory, int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( IntPtr ISteamInventory, ulong steamID ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( IntPtr ISteamInventory, ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_StartPurchase( IntPtr ISteamInventory, int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern uint /*uint32*/ SteamAPI_ISteamInventory_GetNumItemsWithPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemsWithPrices( IntPtr ISteamInventory, IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemPrice( IntPtr ISteamInventory, int iDefinition, out ulong /*uint64 **/ pPrice ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ SteamAPI_ISteamInventory_StartUpdateProperties( IntPtr ISteamInventory ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_RemoveProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SubmitUpdateProperties( IntPtr ISteamInventory, ulong handle, ref int pResultHandle ); // // ISteamVideo @@ -4800,6 +4965,16 @@ namespace SteamNative [DllImportAttribute( "libsteam_api.dylib" )] internal static extern void /*void*/ SteamAPI_ISteamVideo_GetOPFSettings( IntPtr ISteamVideo, uint unVideoAppID ); [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamVideo_GetOPFStringForApp( IntPtr ISteamVideo, uint unVideoAppID, System.Text.StringBuilder /*char **/ pchBuffer, out int /*int32 **/ pnBufferSize ); + // + // ISteamParentalSettings + // + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppBlocked( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppInBlockList( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + [DllImportAttribute( "libsteam_api.dylib" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + // // ISteamGameServer // diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win32.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win32.cs index 084d6d2..750b297 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win32.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win32.cs @@ -164,12 +164,6 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamHTTP(_ptr, hSteamuser, hSteamPipe, pchVersion); } - public virtual IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); - - return Native.SteamAPI_ISteamClient_GetISteamUnifiedMessages(_ptr, hSteamuser, hSteamPipe, pchVersion); - } public virtual IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); @@ -218,6 +212,12 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamVideo(_ptr, hSteamuser, hSteamPipe, pchVersion); } + public virtual IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); + + return Native.SteamAPI_ISteamClient_GetISteamParentalSettings(_ptr, hSteamuser, hSteamPipe, pchVersion); + } public virtual HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser() { @@ -814,6 +814,18 @@ namespace SteamNative return Native.SteamAPI_ISteamFriends_EnumerateFollowingList(_ptr, unStartIndex); } + public virtual bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanPublic(_ptr, steamIDClan); + } + public virtual bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(_ptr, steamIDClan); + } public virtual uint /*uint32*/ ISteamUtils_GetSecondsSinceAppActive() { @@ -2656,37 +2668,6 @@ namespace SteamNative return Native.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(_ptr, hRequest, ref pbWasTimedOut); } - public virtual ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendMethod(_ptr, pchServiceMethod, pRequestBuffer, unRequestBufferSize, unContext); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo(_ptr, hHandle, out punResponseSize, out peResult); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseData(_ptr, hHandle, pResponseBuffer, unResponseBufferSize, bAutoRelease); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_ReleaseMethod(_ptr, hHandle); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendNotification(_ptr, pchServiceNotification, pNotificationBuffer, unNotificationBufferSize); - } - public virtual bool /*bool*/ ISteamController_Init() { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2735,6 +2716,30 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetCurrentActionSet(_ptr, controllerHandle); } + public virtual void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_ActivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateAllActionSetLayers(_ptr, controllerHandle); + } + public virtual int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetActiveActionSetLayers(_ptr, controllerHandle, handlesOut); + } public virtual ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2843,6 +2848,12 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetGlyphForActionOrigin(_ptr, eOrigin); } + public virtual SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetInputTypeForHandle(_ptr, controllerHandle); + } public virtual UGCQueryHandle_t /*(UGCQueryHandle_t)*/ ISteamUGC_CreateQueryUserUGCRequest( uint unAccountID, UserUGCList /*EUserUGCList*/ eListType, UGCMatchingUGCType /*EUGCMatchingUGCType*/ eMatchingUGCType, UserUGCListSortOrder /*EUserUGCListSortOrder*/ eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint /*uint32*/ unPage ) { @@ -3264,6 +3275,30 @@ namespace SteamNative return Native.SteamAPI_ISteamUGC_RemoveDependency(_ptr, nParentPublishedFileID, nChildPublishedFileID); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_AddAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_RemoveAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_GetAppDependencies(_ptr, nPublishedFileID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_DeleteItem(_ptr, nPublishedFileID); + } public virtual uint /*uint32*/ ISteamAppList_GetNumInstalledApps() { @@ -3494,6 +3529,12 @@ namespace SteamNative Native.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(_ptr, unBrowserHandle, bBackgroundMode); } + public virtual void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); + + Native.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(_ptr, unBrowserHandle, flDPIScaling); + } public virtual void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); @@ -3657,6 +3698,78 @@ namespace SteamNative return Native.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(_ptr, steamID, pItemDefIDs, out punItemDefIDsArraySize); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartPurchase(_ptr, pArrayItemDefs, punArrayQuantity, unArrayLength); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RequestPrices(_ptr); + } + public virtual uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetNumItemsWithPrices(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemsWithPrices(_ptr, pArrayItemDefs, pPrices, unArrayLength); + } + public virtual bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemPrice(_ptr, iDefinition, out pPrice); + } + public virtual SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartUpdateProperties(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RemoveProperty(_ptr, handle, nItemID, pchPropertyName); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty(_ptr, handle, nItemID, pchPropertyName, pchPropertyValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, bValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, nValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, flValue); + } + public virtual bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SubmitUpdateProperties(_ptr, handle, ref pResultHandle); + } public virtual void /*void*/ ISteamVideo_GetVideoURL( uint unVideoAppID ) { @@ -3683,6 +3796,43 @@ namespace SteamNative return Native.SteamAPI_ISteamVideo_GetOPFStringForApp(_ptr, unVideoAppID, pchBuffer, out pnBufferSize); } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppBlocked(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamGameServer _ptr is null!" ); @@ -4102,7 +4252,6 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamClient_SetWarningMessageHook( IntPtr ISteamClient, IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( IntPtr ISteamClient ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamHTTP **/ SteamAPI_ISteamClient_GetISteamHTTP( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamUnifiedMessages **/ SteamAPI_ISteamClient_GetISteamUnifiedMessages( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamController **/ SteamAPI_ISteamClient_GetISteamController( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamUGC **/ SteamAPI_ISteamClient_GetISteamUGC( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamAppList **/ SteamAPI_ISteamClient_GetISteamAppList( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -4111,6 +4260,7 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamHTMLSurface **/ SteamAPI_ISteamClient_GetISteamHTMLSurface( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamInventory **/ SteamAPI_ISteamClient_GetISteamInventory( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamVideo **/ SteamAPI_ISteamClient_GetISteamVideo( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr /*class ISteamParentalSettings **/ SteamAPI_ISteamClient_GetISteamParentalSettings( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); // // ISteamUser @@ -4218,6 +4368,8 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_GetFollowerCount( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_IsFollowing( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_EnumerateFollowingList( IntPtr ISteamFriends, uint /*uint32*/ unStartIndex ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanPublic( IntPtr ISteamFriends, ulong steamIDClan ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanOfficialGameGroup( IntPtr ISteamFriends, ulong steamIDClan ); // // ISteamUtils @@ -4568,15 +4720,6 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( IntPtr ISteamHTTP, uint hRequest, uint /*uint32*/ unMilliseconds ); [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( IntPtr ISteamHTTP, uint hRequest, [MarshalAs(UnmanagedType.U1)] ref bool /*bool **/ pbWasTimedOut ); - // - // ISteamUnifiedMessages - // - [DllImportAttribute( "steam_api.dll" )] internal static extern ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ SteamAPI_ISteamUnifiedMessages_SendMethod( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo( IntPtr ISteamUnifiedMessages, ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseData( IntPtr ISteamUnifiedMessages, ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_ReleaseMethod( IntPtr ISteamUnifiedMessages, ulong hHandle ); - [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_SendNotification( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); - // // ISteamController // @@ -4588,6 +4731,10 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetActionSetHandle( IntPtr ISteamController, string /*const char **/ pszActionSetName ); [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSet( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle ); [DllImportAttribute( "steam_api.dll" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetCurrentActionSet( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateAllActionSetLayers( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "steam_api.dll" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetActiveActionSetLayers( IntPtr ISteamController, ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); [DllImportAttribute( "steam_api.dll" )] internal static extern ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ SteamAPI_ISteamController_GetDigitalActionHandle( IntPtr ISteamController, string /*const char **/ pszActionName ); [DllImportAttribute( "steam_api.dll" )] internal static extern ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ SteamAPI_ISteamController_GetDigitalActionData( IntPtr ISteamController, ulong controllerHandle, ulong digitalActionHandle ); [DllImportAttribute( "steam_api.dll" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetDigitalActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -4606,6 +4753,7 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamController_ShowAnalogActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); [DllImportAttribute( "steam_api.dll" )] internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamInputType /*ESteamInputType*/ SteamAPI_ISteamController_GetInputTypeForHandle( IntPtr ISteamController, ulong controllerHandle ); // // ISteamUGC @@ -4680,6 +4828,10 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( IntPtr ISteamUGC ); [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_GetAppDependencies( IntPtr ISteamUGC, ulong nPublishedFileID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_DeleteItem( IntPtr ISteamUGC, ulong nPublishedFileID ); // // ISteamAppList @@ -4726,6 +4878,7 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetCookie( IntPtr ISteamHTMLSurface, string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetBackgroundMode( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flDPIScaling ); [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_AllowStartRequest( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_JSDialogResponse( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); @@ -4757,6 +4910,18 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemDefinitionProperty( IntPtr ISteamInventory, int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( IntPtr ISteamInventory, ulong steamID ); [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( IntPtr ISteamInventory, ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_StartPurchase( IntPtr ISteamInventory, int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api.dll" )] internal static extern uint /*uint32*/ SteamAPI_ISteamInventory_GetNumItemsWithPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemsWithPrices( IntPtr ISteamInventory, IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemPrice( IntPtr ISteamInventory, int iDefinition, out ulong /*uint64 **/ pPrice ); + [DllImportAttribute( "steam_api.dll" )] internal static extern SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ SteamAPI_ISteamInventory_StartUpdateProperties( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_RemoveProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SubmitUpdateProperties( IntPtr ISteamInventory, ulong handle, ref int pResultHandle ); // // ISteamVideo @@ -4766,6 +4931,16 @@ namespace SteamNative [DllImportAttribute( "steam_api.dll" )] internal static extern void /*void*/ SteamAPI_ISteamVideo_GetOPFSettings( IntPtr ISteamVideo, uint unVideoAppID ); [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamVideo_GetOPFStringForApp( IntPtr ISteamVideo, uint unVideoAppID, System.Text.StringBuilder /*char **/ pchBuffer, out int /*int32 **/ pnBufferSize ); + // + // ISteamParentalSettings + // + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppBlocked( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppInBlockList( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + [DllImportAttribute( "steam_api.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + // // ISteamGameServer // diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win64.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win64.cs index 34f6957..dbfcb38 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win64.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Platform.Win64.cs @@ -164,12 +164,6 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamHTTP(_ptr, hSteamuser, hSteamPipe, pchVersion); } - public virtual IntPtr /*class ISteamUnifiedMessages **/ ISteamClient_GetISteamUnifiedMessages( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); - - return Native.SteamAPI_ISteamClient_GetISteamUnifiedMessages(_ptr, hSteamuser, hSteamPipe, pchVersion); - } public virtual IntPtr /*class ISteamController **/ ISteamClient_GetISteamController( int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); @@ -218,6 +212,12 @@ namespace SteamNative return Native.SteamAPI_ISteamClient_GetISteamVideo(_ptr, hSteamuser, hSteamPipe, pchVersion); } + public virtual IntPtr /*class ISteamParentalSettings **/ ISteamClient_GetISteamParentalSettings( int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamClient _ptr is null!" ); + + return Native.SteamAPI_ISteamClient_GetISteamParentalSettings(_ptr, hSteamuser, hSteamPipe, pchVersion); + } public virtual HSteamUser /*(HSteamUser)*/ ISteamUser_GetHSteamUser() { @@ -814,6 +814,18 @@ namespace SteamNative return Native.SteamAPI_ISteamFriends_EnumerateFollowingList(_ptr, unStartIndex); } + public virtual bool /*bool*/ ISteamFriends_IsClanPublic( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanPublic(_ptr, steamIDClan); + } + public virtual bool /*bool*/ ISteamFriends_IsClanOfficialGameGroup( ulong steamIDClan ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamFriends _ptr is null!" ); + + return Native.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(_ptr, steamIDClan); + } public virtual uint /*uint32*/ ISteamUtils_GetSecondsSinceAppActive() { @@ -2656,37 +2668,6 @@ namespace SteamNative return Native.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(_ptr, hRequest, ref pbWasTimedOut); } - public virtual ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ ISteamUnifiedMessages_SendMethod( string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendMethod(_ptr, pchServiceMethod, pRequestBuffer, unRequestBufferSize, unContext); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseInfo( ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo(_ptr, hHandle, out punResponseSize, out peResult); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_GetMethodResponseData( ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_GetMethodResponseData(_ptr, hHandle, pResponseBuffer, unResponseBufferSize, bAutoRelease); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_ReleaseMethod( ulong hHandle ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_ReleaseMethod(_ptr, hHandle); - } - public virtual bool /*bool*/ ISteamUnifiedMessages_SendNotification( string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ) - { - if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUnifiedMessages _ptr is null!" ); - - return Native.SteamAPI_ISteamUnifiedMessages_SendNotification(_ptr, pchServiceNotification, pNotificationBuffer, unNotificationBufferSize); - } - public virtual bool /*bool*/ ISteamController_Init() { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2735,6 +2716,30 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetCurrentActionSet(_ptr, controllerHandle); } + public virtual void /*void*/ ISteamController_ActivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_ActivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateActionSetLayer( ulong controllerHandle, ulong actionSetLayerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateActionSetLayer(_ptr, controllerHandle, actionSetLayerHandle); + } + public virtual void /*void*/ ISteamController_DeactivateAllActionSetLayers( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + Native.SteamAPI_ISteamController_DeactivateAllActionSetLayers(_ptr, controllerHandle); + } + public virtual int /*int*/ ISteamController_GetActiveActionSetLayers( ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetActiveActionSetLayers(_ptr, controllerHandle, handlesOut); + } public virtual ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ ISteamController_GetDigitalActionHandle( string /*const char **/ pszActionName ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); @@ -2843,6 +2848,12 @@ namespace SteamNative return Native.SteamAPI_ISteamController_GetGlyphForActionOrigin(_ptr, eOrigin); } + public virtual SteamInputType /*ESteamInputType*/ ISteamController_GetInputTypeForHandle( ulong controllerHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamController _ptr is null!" ); + + return Native.SteamAPI_ISteamController_GetInputTypeForHandle(_ptr, controllerHandle); + } public virtual UGCQueryHandle_t /*(UGCQueryHandle_t)*/ ISteamUGC_CreateQueryUserUGCRequest( uint unAccountID, UserUGCList /*EUserUGCList*/ eListType, UGCMatchingUGCType /*EUGCMatchingUGCType*/ eMatchingUGCType, UserUGCListSortOrder /*EUserUGCListSortOrder*/ eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint /*uint32*/ unPage ) { @@ -3264,6 +3275,30 @@ namespace SteamNative return Native.SteamAPI_ISteamUGC_RemoveDependency(_ptr, nParentPublishedFileID, nChildPublishedFileID); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_AddAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_AddAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_RemoveAppDependency( ulong nPublishedFileID, uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_RemoveAppDependency(_ptr, nPublishedFileID, nAppID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_GetAppDependencies( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_GetAppDependencies(_ptr, nPublishedFileID); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamUGC_DeleteItem( ulong nPublishedFileID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamUGC _ptr is null!" ); + + return Native.SteamAPI_ISteamUGC_DeleteItem(_ptr, nPublishedFileID); + } public virtual uint /*uint32*/ ISteamAppList_GetNumInstalledApps() { @@ -3494,6 +3529,12 @@ namespace SteamNative Native.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(_ptr, unBrowserHandle, bBackgroundMode); } + public virtual void /*void*/ ISteamHTMLSurface_SetDPIScalingFactor( uint unBrowserHandle, float /*float*/ flDPIScaling ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); + + Native.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(_ptr, unBrowserHandle, flDPIScaling); + } public virtual void /*void*/ ISteamHTMLSurface_AllowStartRequest( uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamHTMLSurface _ptr is null!" ); @@ -3657,6 +3698,78 @@ namespace SteamNative return Native.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(_ptr, steamID, pItemDefIDs, out punItemDefIDsArraySize); } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_StartPurchase( int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartPurchase(_ptr, pArrayItemDefs, punArrayQuantity, unArrayLength); + } + public virtual SteamAPICall_t /*(SteamAPICall_t)*/ ISteamInventory_RequestPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RequestPrices(_ptr); + } + public virtual uint /*uint32*/ ISteamInventory_GetNumItemsWithPrices() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetNumItemsWithPrices(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_GetItemsWithPrices( IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemsWithPrices(_ptr, pArrayItemDefs, pPrices, unArrayLength); + } + public virtual bool /*bool*/ ISteamInventory_GetItemPrice( int iDefinition, out ulong /*uint64 **/ pPrice ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_GetItemPrice(_ptr, iDefinition, out pPrice); + } + public virtual SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ ISteamInventory_StartUpdateProperties() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_StartUpdateProperties(_ptr); + } + public virtual bool /*bool*/ ISteamInventory_RemoveProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_RemoveProperty(_ptr, handle, nItemID, pchPropertyName); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty(_ptr, handle, nItemID, pchPropertyName, pchPropertyValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, bValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, nValue); + } + public virtual bool /*bool*/ ISteamInventory_SetProperty0( ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SetProperty0(_ptr, handle, nItemID, pchPropertyName, flValue); + } + public virtual bool /*bool*/ ISteamInventory_SubmitUpdateProperties( ulong handle, ref int pResultHandle ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamInventory _ptr is null!" ); + + return Native.SteamAPI_ISteamInventory_SubmitUpdateProperties(_ptr, handle, ref pResultHandle); + } public virtual void /*void*/ ISteamVideo_GetVideoURL( uint unVideoAppID ) { @@ -3683,6 +3796,43 @@ namespace SteamNative return Native.SteamAPI_ISteamVideo_GetOPFStringForApp(_ptr, unVideoAppID, pchBuffer, out pnBufferSize); } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockEnabled() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsParentalLockLocked() + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(_ptr); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppBlocked( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppBlocked(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsAppInBlockList( uint nAppID ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(_ptr, nAppID); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureBlocked( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamParentalSettings_BIsFeatureInBlockList( ParentalFeature /*EParentalFeature*/ eFeature ) + { + if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamParentalSettings _ptr is null!" ); + + return Native.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(_ptr, eFeature); + } + public virtual bool /*bool*/ ISteamGameServer_InitGameServer( uint /*uint32*/ unIP, ushort /*uint16*/ usGamePort, ushort /*uint16*/ usQueryPort, uint /*uint32*/ unFlags, uint nGameAppId, string /*const char **/ pchVersionString ) { if ( _ptr == IntPtr.Zero ) throw new System.Exception( "ISteamGameServer _ptr is null!" ); @@ -4102,7 +4252,6 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamClient_SetWarningMessageHook( IntPtr ISteamClient, IntPtr /*SteamAPIWarningMessageHook_t*/ pFunction ); [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( IntPtr ISteamClient ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamHTTP **/ SteamAPI_ISteamClient_GetISteamHTTP( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); - [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamUnifiedMessages **/ SteamAPI_ISteamClient_GetISteamUnifiedMessages( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamController **/ SteamAPI_ISteamClient_GetISteamController( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamUGC **/ SteamAPI_ISteamClient_GetISteamUGC( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamAppList **/ SteamAPI_ISteamClient_GetISteamAppList( IntPtr ISteamClient, int hSteamUser, int hSteamPipe, string /*const char **/ pchVersion ); @@ -4111,6 +4260,7 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamHTMLSurface **/ SteamAPI_ISteamClient_GetISteamHTMLSurface( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamInventory **/ SteamAPI_ISteamClient_GetISteamInventory( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamVideo **/ SteamAPI_ISteamClient_GetISteamVideo( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr /*class ISteamParentalSettings **/ SteamAPI_ISteamClient_GetISteamParentalSettings( IntPtr ISteamClient, int hSteamuser, int hSteamPipe, string /*const char **/ pchVersion ); // // ISteamUser @@ -4218,6 +4368,8 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_GetFollowerCount( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_IsFollowing( IntPtr ISteamFriends, ulong steamID ); [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamFriends_EnumerateFollowingList( IntPtr ISteamFriends, uint /*uint32*/ unStartIndex ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanPublic( IntPtr ISteamFriends, ulong steamIDClan ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamFriends_IsClanOfficialGameGroup( IntPtr ISteamFriends, ulong steamIDClan ); // // ISteamUtils @@ -4568,15 +4720,6 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( IntPtr ISteamHTTP, uint hRequest, uint /*uint32*/ unMilliseconds ); [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( IntPtr ISteamHTTP, uint hRequest, [MarshalAs(UnmanagedType.U1)] ref bool /*bool **/ pbWasTimedOut ); - // - // ISteamUnifiedMessages - // - [DllImportAttribute( "steam_api64.dll" )] internal static extern ClientUnifiedMessageHandle /*(ClientUnifiedMessageHandle)*/ SteamAPI_ISteamUnifiedMessages_SendMethod( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceMethod, IntPtr /*const void **/ pRequestBuffer, uint /*uint32*/ unRequestBufferSize, ulong /*uint64*/ unContext ); - [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseInfo( IntPtr ISteamUnifiedMessages, ulong hHandle, out uint /*uint32 **/ punResponseSize, out Result /*EResult **/ peResult ); - [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_GetMethodResponseData( IntPtr ISteamUnifiedMessages, ulong hHandle, IntPtr /*void **/ pResponseBuffer, uint /*uint32*/ unResponseBufferSize, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAutoRelease ); - [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_ReleaseMethod( IntPtr ISteamUnifiedMessages, ulong hHandle ); - [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamUnifiedMessages_SendNotification( IntPtr ISteamUnifiedMessages, string /*const char **/ pchServiceNotification, IntPtr /*const void **/ pNotificationBuffer, uint /*uint32*/ unNotificationBufferSize ); - // // ISteamController // @@ -4588,6 +4731,10 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetActionSetHandle( IntPtr ISteamController, string /*const char **/ pszActionSetName ); [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSet( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle ); [DllImportAttribute( "steam_api64.dll" )] internal static extern ControllerActionSetHandle_t /*(ControllerActionSetHandle_t)*/ SteamAPI_ISteamController_GetCurrentActionSet( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_ActivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateActionSetLayer( IntPtr ISteamController, ulong controllerHandle, ulong actionSetLayerHandle ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamController_DeactivateAllActionSetLayers( IntPtr ISteamController, ulong controllerHandle ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetActiveActionSetLayers( IntPtr ISteamController, ulong controllerHandle, IntPtr /*ControllerActionSetHandle_t **/ handlesOut ); [DllImportAttribute( "steam_api64.dll" )] internal static extern ControllerDigitalActionHandle_t /*(ControllerDigitalActionHandle_t)*/ SteamAPI_ISteamController_GetDigitalActionHandle( IntPtr ISteamController, string /*const char **/ pszActionName ); [DllImportAttribute( "steam_api64.dll" )] internal static extern ControllerDigitalActionData_t /*struct ControllerDigitalActionData_t*/ SteamAPI_ISteamController_GetDigitalActionData( IntPtr ISteamController, ulong controllerHandle, ulong digitalActionHandle ); [DllImportAttribute( "steam_api64.dll" )] internal static extern int /*int*/ SteamAPI_ISteamController_GetDigitalActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, out ControllerActionOrigin /*EControllerActionOrigin **/ originsOut ); @@ -4606,6 +4753,7 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamController_ShowAnalogActionOrigins( IntPtr ISteamController, ulong controllerHandle, ulong analogActionHandle, float /*float*/ flScale, float /*float*/ flXPosition, float /*float*/ flYPosition ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); [DllImportAttribute( "steam_api64.dll" )] internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin( IntPtr ISteamController, ControllerActionOrigin /*EControllerActionOrigin*/ eOrigin ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamInputType /*ESteamInputType*/ SteamAPI_ISteamController_GetInputTypeForHandle( IntPtr ISteamController, ulong controllerHandle ); // // ISteamUGC @@ -4680,6 +4828,10 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( IntPtr ISteamUGC ); [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveDependency( IntPtr ISteamUGC, ulong nParentPublishedFileID, ulong nChildPublishedFileID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_AddAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_RemoveAppDependency( IntPtr ISteamUGC, ulong nPublishedFileID, uint nAppID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_GetAppDependencies( IntPtr ISteamUGC, ulong nPublishedFileID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamUGC_DeleteItem( IntPtr ISteamUGC, ulong nPublishedFileID ); // // ISteamAppList @@ -4726,6 +4878,7 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetCookie( IntPtr ISteamHTMLSurface, string /*const char **/ pchHostname, string /*const char **/ pchKey, string /*const char **/ pchValue, string /*const char **/ pchPath, uint nExpires, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bSecure, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bHTTPOnly ); [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flZoom, int /*int*/ nPointX, int /*int*/ nPointY ); [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetBackgroundMode( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bBackgroundMode ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( IntPtr ISteamHTMLSurface, uint unBrowserHandle, float /*float*/ flDPIScaling ); [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_AllowStartRequest( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bAllowed ); [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamHTMLSurface_JSDialogResponse( IntPtr ISteamHTMLSurface, uint unBrowserHandle, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bResult ); @@ -4757,6 +4910,18 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemDefinitionProperty( IntPtr ISteamInventory, int iDefinition, string /*const char **/ pchPropertyName, System.Text.StringBuilder /*char **/ pchValueBuffer, out uint /*uint32 **/ punValueBufferSizeOut ); [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( IntPtr ISteamInventory, ulong steamID ); [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( IntPtr ISteamInventory, ulong steamID, IntPtr /*SteamItemDef_t **/ pItemDefIDs, out uint /*uint32 **/ punItemDefIDsArraySize ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_StartPurchase( IntPtr ISteamInventory, int[] pArrayItemDefs, uint[] /*const uint32 **/ punArrayQuantity, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamAPICall_t /*(SteamAPICall_t)*/ SteamAPI_ISteamInventory_RequestPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern uint /*uint32*/ SteamAPI_ISteamInventory_GetNumItemsWithPrices( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemsWithPrices( IntPtr ISteamInventory, IntPtr /*SteamItemDef_t **/ pArrayItemDefs, IntPtr /*uint64 **/ pPrices, uint /*uint32*/ unArrayLength ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_GetItemPrice( IntPtr ISteamInventory, int iDefinition, out ulong /*uint64 **/ pPrice ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern SteamInventoryUpdateHandle_t /*(SteamInventoryUpdateHandle_t)*/ SteamAPI_ISteamInventory_StartUpdateProperties( IntPtr ISteamInventory ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_RemoveProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, string /*const char **/ pchPropertyValue ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, [MarshalAs(UnmanagedType.U1)] bool /*bool*/ bValue ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, long /*int64*/ nValue ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SetProperty0( IntPtr ISteamInventory, ulong handle, ulong nItemID, string /*const char **/ pchPropertyName, float /*float*/ flValue ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamInventory_SubmitUpdateProperties( IntPtr ISteamInventory, ulong handle, ref int pResultHandle ); // // ISteamVideo @@ -4766,6 +4931,16 @@ namespace SteamNative [DllImportAttribute( "steam_api64.dll" )] internal static extern void /*void*/ SteamAPI_ISteamVideo_GetOPFSettings( IntPtr ISteamVideo, uint unVideoAppID ); [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamVideo_GetOPFStringForApp( IntPtr ISteamVideo, uint unVideoAppID, System.Text.StringBuilder /*char **/ pchBuffer, out int /*int32 **/ pnBufferSize ); + // + // ISteamParentalSettings + // + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( IntPtr ISteamParentalSettings ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppBlocked( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsAppInBlockList( IntPtr ISteamParentalSettings, uint nAppID ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + [DllImportAttribute( "steam_api64.dll" )] internal static extern bool /*bool*/ SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( IntPtr ISteamParentalSettings, ParentalFeature /*EParentalFeature*/ eFeature ); + // // ISteamGameServer // diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamClient.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamClient.cs index f9d4f79..b8f9234 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamClient.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamClient.cs @@ -197,6 +197,14 @@ namespace SteamNative return new SteamNetworking( steamworks, interface_pointer ); } + // ISteamParentalSettings * + public SteamParentalSettings GetISteamParentalSettings( HSteamUser hSteamuser /*HSteamUser*/, HSteamPipe hSteamPipe /*HSteamPipe*/, string pchVersion /*const char **/ ) + { + IntPtr interface_pointer; + interface_pointer = platform.ISteamClient_GetISteamParentalSettings( hSteamuser.Value, hSteamPipe.Value, pchVersion ); + return new SteamParentalSettings( steamworks, interface_pointer ); + } + // ISteamRemoteStorage * public SteamRemoteStorage GetISteamRemoteStorage( HSteamUser hSteamuser /*HSteamUser*/, HSteamPipe hSteamPipe /*HSteamPipe*/, string pchVersion /*const char **/ ) { @@ -221,14 +229,6 @@ namespace SteamNative return new SteamUGC( steamworks, interface_pointer ); } - // ISteamUnifiedMessages * - public SteamUnifiedMessages GetISteamUnifiedMessages( HSteamUser hSteamuser /*HSteamUser*/, HSteamPipe hSteamPipe /*HSteamPipe*/, string pchVersion /*const char **/ ) - { - IntPtr interface_pointer; - interface_pointer = platform.ISteamClient_GetISteamUnifiedMessages( hSteamuser.Value, hSteamPipe.Value, pchVersion ); - return new SteamUnifiedMessages( steamworks, interface_pointer ); - } - // ISteamUser * public SteamUser GetISteamUser( HSteamUser hSteamUser /*HSteamUser*/, HSteamPipe hSteamPipe /*HSteamPipe*/, string pchVersion /*const char **/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamController.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamController.cs index cf80117..44e083b 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamController.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamController.cs @@ -49,12 +49,36 @@ namespace SteamNative platform.ISteamController_ActivateActionSet( controllerHandle.Value, actionSetHandle.Value ); } + // void + public void ActivateActionSetLayer( ControllerHandle_t controllerHandle /*ControllerHandle_t*/, ControllerActionSetHandle_t actionSetLayerHandle /*ControllerActionSetHandle_t*/ ) + { + platform.ISteamController_ActivateActionSetLayer( controllerHandle.Value, actionSetLayerHandle.Value ); + } + + // void + public void DeactivateActionSetLayer( ControllerHandle_t controllerHandle /*ControllerHandle_t*/, ControllerActionSetHandle_t actionSetLayerHandle /*ControllerActionSetHandle_t*/ ) + { + platform.ISteamController_DeactivateActionSetLayer( controllerHandle.Value, actionSetLayerHandle.Value ); + } + + // void + public void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle /*ControllerHandle_t*/ ) + { + platform.ISteamController_DeactivateAllActionSetLayers( controllerHandle.Value ); + } + // ControllerActionSetHandle_t public ControllerActionSetHandle_t GetActionSetHandle( string pszActionSetName /*const char **/ ) { return platform.ISteamController_GetActionSetHandle( pszActionSetName ); } + // int + public int GetActiveActionSetLayers( ControllerHandle_t controllerHandle /*ControllerHandle_t*/, IntPtr handlesOut /*ControllerActionSetHandle_t **/ ) + { + return platform.ISteamController_GetActiveActionSetLayers( controllerHandle.Value, (IntPtr) handlesOut ); + } + // ControllerAnalogActionData_t public ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle /*ControllerHandle_t*/, ControllerAnalogActionHandle_t analogActionHandle /*ControllerAnalogActionHandle_t*/ ) { @@ -124,6 +148,12 @@ namespace SteamNative return Marshal.PtrToStringAnsi( string_pointer ); } + // SteamInputType + public SteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle /*ControllerHandle_t*/ ) + { + return platform.ISteamController_GetInputTypeForHandle( controllerHandle.Value ); + } + // ControllerMotionData_t public ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle /*ControllerHandle_t*/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs index 572a7bf..822fb33 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs @@ -410,6 +410,18 @@ namespace SteamNative return platform.ISteamFriends_IsClanChatWindowOpenInSteam( steamIDClanChat.Value ); } + // bool + public bool IsClanOfficialGameGroup( CSteamID steamIDClan /*class CSteamID*/ ) + { + return platform.ISteamFriends_IsClanOfficialGameGroup( steamIDClan.Value ); + } + + // bool + public bool IsClanPublic( CSteamID steamIDClan /*class CSteamID*/ ) + { + return platform.ISteamFriends_IsClanPublic( steamIDClan.Value ); + } + // SteamAPICall_t public CallbackHandle IsFollowing( CSteamID steamID /*class CSteamID*/, Action CallbackFunction = null /*Action*/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs index 0197adc..1d6b917 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs @@ -204,6 +204,12 @@ namespace SteamNative platform.ISteamHTMLSurface_SetCookie( pchHostname, pchKey, pchValue, pchPath, nExpires.Value, bSecure, bHTTPOnly ); } + // void + public void SetDPIScalingFactor( HHTMLBrowser unBrowserHandle /*HHTMLBrowser*/, float flDPIScaling /*float*/ ) + { + platform.ISteamHTMLSurface_SetDPIScalingFactor( unBrowserHandle.Value, flDPIScaling ); + } + // void public void SetHorizontalScroll( HHTMLBrowser unBrowserHandle /*HHTMLBrowser*/, uint nAbsolutePixelScroll /*uint32*/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs index 9da4ce1..75da1b4 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs @@ -149,12 +149,30 @@ namespace SteamNative return bSuccess; } + // bool + public bool GetItemPrice( SteamItemDef_t iDefinition /*SteamItemDef_t*/, out ulong pPrice /*uint64 **/ ) + { + return platform.ISteamInventory_GetItemPrice( iDefinition.Value, out pPrice ); + } + // bool public bool GetItemsByID( ref SteamInventoryResult_t pResultHandle /*SteamInventoryResult_t **/, SteamItemInstanceID_t[] pInstanceIDs /*const SteamItemInstanceID_t **/, uint unCountInstanceIDs /*uint32*/ ) { return platform.ISteamInventory_GetItemsByID( ref pResultHandle.Value, pInstanceIDs.Select( x => x.Value ).ToArray(), unCountInstanceIDs ); } + // bool + public bool GetItemsWithPrices( IntPtr pArrayItemDefs /*SteamItemDef_t **/, IntPtr pPrices /*uint64 **/, uint unArrayLength /*uint32*/ ) + { + return platform.ISteamInventory_GetItemsWithPrices( (IntPtr) pArrayItemDefs, (IntPtr) pPrices, unArrayLength ); + } + + // uint + public uint GetNumItemsWithPrices() + { + return platform.ISteamInventory_GetNumItemsWithPrices(); + } + // bool // with: Detect_StringFetch False public bool GetResultItemProperty( SteamInventoryResult_t resultHandle /*SteamInventoryResult_t*/, uint unItemIndex /*uint32*/, string pchPropertyName /*const char **/, out string pchValueBuffer /*char **/ ) @@ -212,6 +230,12 @@ namespace SteamNative return platform.ISteamInventory_LoadItemDefinitions(); } + // bool + public bool RemoveProperty( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, SteamItemInstanceID_t nItemID /*SteamItemInstanceID_t*/, string pchPropertyName /*const char **/ ) + { + return platform.ISteamInventory_RemoveProperty( handle.Value, nItemID.Value, pchPropertyName ); + } + // SteamAPICall_t public CallbackHandle RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID /*class CSteamID*/, Action CallbackFunction = null /*Action*/ ) { @@ -223,6 +247,17 @@ namespace SteamNative return SteamInventoryEligiblePromoItemDefIDs_t.CallResult( steamworks, callback, CallbackFunction ); } + // SteamAPICall_t + public CallbackHandle RequestPrices( Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamInventory_RequestPrices(); + + if ( CallbackFunction == null ) return null; + + return SteamInventoryRequestPricesResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + // void public void SendItemDropHeartbeat() { @@ -235,6 +270,53 @@ namespace SteamNative return platform.ISteamInventory_SerializeResult( resultHandle.Value, (IntPtr) pOutBuffer, out punOutBufferSize ); } + // bool + public bool SetProperty( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, SteamItemInstanceID_t nItemID /*SteamItemInstanceID_t*/, string pchPropertyName /*const char **/, string pchPropertyValue /*const char **/ ) + { + return platform.ISteamInventory_SetProperty( handle.Value, nItemID.Value, pchPropertyName, pchPropertyValue ); + } + + // bool + public bool SetProperty0( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, SteamItemInstanceID_t nItemID /*SteamItemInstanceID_t*/, string pchPropertyName /*const char **/, bool bValue /*bool*/ ) + { + return platform.ISteamInventory_SetProperty0( handle.Value, nItemID.Value, pchPropertyName, bValue ); + } + + // bool + public bool SetProperty0( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, SteamItemInstanceID_t nItemID /*SteamItemInstanceID_t*/, string pchPropertyName /*const char **/, long nValue /*int64*/ ) + { + return platform.ISteamInventory_SetProperty0( handle.Value, nItemID.Value, pchPropertyName, nValue ); + } + + // bool + public bool SetProperty0( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, SteamItemInstanceID_t nItemID /*SteamItemInstanceID_t*/, string pchPropertyName /*const char **/, float flValue /*float*/ ) + { + return platform.ISteamInventory_SetProperty0( handle.Value, nItemID.Value, pchPropertyName, flValue ); + } + + // SteamAPICall_t + public CallbackHandle StartPurchase( SteamItemDef_t[] pArrayItemDefs /*const SteamItemDef_t **/, uint[] punArrayQuantity /*const uint32 **/, uint unArrayLength /*uint32*/, Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamInventory_StartPurchase( pArrayItemDefs.Select( x => x.Value ).ToArray(), punArrayQuantity, unArrayLength ); + + if ( CallbackFunction == null ) return null; + + return SteamInventoryStartPurchaseResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + + // SteamInventoryUpdateHandle_t + public SteamInventoryUpdateHandle_t StartUpdateProperties() + { + return platform.ISteamInventory_StartUpdateProperties(); + } + + // bool + public bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle /*SteamInventoryUpdateHandle_t*/, ref SteamInventoryResult_t pResultHandle /*SteamInventoryResult_t **/ ) + { + return platform.ISteamInventory_SubmitUpdateProperties( handle.Value, ref pResultHandle.Value ); + } + // bool public bool TradeItems( ref SteamInventoryResult_t pResultHandle /*SteamInventoryResult_t **/, CSteamID steamIDTradePartner /*class CSteamID*/, SteamItemInstanceID_t[] pArrayGive /*const SteamItemInstanceID_t **/, uint[] pArrayGiveQuantity /*const uint32 **/, uint nArrayGiveLength /*uint32*/, SteamItemInstanceID_t[] pArrayGet /*const SteamItemInstanceID_t **/, uint[] pArrayGetQuantity /*const uint32 **/, uint nArrayGetLength /*uint32*/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamParentalSettings.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamParentalSettings.cs new file mode 100644 index 0000000..f79d5c6 --- /dev/null +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamParentalSettings.cs @@ -0,0 +1,83 @@ +using System; +using System.Runtime.InteropServices; +using System.Linq; + +namespace SteamNative +{ + internal unsafe class SteamParentalSettings : IDisposable + { + // + // Holds a platform specific implentation + // + internal Platform.Interface platform; + internal Facepunch.Steamworks.BaseSteamworks steamworks; + + // + // Constructor decides which implementation to use based on current platform + // + internal SteamParentalSettings( Facepunch.Steamworks.BaseSteamworks steamworks, IntPtr pointer ) + { + this.steamworks = steamworks; + + if ( Platform.IsWindows64 ) platform = new Platform.Win64( pointer ); + else if ( Platform.IsWindows32 ) platform = new Platform.Win32( pointer ); + else if ( Platform.IsLinux32 ) platform = new Platform.Linux32( pointer ); + else if ( Platform.IsLinux64 ) platform = new Platform.Linux64( pointer ); + else if ( Platform.IsOsx ) platform = new Platform.Mac( pointer ); + } + + // + // Class is invalid if we don't have a valid implementation + // + public bool IsValid{ get{ return platform != null && platform.IsValid; } } + + // + // When shutting down clear all the internals to avoid accidental use + // + public virtual void Dispose() + { + if ( platform != null ) + { + platform.Dispose(); + platform = null; + } + } + + // bool + public bool BIsAppBlocked( AppId_t nAppID /*AppId_t*/ ) + { + return platform.ISteamParentalSettings_BIsAppBlocked( nAppID.Value ); + } + + // bool + public bool BIsAppInBlockList( AppId_t nAppID /*AppId_t*/ ) + { + return platform.ISteamParentalSettings_BIsAppInBlockList( nAppID.Value ); + } + + // bool + public bool BIsFeatureBlocked( ParentalFeature eFeature /*EParentalFeature*/ ) + { + return platform.ISteamParentalSettings_BIsFeatureBlocked( eFeature ); + } + + // bool + public bool BIsFeatureInBlockList( ParentalFeature eFeature /*EParentalFeature*/ ) + { + return platform.ISteamParentalSettings_BIsFeatureInBlockList( eFeature ); + } + + // bool + public bool BIsParentalLockEnabled() + { + return platform.ISteamParentalSettings_BIsParentalLockEnabled(); + } + + // bool + public bool BIsParentalLockLocked() + { + return platform.ISteamParentalSettings_BIsParentalLockLocked(); + } + + } +} diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs index 7c5650f..7d6edf9 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs @@ -43,6 +43,17 @@ namespace SteamNative } } + // SteamAPICall_t + public CallbackHandle AddAppDependency( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, AppId_t nAppID /*AppId_t*/, Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamUGC_AddAppDependency( nPublishedFileID.Value, nAppID.Value ); + + if ( CallbackFunction == null ) return null; + + return AddAppDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + // SteamAPICall_t public CallbackHandle AddDependency( PublishedFileId_t nParentPublishedFileID /*PublishedFileId_t*/, PublishedFileId_t nChildPublishedFileID /*PublishedFileId_t*/, Action CallbackFunction = null /*Action*/ ) { @@ -141,12 +152,34 @@ namespace SteamNative return platform.ISteamUGC_CreateQueryUserUGCRequest( unAccountID.Value, eListType, eMatchingUGCType, eSortOrder, nCreatorAppID.Value, nConsumerAppID.Value, unPage ); } + // SteamAPICall_t + public CallbackHandle DeleteItem( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamUGC_DeleteItem( nPublishedFileID.Value ); + + if ( CallbackFunction == null ) return null; + + return DeleteItemResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + // bool public bool DownloadItem( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, bool bHighPriority /*bool*/ ) { return platform.ISteamUGC_DownloadItem( nPublishedFileID.Value, bHighPriority ); } + // SteamAPICall_t + public CallbackHandle GetAppDependencies( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamUGC_GetAppDependencies( nPublishedFileID.Value ); + + if ( CallbackFunction == null ) return null; + + return GetAppDependenciesResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + // bool public bool GetItemDownloadInfo( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, out ulong punBytesDownloaded /*uint64 **/, out ulong punBytesTotal /*uint64 **/ ) { @@ -306,6 +339,17 @@ namespace SteamNative return platform.ISteamUGC_ReleaseQueryUGCRequest( handle.Value ); } + // SteamAPICall_t + public CallbackHandle RemoveAppDependency( PublishedFileId_t nPublishedFileID /*PublishedFileId_t*/, AppId_t nAppID /*AppId_t*/, Action CallbackFunction = null /*Action*/ ) + { + SteamAPICall_t callback = 0; + callback = platform.ISteamUGC_RemoveAppDependency( nPublishedFileID.Value, nAppID.Value ); + + if ( CallbackFunction == null ) return null; + + return RemoveAppDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); + } + // SteamAPICall_t public CallbackHandle RemoveDependency( PublishedFileId_t nParentPublishedFileID /*PublishedFileId_t*/, PublishedFileId_t nChildPublishedFileID /*PublishedFileId_t*/, Action CallbackFunction = null /*Action*/ ) { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Structs.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Structs.cs index edb08c1..22f4fa1 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Structs.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Structs.cs @@ -20841,160 +20841,6 @@ namespace SteamNative } } - [StructLayout( LayoutKind.Sequential, Pack = 8 )] - internal struct SteamUnifiedMessagesSendMethodResult_t - { - public const int CallbackId = CallbackIdentifiers.ClientUnifiedMessages + 1; - public ulong Handle; // m_hHandle ClientUnifiedMessageHandle - public ulong Context; // m_unContext uint64 - public Result Result; // m_eResult enum EResult - public uint ResponseSize; // m_unResponseSize uint32 - - // - // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. - // - public static SteamUnifiedMessagesSendMethodResult_t FromPointer( IntPtr p ) - { - if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); - return (SteamUnifiedMessagesSendMethodResult_t) Marshal.PtrToStructure( p, typeof(SteamUnifiedMessagesSendMethodResult_t) ); - } - - [StructLayout( LayoutKind.Sequential, Pack = 4 )] - internal struct PackSmall - { - public ulong Handle; // m_hHandle ClientUnifiedMessageHandle - public ulong Context; // m_unContext uint64 - public Result Result; // m_eResult enum EResult - public uint ResponseSize; // m_unResponseSize uint32 - - // - // Easily convert from PackSmall to SteamUnifiedMessagesSendMethodResult_t - // - public static implicit operator SteamUnifiedMessagesSendMethodResult_t ( SteamUnifiedMessagesSendMethodResult_t.PackSmall d ) - { - return new SteamUnifiedMessagesSendMethodResult_t() - { - Handle = d.Handle, - Context = d.Context, - Result = d.Result, - ResponseSize = d.ResponseSize, - }; - } - } - - public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) - { - var handle = new CallbackHandle(); - handle.steamworks = steamworks; - - // - // Create the functions we need for the vtable - // - if ( Facepunch.Steamworks.Config.UseThisCall ) - { - Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; - Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; - Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( SteamUnifiedMessagesSendMethodResult_t ) ); - - // - // If this platform is PackSmall, use PackSmall versions of everything instead - // - if ( Platform.PackSmall ) - { - funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); - } - - // - // Allocate a handle to each function, so they don't get disposed - // - handle.FuncA = GCHandle.Alloc( funcA ); - handle.FuncB = GCHandle.Alloc( funcB ); - handle.FuncC = GCHandle.Alloc( funcC ); - - // - // Create the VTable by manually allocating the memory and copying across - // - handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); - var vTable = new Callback.VTable() - { - ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), - ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), - GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), - }; - // - // The order of these functions are swapped on Windows - // - if ( Platform.IsWindows ) - { - vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); - vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); - } - Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); - } - else - { - Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; - Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; - Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( SteamUnifiedMessagesSendMethodResult_t ) ); - - // - // If this platform is PackSmall, use PackSmall versions of everything instead - // - if ( Platform.PackSmall ) - { - funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); - } - - // - // Allocate a handle to each function, so they don't get disposed - // - handle.FuncA = GCHandle.Alloc( funcA ); - handle.FuncB = GCHandle.Alloc( funcB ); - handle.FuncC = GCHandle.Alloc( funcC ); - - // - // Create the VTable by manually allocating the memory and copying across - // - handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); - var vTable = new Callback.VTable() - { - ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), - ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), - GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), - }; - // - // The order of these functions are swapped on Windows - // - if ( Platform.IsWindows ) - { - vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); - vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); - } - Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); - } - - // - // Create the callback object - // - var cb = new Callback(); - cb.vTablePtr = handle.vTablePtr; - cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; - cb.CallbackId = CallbackId; - - // - // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native - // - handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); - - // - // Register the callback with Steam - // - steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); - - steamworks.RegisterCallbackHandle( handle ); - } - } - [StructLayout( LayoutKind.Sequential, Pack = 8 )] internal struct ControllerAnalogActionData_t { @@ -21988,6 +21834,7 @@ namespace SteamNative public Result Result; // m_eResult enum EResult [MarshalAs(UnmanagedType.I1)] public bool UserNeedsToAcceptWorkshopLegalAgreement; // m_bUserNeedsToAcceptWorkshopLegalAgreement _Bool + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t // // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. @@ -22004,6 +21851,7 @@ namespace SteamNative public Result Result; // m_eResult enum EResult [MarshalAs(UnmanagedType.I1)] public bool UserNeedsToAcceptWorkshopLegalAgreement; // m_bUserNeedsToAcceptWorkshopLegalAgreement _Bool + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t // // Easily convert from PackSmall to SubmitItemUpdateResult_t @@ -22014,6 +21862,7 @@ namespace SteamNative { Result = d.Result, UserNeedsToAcceptWorkshopLegalAgreement = d.UserNeedsToAcceptWorkshopLegalAgreement, + PublishedFileId = d.PublishedFileId, }; } } @@ -24383,6 +24232,1133 @@ namespace SteamNative } } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct AddAppDependencyResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientUGC + 14; + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public uint AppID; // m_nAppID AppId_t + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static AddAppDependencyResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (AddAppDependencyResult_t) Marshal.PtrToStructure( p, typeof(AddAppDependencyResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public uint AppID; // m_nAppID AppId_t + + // + // Easily convert from PackSmall to AddAppDependencyResult_t + // + public static implicit operator AddAppDependencyResult_t ( AddAppDependencyResult_t.PackSmall d ) + { + return new AddAppDependencyResult_t() + { + Result = d.Result, + PublishedFileId = d.PublishedFileId, + AppID = d.AppID, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( AddAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( AddAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( AddAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( AddAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct RemoveAppDependencyResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientUGC + 15; + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public uint AppID; // m_nAppID AppId_t + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static RemoveAppDependencyResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (RemoveAppDependencyResult_t) Marshal.PtrToStructure( p, typeof(RemoveAppDependencyResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public uint AppID; // m_nAppID AppId_t + + // + // Easily convert from PackSmall to RemoveAppDependencyResult_t + // + public static implicit operator RemoveAppDependencyResult_t ( RemoveAppDependencyResult_t.PackSmall d ) + { + return new RemoveAppDependencyResult_t() + { + Result = d.Result, + PublishedFileId = d.PublishedFileId, + AppID = d.AppID, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( RemoveAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( RemoveAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( RemoveAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( RemoveAppDependencyResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct GetAppDependenciesResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientUGC + 16; + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public AppId_t [32] GAppIDs; // m_rgAppIDs AppId_t [32] + public uint NumAppDependencies; // m_nNumAppDependencies uint32 + public uint TotalNumAppDependencies; // m_nTotalNumAppDependencies uint32 + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static GetAppDependenciesResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (GetAppDependenciesResult_t) Marshal.PtrToStructure( p, typeof(GetAppDependenciesResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + public AppId_t [32] GAppIDs; // m_rgAppIDs AppId_t [32] + public uint NumAppDependencies; // m_nNumAppDependencies uint32 + public uint TotalNumAppDependencies; // m_nTotalNumAppDependencies uint32 + + // + // Easily convert from PackSmall to GetAppDependenciesResult_t + // + public static implicit operator GetAppDependenciesResult_t ( GetAppDependenciesResult_t.PackSmall d ) + { + return new GetAppDependenciesResult_t() + { + Result = d.Result, + PublishedFileId = d.PublishedFileId, + GAppIDs = d.GAppIDs, + NumAppDependencies = d.NumAppDependencies, + TotalNumAppDependencies = d.TotalNumAppDependencies, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( GetAppDependenciesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( GetAppDependenciesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( GetAppDependenciesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( GetAppDependenciesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct DeleteItemResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientUGC + 17; + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static DeleteItemResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (DeleteItemResult_t) Marshal.PtrToStructure( p, typeof(DeleteItemResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Result; // m_eResult enum EResult + public ulong PublishedFileId; // m_nPublishedFileId PublishedFileId_t + + // + // Easily convert from PackSmall to DeleteItemResult_t + // + public static implicit operator DeleteItemResult_t ( DeleteItemResult_t.PackSmall d ) + { + return new DeleteItemResult_t() + { + Result = d.Result, + PublishedFileId = d.PublishedFileId, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( DeleteItemResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( DeleteItemResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( DeleteItemResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( DeleteItemResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] internal struct SteamAppInstalled_t { @@ -27843,6 +28819,154 @@ namespace SteamNative } } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct HTML_BrowserRestarted_t + { + public const int CallbackId = CallbackIdentifiers.SteamHTMLSurface + 27; + public uint UnBrowserHandle; // unBrowserHandle HHTMLBrowser + public uint UnOldBrowserHandle; // unOldBrowserHandle HHTMLBrowser + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static HTML_BrowserRestarted_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (HTML_BrowserRestarted_t) Marshal.PtrToStructure( p, typeof(HTML_BrowserRestarted_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public uint UnBrowserHandle; // unBrowserHandle HHTMLBrowser + public uint UnOldBrowserHandle; // unOldBrowserHandle HHTMLBrowser + + // + // Easily convert from PackSmall to HTML_BrowserRestarted_t + // + public static implicit operator HTML_BrowserRestarted_t ( HTML_BrowserRestarted_t.PackSmall d ) + { + return new HTML_BrowserRestarted_t() + { + UnBrowserHandle = d.UnBrowserHandle, + UnOldBrowserHandle = d.UnOldBrowserHandle, + }; + } + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( HTML_BrowserRestarted_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( HTML_BrowserRestarted_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] internal struct SteamItemDetails_t { @@ -28463,6 +29587,567 @@ namespace SteamNative } } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct SteamInventoryStartPurchaseResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientInventory + 4; + public Result Esult; // m_result enum EResult + public ulong OrderID; // m_ulOrderID uint64 + public ulong TransID; // m_ulTransID uint64 + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static SteamInventoryStartPurchaseResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (SteamInventoryStartPurchaseResult_t) Marshal.PtrToStructure( p, typeof(SteamInventoryStartPurchaseResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Esult; // m_result enum EResult + public ulong OrderID; // m_ulOrderID uint64 + public ulong TransID; // m_ulTransID uint64 + + // + // Easily convert from PackSmall to SteamInventoryStartPurchaseResult_t + // + public static implicit operator SteamInventoryStartPurchaseResult_t ( SteamInventoryStartPurchaseResult_t.PackSmall d ) + { + return new SteamInventoryStartPurchaseResult_t() + { + Esult = d.Esult, + OrderID = d.OrderID, + TransID = d.TransID, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( SteamInventoryStartPurchaseResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( SteamInventoryStartPurchaseResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( SteamInventoryStartPurchaseResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( SteamInventoryStartPurchaseResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + + [StructLayout( LayoutKind.Sequential, Pack = 8 )] + internal struct SteamInventoryRequestPricesResult_t + { + public const int CallbackId = CallbackIdentifiers.ClientInventory + 5; + public Result Esult; // m_result enum EResult + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + public string Currency; // m_rgchCurrency char [4] + + // + // Read this struct from a pointer, usually from Native. It will automatically do the awesome stuff. + // + public static SteamInventoryRequestPricesResult_t FromPointer( IntPtr p ) + { + if ( Platform.PackSmall ) return (PackSmall) Marshal.PtrToStructure( p, typeof(PackSmall) ); + return (SteamInventoryRequestPricesResult_t) Marshal.PtrToStructure( p, typeof(SteamInventoryRequestPricesResult_t) ); + } + + [StructLayout( LayoutKind.Sequential, Pack = 4 )] + internal struct PackSmall + { + public Result Esult; // m_result enum EResult + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + public string Currency; // m_rgchCurrency char [4] + + // + // Easily convert from PackSmall to SteamInventoryRequestPricesResult_t + // + public static implicit operator SteamInventoryRequestPricesResult_t ( SteamInventoryRequestPricesResult_t.PackSmall d ) + { + return new SteamInventoryRequestPricesResult_t() + { + Esult = d.Esult, + Currency = d.Currency, + }; + } + } + + public static CallbackHandle CallResult( Facepunch.Steamworks.BaseSteamworks steamworks, SteamAPICall_t call, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + handle.CallResultHandle = call; + handle.CallResult = true; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( SteamInventoryRequestPricesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { handle.Dispose(); CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => + { + if ( hSteamAPICall != call ) return; + + handle.CallResultHandle = 0; + handle.Dispose(); + + CallbackFunction( FromPointer( p ), bIOFailure ); + }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( SteamInventoryRequestPricesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallResult( handle.PinnedCallback.AddrOfPinnedObject(), call ); + + return handle; + } + + public static void RegisterCallback( Facepunch.Steamworks.BaseSteamworks steamworks, Action CallbackFunction ) + { + var handle = new CallbackHandle(); + handle.steamworks = steamworks; + + // + // Create the functions we need for the vtable + // + if ( Facepunch.Steamworks.Config.UseThisCall ) + { + Callback.ThisCall.Result funcA = ( _, p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.ThisCall.ResultWithInfo funcB = ( _, p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.ThisCall.GetSize funcC = ( _ ) => Marshal.SizeOf( typeof( SteamInventoryRequestPricesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( _ ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + else + { + Callback.StdCall.Result funcA = ( p ) => { CallbackFunction( FromPointer( p ), false ); }; + Callback.StdCall.ResultWithInfo funcB = ( p, bIOFailure, hSteamAPICall ) => { CallbackFunction( FromPointer( p ), bIOFailure ); }; + Callback.StdCall.GetSize funcC = ( ) => Marshal.SizeOf( typeof( SteamInventoryRequestPricesResult_t ) ); + + // + // If this platform is PackSmall, use PackSmall versions of everything instead + // + if ( Platform.PackSmall ) + { + funcC = ( ) => Marshal.SizeOf( typeof( PackSmall ) ); + } + + // + // Allocate a handle to each function, so they don't get disposed + // + handle.FuncA = GCHandle.Alloc( funcA ); + handle.FuncB = GCHandle.Alloc( funcB ); + handle.FuncC = GCHandle.Alloc( funcC ); + + // + // Create the VTable by manually allocating the memory and copying across + // + handle.vTablePtr = Marshal.AllocHGlobal( Marshal.SizeOf( typeof( Callback.VTable ) ) ); + var vTable = new Callback.VTable() + { + ResultA = Marshal.GetFunctionPointerForDelegate( funcA ), + ResultB = Marshal.GetFunctionPointerForDelegate( funcB ), + GetSize = Marshal.GetFunctionPointerForDelegate( funcC ), + }; + // + // The order of these functions are swapped on Windows + // + if ( Platform.IsWindows ) + { + vTable.ResultA = Marshal.GetFunctionPointerForDelegate( funcB ); + vTable.ResultB = Marshal.GetFunctionPointerForDelegate( funcA ); + } + Marshal.StructureToPtr( vTable, handle.vTablePtr, false ); + } + + // + // Create the callback object + // + var cb = new Callback(); + cb.vTablePtr = handle.vTablePtr; + cb.CallbackFlags = steamworks.IsGameServer ? (byte) SteamNative.Callback.Flags.GameServer : (byte) 0; + cb.CallbackId = CallbackId; + + // + // Pin the callback, so it doesn't get garbage collected and we can pass the pointer to native + // + handle.PinnedCallback = GCHandle.Alloc( cb, GCHandleType.Pinned ); + + // + // Register the callback with Steam + // + steamworks.native.api.SteamAPI_RegisterCallback( handle.PinnedCallback.AddrOfPinnedObject(), CallbackId ); + + steamworks.RegisterCallbackHandle( handle ); + } + } + [StructLayout( LayoutKind.Sequential, Pack = 8 )] internal struct BroadcastUploadStop_t { diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.Types.cs b/Facepunch.Steamworks/SteamNative/SteamNative.Types.cs index 22d4433..4cbb9d3 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.Types.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.Types.cs @@ -229,6 +229,21 @@ namespace SteamNative } } + internal struct SiteId_t + { + public ulong Value; + + public static implicit operator SiteId_t( ulong value ) + { + return new SiteId_t(){ Value = value }; + } + + public static implicit operator ulong( SiteId_t value ) + { + return value.Value; + } + } + internal struct HAuthTicket { public uint Value; @@ -499,21 +514,6 @@ namespace SteamNative } } - internal struct ClientUnifiedMessageHandle - { - public ulong Value; - - public static implicit operator ClientUnifiedMessageHandle( ulong value ) - { - return new ClientUnifiedMessageHandle(){ Value = value }; - } - - public static implicit operator ulong( ClientUnifiedMessageHandle value ) - { - return value.Value; - } - } - internal struct ControllerHandle_t { public ulong Value; @@ -664,6 +664,21 @@ namespace SteamNative } } + internal struct SteamInventoryUpdateHandle_t + { + public ulong Value; + + public static implicit operator SteamInventoryUpdateHandle_t( ulong value ) + { + return new SteamInventoryUpdateHandle_t(){ Value = value }; + } + + public static implicit operator ulong( SteamInventoryUpdateHandle_t value ) + { + return value.Value; + } + } + internal struct CGameID { public ulong Value;