diff --git a/Blitz/BlitzSteam.bb b/Blitz/BlitzSteam.bb index 2d41964..273e278 100644 --- a/Blitz/BlitzSteam.bb +++ b/Blitz/BlitzSteam.bb @@ -1,4 +1,4 @@ -; BS_ - Steam wrapper for Blitz. +; BlitzSteam - Steam wrapper for Blitz ; Copyright (C) 2015 Xaymar (Michael Fabian Dirks) ; ; This program is free software: you can redistribute it and/or modify @@ -254,3 +254,115 @@ Const BS_EUserHasLicenseResult_HasLicense = 0 ; User has a license for speci 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 +; SteamUserStats ---------------------------------------------------------------- +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 + +Type BS_LeaderboardEntry + Field SteamId_High%, SteamId_Low% + Field nGlobalRank% + Field nScore% + Field cDetails% + Field hUGC_High%, hUGC_Low% +End Type + +Const BS_CALLBACK_UserStatsReceived = BS_ECallback_SteamUserStatsCallbacks + 1 +Type BS_UserStatsReceived + Field nGameId_High%, nGameId_Low% ; Game these stats are for + Field eResult% ; Success / error fetching the stats + Field steamIDUser_High%, steamIDUser_Low% ; The user for whom the stats are retrieved for +End Type + +Const BS_CALLBACK_UserStatsStored = BS_ECallback_SteamUserStatsCallbacks + 2 +Type BS_UserStatsStored + Field nGameId_High%, nGameId_Low% ; Game these stats are for + Field eResult% ; Success / error +End Type + +Const BS_CALLBACK_UserAchievementStored = BS_ECallback_SteamUserStatsCallbacks + 3 +Type BS_UserAchievementStored + Field nGameId_High%, nGameId_Low% ; Game this is for + Field bGroupAchievement% ; if this is a "group" achievement + Field rgchAchievementName[BS_cchStatNameMax] ; name of the achievement + Field nCurProgress ; current progress towards the achievement + Field nMaxProgress ; "out of" this many +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 +End Type + +Const BS_CALLBACK_LeaderboardScoresDownloaded = BS_ECallback_SteamUserStatsCallbacks + 5 +Type BS_LeaderboardScoresDownloaded + Field hSteamLeaderboard_High, hSteamLeaderboard_Low ; + Field hSteamLeaderboardEntries_High, hSteamLeaderboardEntries_Low; the handle to pass into GetDownloadedLeaderboardEntries() + Field cEntryCount ; the number of entries downloaded +End Type + +Const BS_CALLBACK_LeaderboardScoreUploaded = BS_ECallback_SteamUserStatsCallbacks + 6 +Type BS_LeaderboardScoreUploaded + Field bSuccess ; 1 if the call was successful + Field hSteamLeaderboard_High, hSteamLeaderboard_Low ; the leaderboard handle that was + Field nScore ; the score that was attempted to set + Field bScoreChanged ; true if the score in the leaderboard change, false if the existing score was better + Field nGlobalRankNew ; the new global rank of the user in this leaderboard + Field nGlobalRankPrevious ; the previous global rank of the user in this leaderboard; 0 if the user had no existing entry in the leaderboard +End Type + +Const BS_CALLBACK_NumberOfCurrentPlayers = BS_ECallback_SteamUserStatsCallbacks + 7 +Type BS_NumberOfCurrentPlayers + Field bSuccess ; 1 if the call was successful + Field cPlayers ; Number of players currently playing +End Type + +Const BS_CALLBACK_UserStatsUnloaded = BS_ECallback_SteamUserStatsCallback + 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 +Type BS_UserAchievementIconFetched + Field nGameID_High, nGameID_Low ; Game this is for + Field rgchAchievementName[BS_cchStatNameMax] ; name of the achievement + Field bAchieved ; Is the icon for the achieved or not achieved version? + 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 +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 +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 +Type BS_GlobalStatsReceived + Field nGameID_High, nGameId_Low ; Game global stats were requested for + Field eResult ; The result of the request +End Type diff --git a/Blitz/BlitzSteam.decls b/Blitz/BlitzSteam.decls index 14877f4..b1f391e 100644 --- a/Blitz/BlitzSteam.decls +++ b/Blitz/BlitzSteam.decls @@ -1,4 +1,4 @@ -; BS_ - Steam wrapper for Blitz. +; BlitzSteam - Steam wrapper for Blitz ; Copyright (C) 2015 Xaymar (Michael Fabian Dirks) ; ; This program is free software: you can redistribute it and/or modify @@ -62,8 +62,8 @@ BS_Shutdown() BS_IsSteamRunning%() BS_RestartAppIfNecessary%(unOwnAppID%) BS_SetMiniDumpComment(pchMsg$) -BS_WriteMiniDumpEx(uStructuredExceptionCode%, pvExceptionInfo%, uBuildID%) : "BS_WriteMiniDump" BS_WriteMiniDump(uStructuredExceptionCode%, pvExceptionInfo*, uBuildID%) +BS_WriteMiniDumpEx(uStructuredExceptionCode%, pvExceptionInfo%, uBuildID%) : "BS_WriteMiniDump" ; -- Interfaces BS_AppList%() BS_Apps%() @@ -95,12 +95,12 @@ BS_UnregisterCallResult(pCallback%, hAPICall_L%, hAPICall_R%) ; SteamAppList ------------------------------------------------------------------ BS_AppList_GetNumInstalledApps%(lpSteamAppList%) -BS_AppList_GetInstalledAppsEx%(lpSteamAppList%, pvecAppID%, unMaxIDs%) : "BS_AppList_GetInstalledApps" BS_AppList_GetInstalledApps%(lpSteamAppList%, pvecAppID*, unMaxIDs%) +BS_AppList_GetInstalledAppsEx%(lpSteamAppList%, pvecAppID%, unMaxIDs%) : "BS_AppList_GetInstalledApps" BS_AppList_GetAppNameEx%(lpSteamAppList%, nAppId%, pchName%, cchNameMax%) : "BS_AppList_GetAppName" BS_AppList_GetAppName%(lpSteamAppList%, nAppId%, pchName*, cchNameMax%) -BS_AppList_GetAppInstallDirEx%(lpSteamAppList%, nAppId%, pchDirectory%, cchDirectoryMax%) : "BS_AppList_GetAppInstallDir" BS_AppList_GetAppInstallDir%(lpSteamAppList%, nAppId%, pchDirectory*, cchDirectoryMax%) +BS_AppList_GetAppInstallDirEx%(lpSteamAppList%, nAppId%, pchDirectory%, cchDirectoryMax%) : "BS_AppList_GetAppInstallDir" BS_AppList_GetAppBuildId%(lpSteamAppList%, nAppId%) ; SteamApps --------------------------------------------------------------------- @@ -115,23 +115,23 @@ BS_Apps_IsDlcInstalled%(lpSteamApps%, appID%) BS_Apps_GetEarliestPurchaseUnixTime%(lpSteamApps%, appID%) BS_Apps_IsSubscribedFromFreeWeekend%(lpSteamApps%) BS_Apps_GetDLCCount%(lpSteamApps%) -BS_Apps_GetDLCDataByIndexEx%(lpSteamApps%, iDLC%, pAppId%, pbAvailable%, pchName%, cchNameBufferSize%) : "BS_Apps_GetDLCDataByIndex" BS_Apps_GetDLCDataByIndex%(lpSteamApps%, iDLC%, pAppId*, pbAvailable*, pchName*, cchNameBufferSize%) +BS_Apps_GetDLCDataByIndexEx%(lpSteamApps%, iDLC%, pAppId%, pbAvailable%, pchName%, cchNameBufferSize%) : "BS_Apps_GetDLCDataByIndex" BS_Apps_InstallDLC(lpSteamApps%, nAppID%) BS_Apps_UninstallDLC(lpSteamApps%, nAppID%) BS_Apps_RequestAppProofOfPurchaseKey(lpSteamApps%, nAppID%) -BS_Apps_GetCurrentBetaNameEx%(lpSteamApps%, pchName%, cchNameBufferSize%) : "BS_Apps_GetCurrentBetaName" BS_Apps_GetCurrentBetaName%(lpSteamApps%, pchName*, cchNameBufferSize%) +BS_Apps_GetCurrentBetaNameEx%(lpSteamApps%, pchName%, cchNameBufferSize%) : "BS_Apps_GetCurrentBetaName" BS_Apps_MarkContentCorrupt%(lpSteamApps%, bMissingFilesOnly%) -BS_Apps_GetInstalledDepotsEx%(lpSteamApps%, nAppID%, pvecDepots%, cMaxDepots%) : "BS_Apps_GetInstalledDepots" BS_Apps_GetInstalledDepots%(lpSteamApps%, nAppID%, pvecDepots*, cMaxDepots%) -BS_Apps_GetAppInstallDirEx%(lpSteamApps%, nAppID%, pchFolder%, cchFolderBufferSize%) : "BS_Apps_GetAppInstallDir" +BS_Apps_GetInstalledDepotsEx%(lpSteamApps%, nAppID%, pvecDepots%, cMaxDepots%) : "BS_Apps_GetInstalledDepots" BS_Apps_GetAppInstallDir%(lpSteamApps%, nAppID%, pchFolder*, cchFolderBufferSize%) +BS_Apps_GetAppInstallDirEx%(lpSteamApps%, nAppID%, pchFolder%, cchFolderBufferSize%) : "BS_Apps_GetAppInstallDir" BS_Apps_IsAppInstalled%(lpSteamApps%, nAppID%) BS_Apps_GetAppOwner%(lpSteamApps%) BS_Apps_GetLaunchQueryParam$(lpSteamApps%, pchKey$) -BS_Apps_GetDlcDownloadProgressEx%(lpSteamApps%, nAppID%, punBytesDownloaded%, punBytesTotal%) : "BS_Apps_GetDlcDownloadProgress" BS_Apps_GetDlcDownloadProgress%(lpSteamApps%, nAppID%, punBytesDownloaded*, punBytesTotal*) +BS_Apps_GetDlcDownloadProgressEx%(lpSteamApps%, nAppID%, punBytesDownloaded%, punBytesTotal%) : "BS_Apps_GetDlcDownloadProgress" BS_Apps_GetAppBuildId%(lpSteamApps%) ; SteamClient ------------------------------------------------------------------- @@ -139,8 +139,7 @@ BS_Client_CreateSteamPipe%(lpSteamClient%) BS_Client_ReleaseSteamPipe%(lpSteamClient%, hSteamPipe%) BS_Client_ConnectToGlobalUser%(lpSteamClient%, hSteamPipe%) BS_Client_SetLocalIPBinding(lpSteamClient, unIP%, usPort%) -BS_Client_CreateLocalUserEx%(lpSteamClient%, phSteamPipe*, eAccountType%) : "BS_Client_CreateLocalUser" -BS_Client_CreateLocalUser%(lpSteamClient%, phSteamPipe*, eAccountType%) +BS_Client_CreateLocalUser%(lpSteamClient%, phSteamPipe%, eAccountType%) BS_Client_ReleaseUser(lpSteamClient%, hSteamPipe%, hSteamUser%) BS_Client_RunFrame(lpSteamClient%) BS_Client_GetIPCCallCount%(lpSteamClient%) @@ -192,8 +191,8 @@ BS_Friends_GetFriendByIndex%(lpSteamFriends%, iFriend%, iFriendFlags%) BS_Friends_GetFriendRelationship%(lpSteamFriends%, steamIDFriend%) BS_Friends_GetFriendPersonaState%(lpSteamFriends%, steamIDFriend%) BS_Friends_GetFriendPersonaName$(lpSteamFriends%, steamIDFriend%) -BS_Friends_GetFriendGamePlayedEx%(lpSteamFriends%, steamIDFriend%, pFriendGameInfo%) : "BS_Friends_GetFriendGamePlayed" BS_Friends_GetFriendGamePlayed%(lpSteamFriends%, steamIDFriend%, pFriendGameInfo*) +BS_Friends_GetFriendGamePlayedEx%(lpSteamFriends%, steamIDFriend%, pFriendGameInfo%) : "BS_Friends_GetFriendGamePlayed" BS_Friends_GetFriendPersonaNameHistory$(lpSteamFriends%, steamIDFriend%, iPersonaName%) BS_Friends_GetFriendSteamLevel%(lpSteamFriends%, steamIDFriend%) BS_Friends_GetPlayerNickname$(lpSteamFriends%, steamIDFriend%) @@ -201,15 +200,15 @@ BS_Friends_GetFriendsGroupCount%(lpSteamFriends%) BS_Friends_GetFriendsGroupIDByIndex%(lpSteamFriends%, friendsGroupID%) BS_Friends_GetFriendsGroupName$(lpSteamFriends%, friendsGroupID%) BS_Friends_GetFriendsGroupMembersCount%(lpSteamFriends%, friendsGroupID%) -BS_Friends_GetFriendsGroupMembersListEx(lpSteamFriends%, friendsGroupID%, pOutSteamIDMembers%, nMembersCount%) : "BS_Friends_GetFriendsGroupMembersList" BS_Friends_GetFriendsGroupMembersList(lpSteamFriends%, friendsGroupID%, pOutSteamIDMembers*, nMembersCount%) +BS_Friends_GetFriendsGroupMembersListEx(lpSteamFriends%, friendsGroupID%, pOutSteamIDMembers%, nMembersCount%) : "BS_Friends_GetFriendsGroupMembersList" BS_Friends_HasFriend(lpSteamFriends%, steamIDFriend%, iFriendFlags%) BS_Friends_GetClanCount%(lpSteamFriends%) BS_Friends_GetClanByIndex%(lpSteamFriends%, iClan%) BS_Friends_GetClanName$(lpSteamFriends%, steamIDClan%) BS_Friends_GetClanTag$(lpSteamFriends%, steamIDClan%) -BS_Friends_GetClanActivityCountsEx%(lpSteamFriends%, steamIDClan%, pnOnline%, pnInGame%, pnChatting%) : "BS_Friends_GetClanActivityCounts" BS_Friends_GetClanActivityCounts%(lpSteamFriends%, steamIDClan%, pnOnline*, pnInGame*, pnChatting*) +BS_Friends_GetClanActivityCountsEx%(lpSteamFriends%, steamIDClan%, pnOnline%, pnInGame%, pnChatting%) : "BS_Friends_GetClanActivityCounts" BS_Friends_DownloadClanActivityCounts%(lpSteamFriends%, steamIDClan%, cClansToRequest%) BS_Friends_GetFriendCountFromSource%(lpSteamFriends%, steamIDSource%) BS_Friends_GetFriendFromSourceByIndex%(lpSteamFriends%, steamIDSource%, iFriend%) @@ -246,18 +245,112 @@ BS_Friends_LeaveClanChatRoom%(lpSteamFriends%, steamIDClan%) BS_Friends_GetClanChatMemberCount%(lpSteamFriends%, steamIDClan%) BS_Friends_GetChatMemberByIndex%(lpSteamFriends%, steamIDClan%, iUser%) BS_Friends_SendClanChatMessage%(lpSteamFriends%, steamIDClanChat%, pchText$) -BS_Friends_GetClanChatMessageEx%(lpSteamFriends%, steamIDClanChat%, iMessage%, prgchText%, cchTextMax%, peChatEntryType%, psteamidChatter%) : "BS_Friends_GetClanChatMessage" BS_Friends_GetClanChatMessage%(lpSteamFriends%, steamIDClanChat%, iMessage%, prgchText*, cchTextMax%, peChatEntryType*, psteamidChatter*) +BS_Friends_GetClanChatMessageEx%(lpSteamFriends%, steamIDClanChat%, iMessage%, prgchText%, cchTextMax%, peChatEntryType%, psteamidChatter%) : "BS_Friends_GetClanChatMessage" BS_Friends_IsClanChatAdmin%(lpSteamFriends%, steamIDClanChat%, steamIDUser%) BS_Friends_IsClanChatWindowOpenInSteam%(lpSteamFriends%, steamIDClanChat%) BS_Friends_OpenClanChatWindowInSteam%(lpSteamFriends%, steamIDClanChat%) BS_Friends_CloseClanChatWindowInSteam%(lpSteamFriends%, steamIDClanChat%) BS_Friends_SetListenForFriendsMessages%(lpSteamFriends%, bInterceptEnabled%) BS_Friends_ReplyToFriendMessage%(lpSteamFriends%, steamIDFriend%, pchMsgToSend$) -BS_Friends_GetFriendMessageEx%(lpSteamFriends%, steamIDFriend%, iMessageID%, pvData%, cubData%, peChatEntryType%) : "BS_Friends_GetFriendMessage" BS_Friends_GetFriendMessage%(lpSteamFriends%, steamIDFriend%, iMessageID%, pvData*, cubData%, peChatEntryType*) +BS_Friends_GetFriendMessageEx%(lpSteamFriends%, steamIDFriend%, iMessageID%, pvData%, cubData%, peChatEntryType%) : "BS_Friends_GetFriendMessage" BS_Friends_GetFollowerCount%(lpSteamFriends%, steamID%) BS_Friends_IsFollowing%(lpSteamFriends%, steamID%) BS_Friends_EnumerateFollowingList%(lpSteamFriends%, unStartIndex%) ; SteamGameServer --------------------------------------------------------------- + + +; SteamUser --------------------------------------------------------------------- +BS_User_GetHSteamUser%(lpSteamUser%) +BS_User_IsLoggedOn%(lpSteamUser%) +BS_User_GetSteamID%(lpSteamUser%) +BS_User_InitiateGameConnection%(lpSteamUser%, pAuthBlob*, cbMaxAuthBlob%, SteamIDGameServer%, unIPServer%, usPortServer%, bSecure%) +BS_User_TerminateGameConnection(lpSteamUser%, unIPServer%, usPortServer%) +BS_User_TrackAppUsageEvent(lpSteamUser%, gameId%, eAppUsageEvent%, pchExtraInfo$) +BS_User_GetUserDataFolder%(lpSteamUser%, pchBuffer*, cubBuffer%) +BS_User_StartVoiceRecording(lpSteamUser%) +BS_User_StopVoiceRecording(lpSteamUser%) +BS_User_GetAvailableVoice%(lpSteamUser%, pcbCompressed*, pcbUncompressed*, nUncompressedVoiceDesiredSampleRate%) +BS_User_GetAvailableVoiceEx%(lpSteamUser%, pcbCompressed%, pcbUncompressed%, nUncompressedVoiceDesiredSampleRate%) : "BS_User_GetAvailableVoice" +BS_User_GetVoice%(lpSteamUser%, bWantCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten*, bWantUncompressed%, pUncompressedDestBuffer*, cbUncompressedDestBufferSize%, nUncompressBytesWritten*, nUncompressedVoiceDesiredSampleRate%) +BS_User_GetVoiceEx%(lpSteamUser%, bWantCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten%, bWantUncompressed%, pUncompressedDestBuffer*, cbUncompressedDestBufferSize%, nUncompressBytesWritten%, nUncompressedVoiceDesiredSampleRate%) : "BS_User_GetVoice" +BS_User_DecompressVoice(lpSteamUser%, pCompressed*, cbCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten*, nDesiredSampleRate%) +BS_User_DecompressVoiceEx(lpSteamUser%, pCompressed*, cbCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten%, nDesiredSampleRate%) : "BS_User_DecompressVoice" +BS_User_GetVoiceOptimalSampleRate%(lpSteamUser%) +BS_User_GetAuthSessionTicket%(lpSteamUser%, pTicket*, cbMaxTicket%, pcbTicket*) +BS_User_GetAuthSessionTicketEx%(lpSteamUser%, pTicket*, cbMaxTicket%, pcbTicket%) : "BS_User_GetAuthSessionTicket" +BS_User_BeginAuthSession%(lpSteamUser%, pAuthTicket*, cbAuthTicker%, steamID%) +BS_User_EndAuthSession(lpSteamUser%, steamID%) +BS_User_CancelAuthTicket(lpSteamUser%, hAuthTicket%) +BS_User_UserHasLicenseForApp%(lpSteamUser%, steamID%, appID%) +BS_User_IsBehindNAT%(lpSteamUser%) +BS_User_AdvertiseGame%(lpSteamUser%, steamIDGameServer%, unIPServer%, usPortServer%) +BS_User_RequestEncryptedAppTicket%(lpSteamUser%, pDataToInclude*, cbDataToInclude%) +BS_User_GetEncryptedAppTicket%(lpSteamUser%, pTicket*, cbMaxTicket%, pcbTicket*) +BS_User_GetEncryptedAppTicketEx%(lpSteamUser%, pTicket*, cbMaxTicket%, pcbTicket%) : "BS_User_GetEncryptedAppTicket" +BS_User_GetGameBadgeLevel%(lpSteamUser%, nSeries%, bFoil%) +BS_User_GetPlayerSteamLevel%(lpSteamUser%) +BS_User_RequestStoreAuthURL%(lpSteamUser%, pchRedirectUrl$) + +; SteamUserStats ---------------------------------------------------------------- +BS_UserStats_RequestCurrentStats%(lpSteamUserStats%) +BS_UserStats_GetStat%(lpSteamUserStats%, pchName$, pData*) +BS_UserStats_GetStatEx%(lpSteamUserStats%, pchName$, pData%) : "BS_UserStats_GetStat" +BS_UserStats_GetStatF%(lpSteamUserStats%, pchName$, pData*) +BS_UserStats_GetStatFEx%(lpSteamUserStats%, pchName$, pData%) : "BS_UserStats_GetStatF" +BS_UserStats_SetStat%(lpSteamUserStats%, pchName$, pData%) +BS_UserStats_SetStatF%(lpSteamUserStats%, pchName$, pData#) +BS_UserStats_UpdateAvgRateStat%(lpSteamUserStats%, pchName$, flCountThisSession#, dSessionLength%) +BS_UserStats_GetAchievement%(lpSteamUserStats%, pchName$, pbAchieved*) +BS_UserStats_GetAchievementEx%(lpSteamUserStats%, pchName$, pbAchieved%) : "BS_UserStats_GetAchievement" +BS_UserStats_SetAchievement%(lpSteamUserStats%, pchName$) +BS_UserStats_ClearAchievement%(lpSteamUserStats%, pchName$) +BS_UserStats_GetAchievementAndUnlockTime%(lpSteamUserStats%, pchName$, pbAchieved*, punUnlockTime*) +BS_UserStats_GetAchievementAndUnlockTimeEx%(lpSteamUserStats%, pchName$, pbAchieved%, punUnlockTime%) : "BS_UserStats_GetAchievementAndUnlockTime" +BS_UserStats_StoreStats%(lpSteamUserStats%) +BS_UserStats_GetAchievementIcon%(lpSteamUserStats%, pchName$) +BS_UserStats_GetAchievementDisplayAttribute$(lpSteamUserStats%, pchName$, pchKey$) +BS_UserStats_IndicateAchievementProgress%(lpSteamUserStats%, pchName$, nCurProgress%, nMaxProgress%) +BS_UserStats_GetNumAchievements%(lpSteamUserStats%) +BS_UserStats_GetAchievementName$(lpSteamUserStats%, iAchievement%) +BS_UserStats_RequestUserStats%(lpSteamUserStats%, steamIDUser%) +BS_UserStats_GetUserStat%(lpSteamUserStats%, steamIDUser%, pchName$, pData*) +BS_UserStats_GetUserStatEx%(lpSteamUserStats%, steamIDUser%, pchName$, pData%) : "BS_UserStats_GetUserStat" +BS_UserStats_GetUserStatF%(lpSteamUserStats%, steamIDUser%, pchName$, pData*) +BS_UserStats_GetUserStatFEx%(lpSteamUserStats%, steamIDUser%, pchName$, pData%) : "BS_UserStats_GetUserStatF" +BS_UserStats_GetUserAchievement%(lpSteamUserStats%, steamIDUser%, pchName$, pbAchieved*) +BS_UserStats_GetUserAchievementEx%(lpSteamUserStats%, steamIDUser%, pchName$, pbAchieved%) : "BS_UserStats_GetUserAchievement" +BS_UserStats_GetUserAchievementAndUnlockTime%(lpSteamUserStats%, steamIDUser%, pchName$, pbAchieved*, punUnlockTime*) +BS_UserStats_GetUserAchievementAndUnlockTimeEx%(lpSteamUserStats%, steamIDUser%, pchName$, pbAchieved%, punUnlockTime%) : "BS_UserStats_GetUserAchievementAndUnlockTime" +BS_UserStats_ResetAllStats%(lpSteamUserStats%, bAchievementsToo%) +BS_UserStats_FindOrCreateLeaderboard%(lpSteamUserStats%, pchLeaderboardName$, eLeaderboardSortMethod%, eLeaderboardDisplayType%) +BS_UserStats_FindLeaderboard%(lpSteamUserStats%, pchLeaderboardName$) +BS_UserStats_GetLeaderboardName$(lpSteamUserStats%, hSteamLeaderboard%) +BS_UserStats_GetLeaderboardEntryCount%(lpSteamUserStats%, hSteamLeaderboard%) +BS_UserStats_GetLeaderboardSortMethod%(lpSteamUserStats%, hSteamLeaderboard%) +BS_UserStats_GetLeaderboardDisplayType%(lpSteamUserStats%, hSteamLeaderboard%) +BS_UserStats_DownloadLeaderboardEntries%(lpSteamUserStats%, hSteamLeaderboard%, eLeaderboardDataRequest%, nRangeStart%, nRangeEnd%) +BS_UserStats_DownloadLeaderboardEntriesForUsers%(lpSteamUserStats%, hSteamLeaderboard%, prgUsers*, cUsers%) +BS_UserStats_DownloadLeaderboardEntriesForUsersEx%(lpSteamUserStats%, hSteamLeaderboard%, prgUsers%, cUsers%) : "BS_UserStats_DownloadLeaderboardEntriesForUsers" +BS_UserStats_GetDownloadedLeaderboardEntry%(lpSteamUsers%, hSteamLeaderboardEntries%, index%, pLeaderboardEntry*, pDetails*, cDetailsMax%) +BS_UserStats_GetDownloadedLeaderboardEntryEx%(lpSteamUsers%, hSteamLeaderboardEntries%, index%, pLeaderboardEntry%, pDetails%, cDetailsMax%) +BS_UserStats_UploadLeaderboardScore%(lpSteamUserStats%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, nScore%, pScoreDetails*, cScoreDetailsCount%) +BS_UserStats_UploadLeaderboardScoreEx%(lpSteamUserStats%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, nScore%, pScoreDetails%, cScoreDetailsCount%) : "BS_UserStats_UploadLeaderboardScore" +BS_UserStats_AttachLeaderboardUGC%(lpSteamUserStats%, hSteamLeaderboard%, hUGB%) +BS_UserStats_GetNumberOfCurrentPlayers%(lpSteamUserstats%) +BS_UserStats_RequestGlobalAchievementPercentages%(lpSteamUserStats%) +BS_UserStats_GetMostAchievedAchievementInfo%(lpSteamUserStats%, pchName$, unNameBufLen%, pflPercent*, pbAchieved*) +BS_UserStats_GetMostAchievedAchievementInfoEx%(lpSteamUserStats%, pchName$, unNameBufLen%, pflPercent%, pbAchieved%) : "BS_UserStats_GetMostAchievedAchievementInfo" +BS_UserStats_GetNextMostAchievedAchievementInfo%(lpSteamUserStats%, iIteratorPrevious%, pchName$, unNameBufLen%, pflPercent*, pbAchieved*) +BS_UserStats_GetNextMostAchievedAchievementInfoEx%(lpSteamUserStats%, iIteratorPrevious%, pchName$, unNameBufLen%, pflPercent%, pbAchieved%) : "BS_UserStats_GetNextMostAchievedAchievementInfo" +BS_UserStats_GetAchievementAchievedPercent%(lpSteamUserStats%, pchName$, pflPercent*) +BS_UserStats_GetAchievementAchievedPercentEx%(lpSteamUserStats%, pchName$, pflPercent%) : "BS_UserStats_GetAchievementAchievedPercent" +BS_UserStats_RequestGlobalStats%(lpSteamUserStats%, nHistoryDays%) +BS_UserStats_GetGlobalStatLL%(lpSteamUserStats, pchStatName$, pData%) +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" \ No newline at end of file diff --git a/Blitz/BlitzSteamUtility.bb b/Blitz/BlitzSteamUtility.bb index 89acf1f..771051d 100644 --- a/Blitz/BlitzSteamUtility.bb +++ b/Blitz/BlitzSteamUtility.bb @@ -1,4 +1,4 @@ -; BS_ - Steam wrapper for Blitz. +; BlitzSteam - Steam wrapper for Blitz ; Copyright (C) 2015 Xaymar (Michael Fabian Dirks) ; ; This program is free software: you can redistribute it and/or modify diff --git a/Helpers/BlitzPointer.h b/Helpers/BlitzPointer.h new file mode 100644 index 0000000..2900a06 --- /dev/null +++ b/Helpers/BlitzPointer.h @@ -0,0 +1,29 @@ +// BlitzSteam - Steam wrapper for Blitz +// Copyright (C) 2015 Xaymar (Michael Fabian Dirks) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// 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 . + +#include "dllmain.h" + +typedef uint32_t(__stdcall *BP_Function0_t)(); +typedef uint32_t(__stdcall *BP_Function1_t)(uint32_t); +typedef uint32_t(__stdcall *BP_Function2_t)(uint32_t, uint32_t); +typedef uint32_t(__stdcall *BP_Function3_t)(uint32_t, uint32_t, uint32_t); +typedef uint32_t(__stdcall *BP_Function4_t)(uint32_t, uint32_t, uint32_t, uint32_t); + +#define BP_CallFunction0(ptr) ((BP_Function0_t)ptr)() +#define BP_CallFunction1(ptr, p1) ((BP_Function1_t)ptr)(p1) +#define BP_CallFunction2(ptr, p1, p2) ((BP_Function2_t)ptr)(p1, p2) +#define BP_CallFunction3(ptr, p1, p2, p3) ((BP_Function3_t)ptr)(p1, p2, p3) +#define BP_CallFunction4(ptr, p1, p2, p3, p4) ((BP_Function4_t)ptr)(p1, p2, p3, p4) \ No newline at end of file diff --git a/Helpers/CSteamID.cpp b/Helpers/CSteamID.cpp index 909726d..516eb41 100644 --- a/Helpers/CSteamID.cpp +++ b/Helpers/CSteamID.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Helpers/CSteamID.h b/Helpers/CSteamID.h index 97e4547..9d61503 100644 --- a/Helpers/CSteamID.h +++ b/Helpers/CSteamID.h @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Helpers/Callbacks.cpp b/Helpers/Callbacks.cpp index ea4f36e..aa2ad1e 100644 --- a/Helpers/Callbacks.cpp +++ b/Helpers/Callbacks.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Wrapper/Steam.cpp b/Wrapper/Steam.cpp index a901894..3b757bd 100644 --- a/Wrapper/Steam.cpp +++ b/Wrapper/Steam.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Wrapper/SteamAppList.cpp b/Wrapper/SteamAppList.cpp index 1bf28a0..7425700 100644 --- a/Wrapper/SteamAppList.cpp +++ b/Wrapper/SteamAppList.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Wrapper/SteamApps.cpp b/Wrapper/SteamApps.cpp index e5ee5de..91860ba 100644 --- a/Wrapper/SteamApps.cpp +++ b/Wrapper/SteamApps.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify @@ -72,8 +72,8 @@ DLL_EXPORT uint32_t DLL_CALL BS_Apps_GetDLCCount(ISteamApps* lpSteamApps) { } #pragma comment(linker, "/EXPORT:BS_Apps_GetDLCCount=_BS_Apps_GetDLCCount@4") -DLL_EXPORT uint32_t DLL_CALL BS_Apps_GetDLCDataByIndex(ISteamApps* lpSteamApps, uint32_t iDLC, AppId_t *pAppId, bool *pbAvailable, char *pchName, uint32_t cchNameBufferSize) { - return lpSteamApps->BGetDLCDataByIndex(iDLC, pAppId, pbAvailable, pchName, cchNameBufferSize); +DLL_EXPORT uint32_t DLL_CALL BS_Apps_GetDLCDataByIndex(ISteamApps* lpSteamApps, uint32_t iDLC, AppId_t *pAppId, bool* pbAvailable, char *pchName, uint32_t cchNameBufferSize) { + return lpSteamApps->BGetDLCDataByIndex(iDLC, pAppId, (bool*)pbAvailable, pchName, cchNameBufferSize); } #pragma comment(linker, "/EXPORT:BS_Apps_GetDLCDataByIndex=_BS_Apps_GetDLCDataByIndex@24") @@ -97,8 +97,8 @@ DLL_EXPORT uint32_t DLL_CALL BS_Apps_GetCurrentBetaName(ISteamApps* lpSteamApps, } #pragma comment(linker, "/EXPORT:BS_Apps_GetCurrentBetaName=_BS_Apps_GetCurrentBetaName@12") -DLL_EXPORT uint32_t DLL_CALL BS_Apps_MarkContentCorrupt(ISteamApps* lpSteamApps, bool bMissingFilesOnly) { - return lpSteamApps->MarkContentCorrupt(bMissingFilesOnly); +DLL_EXPORT uint32_t DLL_CALL BS_Apps_MarkContentCorrupt(ISteamApps* lpSteamApps, uint32_t bMissingFilesOnly) { + return lpSteamApps->MarkContentCorrupt(bMissingFilesOnly != 0); } #pragma comment(linker, "/EXPORT:BS_Apps_MarkContentCorrupt=_BS_Apps_MarkContentCorrupt@8") diff --git a/Wrapper/SteamClient.cpp b/Wrapper/SteamClient.cpp index 876827d..ff5556e 100644 --- a/Wrapper/SteamClient.cpp +++ b/Wrapper/SteamClient.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify @@ -21,7 +21,7 @@ DLL_EXPORT HSteamPipe DLL_CALL BS_Client_CreateSteamPipe(ISteamClient* lpSteamCl } #pragma comment(linker, "/EXPORT:BS_Client_CreateSteamPipe=_BS_Client_CreateSteamPipe@4") -DLL_EXPORT bool DLL_CALL BS_Client_ReleaseSteamPipe(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) { +DLL_EXPORT uint32_t DLL_CALL BS_Client_ReleaseSteamPipe(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) { return lpSteamClient->BReleaseSteamPipe(hSteamPipe); } #pragma comment(linker, "/EXPORT:BS_Client_ReleaseSteamPipe=_BS_Client_ReleaseSteamPipe@8") diff --git a/Wrapper/SteamController.cpp b/Wrapper/SteamController.cpp index b70b110..d0776ac 100644 --- a/Wrapper/SteamController.cpp +++ b/Wrapper/SteamController.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Wrapper/SteamFriends.cpp b/Wrapper/SteamFriends.cpp index 84b970b..eed5d3b 100644 --- a/Wrapper/SteamFriends.cpp +++ b/Wrapper/SteamFriends.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify @@ -158,8 +158,8 @@ DLL_EXPORT uint32_t DLL_CALL BS_Friends_IsUserInSource(ISteamFriends* lpSteamFri } #pragma comment(linker, "/EXPORT:BS_Friends_IsUserInSource=_BS_Friends_IsUserInSource@12") -DLL_EXPORT void DLL_CALL BS_Friends_SetInGameVoiceSpeaking(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, bool bSpeaking) { - lpSteamFriends->SetInGameVoiceSpeaking(*steamIDUser, bSpeaking); +DLL_EXPORT void DLL_CALL BS_Friends_SetInGameVoiceSpeaking(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bSpeaking) { + lpSteamFriends->SetInGameVoiceSpeaking(*steamIDUser, bSpeaking != 0); } #pragma comment(linker, "/EXPORT:BS_Friends_SetInGameVoiceSpeaking=_BS_Friends_SetInGameVoiceSpeaking@12") @@ -208,8 +208,8 @@ DLL_EXPORT int32_t DLL_CALL BS_Friends_GetLargeFriendAvatar(ISteamFriends* lpSte } #pragma comment(linker, "/EXPORT:BS_Friends_GetLargeFriendAvatar=_BS_Friends_GetLargeFriendAvatar@8") -DLL_EXPORT uint32_t DLL_CALL BS_Friends_RequestUserInformation(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, bool bRequireNameOnly) { - return lpSteamFriends->RequestUserInformation(*steamIDUser, bRequireNameOnly); +DLL_EXPORT uint32_t DLL_CALL BS_Friends_RequestUserInformation(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bRequireNameOnly) { + return lpSteamFriends->RequestUserInformation(*steamIDUser, bRequireNameOnly != 0); } #pragma comment(linker, "/EXPORT:BS_Friends_RequestUserInformation=_BS_Friends_RequestUserInformation@12") @@ -347,8 +347,8 @@ DLL_EXPORT uint32_t DLL_CALL BS_Friends_CloseClanChatWindowInSteam(ISteamFriends } #pragma comment(linker, "/EXPORT:BS_Friends_CloseClanChatWindowInSteam=_BS_Friends_CloseClanChatWindowInSteam@8") -DLL_EXPORT uint32_t DLL_CALL BS_Friends_SetListenForFriendsMessages(ISteamFriends* lpSteamFriends, bool bInterceptEnabled) { - return lpSteamFriends->SetListenForFriendsMessages(bInterceptEnabled); +DLL_EXPORT uint32_t DLL_CALL BS_Friends_SetListenForFriendsMessages(ISteamFriends* lpSteamFriends, uint32_t bInterceptEnabled) { + return lpSteamFriends->SetListenForFriendsMessages(bInterceptEnabled != 0); } #pragma comment(linker, "/EXPORT:BS_Friends_SetListenForFriendsMessages=_BS_Friends_SetListenForFriendsMessages@8") diff --git a/Wrapper/SteamGameServer.cpp b/Wrapper/SteamGameServer.cpp index 47ba8b9..41f7082 100644 --- a/Wrapper/SteamGameServer.cpp +++ b/Wrapper/SteamGameServer.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify diff --git a/Wrapper/SteamUser.cpp b/Wrapper/SteamUser.cpp index 6a9de4b..b5468a8 100644 --- a/Wrapper/SteamUser.cpp +++ b/Wrapper/SteamUser.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify @@ -16,127 +16,127 @@ #include "dllmain.h" -DLL_EXPORT HSteamUser DLL_CALL BS_SteamUser_GetHSteamUser( ISteamUser* lpSteamUser ) { +DLL_EXPORT HSteamUser DLL_CALL BS_User_GetHSteamUser( ISteamUser* lpSteamUser ) { return lpSteamUser->GetHSteamUser( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetHSteamUser=_BS_SteamUser_GetHSteamUser@4") +#pragma comment(linker, "/EXPORT:BS_User_GetHSteamUser=_BS_User_GetHSteamUser@4") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_IsLoggedOn( ISteamUser* lpSteamUser ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_IsLoggedOn( ISteamUser* lpSteamUser ) { return lpSteamUser->BLoggedOn( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_IsLoggedOn=_BS_SteamUser_IsLoggedOn@4") +#pragma comment(linker, "/EXPORT:BS_User_IsLoggedOn=_BS_User_IsLoggedOn@4") -DLL_EXPORT CSteamID* DLL_CALL BS_SteamUser_GetSteamID( ISteamUser* lpSteamUser ) { +DLL_EXPORT CSteamID* DLL_CALL BS_User_GetSteamID( ISteamUser* lpSteamUser ) { return &(lpSteamUser->GetSteamID( )); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetSteamID=_BS_SteamUser_GetSteamID@4") +#pragma comment(linker, "/EXPORT:BS_User_GetSteamID=_BS_User_GetSteamID@4") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_InitiateGameConnection( ISteamUser* lpSteamUser, void* pAuthBlob, uint32_t cbMaxAuthBlob, CSteamID* SteamIDGameServer, uint32_t unIPServer, uint16_t usPortServer, uint32_t bSecure ) { - return lpSteamUser->InitiateGameConnection( pAuthBlob, cbMaxAuthBlob, *SteamIDGameServer, unIPServer, usPortServer, bSecure != 0); +DLL_EXPORT uint32_t DLL_CALL BS_User_InitiateGameConnection( ISteamUser* lpSteamUser, void* pAuthBlob, uint32_t cbMaxAuthBlob, CSteamID* SteamIDGameServer, uint32_t unIPServer, uint16_t usPortServer, uint32_t bSecure ) { + return lpSteamUser->InitiateGameConnection( pAuthBlob, cbMaxAuthBlob, *SteamIDGameServer, unIPServer, usPortServer, bSecure != 0 ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_InitiateGameConnection=_BS_SteamUser_InitiateGameConnection@28") +#pragma comment(linker, "/EXPORT:BS_User_InitiateGameConnection=_BS_User_InitiateGameConnection@28") -DLL_EXPORT void DLL_CALL BS_SteamUser_TerminateGameConnection( ISteamUser* lpSteamUser, uint32_t unIPServer, uint16_t usPortServer ) { +DLL_EXPORT void DLL_CALL BS_User_TerminateGameConnection( ISteamUser* lpSteamUser, uint32_t unIPServer, uint16_t usPortServer ) { lpSteamUser->TerminateGameConnection( unIPServer, usPortServer ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_TerminateGameConnection=_BS_SteamUser_TerminateGameConnection@12") +#pragma comment(linker, "/EXPORT:BS_User_TerminateGameConnection=_BS_User_TerminateGameConnection@12") -DLL_EXPORT void DLL_CALL BS_SteamUser_TrackAppUsageEvent( ISteamUser* lpSteamUser, CGameID* gameId, uint32_t eAppUsageEvent, const char* pchExtraInfo ) { +DLL_EXPORT void DLL_CALL BS_User_TrackAppUsageEvent( ISteamUser* lpSteamUser, CGameID* gameId, uint32_t eAppUsageEvent, const char* pchExtraInfo ) { lpSteamUser->TrackAppUsageEvent( *gameId, eAppUsageEvent, pchExtraInfo ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_TrackAppUsageEvent=_BS_SteamUser_TrackAppUsageEvent@16") +#pragma comment(linker, "/EXPORT:BS_User_TrackAppUsageEvent=_BS_User_TrackAppUsageEvent@16") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_GetUserDataFolder( ISteamUser* lpSteamUser, char* pchBuffer, uint32_t cubBuffer ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_GetUserDataFolder( ISteamUser* lpSteamUser, char* pchBuffer, uint32_t cubBuffer ) { return lpSteamUser->GetUserDataFolder( pchBuffer, cubBuffer ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetUserDataFolder=_BS_SteamUser_GetUserDataFolder@12") +#pragma comment(linker, "/EXPORT:BS_User_GetUserDataFolder=_BS_User_GetUserDataFolder@12") -DLL_EXPORT void DLL_CALL BS_SteamUser_StartVoiceRecording( ISteamUser* lpSteamUser ) { +DLL_EXPORT void DLL_CALL BS_User_StartVoiceRecording( ISteamUser* lpSteamUser ) { lpSteamUser->StartVoiceRecording( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_StartVoiceRecording=_BS_SteamUser_StartVoiceRecording@4") +#pragma comment(linker, "/EXPORT:BS_User_StartVoiceRecording=_BS_User_StartVoiceRecording@4") -DLL_EXPORT void DLL_CALL BS_SteamUser_StopVoiceRecording( ISteamUser* lpSteamUser ) { +DLL_EXPORT void DLL_CALL BS_User_StopVoiceRecording( ISteamUser* lpSteamUser ) { lpSteamUser->StopVoiceRecording( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_StopVoiceRecording=_BS_SteamUser_StopVoiceRecording@4") +#pragma comment(linker, "/EXPORT:BS_User_StopVoiceRecording=_BS_User_StopVoiceRecording@4") -DLL_EXPORT EVoiceResult DLL_CALL BS_SteamUser_GetAvailableVoice( ISteamUser* lpSteamUser, uint32_t* pcbCompressed, uint32_t* pcbUncompressed, uint32_t nUncompressedVoiceDesiredSampleRate ) { +DLL_EXPORT EVoiceResult DLL_CALL BS_User_GetAvailableVoice( ISteamUser* lpSteamUser, uint32_t* pcbCompressed, uint32_t* pcbUncompressed, uint32_t nUncompressedVoiceDesiredSampleRate ) { return lpSteamUser->GetAvailableVoice( pcbCompressed, pcbUncompressed, nUncompressedVoiceDesiredSampleRate ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetAvailableVoice=_BS_SteamUser_GetAvailableVoice@16") +#pragma comment(linker, "/EXPORT:BS_User_GetAvailableVoice=_BS_User_GetAvailableVoice@16") -DLL_EXPORT EVoiceResult DLL_CALL BS_SteamUser_GetVoice( ISteamUser* lpSteamUser, bool bWantCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, bool bWantUncompressed, void *pUncompressedDestBuffer, uint32_t cbUncompressedDestBufferSize, uint32_t *nUncompressBytesWritten, uint32_t nUncompressedVoiceDesiredSampleRate ) { - return lpSteamUser->GetVoice( bWantCompressed, pDestBuffer, cbDestBufferSize, nBytesWritten, bWantUncompressed, pUncompressedDestBuffer, cbUncompressedDestBufferSize, nUncompressBytesWritten, nUncompressedVoiceDesiredSampleRate ); +DLL_EXPORT EVoiceResult DLL_CALL BS_User_GetVoice( ISteamUser* lpSteamUser, uint32_t bWantCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t bWantUncompressed, void *pUncompressedDestBuffer, uint32_t cbUncompressedDestBufferSize, uint32_t *nUncompressBytesWritten, uint32_t nUncompressedVoiceDesiredSampleRate ) { + return lpSteamUser->GetVoice( bWantCompressed != 0, pDestBuffer, cbDestBufferSize, nBytesWritten, bWantUncompressed != 0, pUncompressedDestBuffer, cbUncompressedDestBufferSize, nUncompressBytesWritten, nUncompressedVoiceDesiredSampleRate ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetVoice=_BS_SteamUser_GetVoice@40") +#pragma comment(linker, "/EXPORT:BS_User_GetVoice=_BS_User_GetVoice@40") -DLL_EXPORT EVoiceResult DLL_CALL BS_SteamUser_DecompressVoice( ISteamUser* lpSteamUser, const void *pCompressed, uint32_t cbCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t nDesiredSampleRate ) { +DLL_EXPORT EVoiceResult DLL_CALL BS_User_DecompressVoice( ISteamUser* lpSteamUser, const void *pCompressed, uint32_t cbCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t nDesiredSampleRate ) { return lpSteamUser->DecompressVoice( pCompressed, cbCompressed, pDestBuffer, cbDestBufferSize, nBytesWritten, nDesiredSampleRate ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_DecompressVoice=_BS_SteamUser_DecompressVoice@28") +#pragma comment(linker, "/EXPORT:BS_User_DecompressVoice=_BS_User_DecompressVoice@28") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_GetVoiceOptimalSampleRate( ISteamUser* lpSteamUser ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_GetVoiceOptimalSampleRate( ISteamUser* lpSteamUser ) { return lpSteamUser->GetVoiceOptimalSampleRate( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetVoiceOptimalSampleRate=_BS_SteamUser_GetVoiceOptimalSampleRate@4") +#pragma comment(linker, "/EXPORT:BS_User_GetVoiceOptimalSampleRate=_BS_User_GetVoiceOptimalSampleRate@4") -DLL_EXPORT HAuthTicket DLL_CALL BS_SteamUser_GetAuthSessionTicket( ISteamUser* lpSteamUser, void* pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) { +DLL_EXPORT HAuthTicket DLL_CALL BS_User_GetAuthSessionTicket( ISteamUser* lpSteamUser, void* pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) { return lpSteamUser->GetAuthSessionTicket( pTicket, cbMaxTicket, pcbTicket ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetAuthSessionTicket=_BS_SteamUser_GetAuthSessionTicket@16") +#pragma comment(linker, "/EXPORT:BS_User_GetAuthSessionTicket=_BS_User_GetAuthSessionTicket@16") -DLL_EXPORT EBeginAuthSessionResult DLL_CALL BS_SteamUser_BeginAuthSession( ISteamUser* lpSteamUser, const void *pAuthTicket, uint32_t cbAuthTicket, CSteamID* steamID ) { +DLL_EXPORT EBeginAuthSessionResult DLL_CALL BS_User_BeginAuthSession( ISteamUser* lpSteamUser, const void *pAuthTicket, uint32_t cbAuthTicket, CSteamID* steamID ) { return lpSteamUser->BeginAuthSession( pAuthTicket, cbAuthTicket, *steamID ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_BeginAuthSession=_BS_SteamUser_BeginAuthSession@16") +#pragma comment(linker, "/EXPORT:BS_User_BeginAuthSession=_BS_User_BeginAuthSession@16") -DLL_EXPORT void DLL_CALL BS_SteamUser_EndAuthSession( ISteamUser* lpSteamUser, CSteamID* steamID ) { +DLL_EXPORT void DLL_CALL BS_User_EndAuthSession( ISteamUser* lpSteamUser, CSteamID* steamID ) { lpSteamUser->EndAuthSession( *steamID ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_EndAuthSession=_BS_SteamUser_EndAuthSession@8") +#pragma comment(linker, "/EXPORT:BS_User_EndAuthSession=_BS_User_EndAuthSession@8") -DLL_EXPORT void DLL_CALL BS_SteamUser_CancelAuthTicket( ISteamUser* lpSteamUser, HAuthTicket hAuthTicket ) { +DLL_EXPORT void DLL_CALL BS_User_CancelAuthTicket( ISteamUser* lpSteamUser, HAuthTicket hAuthTicket ) { lpSteamUser->CancelAuthTicket( hAuthTicket ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_EndAuthSession=_BS_SteamUser_EndAuthSession@8") +#pragma comment(linker, "/EXPORT:BS_User_EndAuthSession=_BS_User_EndAuthSession@8") -DLL_EXPORT EUserHasLicenseForAppResult DLL_CALL BS_SteamUser_UserHasLicenseForApp( ISteamUser* lpSteamUser, CSteamID* steamID, AppId_t appID ) { +DLL_EXPORT EUserHasLicenseForAppResult DLL_CALL BS_User_UserHasLicenseForApp( ISteamUser* lpSteamUser, CSteamID* steamID, AppId_t appID ) { return lpSteamUser->UserHasLicenseForApp( *steamID, appID ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_UserHasLicenseForApp=_BS_SteamUser_UserHasLicenseForApp@12") +#pragma comment(linker, "/EXPORT:BS_User_UserHasLicenseForApp=_BS_User_UserHasLicenseForApp@12") -DLL_EXPORT bool DLL_CALL BS_SteamUser_IsBehindNAT( ISteamUser* lpSteamUser ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_IsBehindNAT( ISteamUser* lpSteamUser ) { return lpSteamUser->BIsBehindNAT( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_IsBehindNAT=_BS_SteamUser_IsBehindNAT@4") +#pragma comment(linker, "/EXPORT:BS_User_IsBehindNAT=_BS_User_IsBehindNAT@4") -DLL_EXPORT void DLL_CALL BS_SteamUser_AdvertiseGame( ISteamUser* lpSteamUser, CSteamID* steamIDGameServer, uint32_t unIPServer, uint16_t usPortServer ) { +DLL_EXPORT void DLL_CALL BS_User_AdvertiseGame( ISteamUser* lpSteamUser, CSteamID* steamIDGameServer, uint32_t unIPServer, uint16_t usPortServer ) { lpSteamUser->AdvertiseGame( *steamIDGameServer, unIPServer, usPortServer ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_AdvertiseGame=_BS_SteamUser_AdvertiseGame@16") +#pragma comment(linker, "/EXPORT:BS_User_AdvertiseGame=_BS_User_AdvertiseGame@16") -DLL_EXPORT SteamAPICall_t DLL_CALL BS_SteamUser_RequestEncryptedAppTicket( ISteamUser* lpSteamUser, void* pDataToInclude, uint32_t cbDataToInclude ) { - return lpSteamUser->RequestEncryptedAppTicket( pDataToInclude, cbDataToInclude ); +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_User_RequestEncryptedAppTicket( ISteamUser* lpSteamUser, void* pDataToInclude, uint32_t cbDataToInclude ) { + return new uint64_t(lpSteamUser->RequestEncryptedAppTicket( pDataToInclude, cbDataToInclude )); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_RequestEncryptedAppTicket=_BS_SteamUser_RequestEncryptedAppTicket@12") +#pragma comment(linker, "/EXPORT:BS_User_RequestEncryptedAppTicket=_BS_User_RequestEncryptedAppTicket@12") -DLL_EXPORT bool DLL_CALL BS_SteamUser_GetEncryptedAppTicket( ISteamUser* lpSteamUser, void *pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_GetEncryptedAppTicket( ISteamUser* lpSteamUser, void *pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) { return lpSteamUser->GetEncryptedAppTicket( pTicket, cbMaxTicket, pcbTicket ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetEncryptedAppTicket=_BS_SteamUser_GetEncryptedAppTicket@16") +#pragma comment(linker, "/EXPORT:BS_User_GetEncryptedAppTicket=_BS_User_GetEncryptedAppTicket@16") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_GetGameBadgeLevel( ISteamUser* lpSteamUser, uint32_t nSeries, bool bFoil ) { - return lpSteamUser->GetGameBadgeLevel( nSeries, bFoil ); +DLL_EXPORT uint32_t DLL_CALL BS_User_GetGameBadgeLevel( ISteamUser* lpSteamUser, uint32_t nSeries, uint32_t bFoil ) { + return lpSteamUser->GetGameBadgeLevel( nSeries, bFoil != 0 ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetGameBadgeLevel=_BS_SteamUser_GetGameBadgeLevel@12") +#pragma comment(linker, "/EXPORT:BS_User_GetGameBadgeLevel=_BS_User_GetGameBadgeLevel@12") -DLL_EXPORT uint32_t DLL_CALL BS_SteamUser_GetPlayerSteamLevel( ISteamUser* lpSteamUser ) { +DLL_EXPORT uint32_t DLL_CALL BS_User_GetPlayerSteamLevel( ISteamUser* lpSteamUser ) { return lpSteamUser->GetPlayerSteamLevel( ); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_GetPlayerSteamLevel=_BS_SteamUser_GetPlayerSteamLevel@4") +#pragma comment(linker, "/EXPORT:BS_User_GetPlayerSteamLevel=_BS_User_GetPlayerSteamLevel@4") -DLL_EXPORT SteamAPICall_t DLL_CALL BS_SteamUser_RequestStoreAuthURL( ISteamUser* lpSteamUser, const char* pchRedirectURL ) { - return lpSteamUser->RequestStoreAuthURL( pchRedirectURL ); +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_User_RequestStoreAuthURL( ISteamUser* lpSteamUser, const char* pchRedirectURL ) { + return new uint64_t(lpSteamUser->RequestStoreAuthURL( pchRedirectURL )); } -#pragma comment(linker, "/EXPORT:BS_SteamUser_RequestStoreAuthURL=_BS_SteamUser_RequestStoreAuthURL@8") \ No newline at end of file +#pragma comment(linker, "/EXPORT:BS_User_RequestStoreAuthURL=_BS_User_RequestStoreAuthURL@8") \ No newline at end of file diff --git a/Wrapper/SteamUserStats.cpp b/Wrapper/SteamUserStats.cpp index e69de29..6ea8eb3 100644 --- a/Wrapper/SteamUserStats.cpp +++ b/Wrapper/SteamUserStats.cpp @@ -0,0 +1,232 @@ +// BlitzSteam - Steam wrapper for Blitz +// Copyright (C) 2015 Xaymar (Michael Fabian Dirks) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// 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 . + +#include "dllmain.h" + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_RequestCurrentStats( ISteamUserStats* lpSteamUserStats ) { + return lpSteamUserStats->RequestCurrentStats( ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_RequestCurrentStats=_BS_UserStats_RequestCurrentStats@4") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t* pData ) { + return lpSteamUserStats->GetStat( pchName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetStat=_BS_UserStats_GetStat@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t* pData ) { + return lpSteamUserStats->GetStat( pchName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetStatF=_BS_UserStats_GetStatF@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_SetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t pData ) { + return lpSteamUserStats->SetStat( pchName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_SetStat=_BS_UserStats_SetStat@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_SetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t pData ) { + return lpSteamUserStats->SetStat( pchName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_SetStatF=_BS_UserStats_SetStatF@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_UpdateAvgRateStat( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t flCountThisSession, double_t* dSessionLength ) { + return lpSteamUserStats->UpdateAvgRateStat( pchName, flCountThisSession, *dSessionLength ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_UpdateAvgRateStat=_BS_UserStats_UpdateAvgRateStat@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved ) { + return lpSteamUserStats->GetAchievement( pchName, (bool*)pbAchieved ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievement=_BS_UserStats_GetAchievement@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_SetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) { + return lpSteamUserStats->SetAchievement( pchName ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_SetAchievement=_BS_UserStats_SetAchievement@8") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_ClearAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) { + return lpSteamUserStats->ClearAchievement( pchName ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_ClearAchievement=_BS_UserStats_ClearAchievement@8") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) { + return lpSteamUserStats->GetAchievementAndUnlockTime( pchName, (bool*)pbAchieved, punUnlockTime ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievementAndUnlockTime=_BS_UserStats_GetAchievementAndUnlockTime@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_StoreStats( ISteamUserStats* lpSteamUserStats ) { + return lpSteamUserStats->StoreStats( ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_StoreStats=_BS_UserStats_StoreStats@4") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetAchievementIcon( ISteamUserStats* lpSteamUserStats, const char* pchName ) { + return lpSteamUserStats->GetAchievementIcon( pchName ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievementIcon=_BS_UserStats_GetAchievementIcon@8") + +DLL_EXPORT const char* DLL_CALL BS_UserStats_GetAchievementDisplayAttribute( ISteamUserStats* lpSteamUserStats, const char* pchName, const char* pchKey ) { + return lpSteamUserStats->GetAchievementDisplayAttribute( pchName, pchKey ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievementDisplayAttribute=_BS_UserStats_GetAchievementDisplayAttribute@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_IndicateAchievementProgress( ISteamUserStats* lpSteamUserStats, const char* pchName, uint32_t nCurProgress, uint32_t nMaxProgress ) { + return lpSteamUserStats->IndicateAchievementProgress( pchName, nCurProgress, nMaxProgress ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_IndicateAchievementProgress=_BS_UserStats_IndicateAchievementProgress@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetNumAchievements( ISteamUserStats* lpSteamUserStats ) { + return lpSteamUserStats->GetNumAchievements( ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetNumAchievements=_BS_UserStats_GetNumAchievements@4") + +DLL_EXPORT const char* DLL_CALL BS_UserStats_GetAchievementName( ISteamUserStats* lpSteamUserStats, uint32 iAchievement ) { + return lpSteamUserStats->GetAchievementName( iAchievement ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievementName=_BS_UserStats_GetAchievementName@8") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_RequestUserStats( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser ) { + return new uint64_t( lpSteamUserStats->RequestUserStats( *steamIDUser ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_RequestUserStats=_BS_UserStats_RequestUserStats@8") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetUserStat( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pData ) { + return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, (int32_t*)pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetUserStat=_BS_UserStats_GetUserStat@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetUserStatF( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, float_t* pData ) { + return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetUserStatF=_BS_UserStats_GetUserStatF@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetUserAchievement( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved ) { + return lpSteamUserStats->GetUserAchievement( *steamIDUser, pchName, (bool*)pbAchieved ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetUserAchievement=_BS_UserStats_GetUserAchievement@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetUserAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) { + return lpSteamUserStats->GetUserAchievementAndUnlockTime( *steamIDUser, pchName, (bool*)pbAchieved, punUnlockTime ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetUserAchievementAndUnlockTime=_BS_UserStats_GetUserAchievementAndUnlockTime@20") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_ResetAllStats( ISteamUserStats* lpSteamUserStats, uint32_t bAchievementsToo ) { + return lpSteamUserStats->ResetAllStats( bAchievementsToo != 0 ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_ResetAllStats=_BS_UserStats_ResetAllStats@8") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_FindOrCreateLeaderboard( ISteamUserStats* lpSteamUserStats, const char* pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) { + return new uint64_t( lpSteamUserStats->FindOrCreateLeaderboard( pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_FindOrCreateLeaderboard=_BS_UserStats_FindOrCreateLeaderboard@16") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_FindLeaderboard( ISteamUserStats* lpSteamUserStats, const char *pchLeaderboardName ) { + return new uint64_t( lpSteamUserStats->FindLeaderboard( pchLeaderboardName ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_FindLeaderboard=_BS_UserStats_FindLeaderboard@8") + +DLL_EXPORT const char* DLL_CALL BS_UserStats_GetLeaderboardName( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) { + return lpSteamUserStats->GetLeaderboardName( *hSteamLeaderboard ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetLeaderboardName=_BS_UserStats_GetLeaderboardName@8") + +DLL_EXPORT int DLL_CALL BS_UserStats_GetLeaderboardEntryCount( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) { + return lpSteamUserStats->GetLeaderboardEntryCount( *hSteamLeaderboard ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetLeaderboardEntryCount=_BS_UserStats_GetLeaderboardEntryCount@8") + +DLL_EXPORT ELeaderboardSortMethod DLL_CALL BS_UserStats_GetLeaderboardSortMethod( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) { + return lpSteamUserStats->GetLeaderboardSortMethod( *hSteamLeaderboard ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetLeaderboardSortMethod=_BS_UserStats_GetLeaderboardSortMethod@8") + +DLL_EXPORT ELeaderboardDisplayType DLL_CALL BS_UserStats_GetLeaderboardDisplayType( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) { + return lpSteamUserStats->GetLeaderboardDisplayType( *hSteamLeaderboard ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetLeaderboardDisplayType=_BS_UserStats_GetLeaderboardDisplayType@8") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_DownloadLeaderboardEntries( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) { + return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntries( *hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_DownloadLeaderboardEntries=_BS_UserStats_DownloadLeaderboardEntries@20") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_DownloadLeaderboardEntriesForUsers( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, CSteamID* prgUsers, int cUsers ) { + return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntriesForUsers( *hSteamLeaderboard, prgUsers, cUsers ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_DownloadLeaderboardEntriesForUsers=_BS_UserStats_DownloadLeaderboardEntriesForUsers@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetDownloadedLeaderboardEntry( ISteamUserStats* lpSteamUserStats, SteamLeaderboardEntries_t* hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) { + return lpSteamUserStats->GetDownloadedLeaderboardEntry( *hSteamLeaderboardEntries, index, pLeaderboardEntry, pDetails, cDetailsMax ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetDownloadedLeaderboardEntry=_BS_UserStats_GetDownloadedLeaderboardEntry@24") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_UploadLeaderboardScore( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32_t* pScoreDetails, int cScoreDetailsCount ) { + return new uint64_t(lpSteamUserStats->UploadLeaderboardScore( *hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount )); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_UploadLeaderboardScore=_BS_UserStats_UploadLeaderboardScore@24") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_AttachLeaderboardUGC( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, UGCHandle_t* hUGC ) { + return new uint64_t( lpSteamUserStats->AttachLeaderboardUGC( *hSteamLeaderboard, *hUGC ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_AttachLeaderboardUGC=_BS_UserStats_AttachLeaderboardUGC@12") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_GetNumberOfCurrentPlayers( ISteamUserStats* lpSteamUserStats ) { + return new uint64_t( lpSteamUserStats->GetNumberOfCurrentPlayers( ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetNumberOfCurrentPlayers=_BS_UserStats_GetNumberOfCurrentPlayers@4") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_RequestGlobalAchievementPercentages( ISteamUserStats* lpSteamUserStats ) { + return new uint64_t( lpSteamUserStats->RequestGlobalAchievementPercentages( ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_RequestGlobalAchievementPercentages=_BS_UserStats_RequestGlobalAchievementPercentages@4") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, char *pchName, uint32 unNameBufLen, float *pflPercent, bool* pbAchieved ) { + return lpSteamUserStats->GetMostAchievedAchievementInfo( pchName, unNameBufLen, pflPercent, pbAchieved ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetMostAchievedAchievementInfo=_BS_UserStats_GetMostAchievedAchievementInfo@20") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetNextMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) { + return lpSteamUserStats->GetNextMostAchievedAchievementInfo( iIteratorPrevious, pchName, unNameBufLen, pflPercent, pbAchieved ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetNextMostAchievedAchievementInfo=_BS_UserStats_GetNextMostAchievedAchievementInfo@24") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetAchievementAchievedPercent( ISteamUserStats* lpSteamUserStats, const char *pchName, float *pflPercent ) { + return lpSteamUserStats->GetAchievementAchievedPercent( pchName, pflPercent ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetAchievementAchievedPercent=_BS_UserStats_GetAchievementAchievedPercent@12") + +DLL_EXPORT SteamAPICall_t* DLL_CALL BS_UserStats_RequestGlobalStats( ISteamUserStats* lpSteamUserStats, int nHistoryDays ) { + return new uint64_t( lpSteamUserStats->RequestGlobalStats( nHistoryDays ) ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_RequestGlobalStats=_BS_UserStats_RequestGlobalStats@8") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetGlobalStatLL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64* pData ) { + return lpSteamUserStats->GetGlobalStat( pchStatName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetGlobalStatLL=_BS_UserStats_GetGlobalStatLL@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetGlobalStatD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double* pData ) { + return lpSteamUserStats->GetGlobalStat( pchStatName, pData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetGlobalStatD=_BS_UserStats_GetGlobalStatD@12") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetGlobalStatHistoryLL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64 *pData, uint32 cubData ) { + return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetGlobalStatHistoryLL=_BS_UserStats_GetGlobalStatHistoryLL@16") + +DLL_EXPORT uint32_t DLL_CALL BS_UserStats_GetGlobalStatHistoryD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double *pData, uint32 cubData ) { + return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData ); +} +#pragma comment(linker, "/EXPORT:BS_UserStats_GetGlobalStatHistoryD=_BS_UserStats_GetGlobalStatHistoryD@16") diff --git a/dllmain.cpp b/dllmain.cpp index e5b6998..74f8b7b 100644 --- a/dllmain.cpp +++ b/dllmain.cpp @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ #include "dllmain.h" -bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { +uint32_t WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH: break; diff --git a/dllmain.h b/dllmain.h index ad65faa..1af51ce 100644 --- a/dllmain.h +++ b/dllmain.h @@ -1,4 +1,4 @@ -// BS_ - Steam wrapper for Blitz. +// BlitzSteam - Steam wrapper for Blitz // Copyright (C) 2015 Xaymar (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify