BlitzSteam update 06.02.2016

This commit is contained in:
Michael Dirks
2016-02-06 00:17:29 +01:00
parent d6ef2b46f0
commit 0ebbd7e9a0
38 changed files with 1871 additions and 787 deletions
+468 -121
View File
@@ -12,11 +12,32 @@
; GNU General Public License for more details.
;
; You should have received a copy of the GNU Lesser General Public License
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
; along with this program. If not, see <http://www.gnu.org/licenses/>.
; Steam -------------------------------------------------------------------------
;------------------------------------------------------------------------------
;! Enumeration - EDenyReason
;------------------------------------------------------------------------------
; Result codes to GSHandleClientDeny/Kick
Const BS_EDenyReason_Invalid = 0
Const BS_EDenyReason_InvalidVersion = 1
Const BS_EDenyReason_Generic = 2
Const BS_EDenyReason_NotLoggedOn = 3
Const BS_EDenyReason_NoLicense = 4
Const BS_EDenyReason_Cheater = 5
Const BS_EDenyReason_LoggedInElseWhere = 6
Const BS_EDenyReason_UnknownText = 7
Const BS_EDenyReason_IncompatibleAnticheat = 8
Const BS_EDenyReason_MemoryCorruption = 9
Const BS_EDenyReason_IncompatibleSoftware = 10
Const BS_EDenyReason_SteamConnectionLost = 11
Const BS_EDenyReason_SteamConnectionError = 12
Const BS_EDenyReason_SteamResponseTimedOut = 13
Const BS_EDenyReason_SteamValidationStalled = 14
Const BS_EDenyReason_SteamOwnerLeftGuestUser = 15
; SteamClient -------------------------------------------------------------------
;------------------------------------------------------------------------------
;! Enumeration - EAccountType
;------------------------------------------------------------------------------
Const BS_EAccountType_Invalid = 0
Const BS_EAccountType_Individual = 1
Const BS_EAccountType_Multiseat = 2
@@ -29,6 +50,19 @@ Const BS_EAccountType_Chat = 8
Const BS_EAccountType_ConsoleUser = 9
Const BS_EAccountType_AnonUser = 10
;------------------------------------------------------------------------------
;! Enumeration - EBeginAuthSessionResult
;------------------------------------------------------------------------------
Const BS_EBeginAuthSessionResult_OK = 0 ; Ticket is valid for this game and this steamID.
Const BS_EBeginAuthSessionResult_InvalidTicket = 1 ; Ticket is not valid.
Const BS_EBeginAuthSessionResult_DuplicateRequest = 2 ; A ticket has already been submitted for this steamID
Const BS_EBeginAuthSessionResult_InvalidVersion = 3 ; Ticket is from an incompatible interface version
Const BS_EBeginAuthSessionResult_GameMismatch = 4 ; Ticket is not for this game
Const BS_EBeginAuthSessionResult_ExpiredTicket = 5 ; Ticket has expired
;------------------------------------------------------------------------------
;! Enumeration - ECallback
;------------------------------------------------------------------------------
Const BS_ECallback_SteamAppListCallbacks = 3900
Const BS_ECallback_SteamAppsCallbacks = 1000
Const BS_ECallback_SteamBillingCallbacks = 400
@@ -75,22 +109,311 @@ Const BS_ECallback_ClientUnifiedMessagesCallbacks = 2500
Const BS_ECallback_ClientUserCallbacks = 900
Const BS_ECallback_ClientUtilsCallbacks = 1600
Const BS_ECallback_ClientVideoCallbacks = 4600
Const BS_ECallback_ClientVRCallbacks = 4200
Const BS_ECallback_ClientVRCallbacks = 4200
; SteamAppList ------------------------------------------------------------------
;------------------------------------------------------------------------------
;! Enumeration - EFriendRelationShip
;------------------------------------------------------------------------------
Const BS_EFriendRelationShip_None = 0
Const BS_EFriendRelationShip_Blocked = 1
Const BS_EFriendRelationShip_RequestRecipient = 2
Const BS_EFriendRelationShip_Friend = 3
Const BS_EFriendRelationShip_RequestInitiator = 4
Const BS_EFriendRelationShip_Ignored = 5
Const BS_EFriendRelationShip_IgnoredFriend = 6
Const BS_EFriendRelationShip_Suggested = 7
;------------------------------------------------------------------------------
;! Enumeration - EFriendFlags
;------------------------------------------------------------------------------
Const BS_EFriendFlags_None = $00000000
Const BS_EFriendFlags_Blocked = $00000001
Const BS_EFriendFlags_FriendshipRequested = $00000002
Const BS_EFriendFlags_Immediate = $00000004
Const BS_EFriendFlags_ClanMember = $00000008
Const BS_EFriendFlags_OnGameServer = $00000010
Const BS_EFriendFlags_RequestingFriendship = $00000080
Const BS_EFriendFlags_RequestingInfo = $00000100
Const BS_EFriendFlags_Ignored = $00000200
Const BS_EFriendFlags_IgnoredFriend = $00000400
Const BS_EFriendFlags_Suggested = $00000800
Const BS_EFriendFlags_All = $0000FFFF
;------------------------------------------------------------------------------
;! Enumeration - ELeaderboardDataRequest
;------------------------------------------------------------------------------
Const BS_ELeaderboardDataRequest_Global = 0
Const BS_ELeaderboardDataRequest_GlobalAroundUser = 1
Const BS_ELeaderboardDataRequest_Friends = 2
Const BS_ELeaderboardDataRequest_Users = 3
;------------------------------------------------------------------------------
;! Enumeration - ELeaderboardDisplayType
;------------------------------------------------------------------------------
Const BS_ELeaderboardDisplayType_None = 0
Const BS_ELeaderboardDisplayType_Numeric = 1 ; simple numerical score
Const BS_ELeaderboardDisplayType_TimeSeconds = 2 ; the score represents a time, in seconds
Const BS_ELeaderboardDisplayType_TimeMilliSeconds = 3 ; the score represents a time, in milliseconds
;------------------------------------------------------------------------------
;! Enumeration - ELeaderboardSortMethod
;------------------------------------------------------------------------------
Const BS_ELeaderboardSortMethod_None = 0
Const BS_ELeaderboardSortMethod_Ascending = 1 ; top-score is lowest number
Const BS_ELeaderboardSortMethod_Descending = 2 ; top-score is highest number
;------------------------------------------------------------------------------
;! Enumeration - ELeaderboardUploadScoreMethod
;------------------------------------------------------------------------------
Const BS_ELeaderboardUploadScoreMethod_None = 0
Const BS_ELeaderboardUploadScoreMethod_KeepBest = 1 ; Leaderboard will keep user's best score
Const BS_ELeaderboardUploadScoreMethod_ForceUpdate = 2 ; Leaderboard will always replace score with specified
;------------------------------------------------------------------------------
;! Enumeration - EOverlayToStoreFlag
;------------------------------------------------------------------------------
Const BS_EOverlayToStoreFlag_None = 0
Const BS_EOverlayToStoreFlag_AddToCart = 1
Const BS_EOverlayToStoreFlag_AddToCartAndShow = 2
;------------------------------------------------------------------------------
;! Enumeration - EPersonaChange
;------------------------------------------------------------------------------
Const BS_EPersonaChange_Name = $0001
Const BS_EPersonaChange_Status = $0002
Const BS_EPersonaChange_ComeOnline = $0004
Const BS_EPersonaChange_GoneOffline = $0008
Const BS_EPersonaChange_GamePlayed = $0010
Const BS_EPersonaChange_GameServer = $0020
Const BS_EPersonaChange_Avatar = $0040
Const BS_EPersonaChange_JoinedSource = $0080
Const BS_EPersonaChange_LeftSource = $0100
Const BS_EPersonaChange_RelationshipChanged = $0200
Const BS_EPersonaChange_NameFirstSet = $0400
Const BS_EPersonaChange_FacebookInfo = $0800
Const BS_EPersonaChange_Nickname = $1000
Const BS_EPersonaChange_SteamLevel = $2000
;------------------------------------------------------------------------------
;! Enumeration - EPersonaState
;------------------------------------------------------------------------------
Const BS_EPersonaState_Offline = 0
Const BS_EPersonaState_Online = 1
Const BS_EPersonaState_Busy = 2
Const BS_EPersonaState_Away = 3
Const BS_EPersonaState_Snooze = 4
Const BS_EPersonaState_LookingToTrade = 5
Const BS_EPersonaState_LookingToPlay = 6
;------------------------------------------------------------------------------
;! Enumeration - EP2PSend
;------------------------------------------------------------------------------
; SendP2PPacket() send types
; Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets
; Basic UDP send. Packets can't be bigger than 1200 bytes (your typical MTU size). Can be lost, or arrive out of order (rare).
; The sending API does have some knowledge of the underlying connection, so if there is no NAT-traversal accomplished or
; there is a recognized adjustment happening on the connection, the packet will be batched until the connection is open again.
Const BS_EP2PSend_Unreliable = 0
; As above, but if the underlying p2p connection isn't yet established the packet will just be thrown away. Using this on the first
; packet sent to a remote host almost guarantees the packet will be dropped.
; This is only really useful for kinds of data that should never buffer up, i.e. voice payload packets
Const BS_EP2PSend_UnreliableNoDelay = 1
; Reliable message send. Can send up to 1MB of data in a single message.
; Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data.
Const BS_EP2PSend_Reliable = 2
; As above, but applies the Nagle algorithm to the send - sends will accumulate
; until the current MTU size (typically ~1200 bytes, but can change) or ~200ms has passed (Nagle algorithm).
; Useful if you want to send a set of smaller messages but have the coalesced into a single packet
; Since the reliable stream is all ordered, you can do several small message sends with k_EP2PSendReliableWithBuffering and then
; do a normal k_EP2PSendReliable to force all the buffered data to be sent.
Const BS_EP2PSend_ReliableWithBuffering = 3
;------------------------------------------------------------------------------
;! Enumeration - EP2PSessionError
;------------------------------------------------------------------------------
; list of possible errors returned by SendP2PPacket() API
; these will be posted in the P2PSessionConnectFail_t callback
Const BS_EP2PSessionError_None = 0
Const BS_EP2PSessionError_NotRunningApp = 1 ; target is not running the same game
Const BS_EP2PSessionError_NoRightsToApp = 2 ; local user doesn't own the app that is running
Const BS_EP2PSessionError_DestinationNotLoggedIn = 3 ; target user isn't connected to Steam
Const BS_EP2PSessionError_Timeout = 4 ; target isn't responding, perhaps not calling AcceptP2PSessionWithUser()
; corporate firewalls can also block this (NAT traversal is not firewall traversal)
; make sure that UDP ports 3478, 4379, and 4380 are open in an outbound direction
Const BS_EP2PSessionError_Max = 5
;------------------------------------------------------------------------------
;! Enumeration - EResult
;------------------------------------------------------------------------------
Const BS_EResult_OK = 1 ; success
Const BS_EResult_Fail = 2 ; generic failure
Const BS_EResult_NoConnection = 3 ; no/failed network connection
Const BS_EResult_NoConnectionRetry = 4 ; OBSOLETE - removed
Const BS_EResult_InvalidPassword = 5 ; password/ticket is invalid
Const BS_EResult_LoggedInElsewhere = 6 ; same user logged in elsewhere
Const BS_EResult_InvalidProtocolVer = 7 ; protocol version is incorrect
Const BS_EResult_InvalidParam = 8 ; a parameter is incorrect
Const BS_EResult_FileNotFound = 9 ; file was not found
Const BS_EResult_Busy = 10 ; called method busy - action not taken
Const BS_EResult_InvalidState = 11 ; called object was in an invalid state
Const BS_EResult_InvalidName = 12 ; name is invalid
Const BS_EResult_InvalidEmail = 13 ; email is invalid
Const BS_EResult_DuplicateName = 14 ; name is not unique
Const BS_EResult_AccessDenied = 15 ; access is denied
Const BS_EResult_Timeout = 16 ; operation timed out
Const BS_EResult_Banned = 17 ; VAC2 banned
Const BS_EResult_AccountNotFound = 18 ; account not found
Const BS_EResult_InvalidSteamID = 19 ; steamID is invalid
Const BS_EResult_ServiceUnavailable = 20 ; The requested service is currently unavailable
Const BS_EResult_NotLoggedOn = 21 ; The user is not logged on
Const BS_EResult_Pending = 22 ; Request is pending (may be in process, or waiting on third party)
Const BS_EResult_EncryptionFailure = 23 ; Encryption or Decryption failed
Const BS_EResult_InsufficientPrivilege = 24 ; Insufficient privilege
Const BS_EResult_LimitExceeded = 25 ; Too much of a good thing
Const BS_EResult_Revoked = 26 ; Access has been revoked (used for revoked guest passes)
Const BS_EResult_Expired = 27 ; License/Guest pass the user is trying to access is expired
Const BS_EResult_AlreadyRedeemed = 28 ; Guest pass has already been redeemed by account, cannot be acked again
Const BS_EResult_DuplicateRequest = 29 ; The request is a duplicate and the action has already occurred in the past, ignored this time
Const BS_EResult_AlreadyOwned = 30 ; All the games in this guest pass redemption request are already owned by the user
Const BS_EResult_IPNotFound = 31 ; IP address not found
Const BS_EResult_PersistFailed = 32 ; failed to write change to the data store
Const BS_EResult_LockingFailed = 33 ; failed to acquire access lock for this operation
Const BS_EResult_LogonSessionReplaced = 34
Const BS_EResult_ConnectFailed = 35
Const BS_EResult_HandshakeFailed = 36
Const BS_EResult_IOFailure = 37
Const BS_EResult_RemoteDisconnect = 38
Const BS_EResult_ShoppingCartNotFound = 39 ; failed to find the shopping cart requested
Const BS_EResult_Blocked = 40 ; a user didn't allow it
Const BS_EResult_Ignored = 41 ; target is ignoring sender
Const BS_EResult_NoMatch = 42 ; nothing matching the request found
Const BS_EResult_AccountDisabled = 43
Const BS_EResult_ServiceReadOnly = 44 ; this service is not accepting content changes right now
Const BS_EResult_AccountNotFeatured = 45 ; account doesn't have value, so this feature isn't available
Const BS_EResult_AdministratorOK = 46 ; allowed to take this action, but only because requester is admin
Const BS_EResult_ContentVersion = 47 ; A Version mismatch in content transmitted within the Steam protocol.
Const BS_EResult_TryAnotherCM = 48 ; The current CM can't service the user making a request, user should try another.
Const BS_EResult_PasswordRequiredToKickSession = 49 ; You are already logged in elsewhere, this cached credential login has failed.
Const BS_EResult_AlreadyLoggedInElsewhere = 50 ; You are already logged in elsewhere, you must wait
Const BS_EResult_Suspended = 51 ; Long running operation (content download) suspended/paused
Const BS_EResult_Cancelled = 52 ; Operation canceled (typically by user: content download)
Const BS_EResult_DataCorruption = 53 ; Operation canceled because data is ill formed or unrecoverable
Const BS_EResult_DiskFull = 54 ; Operation canceled - not enough disk space.
Const BS_EResult_RemoteCallFailed = 55 ; an remote call or IPC call failed
Const BS_EResult_PasswordUnset = 56 ; Password could not be verified as it's unset server side
Const BS_EResult_ExternalAccountUnlinked = 57 ; External account (PSN, Facebook...) is not linked to a Steam account
Const BS_EResult_PSNTicketInvalid = 58 ; PSN ticket was invalid
Const BS_EResult_ExternalAccountAlreadyLinked = 59 ; External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first
Const BS_EResult_RemoteFileConflict = 60 ; The sync cannot resume due to a conflict between the local and remote files
Const BS_EResult_IllegalPassword = 61 ; The requested new password is not legal
Const BS_EResult_SameAsPreviousValue = 62 ; new value is the same as the old one ( secret question and answer )
Const BS_EResult_AccountLogonDenied = 63 ; account login denied due to 2nd factor authentication failure
Const BS_EResult_CannotUseOldPassword = 64 ; The requested new password is not legal
Const BS_EResult_InvalidLoginAuthCode = 65 ; account login denied due to auth code invalid
Const BS_EResult_AccountLogonDeniedNoMail = 66 ; account login denied due to 2nd factor auth failure - and no mail has been sent
Const BS_EResult_HardwareNotCapableOfIPT = 67
Const BS_EResult_IPTInitError = 68
Const BS_EResult_ParentalControlRestricted = 69 ; operation failed due to parental control restrictions for current user
Const BS_EResult_FacebookQueryError = 70 ; Facebook query returned an error
Const BS_EResult_ExpiredLoginAuthCode = 71 ; account login denied due to auth code expired
Const BS_EResult_IPLoginRestrictionFailed = 72
Const BS_EResult_AccountLockedDown = 73
Const BS_EResult_AccountLogonDeniedVerifiedEmailRequired = 74
Const BS_EResult_NoMatchingURL = 75
Const BS_EResult_BadResponse = 76 ; parse failure, missing field, etc.
Const BS_EResult_RequirePasswordReEntry = 77 ; The user cannot complete the action until they re-enter their password
Const BS_EResult_ValueOutOfRange = 78 ; the value entered is outside the acceptable range
Const BS_EResult_UnexpectedError = 79 ; something happened that we didn't expect to ever happen
Const BS_EResult_Disabled = 80 ; The requested service has been configured to be unavailable
Const BS_EResult_InvalidCEGSubmission = 81 ; The set of files submitted to the CEG server are not valid !
Const BS_EResult_RestrictedDevice = 82 ; The device being used is not allowed to perform this action
Const BS_EResult_RegionLocked = 83 ; The action could not be complete because it is region restricted
Const BS_EResult_RateLimitExceeded = 84 ; Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent
Const BS_EResult_AccountLoginDeniedNeedTwoFactor = 85 ; Need two-factor code to login
Const BS_EResult_ItemDeleted = 86 ; The thing we're trying to access has been deleted
Const BS_EResult_AccountLoginDeniedThrottle = 87 ; login attempt failed, try to throttle response to possible attacker
Const BS_EResult_TwoFactorCodeMismatch = 88 ; two factor code mismatch
Const BS_EResult_TwoFactorActivationCodeMismatch = 89 ; activation code for two-factor didn't match
Const BS_EResult_AccountAssociatedToMultiplePartners = 90 ; account has been associated with multiple partners
Const BS_EResult_NotModified = 91 ; data not modified
Const BS_EResult_NoMobileDevice = 92 ; the account does not have a mobile device associated with it
Const BS_EResult_TimeNotSynced = 93 ; the time presented is out of range or tolerance
Const BS_EResult_SmsCodeFailed = 94 ; SMS code failure (no match, none pending, etc.)
Const BS_EResult_AccountLimitExceeded = 95 ; Too many accounts access this resource
Const BS_EResult_AccountActivityLimitExceeded = 96 ; Too many changes to this account
Const BS_EResult_PhoneActivityLimitExceeded = 97 ; Too many changes to this phone
Const BS_EResult_RefundToWallet = 98 ; Cannot refund to payment method, must use wallet
Const BS_EResult_EmailSendFailure = 99 ; Cannot send an email
Const BS_EResult_NotSettled = 100 ; Can't perform operation till payment has settled
Const BS_EResult_NeedCaptcha = 101 ; Needs to provide a valid captcha
;------------------------------------------------------------------------------
;! Enumeration - EServerMode
;------------------------------------------------------------------------------
Const BS_EServerMode_Invalid = 0
Const BS_EServerMode_NoAuthentication = 1
Const BS_EServerMode_Authentication = 2
Const BS_EServerMode_AuthenticationAndSecure = 3
;------------------------------------------------------------------------------
;! Enumeration - EServerFlag
;------------------------------------------------------------------------------
Const BS_EServerFlag_None = $00
Const BS_EServerFlag_Active = $01 ; Server has Users playing
Const BS_EServerFlag_Secure = $02 ; Server wants to be Secure
Const BS_EServerFlag_Dedicated = $04 ; Server is Dedicated
Const BS_EServerFlag_Linux = $08 ; Linux Build
Const BS_EServerFlag_Passworded = $10 ; Password Protected
Const BS_EServerFlag_Private = $20 ; server shouldn't list on master server and
; won't enforce authentication of users that connect to the server.
; Useful when you run a server where the clients may not
; be connected to the internet but you want them to play (i.e LANs)
;------------------------------------------------------------------------------
;! Enumeration - EUserHasLicenseResult
;------------------------------------------------------------------------------
Const BS_EUserHasLicenseResult_HasLicense = 0 ; User has a license for specified app
Const BS_EUserHasLicenseResult_DoesNotHaveLicense = 1 ; User does not have a license for the specified app
Const BS_EUserHasLicenseResult_NoAuth = 2 ; User has not been authenticated
;------------------------------------------------------------------------------
;! Enumeration - EUserRestriction
;------------------------------------------------------------------------------
Const BS_EUserRestrictionNone = 0
Const BS_EUserRestrictionUnknown = 1
Const BS_EUserRestrictionAnyChat = 2
Const BS_EUserRestrictionVoiceChat = 4
Const BS_EUserRestrictionGroupChat = 8
Const BS_EUserRestrictionRating = 16
Const BS_EUserRestrictionGameInvites = 32
Const BS_EUserRestrictionTrading = 64
;------------------------------------------------------------------------------
;! Enumeration - EVoiceResult
;------------------------------------------------------------------------------
Const BS_EVoiceResult_OK = 0
Const BS_EVoiceResult_NotInitialized = 1
Const BS_EVoiceResult_NotRecording = 2
Const BS_EVoiceResult_NoData = 3
Const BS_EVoiceResult_BufferTooSmall = 4
Const BS_EVoiceResult_DataCorrupted = 5
Const BS_EVoiceResult_Restricted = 6
Const BS_EVoiceResult_UnsupportedCodec = 7
Const BS_EVoiceResult_ReceiverOutOfDate = 8
Const BS_EVoiceResult_ReceiverDidNotAnswer = 9
;[Block] Old
;! AppList ---------------------------------------------------------------------
Const BS_CALLBACK_AppInstalled = BS_ECallback_SteamAppListCallbacks + 1
Const BS_CALLBACK_AppUninstalled = BS_ECallback_SteamAppListCallbacks + 2
; SteamApps ---------------------------------------------------------------------
;! Apps ------------------------------------------------------------------------
Const BS_CALLBACK_DLCInstalled = BS_ECallback_SteamAppsCallbacks + 5
Const BS_CALLBACK_APPProofOfPurchaseKeyResponse = BS_ECallback_SteamAppsCallbacks + 13
Const BS_CALLBACK_NewLaunchQueryParameters = BS_ECallback_SteamAppsCallbacks + 14
; The following things are PS3 only:
; ERegisterActivationCodeResult
; RegisterActivationCodeResponse_t
; SteamController ---------------------------------------------------------------
;! Controller ------------------------------------------------------------------
Const BS_MASK_RIGHT_TRIGGER = $00000001
Const BS_MASK_LEFT_TRIGGER = $00000002
Const BS_MASK_RIGHT_BUMPER = $00000004
@@ -123,37 +446,7 @@ Type BS_ControllerState
Field sRightPadXY ; Left/High = X, Right/Low = Y
End Type
; SteamFriends ------------------------------------------------------------------
Const BS_EFriendRelationShip_None = 0
Const BS_EFriendRelationShip_Blocked = 1
Const BS_EFriendRelationShip_RequestRecipient = 2
Const BS_EFriendRelationShip_Friend = 3
Const BS_EFriendRelationShip_RequestInitiator = 4
Const BS_EFriendRelationShip_Ignored = 5
Const BS_EFriendRelationShip_IgnoredFriend = 6
Const BS_EFriendRelationShip_Suggested = 7
Const BS_EPersonaState_Offline = 0
Const BS_EPersonaState_Online = 1
Const BS_EPersonaState_Busy = 2
Const BS_EPersonaState_Away = 3
Const BS_EPersonaState_Snooze = 4
Const BS_EPersonaState_LookingToTrade = 5
Const BS_EPersonaState_LookingToPlay = 6
Const BS_EFriendFlags_None = $00000000
Const BS_EFriendFlags_Blocked = $00000001
Const BS_EFriendFlags_FriendshipRequested = $00000002
Const BS_EFriendFlags_Immediate = $00000004
Const BS_EFriendFlags_ClanMember = $00000008
Const BS_EFriendFlags_OnGameServer = $00000010
Const BS_EFriendFlags_RequestingFriendship = $00000080
Const BS_EFriendFlags_RequestingInfo = $00000100
Const BS_EFriendFlags_Ignored = $00000200
Const BS_EFriendFlags_IgnoredFriend = $00000400
Const BS_EFriendFlags_Suggested = $00000800
Const BS_EFriendFlags_All = $0000FFFF
;! Friends ---------------------------------------------------------------------
Const BS_cchMaxFriendsGroupName = 64
Const BS_cFriendsGroupLimit = 100
Const BS_FriendsGroupID_Invalid = -1
@@ -168,14 +461,6 @@ Type BS_FriendGameInfo
Field m_steamIDLobby%
End Type
Const BS_EUserRestrictionNone = 0
Const BS_EUserRestrictionUnknown = 1
Const BS_EUserRestrictionAnyChat = 2
Const BS_EUserRestrictionVoiceChat = 4
Const BS_EUserRestrictionGroupChat = 8
Const BS_EUserRestrictionRating = 16
Const BS_EUserRestrictionGameInvites = 32
Const BS_EUserRestrictionTrading = 64
Type BS_FriendSessionStateInfo
Field m_uiOnlineSessionInstances
@@ -187,24 +472,6 @@ Const BS_cchMaxRichPresenceKeys = 20
Const BS_cchMaxRichPresenceKeyLength = 64
Const BS_cchMaxRichPresenceValueLength = 256
Const BS_EOverlayToStoreFlag_None = 0
Const BS_EOverlayToStoreFlag_AddToCart = 1
Const BS_EOverlayToStoreFlag_AddToCartAndShow = 2
Const BS_EPersonaChange_Name = $0001
Const BS_EPersonaChange_Status = $0002
Const BS_EPersonaChange_ComeOnline = $0004
Const BS_EPersonaChange_GoneOffline = $0008
Const BS_EPersonaChange_GamePlayed = $0010
Const BS_EPersonaChange_GameServer = $0020
Const BS_EPersonaChange_Avatar = $0040
Const BS_EPersonaChange_JoinedSource = $0080
Const BS_EPersonaChange_LeftSource = $0100
Const BS_EPersonaChange_RelationshipChanged = $0200
Const BS_EPersonaChange_NameFirstSet = $0400
Const BS_EPersonaChange_FacebookInfo = $0800
Const BS_EPersonaChange_Nickname = $1000
Const BS_EPersonaChange_SteamLevel = $2000
Const BS_CALLBACK_PersonaStateChange = BS_ECallback_SteamFriendsCallbacks + 4
Const BS_CALLBACK_GameOverlayActivated = BS_ECallback_SteamFriendsCallbacks + 31
@@ -225,57 +492,132 @@ Const BS_CALLBACK_FriendsIsFollowing = BS_ECallback_SteamFriendsCallbacks +
Const BS_CALLBACK_FriendsEnumerateFollowingList = BS_ECallback_SteamFriendsCallbacks + 46
Const BS_CALLBACK_SetPersonaNameResponse = BS_ECallback_SteamFriendsCallbacks + 47
; SteamGameServer ---------------------------------------------------------------
Const BS_EServerMode_Invalid = 0
Const BS_EServerMode_NoAuthentication = 1
Const BS_EServerMode_Authentication = 2
Const BS_EServerMode_AuthenticationAndSecure = 3
;! GameServer ------------------------------------------------------------------
; SteamUser ---------------------------------------------------------------------
Const BS_EVoiceResult_OK = 0
Const BS_EVoiceResult_NotInitialized = 1
Const BS_EVoiceResult_NotRecording = 2
Const BS_EVoiceResult_NoData = 3
Const BS_EVoiceResult_BufferTooSmall = 4
Const BS_EVoiceResult_DataCorrupted = 5
Const BS_EVoiceResult_Restricted = 6
Const BS_EVoiceResult_UnsupportedCodec = 7
Const BS_EVoiceResult_ReceiverOutOfDate = 8
Const BS_EVoiceResult_ReceiverDidNotAnswer = 9
; client has been approved to connect to this game server
Const BS_CALLBACK_GSClientApprove = BS_ECallback_SteamGameServerCallbacks + 1
Type BS_GSClientApprove_t
Field SteamIDHigh%, SteamIDLow% ; SteamID of approved player
Field OwnerSteamIDHigh%, OwnerSteamIDLow% ; SteamID of original owner for game license
End Type
Const BS_EBeginAuthSessionResult_OK = 0 ; Ticket is valid for this game and this steamID.
Const BS_EBeginAuthSessionResult_InvalidTicket = 1 ; Ticket is not valid.
Const BS_EBeginAuthSessionResult_DuplicateRequest = 2 ; A ticket has already been submitted for this steamID
Const BS_EBeginAuthSessionResult_InvalidVersion = 3 ; Ticket is from an incompatible interface version
Const BS_EBeginAuthSessionResult_GameMismatch = 4 ; Ticket is not for this game
Const BS_EBeginAuthSessionResult_ExpiredTicket = 5 ; Ticket has expired
; client has been denied to connection to this game server
Const BS_CALLBACK_GSClientDeny = BS_ECallback_SteamGameServerCallbacks + 2
Type BS_GSClientDeny_t
Field SteamIDHigh%, SteamIDLow%
Field eDenyReason%, pad0%
Field rgchOptionalText%[31] ; 128 Bytes of Optional Text
End Type
Const BS_EUserHasLicenseResult_HasLicense = 0 ; User has a license for specified app
Const BS_EUserHasLicenseResult_DoesNotHaveLicense = 1 ; User does not have a license for the specified app
Const BS_EUserHasLicenseResult_NoAuth = 2 ; User has not been authenticated
; request the game server should kick the user
Const BS_CALLBACK_GSClientKick = BS_ECallback_SteamGameServerCallbacks + 3
Type BS_GSClientKick_t
Field SteamIDHigh%, SteamIDLow%
Field eDenyReason%, pad0%
End Type
; SteamUserStats ----------------------------------------------------------------
; client achievement info
Const BS_CALLBACK_GSClientAchievementStatus = BS_ECallback_SteamGameServerCallbacks + 6
Type BS_GSClientAchievementStatus_t
Field SteamIDHigh%, SteamIDLow%
Field pchAchievement[31] ; 128 byte C-String Achievement
Field bUnlocked%, pad0%
End Type
; received when the game server requests to be displayed as secure (VAC protected)
; m_bSecure is true if the game server should display itself as secure to users, false otherwise
Const BS_CALLBACK_GSPolicyResponse = BS_ECallback_SteamUserCallbacks + 15
Type BS_GSPolicyResponse_t
Field m_bSecure%, pad0%
End Type
; GS gameplay stats info
Const BS_CALLBACK_GSGameplayStats = BS_ECallback_SteamGameServerCallbacks + 7
Type BS_GSGameplayStats_t
Field eResult%, pad0% ; Result of the call
Field nRank%, pad1% ; Overall rank of the server (0-based)
Field unTotalConnects%, pad2% ; Total number of clients who have ever connected to the server
Field unTotalMinutesPlayed%, pad3% ; Total number of minutes ever played on the server
End Type
; send as a reply to RequestUserGroupStatus()
Const BS_CALLBACK_GSClientGroupStatus = BS_ECallback_SteamGameServerCallbacks + 8
Type BS_GSClientGroupStatus_t
Field SteamIDUserHigh%, SteamIDUserLow%
Field SteamIDGroupHigh%, SteamIDGroupLow%
Field bMember%, pad0%
Field bOfficer%, pad1%
End Type
; Sent as a reply to GetServerReputation()
Const BS_CALLBACK_GSReputation = BS_ECallback_SteamGameServerCallbacks + 9
Type BS_GSReputation_t
Field eResult%, pad0% ; Result of the call
Field unReputationScore%, pad1% ; The reputation score for the game server
Field bBanned%, pad2% ; True if the server is banned from the Steam
; master servers
; The following members are only filled out if m_bBanned is true. They will all
; be set to zero otherwise. Master server bans are by IP so it is possible to be
; banned even when the score is good high if there is a bad server on another port.
; This information can be used to determine which server is bad.
Field unBannedIP%, pad3% ; The IP of the banned server
Field usBannedPort%, pad4% ; The port of the banned server
Field ulBannedGameIDHigh%, ulBannedGameIDLow% ; The game ID the banned server is serving
Field unBanExpires%, pad5% ; Time the ban expires, expressed in the Unix epoch (seconds since 1/1/1970)
End Type
; Sent as a reply to AssociateWithClan()
Const BS_CALLBACK_AssociateWithClanResult = BS_ECallback_SteamGameServerCallbacks + 10
Type BS_AssociateWithClanResult_t
Field eResult% ; Result of the call
End Type
; Sent as a reply to ComputeNewPlayerCompatibility()
Const BS_CALLBACK_ComputeNewPlayerCompatibilityResult = BS_ECallback_SteamGameServerCallbacks + 11
Type BS_ComputeNewPlayerCompatibilityResult_t
Field eResult%, pad0% ; Result of the call
Field cPlayersThatDontLikeCandidate%, pad1%
Field cPlayersThatCandidateDoesntLike%, pad2%
Field cClanPlayersThatDontLikeCandidate%, pad3%
Field SteamIDCandidateHigh%, SteamIDCandidateLow%
End Type
;! Networking ------------------------------------------------------------------
Type BS_P2PSessionState_t
Field bConnectionActive%, pad0%
Field bConnecting%, pad1%
Field eP2PSessionError%, pad2%
Field bUsingRelay%, pad3%
Field nBytesQueuedForSend%, pad4%
Field nPacketsQueuedForSend%, pad5%
Field nRemoteIP%, pad6%
Field nRemotePort%, pad7%
End Type
; callback notification - a user wants to talk to us over the P2P channel via the SendP2PPacket() API
; in response, a call to AcceptP2PPacketsFromUser() needs to be made, if you want to talk with them
Const BS_CALLBACK_P2PSessionRequest = BS_ECallback_SteamNetworkingCallbacks + 2
Type BS_P2PSessionRequest_t
Field steamIDRemoteHigh%, steamIDRemoteLow% ; user who wants to talk to us
End Type
; callback notification - packets can't get through to the specified user via the SendP2PPacket() API
; all packets queued packets unsent at this point will be dropped
; further attempts to send will retry making the connection (but will be dropped if we fail again)
Const BS_CALLBACK_P2PSessionConnectFail = BS_ECallback_SteamNetworkingCallbacks + 3
Type BS_P2PSessionConnectFail_t
Field steamIDRemoteHigh%, steamIDRemoteLow% ; user we were sending packets to
Field eP2PSessionError ; EP2PSessionError indicating why we're having trouble
End Type
;! User ------------------------------------------------------------------------
;! UserStats -------------------------------------------------------------------
Const BS_cchStatNameMax = 128
Const BS_cchLeaderboardNameMax = 128
Const BS_k_cLeaderboardDetailsMax = 64
Const BS_ELeaderboardDataRequest_Global = 0
Const BS_ELeaderboardDataRequest_GlobalAroundUser = 1
Const BS_ELeaderboardDataRequest_Friends = 2
Const BS_ELeaderboardDataRequest_Users = 3
Const BS_ELeaderboardSortMethod_None = 0
Const BS_ELeaderboardSortMethod_Ascending = 1 ; top-score is lowest number
Const BS_ELeaderboardSortMethod_Descending = 2 ; top-score is highest number
Const BS_ELeaderboardDisplayType_None = 0
Const BS_ELeaderboardDisplayType_Numeric = 1 ; simple numerical score
Const BS_ELeaderboardDisplayType_TimeSeconds = 2 ; the score represents a time, in seconds
Const BS_ELeaderboardDisplayType_TimeMilliSeconds = 3 ; the score represents a time, in milliseconds
Const BS_ELeaderboardUploadScoreMethod_None = 0
Const BS_ELeaderboardUploadScoreMethod_KeepBest = 1 ; Leaderboard will keep user's best score
Const BS_ELeaderboardUploadScoreMethod_ForceUpdate = 2 ; Leaderboard will always replace score with specified
Const BS_cLeaderboardDetailsMax = 64
Type BS_LeaderboardEntry
Field SteamId_High%, SteamId_Low%
@@ -309,8 +651,8 @@ End Type
Const BS_CALLBACK_LeaderboardFindResult = BS_ECallback_SteamUserStatsCallbacks + 4
Type BS_LeaderboardFindResult
Field hSteamLeaderboard_High%, hSteamLeaderboard_Low% ; // handle to the leaderboard serarched for, 0 if no leaderboard found
Field bLeaderboardFound% ; // 0 if no leaderboard found
Field hSteamLeaderboard_High%, hSteamLeaderboard_Low% ; handle to the leaderboard serarched for, 0 if no leaderboard found
Field bLeaderboardFound% ; 0 if no leaderboard found
End Type
Const BS_CALLBACK_LeaderboardScoresDownloaded = BS_ECallback_SteamUserStatsCallbacks + 5
@@ -336,12 +678,12 @@ Type BS_NumberOfCurrentPlayers
Field cPlayers ; Number of players currently playing
End Type
Const BS_CALLBACK_UserStatsUnloaded = BS_ECallback_SteamUserStatsCallback + 8
Const BS_CALLBACK_UserStatsUnloaded = BS_ECallback_SteamUserStatsCallbacks + 8
Type BS_UserStatsUnloaded
Field steamIDUser_High, steamIDUser_Low ; User whose stats have been unloaded
End Type
Const BS_CALLBACK_UserAchievementIconFetched = BS_ECallback_SteamUserStatsCallback + 9
Const BS_CALLBACK_UserAchievementIconFetched = BS_ECallback_SteamUserStatsCallbacks + 9
Type BS_UserAchievementIconFetched
Field nGameID_High, nGameID_Low ; Game this is for
Field rgchAchievementName[BS_cchStatNameMax] ; name of the achievement
@@ -349,20 +691,25 @@ Type BS_UserAchievementIconFetched
Field nIconHandle ; Handle to the image, which can be used in SteamUtils()->GetImageRGBA(), 0 means no image is set for the achievement
End Type
Const BS_CALLBACK_GlobalAchievementPercentagesReady = BS_ECallback_SteamUserStatsCallback + 10
Const BS_CALLBACK_GlobalAchievementPercentagesReady = BS_ECallback_SteamUserStatsCallbacks + 10
Type BS_GlobalAchievementPercentagesReady
Field nGameID_High, nGameID_Low ; Game this is for
Field eResult ; Result of the operation
End Type
Const BS_CALLBACK_LeaderboardUGCSet = BS_ECallback_SteamUserStatsCallback + 11
Const BS_CALLBACK_LeaderboardUGCSet = BS_ECallback_SteamUserStatsCallbacks + 11
Type BS_LeaderboardUGCSet
Field eResult ; The result of the operation
Field hSteamLeaderboard_High, hSteamLeaderboard_Low ; the leaderboard handle that was
End Type
Const BS_CALLBACK_GlobalStatsReceived = BS_ECallback_SteamUserStatsCallback + 12
Const BS_CALLBACK_GlobalStatsReceived = BS_ECallback_SteamUserStatsCallbacks + 12
Type BS_GlobalStatsReceived
Field nGameID_High, nGameId_Low ; Game global stats were requested for
Field eResult ; The result of the request
End Type
;[End Block]
;~IDEal Editor Parameters:
;~F#196#1B9
;~C#Blitz3D
+176 -87
View File
@@ -15,85 +15,23 @@
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
.lib "BlitzSteam.dll"
; Helpers -----------------------------------------------------------------------
; -- CSteamID
BS_CSteamID_New%()
BS_CSteamID_FromID%(unAccountID%, eUniverse%, eAccountType%)
BS_CSteamID_FromIDInstance%(unAccountID%, unInstance%, eUniverse%, eAccountType%)
BS_CSteamID_FromSteamID%(ulSteamID%)
BS_CSteamID_Copy%(pSteamID%)
BS_CSteamID_Destroy(pSteamID%)
BS_CSteamID_Set(pSteamID%, unAccountID%, eUniverse%, eAccountType%)
BS_CSteamID_InstancedSet(pSteamID%, unAccountID%, unInstance%, eUniverse%, eAccountType%)
BS_CSteamID_FullSet(pSteamID%, ulIdentifier%, eUniverse%, eAccountType%)
BS_CSteamID_SetFromUInt64(pSteamID%, ulSteamID%)
BS_CSteamID_Clear(pSteamID%)
BS_CSteamID_ConvertToUInt64%(pSteamID%)
BS_CSteamID_GetStaticAccountKey%(pSteamID%)
BS_CSteamID_CreateBlankAnonLogon(pSteamID%, eUniverse%)
BS_CSteamID_CreateBlankAnonUserLogon(pSteamID%, eUniverse%)
BS_CSteamID_BlankAnonAccount%(pSteamID%)
BS_CSteamID_GameServerAccount%(pSteamID%)
BS_CSteamID_PersistentGameServerAccount%(pSteamID%)
BS_CSteamID_AnonGameServerAccount%(pSteamID%)
BS_CSteamID_ContentServerAccount%(pSteamID%)
BS_CSteamID_ClanAccount%(pSteamID%)
BS_CSteamID_ChatAccount%(pSteamID%)
BS_CSteamID_IsLobby%(pSteamID%)
BS_CSteamID_IndividualAccount%(pSteamID%)
BS_CSteamID_AnonAccount%(pSteamID%)
BS_CSteamID_AnonUserAccount%(pSteamID%)
BS_CSteamID_ConsoleUserAccount%(pSteamID%)
BS_CSteamID_SetAccountID(pSteamID%, unAccountID%)
BS_CSteamID_SetAccountInstance(pSteamID, unInstance%)
BS_CSteamID_ClearIndividualInstance(pSteamID%)
BS_CSteamID_HasNoIndividualInstance%(pSteamID%)
BS_CSteamID_GetAccountID%(pSteamID%)
BS_CSteamID_GetAccountInstance%(pSteamID%)
BS_CSteamID_GetEAccountType%(pSteamID%)
BS_CSteamID_GetEUniverse%(pSteamID%)
BS_CSteamID_SetEUniverse(pSteamID%, eUniverse%)
BS_CSteamID_IsValid%(pSteamID%)
BS_CSteamID_Compare%(pSteamID%, pSteamIDOther%)
; Steam -------------------------------------------------------------------------
BS_Init%()
BS_Shutdown()
BS_IsSteamRunning%()
BS_RestartAppIfNecessary%(unOwnAppID%)
BS_SetMiniDumpComment(pchMsg$)
BS_WriteMiniDump(uStructuredExceptionCode%, pvExceptionInfo*, uBuildID%)
BS_WriteMiniDumpEx(uStructuredExceptionCode%, pvExceptionInfo%, uBuildID%) : "BS_WriteMiniDump"
; -- Interfaces
; Steam -----------------------------------------------------------------------
BS_Steam_Init%()
BS_Steam_Shutdown()
BS_Steam_IsSteamRunning%()
BS_Steam_RestartAppIfNecessary%(unOwnAppID%)
BS_Steam_SetMiniDumpComment(pchMsg$)
BS_Steam_WriteMiniDump(uStructuredExceptionCode%, pvExceptionInfo*, uBuildID%)
BS_Steam_WriteMiniDumpEx(uStructuredExceptionCode%, pvExceptionInfo%, uBuildID%) : "BS_WriteMiniDump"
BS_Steam_RunCallbacks()
BS_Steam_RegisterCallback(pCallback%, iCallback%)
BS_Steam_UnregisterCallback(pCallback%)
BS_Steam_RegisterCallResult(pCallback%, hAPICall_L%, hAPICall_R%)
BS_Steam_UnregisterCallResult(pCallback%, hAPICall_L%, hAPICall_R%)
; AppList ---------------------------------------------------------------------
BS_AppList%()
BS_Apps%()
BS_Client%()
BS_Controller%()
BS_Friends%()
BS_HTTP%()
BS_HTMLSurface%()
BS_Inventory%()
BS_Matchmaking%()
BS_MatchmakingServers%()
BS_Music%()
BS_MusicRemote%()
BS_Networking%()
BS_RemoteStorage%()
BS_Screenshots%()
BS_UGC%()
BS_UnifiedMessages%()
BS_User%()
BS_UserStats%()
BS_Utils%()
BS_Video%()
; -- Callbacks & Hooks
BS_RunCallbacks()
BS_RegisterCallback(pCallback%, iCallback%)
BS_UnregisterCallback(pCallback%)
BS_RegisterCallResult(pCallback%, hAPICall_L%, hAPICall_R%)
BS_UnregisterCallResult(pCallback%, hAPICall_L%, hAPICall_R%)
; SteamAppList ------------------------------------------------------------------
BS_AppList_GetNumInstalledApps%(lpSteamAppList%)
BS_AppList_GetInstalledApps%(lpSteamAppList%, pvecAppID*, unMaxIDs%)
BS_AppList_GetInstalledAppsEx%(lpSteamAppList%, pvecAppID%, unMaxIDs%) : "BS_AppList_GetInstalledApps"
@@ -103,7 +41,8 @@ BS_AppList_GetAppInstallDir%(lpSteamAppList%, nAppId%, pchDirectory*, cchDirecto
BS_AppList_GetAppInstallDirEx%(lpSteamAppList%, nAppId%, pchDirectory%, cchDirectoryMax%) : "BS_AppList_GetAppInstallDir"
BS_AppList_GetAppBuildId%(lpSteamAppList%, nAppId%)
; SteamApps ---------------------------------------------------------------------
; Apps ------------------------------------------------------------------------
BS_Apps%()
BS_Apps_IsSubscribed%(lpSteamApps%)
BS_Apps_IsLowViolence%(lpSteamApps%)
BS_Apps_IsCybercafe%(lpSteamApps%)
@@ -134,7 +73,8 @@ BS_Apps_GetDlcDownloadProgress%(lpSteamApps%, nAppID%, punBytesDownloaded*, punB
BS_Apps_GetDlcDownloadProgressEx%(lpSteamApps%, nAppID%, punBytesDownloaded%, punBytesTotal%) : "BS_Apps_GetDlcDownloadProgress"
BS_Apps_GetAppBuildId%(lpSteamApps%)
; SteamClient -------------------------------------------------------------------
; Client ----------------------------------------------------------------------
BS_Client%()
BS_Client_CreateSteamPipe%(lpSteamClient%)
BS_Client_ReleaseSteamPipe%(lpSteamClient%, hSteamPipe%)
BS_Client_ConnectToGlobalUser%(lpSteamClient%, hSteamPipe%)
@@ -144,7 +84,6 @@ BS_Client_ReleaseUser(lpSteamClient%, hSteamPipe%, hSteamUser%)
BS_Client_RunFrame(lpSteamClient%)
BS_Client_GetIPCCallCount%(lpSteamClient%)
BS_Client_ShutdownIfAllPipesClosed%(lpSteamClient%)
; -- Interfaces
BS_Client_GetSteamAppList%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
BS_Client_GetSteamApps%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
BS_Client_GetSteamController%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
@@ -167,13 +106,13 @@ BS_Client_GetSteamUser%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
BS_Client_GetSteamUserStats%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
BS_Client_GetSteamUtils%(lpSteamClient%, hSteamPipe%, pchVersion$)
BS_Client_GetSteamVideo%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
; -- Callbacks & Hooks
BS_Client_SetWarningMessageHook(lpSteamClient%, fpFunction%)
BS_Client_Set_SteamAPI_CPostAPIResultInProcess(lpSteamClient%, fpFunction%)
BS_Client_Remove_SteamAPI_CPostAPIResultInProcess(lpSteamClient%, fpFunction%)
BS_Client_Set_SteamAPI_CCheckCallbackRegisteredInProcess(lpSteamClient%, fpFunction%)
; SteamController ---------------------------------------------------------------
; Controller ------------------------------------------------------------------
BS_Controller%()
BS_Controller_Init%(lpSteamController%, pchAbsolutePathToControllerConfigVDF$)
BS_Controller_Shutdown%(lpSteamController%)
BS_Controller_RunFrame(lpSteamController%)
@@ -182,7 +121,8 @@ BS_Controller_GetControllerState%(lpSteamController%, unControllerIndex%, pState
BS_Controller_TriggerHapticPulse(lpSteamController%, unControllerIndex%, eTargetPad%, usDurationMicroSec%)
BS_Controller_SetOverrideMode(lpSteamController%, pchMode$)
; SteamFriends ------------------------------------------------------------------
; Friends ---------------------------------------------------------------------
BS_Friends%()
BS_Friends_GetPersonaName$(lpSteamFriends%)
BS_Friends_SetPersonaName%(lpSteamFriends%, pchPersonaName$)
BS_Friends_GetPersonaState%(lpSteamFriends%)
@@ -259,10 +199,97 @@ BS_Friends_GetFollowerCount%(lpSteamFriends%, steamID%)
BS_Friends_IsFollowing%(lpSteamFriends%, steamID%)
BS_Friends_EnumerateFollowingList%(lpSteamFriends%, unStartIndex%)
; SteamGameServer ---------------------------------------------------------------
; GameServer ------------------------------------------------------------------
BS_GameServer%()
BS_GameServer_Init%(unIP%, usSteamPort%, usGamePort%, usQueryPort%, eServerMode%, pchVersionString%)
BS_GameServer_Shutdown()
BS_GameServer_RunCallbacks()
BS_GameServer_GetHSteamPipe%()
BS_GameServer_IsSecureC%()
BS_GameServer_GetSteamIDC%()
BS_GameServer_InitGameServer%(pSteamGameServer%, unIP%, usGamePort%, usQueryPort%, unFlags%, nGameAppId%, pchVersionString$)
BS_GameServer_SetProduct(pSteamGameServer%, pszProduct$)
BS_GameServer_SetGameDescription(pSteamGameServer%, pszGameDescription$)
BS_GameServer_SetModDir(pSteamGameServer%, pszModDir$)
BS_GameServer_SetDedicatedServer(pSteamGameServer%, bDedicated%)
BS_GameServer_LogOn(pSteamGameServer%, pszToken$)
BS_GameServer_LogOnAnonymous(pSteamGameServer%)
BS_GameServer_LogOff(pSteamGameServer%)
BS_GameServer_IsLoggedOn%(pSteamGameServer%)
BS_GameServer_IsSecure%(pSteamGameServer%)
BS_GameServer_GetSteamID%(pSteamGameServer%)
BS_GameServer_WasRestartRequested%(pSteamGameServer%)
BS_GameServer_SetMaxPlayerCount(pSteamGameServer%, cPlayersMax%)
BS_GameServer_SetBotPlayerCount(pSteamGameServer%, cBotPlayers%)
BS_GameServer_SetServerName(pSteamGameServer%, pszServerName$)
BS_GameServer_SetMapName(pSteamGameServer%, pszMapName$)
BS_GameServer_SetPasswordProtected(pSteamGameServer%, bPasswordProtected%)
BS_GameServer_SetSpectatorPort(pSteamGameServer%, unSpectatorPort%)
BS_GameServer_SetSpectatorServerName(pSteamGameServer%, pszSpectatorServerName$)
BS_GameServer_ClearAllKeyValues(pSteamGameServer%)
BS_GameServer_SetKeyValue(pSteamGameServer%, pKey$, pValue$)
BS_GameServer_SetGameTags(pSteamGameServer%, pchGameTags$)
BS_GameServer_SetGameData(pSteamGameServer%, pchGameData$)
BS_GameServer_SetRegion(pSteamGameServer%, pszRegion$)
BS_GameServer_SendUserConnectAndAuthenticate%(pSteamGameServer%, unIPClient%, pvAuthBlob*, cubAuthBlobSize%, pSteamIDUser%)
BS_GameServer_SendUserConnectAndAuthenticateEx%(pSteamGameServer%, unIPClient%, pvAuthBlob%, cubAuthBlobSize%, pSteamIDUser%) : "BS_GameServer_SendUserConnectAndAuthenticate"
BS_GameServer_CreateUnauthenticatedUserConnection%(pSteamGameServer%)
BS_GameServer_SendUserDisconnect(pSteamGameServer%, pSteamIDUser%)
BS_GameServer_UpdateUserData%(pSteamGameServer%, pSteamIDUser%, pchPlayerName$, uScore%)
BS_GameServer_GetAuthSessionTicket%(pSteamGameServer%, pTicket*, cbMaxTicket%, pcbTicket%)
BS_GameServer_GetAuthSessionTicketEx%(pSteamGameServer%, pTicket%, cbMaxTicket%, pcbTicket%) : "BS_GameServer_GetAuthSessionTicket"
BS_GameServer_BeginAuthSession%(pSteamGameServer%, pAuthTicker*, cbAuthTicket%, pSteamID%)
BS_GameServer_BeginAuthSessionEx%(pSteamGameServer%, pAuthTicker%, cbAuthTicket%, pSteamID%) : "BS_GameServer_BeginAuthSession"
BS_GameServer_EndAuthSession(pSteamGameServer%, pSteamID%)
BS_GameServer_CancelAuthTicket(pSteamGameServer%, hAuthTicket%)
BS_GameServer_UserHasLicenseForApp%(pSteamGameServer%, pSteamID%, appID%)
BS_GameServer_RequestUserGroupStatus%(pSteamGameServer%, pSteamIDUser%, pSteamIDGroup%)
BS_GameServer_GetGameplayStats(pSteamGameServer%)
BS_GameServer_GetServerReputation%(pSteamGameServer%)
BS_GameServer_GetPublicIP%(pSteamGameServer%)
BS_GameServer_HandleIncomingPacket%(pSteamGameServer%, pData*, cbData%, srvIP%, srvPort%)
BS_GameServer_HandleIncomingPacketEx%(pSteamGameServer%, pData%, cbData%, srvIP%, srvPort%) : "BS_GameServer_HandleIncomingPacket"
BS_GameServer_GetNextOutgoingPacket%(pSteamGameServer%, pOut*, cbMaxOut%, pNetAdr*, pPort*)
BS_GameServer_GetNextOutgoingPacketEx%(pSteamGameServer%, pOut%, cbMaxOut%, pNetAdr%, pPort%) : "BS_GameServer_GetNextOutgoingPacket"
BS_GameServer_EnableHeartbeats(pSteamGameServer%, bActive%)
BS_GameServer_SetHeartbeatInterval(pSteamGameServer%, iHeartbeatInterval%)
BS_GameServer_ForceHeartbeat(pSteamGameServer%)
BS_GameServer_AssociateWithClan%(pSteamGameServer%, pSteamIDClan%)
BS_GameServer_ComputeNewPlayerCompatibility%(pSteamGameServer%, pSteamIDNewPlayer%)
; GameServerStats -------------------------------------------------------------
BS_GameServerStats%()
BS_GameServerStats_RequestUserStats%(pSteamGameServerStats%, steamIDUser%)
BS_GameServerStats_StoreUserStats%(pSteamGameServerStats%, steamIDUser%)
BS_GameServerStats_GetUserStat%(pSteamGameServerStats%, steamIDUser%, pchName$, pData*)
BS_GameServerStats_GetUserStatEx%(pSteamGameServerStats%, steamIDUser%, pchName$, pData%) : "BS_GameServerStats_GetUserStat"
BS_GameServerStats_GetUserStatF%(pSteamGameServerStats%, steamIDUser%, pchName$, pData*)
BS_GameServerStats_GetUserStatFEx%(pSteamGameServerStats%, steamIDUser%, pchName$, pData%) : "BS_GameServerStats_GetUserStatF"
BS_GameServerStats_GetUserAchievement%(pSteamGameServerStats%, steamIDUser%, pchName$, pbAchieved*)
BS_GameServerStats_GetUserAchievementEx%(pSteamGameServerStats%, steamIDUser%, pchName$, pbAchieved%) : "BS_GameServerStats_GetUserAchievement"
BS_GameServerStats_SetUserStat%(pSteamGameServerStats%, steamIDUser%, pchName%, nData%)
BS_GameServerStats_SetUserStatF%(pSteamGameServerStats%, steamIDUser%, pchName%, fData#)
BS_GameServerStats_UpdateUserAvgRateStat%(pSteamGameServerStats%, steamIDUser%, pchName$, flCountThisSession#, pdSessionLength%)
BS_GameServerStats_SetUserAchievement%(pSteamGameServerStats%, steamIDUser%, pchName$)
BS_GameServerStats_ClearUserAchievement%(pSteamGameServerStats%, steamIDUser%, pchName$)
; SteamUser ---------------------------------------------------------------------
; Networking ------------------------------------------------------------------
BS_Networking%()
BS_GameServerNetworking%()
BS_Networking_SendP2PPacket%(pSteamNetworking%, pSteamIDRemote%, pubData*, cubData%, eP2PSendType%, nChannel%)
BS_Networking_SendP2PPacketEx%(pSteamNetworking%, pSteamIDRemote%, pubData%, cubData%, eP2PSendType%, nChannel%) : "BS_Networking_SendP2PPacket"
BS_Networking_IsP2PPacketAvailable%(pSteamNetworking%, pcubMsgSize*, nChannel%)
BS_Networking_IsP2PPacketAvailableEx%(pSteamNetworking%, pcubMsgSize*, nChannel%) : "BS_Networking_IsP2PPacketAvailable"
BS_Networking_ReadP2PPacket%(pSteamNetworking%, pubDest*, cubDest%, pcubMsgSize*, pSteamIDRemote%, nChannel%)
BS_Networking_ReadP2PPacketEx%(pSteamNetworking%, pubDest%, cubDest%, pcubMsgSize%, pSteamIDRemote%, nChannel%) : "BS_Networking_ReadP2PPacket"
BS_Networking_AcceptP2PSessionWithUser%(pSteamNetworking%, pSteamIDRemote%)
BS_Networking_CloseP2PSessionWithUser%(pSteamNetworking%, pSteamIDRemote%)
BS_Networking_CloseP2PChannelWithUser%(pSteamNetworking%, pSteamIDRemote%, nChannel%)
BS_Networking_GetP2PSessionState%(pSteamNetworking%, pSteamIDRemote%, pConnectionState*)
BS_Networking_AllowP2PPacketRelay%(pSteamNetworking%, bAllow%)
; User ------------------------------------------------------------------------
BS_User%()
BS_User_GetHSteamUser%(lpSteamUser%)
BS_User_IsLoggedOn%(lpSteamUser%)
BS_User_GetSteamID%(lpSteamUser%)
@@ -294,7 +321,8 @@ BS_User_GetGameBadgeLevel%(lpSteamUser%, nSeries%, bFoil%)
BS_User_GetPlayerSteamLevel%(lpSteamUser%)
BS_User_RequestStoreAuthURL%(lpSteamUser%, pchRedirectUrl$)
; SteamUserStats ----------------------------------------------------------------
; UserStats -------------------------------------------------------------------
BS_UserStats%()
BS_UserStats_RequestCurrentStats%(lpSteamUserStats%)
BS_UserStats_GetStat%(lpSteamUserStats%, pchName$, pData*)
BS_UserStats_GetStatEx%(lpSteamUserStats%, pchName$, pData%) : "BS_UserStats_GetStat"
@@ -353,4 +381,65 @@ BS_UserStats_GetGlobalStatD%(lpSteamUserStats, pchStatName$, pData%)
BS_UserStats_GetGlobalStatHistoryLL%(lpSteamUserStats, pchStatName$, pData*, cubData%)
BS_UserStats_GetGlobalStatHistoryLLEx%(lpSteamUserStats, pchStatName$, pData%, cubData%) : "BS_UserStats_GetGlobalStatHistoryLL"
BS_UserStats_GetGlobalStatHistoryD%(lpSteamUserStats, pchStatName$, pData*, cubData%)
BS_UserStats_GetGlobalStatHistoryDEx%(lpSteamUserStats, pchStatName$, pData%, cubData%) : "BS_UserStats_GetGlobalStatHistoryD"
BS_UserStats_GetGlobalStatHistoryDEx%(lpSteamUserStats, pchStatName$, pData%, cubData%) : "BS_UserStats_GetGlobalStatHistoryD"
; Helpers ---------------------------------------------------------------------
BS_Helper_FormatUnixTime$(unixTime%, pchFormat$)
; -- CSteamID
BS_CSteamID_New%()
BS_CSteamID_FromID%(unAccountID%, eUniverse%, eAccountType%)
BS_CSteamID_FromIDInstance%(unAccountID%, unInstance%, eUniverse%, eAccountType%)
BS_CSteamID_FromSteamID%(ulSteamID%)
BS_CSteamID_Copy%(pSteamID%)
BS_CSteamID_Destroy(pSteamID%)
BS_CSteamID_Set(pSteamID%, unAccountID%, eUniverse%, eAccountType%)
BS_CSteamID_InstancedSet(pSteamID%, unAccountID%, unInstance%, eUniverse%, eAccountType%)
BS_CSteamID_FullSet(pSteamID%, ulIdentifier%, eUniverse%, eAccountType%)
BS_CSteamID_SetFromUInt64(pSteamID%, ulSteamID%)
BS_CSteamID_Clear(pSteamID%)
BS_CSteamID_ConvertToUInt64%(pSteamID%)
BS_CSteamID_GetStaticAccountKey%(pSteamID%)
BS_CSteamID_CreateBlankAnonLogon(pSteamID%, eUniverse%)
BS_CSteamID_CreateBlankAnonUserLogon(pSteamID%, eUniverse%)
BS_CSteamID_BlankAnonAccount%(pSteamID%)
BS_CSteamID_GameServerAccount%(pSteamID%)
BS_CSteamID_PersistentGameServerAccount%(pSteamID%)
BS_CSteamID_AnonGameServerAccount%(pSteamID%)
BS_CSteamID_ContentServerAccount%(pSteamID%)
BS_CSteamID_ClanAccount%(pSteamID%)
BS_CSteamID_ChatAccount%(pSteamID%)
BS_CSteamID_IsLobby%(pSteamID%)
BS_CSteamID_IndividualAccount%(pSteamID%)
BS_CSteamID_AnonAccount%(pSteamID%)
BS_CSteamID_AnonUserAccount%(pSteamID%)
BS_CSteamID_ConsoleUserAccount%(pSteamID%)
BS_CSteamID_SetAccountID(pSteamID%, unAccountID%)
BS_CSteamID_SetAccountInstance(pSteamID, unInstance%)
BS_CSteamID_ClearIndividualInstance(pSteamID%)
BS_CSteamID_HasNoIndividualInstance%(pSteamID%)
BS_CSteamID_GetAccountID%(pSteamID%)
BS_CSteamID_GetAccountInstance%(pSteamID%)
BS_CSteamID_GetEAccountType%(pSteamID%)
BS_CSteamID_GetEUniverse%(pSteamID%)
BS_CSteamID_SetEUniverse(pSteamID%, eUniverse%)
BS_CSteamID_IsValid%(pSteamID%)
BS_CSteamID_Compare%(pSteamID%, pSteamIDOther%)
; -- Callbacks
BS_Callback_Create%(pFunction%)
BS_Callback_Destroy%(pCallback%)
; -- Interfaces
BS_HTTP%()
BS_HTMLSurface%()
BS_Inventory%()
BS_Matchmaking%()
BS_MatchmakingServers%()
BS_Music%()
BS_MusicRemote%()
BS_RemoteStorage%()
BS_Screenshots%()
BS_UGC%()
BS_UnifiedMessages%()
BS_Utils%()
BS_Video%()
+10 -10
View File
@@ -101,7 +101,7 @@ End Function
; Reads a C-String value from a Bank.
; Returns read C-String
Function BSU_PeekCString$(Bank%, Pos%)
Function BSU_PeekCString$(Bank%, Pos%, Len%=-1)
If Bank Then
Local BankSz = BankSize(Bank)
@@ -115,7 +115,7 @@ Function BSU_PeekCString$(Bank%, Pos%)
Local Value = PeekByte(Bank, Pos + BankPos)
If Value = 0 Then
If (Value = 0 And Len = -1) Or (Pos > Len) Then
Exit
Else
OutStr=OutStr+Chr(Value)
@@ -127,16 +127,16 @@ End Function
; -- Steam
Function BSU_Init()
BSU_IsSteamRunning = BS_IsSteamRunning()
BSU_IsSteamRunning = BS_Steam_IsSteamRunning()
If BSU_IsSteamRunning Then
BS_Init()
BS_Steam_Init()
BSU_AppList = BS_AppList()
BSU_Apps = BS_Apps()
BSU_Apps = BS_Apps()
BSU_Client = BS_Client()
BSU_Controller = BS_Controller()
BSU_Friends = BS_Friends()
BSU_HTTP = BS_HTTP()
BSU_HTTP = BS_HTTP()
BSU_HTMLSurface = BS_HTMLSurface()
BSU_Inventory = BS_Inventory()
BSU_Matchmaking = BS_Matchmaking()
@@ -148,7 +148,7 @@ Function BSU_Init()
BSU_Screenshots = BS_Screenshots()
BSU_UGC = BS_UGC()
BSU_UnifiedMessages = BS_UnifiedMessages()
BSU_User = BS_User()
BSU_User = BS_User()
BSU_UserStats = BS_UserStats()
BSU_Utils = BS_Utils()
BSU_Video = BS_Video()
@@ -159,7 +159,7 @@ End Function
Function BSU_Shutdown()
If BSU_IsSteamRunning
BS_Shutdown()
BS_Steam_Shutdown()
BSU_AppList=0
BSU_Apps=0
BSU_Client=0
@@ -186,7 +186,7 @@ Function BSU_Shutdown()
EndIf
End Function
; -- SteamAppList
; -- AppList
Function BSU_AppList_GetInstalledApps(BankAppIdsStorage=0, BankAppNameStorage=0, BankAppInstallDirStorage=0)
Local BankAppIds, BankAppIdsSz = BSU_APPID_COUNT
Local BankAppName, BankAppNameSz = BSU_NAME_LENGTH
@@ -552,5 +552,5 @@ Function BSU_Friends_GetFriends(iFriendFlags=BS_EFriendFlags_All)
End Function
;~IDEal Editor Parameters:
;~F#52#67#80#9F#BD#FA#116#133#163#195#1B1#1D0
;~F#52#67#BD#FA#116#133#163#195#1B1#1D0
;~C#Blitz3D