From 8c603d48802229a23f566cbb09ecd7b7a4d3e756 Mon Sep 17 00:00:00 2001 From: Garry Newman Date: Wed, 19 Feb 2020 13:11:40 +0000 Subject: [PATCH] Custom enums --- Facepunch.Steamworks/Generated/CustomEnums.cs | 217 ++++++++++++++++++ Generator/CodeWriter/CodeWriter.cs | 8 + Generator/CodeWriter/CustomEnums.cs | 21 ++ 3 files changed, 246 insertions(+) create mode 100644 Facepunch.Steamworks/Generated/CustomEnums.cs create mode 100644 Generator/CodeWriter/CustomEnums.cs diff --git a/Facepunch.Steamworks/Generated/CustomEnums.cs b/Facepunch.Steamworks/Generated/CustomEnums.cs new file mode 100644 index 0000000..85fba3c --- /dev/null +++ b/Facepunch.Steamworks/Generated/CustomEnums.cs @@ -0,0 +1,217 @@ +using System; +using System.Runtime.InteropServices; +using System.Linq; +using Steamworks.Data; +using System.Threading.Tasks; + +namespace Steamworks +{ + enum CallbackType + { + SteamServersConnected = 101, + SteamServerConnectFailure = 102, + SteamServersDisconnected = 103, + ClientGameServerDeny = 113, + GSPolicyResponse = 115, + IPCFailure = 117, + LicensesUpdated = 125, + ValidateAuthTicketResponse = 143, + MicroTxnAuthorizationResponse = 152, + EncryptedAppTicketResponse = 154, + GetAuthSessionTicketResponse = 163, + GameWebCallback = 164, + StoreAuthURLResponse = 165, + MarketEligibilityResponse = 166, + DurationControl = 167, + GSClientApprove = 201, + GSClientDeny = 202, + GSClientKick = 203, + GSClientAchievementStatus = 206, + GSGameplayStats = 207, + GSClientGroupStatus = 208, + GSReputation = 209, + AssociateWithClanResult = 210, + ComputeNewPlayerCompatibilityResult = 211, + PersonaStateChange = 304, + GameOverlayActivated = 331, + GameServerChangeRequested = 332, + GameLobbyJoinRequested = 333, + AvatarImageLoaded = 334, + ClanOfficerListResponse = 335, + FriendRichPresenceUpdate = 336, + GameRichPresenceJoinRequested = 337, + GameConnectedClanChatMsg = 338, + GameConnectedChatJoin = 339, + GameConnectedChatLeave = 340, + DownloadClanActivityCountsResult = 341, + JoinClanChatRoomCompletionResult = 342, + GameConnectedFriendChatMsg = 343, + FriendsGetFollowerCount = 344, + FriendsIsFollowing = 345, + FriendsEnumerateFollowingList = 346, + SetPersonaNameResponse = 347, + UnreadChatMessagesChanged = 348, + FavoritesListChanged = 502, + LobbyInvite = 503, + LobbyEnter = 504, + LobbyDataUpdate = 505, + LobbyChatUpdate = 506, + LobbyChatMsg = 507, + LobbyGameCreated = 509, + LobbyMatchList = 510, + LobbyKicked = 512, + LobbyCreated = 513, + PSNGameBootInviteResult = 515, + FavoritesListAccountsUpdated = 516, + IPCountry = 701, + LowBatteryPower = 702, + SteamAPICallCompleted = 703, + SteamShutdown = 704, + CheckFileSignature = 705, + GamepadTextInputDismissed = 714, + DlcInstalled = 1005, + RegisterActivationCodeResponse = 1008, + NewUrlLaunchParameters = 1014, + AppProofOfPurchaseKeyResponse = 1021, + FileDetailsResult = 1023, + UserStatsReceived = 1101, + UserStatsStored = 1102, + UserAchievementStored = 1103, + LeaderboardFindResult = 1104, + LeaderboardScoresDownloaded = 1105, + LeaderboardScoreUploaded = 1106, + NumberOfCurrentPlayers = 1107, + UserStatsUnloaded = 1108, + GSStatsUnloaded = 1108, + UserAchievementIconFetched = 1109, + GlobalAchievementPercentagesReady = 1110, + LeaderboardUGCSet = 1111, + PS3TrophiesInstalled = 1112, + GlobalStatsReceived = 1112, + SocketStatusCallback = 1201, + P2PSessionRequest = 1202, + P2PSessionConnectFail = 1203, + SteamNetConnectionStatusChangedCallback = 1221, + SteamNetAuthenticationStatus = 1222, + SteamRelayNetworkStatus = 1281, + RemoteStorageAppSyncedClient = 1301, + RemoteStorageAppSyncedServer = 1302, + RemoteStorageAppSyncProgress = 1303, + RemoteStorageAppSyncStatusCheck = 1305, + RemoteStorageFileShareResult = 1307, + RemoteStoragePublishFileResult = 1309, + RemoteStorageDeletePublishedFileResult = 1311, + RemoteStorageEnumerateUserPublishedFilesResult = 1312, + RemoteStorageSubscribePublishedFileResult = 1313, + RemoteStorageEnumerateUserSubscribedFilesResult = 1314, + RemoteStorageUnsubscribePublishedFileResult = 1315, + RemoteStorageUpdatePublishedFileResult = 1316, + RemoteStorageDownloadUGCResult = 1317, + RemoteStorageGetPublishedFileDetailsResult = 1318, + RemoteStorageEnumerateWorkshopFilesResult = 1319, + RemoteStorageGetPublishedItemVoteDetailsResult = 1320, + RemoteStoragePublishedFileSubscribed = 1321, + RemoteStoragePublishedFileUnsubscribed = 1322, + RemoteStoragePublishedFileDeleted = 1323, + RemoteStorageUpdateUserPublishedItemVoteResult = 1324, + RemoteStorageUserVoteDetails = 1325, + RemoteStorageEnumerateUserSharedWorkshopFilesResult = 1326, + RemoteStorageSetUserPublishedFileActionResult = 1327, + RemoteStorageEnumeratePublishedFilesByUserActionResult = 1328, + RemoteStoragePublishFileProgress = 1329, + RemoteStoragePublishedFileUpdated = 1330, + RemoteStorageFileWriteAsyncComplete = 1331, + RemoteStorageFileReadAsyncComplete = 1332, + GSStatsReceived = 1800, + GSStatsStored = 1801, + HTTPRequestCompleted = 2101, + HTTPRequestHeadersReceived = 2102, + HTTPRequestDataReceived = 2103, + ScreenshotReady = 2301, + ScreenshotRequested = 2302, + SteamUGCQueryCompleted = 3401, + SteamUGCRequestUGCDetailsResult = 3402, + CreateItemResult = 3403, + SubmitItemUpdateResult = 3404, + ItemInstalled = 3405, + DownloadItemResult = 3406, + UserFavoriteItemsListChanged = 3407, + SetUserItemVoteResult = 3408, + GetUserItemVoteResult = 3409, + StartPlaytimeTrackingResult = 3410, + StopPlaytimeTrackingResult = 3411, + AddUGCDependencyResult = 3412, + RemoveUGCDependencyResult = 3413, + AddAppDependencyResult = 3414, + RemoveAppDependencyResult = 3415, + GetAppDependenciesResult = 3416, + DeleteItemResult = 3417, + SteamAppInstalled = 3901, + SteamAppUninstalled = 3902, + PlaybackStatusHasChanged = 4001, + VolumeHasChanged = 4002, + MusicPlayerWantsVolume = 4011, + MusicPlayerSelectsQueueEntry = 4012, + MusicPlayerSelectsPlaylistEntry = 4013, + MusicPlayerRemoteWillActivate = 4101, + MusicPlayerRemoteWillDeactivate = 4102, + MusicPlayerRemoteToFront = 4103, + MusicPlayerWillQuit = 4104, + MusicPlayerWantsPlay = 4105, + MusicPlayerWantsPause = 4106, + MusicPlayerWantsPlayPrevious = 4107, + MusicPlayerWantsPlayNext = 4108, + MusicPlayerWantsShuffled = 4109, + MusicPlayerWantsLooped = 4110, + MusicPlayerWantsPlayingRepeatStatus = 4114, + HTML_BrowserReady = 4501, + HTML_NeedsPaint = 4502, + HTML_StartRequest = 4503, + HTML_CloseBrowser = 4504, + HTML_URLChanged = 4505, + HTML_FinishedRequest = 4506, + HTML_OpenLinkInNewTab = 4507, + HTML_ChangedTitle = 4508, + HTML_SearchResults = 4509, + HTML_CanGoBackAndForward = 4510, + HTML_HorizontalScroll = 4511, + HTML_VerticalScroll = 4512, + HTML_LinkAtPosition = 4513, + HTML_JSAlert = 4514, + HTML_JSConfirm = 4515, + HTML_FileOpenDialog = 4516, + HTML_NewWindow = 4521, + HTML_SetCursor = 4522, + HTML_StatusText = 4523, + HTML_ShowToolTip = 4524, + HTML_UpdateToolTip = 4525, + HTML_HideToolTip = 4526, + HTML_BrowserRestarted = 4527, + BroadcastUploadStart = 4604, + BroadcastUploadStop = 4605, + GetVideoURLResult = 4611, + GetOPFSettingsResult = 4624, + SteamInventoryResultReady = 4700, + SteamInventoryFullUpdate = 4701, + SteamInventoryDefinitionUpdate = 4702, + SteamInventoryEligiblePromoItemDefIDs = 4703, + SteamInventoryStartPurchaseResult = 4704, + SteamInventoryRequestPricesResult = 4705, + SteamParentalSettingsChanged = 5001, + SearchForGameProgressCallback = 5201, + SearchForGameResultCallback = 5202, + RequestPlayersForGameProgressCallback = 5211, + RequestPlayersForGameResultCallback = 5212, + RequestPlayersForGameFinalResultCallback = 5213, + SubmitPlayerResultResultCallback = 5214, + EndGameResultCallback = 5215, + JoinPartyCallback = 5301, + CreateBeaconCallback = 5302, + ReservationNotificationCallback = 5303, + ChangeNumOpenSlotsCallback = 5304, + AvailableBeaconLocationsUpdated = 5305, + ActiveBeaconsUpdated = 5306, + SteamRemotePlaySessionConnected = 5701, + SteamRemotePlaySessionDisconnected = 5702, + } +} diff --git a/Generator/CodeWriter/CodeWriter.cs b/Generator/CodeWriter/CodeWriter.cs index 7deffcc..b910407 100644 --- a/Generator/CodeWriter/CodeWriter.cs +++ b/Generator/CodeWriter/CodeWriter.cs @@ -26,6 +26,14 @@ namespace Generator Enums(); Footer(); System.IO.File.WriteAllText( $"{folder}SteamEnums.cs", sb.ToString() ); + } + + { + sb = new StringBuilder(); + Header(); + CustomEnums(); + Footer(); + System.IO.File.WriteAllText( $"{folder}CustomEnums.cs", sb.ToString() ); } { diff --git a/Generator/CodeWriter/CustomEnums.cs b/Generator/CodeWriter/CustomEnums.cs new file mode 100644 index 0000000..5abf746 --- /dev/null +++ b/Generator/CodeWriter/CustomEnums.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Generator +{ + public partial class CodeWriter + { + void CustomEnums() + { + StartBlock( "enum CallbackType" ); + foreach ( var c in def.callback_structs.OrderBy( x => x.CallbackId ) ) + { + WriteLine( $"{c.Name.Replace( "_t", "" ) } = {c.CallbackId}," ); + } + EndBlock(); + } + } +}