steamutils 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/package.json +1 -1
  2. package/protos/base_gcmessages.proto +533 -0
  3. package/protos/clientmetrics.proto +45 -0
  4. package/protos/content_manifest.proto +62 -0
  5. package/protos/cstrike15_gcmessages.proto +1344 -0
  6. package/protos/cstrike15_usermessages.proto +597 -0
  7. package/protos/econ_gcmessages.proto +225 -0
  8. package/protos/encrypted_app_ticket.proto +10 -0
  9. package/protos/engine_gcmessages.proto +16 -0
  10. package/protos/enums.proto +285 -0
  11. package/protos/enums_clientserver.proto +1534 -0
  12. package/protos/fatdemo.proto +125 -0
  13. package/protos/gcsdk_gcmessages.proto +302 -0
  14. package/protos/gcsystemmsgs.proto +246 -0
  15. package/protos/htmlmessages.proto +993 -0
  16. package/protos/netmessages.proto +491 -0
  17. package/protos/network_connection.proto +70 -0
  18. package/protos/renderer/rendermessages.proto +893 -0
  19. package/protos/steamdatagram_messages.proto +205 -0
  20. package/protos/steamdatagram_messages_auth.proto +65 -0
  21. package/protos/steamdatagram_messages_sdr.proto +518 -0
  22. package/protos/steammessages.proto +601 -0
  23. package/protos/steammessages_accounthardware.steamclient.proto +188 -0
  24. package/protos/steammessages_appoverview.proto +185 -0
  25. package/protos/steammessages_auth.steamclient.proto +192 -0
  26. package/protos/steammessages_base.proto +288 -0
  27. package/protos/steammessages_broadcast.steamclient.proto +756 -0
  28. package/protos/steammessages_chat.steamclient.proto +1281 -0
  29. package/protos/steammessages_client_objects.proto +336 -0
  30. package/protos/steammessages_clientlanp2p.proto +26 -0
  31. package/protos/steammessages_clientmetrics.steamclient.proto +176 -0
  32. package/protos/steammessages_clientnotificationtypes.proto +129 -0
  33. package/protos/steammessages_clientserver.proto +384 -0
  34. package/protos/steammessages_clientserver_2.proto +776 -0
  35. package/protos/steammessages_clientserver_appinfo.proto +166 -0
  36. package/protos/steammessages_clientserver_friends.proto +260 -0
  37. package/protos/steammessages_clientserver_gameservers.proto +159 -0
  38. package/protos/steammessages_clientserver_lbs.proto +70 -0
  39. package/protos/steammessages_clientserver_login.proto +159 -0
  40. package/protos/steammessages_clientserver_mms.proto +235 -0
  41. package/protos/steammessages_clientserver_ucm.proto +202 -0
  42. package/protos/steammessages_clientserver_uds.proto +104 -0
  43. package/protos/steammessages_clientserver_ufs.proto +172 -0
  44. package/protos/steammessages_clientserver_userstats.proto +80 -0
  45. package/protos/steammessages_cloud.steamclient.proto +512 -0
  46. package/protos/steammessages_contentsystem.steamclient.proto +77 -0
  47. package/protos/steammessages_credentials.steamclient.proto +141 -0
  48. package/protos/steammessages_datapublisher.steamclient.proto +67 -0
  49. package/protos/steammessages_depotbuilder.steamclient.proto +118 -0
  50. package/protos/steammessages_deviceauth.steamclient.proto +200 -0
  51. package/protos/steammessages_econ.steamclient.proto +105 -0
  52. package/protos/steammessages_friendmessages.steamclient.proto +168 -0
  53. package/protos/steammessages_gamenetworking.steamclient.proto +32 -0
  54. package/protos/steammessages_gamenetworkingui.proto +42 -0
  55. package/protos/steammessages_gamenotifications.steamclient.proto +156 -0
  56. package/protos/steammessages_gameservers.steamclient.proto +152 -0
  57. package/protos/steammessages_hiddevices.proto +156 -0
  58. package/protos/steammessages_inventory.steamclient.proto +224 -0
  59. package/protos/steammessages_linkfilter.steamclient.proto +49 -0
  60. package/protos/steammessages_lobbymatchmaking.steamclient.proto +33 -0
  61. package/protos/steammessages_market.steamclient.proto +26 -0
  62. package/protos/steammessages_offline.steamclient.proto +37 -0
  63. package/protos/steammessages_parental.steamclient.proto +186 -0
  64. package/protos/steammessages_parties.steamclient.proto +94 -0
  65. package/protos/steammessages_partnerapps.steamclient.proto +136 -0
  66. package/protos/steammessages_player.steamclient.proto +912 -0
  67. package/protos/steammessages_publishedfile.steamclient.proto +711 -0
  68. package/protos/steammessages_qms.steamclient.proto +125 -0
  69. package/protos/steammessages_remoteclient.proto +99 -0
  70. package/protos/steammessages_remoteclient_discovery.proto +228 -0
  71. package/protos/steammessages_remoteclient_service.steamclient.proto +90 -0
  72. package/protos/steammessages_remoteclient_service_messages.proto +196 -0
  73. package/protos/steammessages_remoteplay.proto +871 -0
  74. package/protos/steammessages_secrets.steamclient.proto +39 -0
  75. package/protos/steammessages_shader.steamclient.proto +96 -0
  76. package/protos/steammessages_site_license.steamclient.proto +128 -0
  77. package/protos/steammessages_sitelicenseclient.proto +38 -0
  78. package/protos/steammessages_siteserverui.proto +130 -0
  79. package/protos/steammessages_star.steamclient.proto +64 -0
  80. package/protos/steammessages_steamtv.steamclient.proto +630 -0
  81. package/protos/steammessages_store.steamclient.proto +262 -0
  82. package/protos/steammessages_timedtrial.steamclient.proto +50 -0
  83. package/protos/steammessages_twofactor.steamclient.proto +154 -0
  84. package/protos/steammessages_unified_base.steamclient.proto +33 -0
  85. package/protos/steammessages_unified_test.steamclient.proto +50 -0
  86. package/protos/steammessages_useraccount.steamclient.proto +210 -0
  87. package/protos/steammessages_vac.steamclient.proto +44 -0
  88. package/protos/steammessages_video.steamclient.proto +84 -0
  89. package/protos/steammessages_virtualcontroller.proto +138 -0
  90. package/protos/steammessages_workshop.steamclient.proto +23 -0
  91. package/protos/steamnetworkingsockets_messages.proto +204 -0
  92. package/protos/steamnetworkingsockets_messages_certs.proto +38 -0
  93. package/protos/steamnetworkingsockets_messages_udp.proto +75 -0
  94. package/protos/uifontfile_format.proto +16 -0
@@ -0,0 +1,210 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+
4
+ option cc_generic_services = true;
5
+
6
+ enum EInternalAccountType {
7
+ k_EInternalSteamAccountType = 1;
8
+ k_EInternalClanType = 2;
9
+ k_EInternalAppType = 3;
10
+ k_EInternalBroadcastChannelType = 4;
11
+ }
12
+
13
+ enum EExternalAccountType {
14
+ k_EExternalNone = 0;
15
+ k_EExternalSteamAccount = 1;
16
+ k_EExternalGoogleAccount = 2;
17
+ k_EExternalFacebookAccount = 3;
18
+ k_EExternalTwitterAccount = 4;
19
+ k_EExternalTwitchAccount = 5;
20
+ k_EExternalYouTubeChannelAccount = 6;
21
+ k_EExternalFacebookPage = 7;
22
+ }
23
+
24
+ message CUserAccount_GetAvailableValveDiscountPromotions_Request {
25
+ optional string country_code = 1;
26
+ }
27
+
28
+ message CUserAccount_GetAvailableValveDiscountPromotions_Response {
29
+ message ValveDiscountPromotionDetails {
30
+ optional uint32 promotionid = 1;
31
+ optional string promotion_description = 2;
32
+ optional int64 minimum_cart_amount = 3;
33
+ optional int64 minimum_cart_amount_for_display = 4;
34
+ optional int64 discount_amount = 5;
35
+ optional int32 currency_code = 6;
36
+ optional int32 available_use_count = 7;
37
+ optional int32 promotional_discount_type = 8;
38
+ optional int32 loyalty_reward_id = 9;
39
+ optional string localized_name_token = 10;
40
+ optional int32 max_use_count = 11;
41
+ }
42
+
43
+ repeated .CUserAccount_GetAvailableValveDiscountPromotions_Response.ValveDiscountPromotionDetails promotions = 1;
44
+ }
45
+
46
+ message CUserAccount_GetAccountLinkStatus_Request {
47
+ }
48
+
49
+ message CUserAccount_GetAccountLinkStatus_Response {
50
+ optional uint32 pwid = 1;
51
+ optional uint32 identity_verification = 2;
52
+ optional bool performed_age_verification = 3;
53
+ }
54
+
55
+ message CUserAccount_CancelLicenseForApp_Request {
56
+ optional uint32 appid = 1;
57
+ }
58
+
59
+ message CUserAccount_CancelLicenseForApp_Response {
60
+ }
61
+
62
+ message CUserAccount_CreateFriendInviteToken_Request {
63
+ optional uint32 invite_limit = 1;
64
+ optional uint32 invite_duration = 2;
65
+ optional string invite_note = 3;
66
+ }
67
+
68
+ message CUserAccount_CreateFriendInviteToken_Response {
69
+ optional string invite_token = 1;
70
+ optional uint64 invite_limit = 2;
71
+ optional uint64 invite_duration = 3;
72
+ optional fixed32 time_created = 4;
73
+ optional bool valid = 5;
74
+ }
75
+
76
+ message CUserAccount_GetFriendInviteTokens_Request {
77
+ }
78
+
79
+ message CUserAccount_GetFriendInviteTokens_Response {
80
+ repeated .CUserAccount_CreateFriendInviteToken_Response tokens = 1;
81
+ }
82
+
83
+ message CUserAccount_ViewFriendInviteToken_Request {
84
+ optional fixed64 steamid = 1;
85
+ optional string invite_token = 2;
86
+ }
87
+
88
+ message CUserAccount_ViewFriendInviteToken_Response {
89
+ optional bool valid = 1;
90
+ optional uint64 steamid = 2;
91
+ optional uint64 invite_duration = 3;
92
+ }
93
+
94
+ message CUserAccount_RedeemFriendInviteToken_Request {
95
+ optional fixed64 steamid = 1;
96
+ optional string invite_token = 2;
97
+ }
98
+
99
+ message CUserAccount_RedeemFriendInviteToken_Response {
100
+ }
101
+
102
+ message CUserAccount_RevokeFriendInviteToken_Request {
103
+ optional string invite_token = 1;
104
+ }
105
+
106
+ message CUserAccount_RevokeFriendInviteToken_Response {
107
+ }
108
+
109
+ message CUserAccount_RegisterCompatTool_Request {
110
+ optional uint32 compat_tool = 1;
111
+ }
112
+
113
+ message CUserAccount_RegisterCompatTool_Response {
114
+ }
115
+
116
+ message CAccountLinking_GetLinkedAccountInfo_Request {
117
+ optional .EInternalAccountType account_type = 1 [default = k_EInternalSteamAccountType];
118
+ optional uint64 account_id = 2 [(description) = "Internal account ID"];
119
+ optional .EExternalAccountType filter = 3 [default = k_EExternalNone, (description) = "if specified then only return this external account type"];
120
+ optional bool return_access_token = 4 [(description) = "if provided and true, then returns valid access token if available. It may refresh the token. "];
121
+ }
122
+
123
+ message CAccountLinking_GetLinkedAccountInfo_Response {
124
+ message CExternalAccountTuple_Response {
125
+ optional .EExternalAccountType external_type = 1 [default = k_EExternalNone];
126
+ optional string external_id = 2 [(description) = "unique external account identifier"];
127
+ optional string external_user_name = 3 [(description) = "user readable; best effort"];
128
+ optional string external_url = 4 [(description) = "required for all, can be a sentinal to verify correctness"];
129
+ optional string access_token = 5 [(description) = "provided if requeest and it was valid."];
130
+ optional string access_token_secret = 6 [(description) = "required for OAuth v1 and signing the message, provided with access token."];
131
+ optional bool is_valid = 7 [(description) = "If false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh."];
132
+ }
133
+
134
+ repeated .CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response external_accounts = 1;
135
+ }
136
+
137
+ message CEmbeddedClient_AuthorizeCurrentDevice_Request {
138
+ optional fixed64 steamid = 1;
139
+ optional uint32 appid = 2;
140
+ optional string device_info = 3;
141
+ optional uint32 deviceid = 4;
142
+ }
143
+
144
+ message CEmbeddedClient_Token {
145
+ optional fixed64 steamid = 1;
146
+ optional bytes client_token = 2;
147
+ optional uint32 expiry = 3;
148
+ optional uint32 deviceid = 4;
149
+ }
150
+
151
+ message CEmbeddedClient_AuthorizeDevice_Response {
152
+ optional uint32 result = 1;
153
+ optional .CEmbeddedClient_Token token = 2;
154
+ }
155
+
156
+ service UserAccount {
157
+ option (service_description) = "A service to get user account information";
158
+
159
+ rpc GetAvailableValveDiscountPromotions (.CUserAccount_GetAvailableValveDiscountPromotions_Request) returns (.CUserAccount_GetAvailableValveDiscountPromotions_Response) {
160
+ option (method_description) = "Gets the available promotional discounts available to the user";
161
+ }
162
+
163
+ rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response) {
164
+ option (method_description) = "Fetches account link status";
165
+ }
166
+
167
+ rpc CancelLicenseForApp (.CUserAccount_CancelLicenseForApp_Request) returns (.CUserAccount_CancelLicenseForApp_Response) {
168
+ option (method_description) = "Cancels a free license for a user";
169
+ }
170
+
171
+ rpc CreateFriendInviteToken (.CUserAccount_CreateFriendInviteToken_Request) returns (.CUserAccount_CreateFriendInviteToken_Response) {
172
+ option (method_description) = "Create a limited-use token that can be used to create a friend request";
173
+ }
174
+
175
+ rpc GetFriendInviteTokens (.CUserAccount_GetFriendInviteTokens_Request) returns (.CUserAccount_GetFriendInviteTokens_Response) {
176
+ option (method_description) = "Get the set of active tokens for the user";
177
+ }
178
+
179
+ rpc ViewFriendInviteToken (.CUserAccount_ViewFriendInviteToken_Request) returns (.CUserAccount_ViewFriendInviteToken_Response) {
180
+ option (method_description) = "View details about an invite token ";
181
+ }
182
+
183
+ rpc RedeemFriendInviteToken (.CUserAccount_RedeemFriendInviteToken_Request) returns (.CUserAccount_RedeemFriendInviteToken_Response) {
184
+ option (method_description) = "Create a friend relationship using the given invite token";
185
+ }
186
+
187
+ rpc RevokeFriendInviteToken (.CUserAccount_RevokeFriendInviteToken_Request) returns (.CUserAccount_RevokeFriendInviteToken_Response) {
188
+ option (method_description) = "Revoke an active friend invite token";
189
+ }
190
+
191
+ rpc RegisterCompatTool (.CUserAccount_RegisterCompatTool_Request) returns (.CUserAccount_RegisterCompatTool_Response) {
192
+ option (method_description) = "Register intended account usage of a tool";
193
+ }
194
+ }
195
+
196
+ service AccountLinking {
197
+ option (service_description) = "A service to manage and link to external accounts";
198
+
199
+ rpc GetLinkedAccountInfo (.CAccountLinking_GetLinkedAccountInfo_Request) returns (.CAccountLinking_GetLinkedAccountInfo_Response) {
200
+ option (method_description) = "List all my active linked external accounts; may be requested to return the access token";
201
+ }
202
+ }
203
+
204
+ service EmbeddedClient {
205
+ option (service_description) = "Service to authorize and manage Steam functions directly embedded in games";
206
+
207
+ rpc AuthorizeCurrentDevice (.CEmbeddedClient_AuthorizeCurrentDevice_Request) returns (.CEmbeddedClient_AuthorizeDevice_Response) {
208
+ option (method_description) = "Use a logged-in (password/etc) session to create a durable access token";
209
+ }
210
+ }
@@ -0,0 +1,44 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+
4
+ option cc_generic_services = true;
5
+
6
+ message CFileVerification_SignatureCheck_Request {
7
+ optional fixed64 steamid = 1;
8
+ optional uint32 appid = 2;
9
+ optional uint64 file_size = 3;
10
+ optional uint32 file_timestamp = 4;
11
+ optional uint32 file_timestamp2 = 5;
12
+ optional uint32 signature_result = 6;
13
+ optional string filename = 7;
14
+ optional uint32 client_package_version = 8;
15
+ optional bytes sha1hash = 9;
16
+ }
17
+
18
+ message CFileVerification_SignatureCheck_Response {
19
+ optional bool deny_operation = 1;
20
+ }
21
+
22
+ message CFileVerification_SteamServiceCheck_Request {
23
+ optional uint32 service_status = 2;
24
+ optional uint32 client_package_version = 3;
25
+ optional uint32 launcher_type = 4;
26
+ optional uint32 os_type = 5;
27
+ optional uint32 service_repair = 6;
28
+ }
29
+
30
+ message CFileVerification_SteamServiceCheck_Response {
31
+ optional bool attempt_repair = 1;
32
+ }
33
+
34
+ service FileVerification {
35
+ option (service_description) = "File verification services";
36
+
37
+ rpc SignatureCheck (.CFileVerification_SignatureCheck_Request) returns (.CFileVerification_SignatureCheck_Response) {
38
+ option (method_description) = "File signature check was performed";
39
+ }
40
+
41
+ rpc SteamServiceCheck (.CFileVerification_SteamServiceCheck_Request) returns (.CFileVerification_SteamServiceCheck_Response) {
42
+ option (method_description) = "Steam Service check was performed";
43
+ }
44
+ }
@@ -0,0 +1,84 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+
4
+ option cc_generic_services = true;
5
+
6
+ message CVideo_ClientGetVideoURL_Request {
7
+ optional uint64 video_id = 1 [(description) = "Video ID"];
8
+ optional uint32 client_cellid = 2 [(description) = "Cell ID of client, zero if unknown"];
9
+ }
10
+
11
+ message CVideo_ClientGetVideoURL_Response {
12
+ optional uint64 video_id = 1 [(description) = "Video ID"];
13
+ optional string video_url = 2 [(description) = "URL for video manifest"];
14
+ }
15
+
16
+ message VideoBookmark {
17
+ optional uint32 app_id = 1 [(description) = "App ID"];
18
+ optional uint32 playback_position_in_seconds = 2 [(description) = "How many seconds into the video the bookmark is for"];
19
+ optional uint64 video_track_id = 3 [(description) = "video track choice."];
20
+ optional uint64 audio_track_id = 4 [(description) = "audio track choice."];
21
+ optional uint64 timedtext_track_id = 5 [(description) = "timedtimed or subtitle track choice"];
22
+ optional uint32 last_modified = 6 [(description) = "when we recorded it was last modified. Not settable."];
23
+ optional bool hide_from_watch_history = 7 [default = false, (description) = "Whether I want to show this in my history"];
24
+ optional bool hide_from_library = 8 [default = false, (description) = "Whether I want to show this in my library"];
25
+ }
26
+
27
+ message CVideo_SetVideoBookmark_Notification {
28
+ repeated .VideoBookmark bookmarks = 1 [(description) = "list of bookmarks we want to store."];
29
+ }
30
+
31
+ message CVideo_GetVideoBookmarks_Request {
32
+ repeated uint32 appids = 1 [(description) = "List of App IDs to grab bookmarks for. Can be empty if using updated_since."];
33
+ optional uint32 updated_since = 2 [(description) = "Only return results after time. Min value is 1. (seconds since epoch January 1st, 1970 Unix Time)"];
34
+ }
35
+
36
+ message CVideo_GetVideoBookmarks_Response {
37
+ repeated .VideoBookmark bookmarks = 1 [(description) = "List of bookmarks we found. Can be empty."];
38
+ }
39
+
40
+ message CVideo_UnlockedH264_Notification {
41
+ optional bytes encryption_key = 1;
42
+ }
43
+
44
+ message CFovasVideo_ClientGetOPFSettings_Request {
45
+ optional uint32 app_id = 1 [(description) = "App ID"];
46
+ optional uint32 client_cellid = 2 [(description) = "Cell ID of client, zero if unknown"];
47
+ }
48
+
49
+ message CFovasVideo_ClientGetOPFSettings_Response {
50
+ optional uint32 app_id = 1 [(description) = "App ID"];
51
+ optional string opf_settings = 2 [(description) = "JSON blob of OPF Settings"];
52
+ }
53
+
54
+ service Video {
55
+ option (service_description) = "Video methods";
56
+
57
+ rpc ClientGetVideoURL (.CVideo_ClientGetVideoURL_Request) returns (.CVideo_ClientGetVideoURL_Response) {
58
+ option (method_description) = "Get the initial URL to begin streaming a video";
59
+ }
60
+
61
+ rpc SetVideoBookmark (.CVideo_SetVideoBookmark_Notification) returns (.NoResponse) {
62
+ option (method_description) = "Bookmarks the locations in the video the user has reached. As as record playback settings per video. Fire and forget.";
63
+ }
64
+
65
+ rpc GetVideoBookmarks (.CVideo_GetVideoBookmarks_Request) returns (.CVideo_GetVideoBookmarks_Response) {
66
+ option (method_description) = "Returns the video bookmarks locations for the specific videos. Includes playback settings per video";
67
+ }
68
+ }
69
+
70
+ service VideoClient {
71
+ option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
72
+
73
+ rpc NotifyUnlockedH264 (.CVideo_UnlockedH264_Notification) returns (.NoResponse) {
74
+ option (method_description) = "Notification from server to client that h264 has been unlocked";
75
+ }
76
+ }
77
+
78
+ service FovasVideo {
79
+ option (service_description) = "Fovas Video Service Methods";
80
+
81
+ rpc ClientGetOPFSettings (.CFovasVideo_ClientGetOPFSettings_Request) returns (.CFovasVideo_ClientGetOPFSettings_Response) {
82
+ option (method_description) = "Retrieve the OPF settings JSON blob. Available via the Client for 360 Player App";
83
+ }
84
+ }
@@ -0,0 +1,138 @@
1
+ enum EInputMode {
2
+ k_EInputModeUnknown = 0;
3
+ k_EInputModeMouse = 1;
4
+ k_EInputModeController = 2;
5
+ k_EInputModeMouseAndController = 3;
6
+ }
7
+
8
+ enum EMouseMode {
9
+ k_EMouseModeUnknown = 0;
10
+ k_EMouseModeRelativeCursor = 1;
11
+ k_EMouseModeAbsoluteCursor = 2;
12
+ k_EMouseModeTouch = 3;
13
+ k_EMouseModeRelative = 4;
14
+ }
15
+
16
+ enum EControllerElementType {
17
+ k_EControllerElementTypeNone = -1;
18
+ k_EControllerElementTypeThumb = 0;
19
+ k_EControllerElementTypeButtonSteam = 1;
20
+ k_EControllerElementTypeJoystickLeft = 2;
21
+ k_EControllerElementTypeButtonJoystickLeft = 3;
22
+ k_EControllerElementTypeJoystickRight = 4;
23
+ k_EControllerElementTypeButtonJoystickRight = 5;
24
+ k_EControllerElementTypeDPad = 6;
25
+ k_EControllerElementTypeButtonA = 7;
26
+ k_EControllerElementTypeButtonB = 8;
27
+ k_EControllerElementTypeButtonX = 9;
28
+ k_EControllerElementTypeButtonY = 10;
29
+ k_EControllerElementTypeButtonSelect = 11;
30
+ k_EControllerElementTypeButtonStart = 12;
31
+ k_EControllerElementTypeButtonTriggerLeft = 13;
32
+ k_EControllerElementTypeButtonTriggerRight = 14;
33
+ k_EControllerElementTypeButtonBumperLeft = 15;
34
+ k_EControllerElementTypeButtonBumperRight = 16;
35
+ k_EControllerElementTypeButtonMacro0 = 17;
36
+ k_EControllerElementTypeButtonMacro1 = 18;
37
+ k_EControllerElementTypeButtonMacro2 = 19;
38
+ k_EControllerElementTypeButtonMacro3 = 20;
39
+ k_EControllerElementTypeButtonMacro4 = 21;
40
+ k_EControllerElementTypeButtonMacro5 = 22;
41
+ k_EControllerElementTypeButtonMacro6 = 23;
42
+ k_EControllerElementTypeButtonMacro7 = 24;
43
+ k_EControllerElementTypeTrackpadCenter = 25;
44
+ k_EControllerElementTypeTrackpadLeft = 26;
45
+ k_EControllerElementTypeTrackpadRight = 27;
46
+ k_EControllerElementTypeKeyboard = 28;
47
+ k_EControllerElementTypeMagnifyingGlass = 29;
48
+ k_EControllerElementTypeButtonMacro1Finger = 30;
49
+ k_EControllerElementTypeButtonMacro2Finger = 31;
50
+ k_EControllerElementTypeRecordInput = 32;
51
+ k_EControllerElementTypePlaybackInput = 33;
52
+ k_EControllerElementTypePaste = 34;
53
+ k_EControllerElementTypeMax = 35;
54
+ }
55
+
56
+ message CVirtualControllerElement {
57
+ optional .EControllerElementType type = 1 [default = k_EControllerElementTypeNone];
58
+ optional bool visible = 2;
59
+ optional float x_position = 3;
60
+ optional float y_position = 4;
61
+ optional float x_scale = 5 [default = 1];
62
+ optional float y_scale = 6 [default = 1];
63
+ }
64
+
65
+ message CVirtualControllerColor {
66
+ optional float r = 1 [default = 1];
67
+ optional float g = 2 [default = 1];
68
+ optional float b = 3 [default = 1];
69
+ optional float a = 4 [default = 1];
70
+ }
71
+
72
+ message CVirtualControllerLayout {
73
+ optional int32 layout_version = 1;
74
+ optional int32 actionset_id = 2;
75
+ repeated .CVirtualControllerElement elements = 4;
76
+ optional .CVirtualControllerColor color = 5;
77
+ }
78
+
79
+ message CVirtualControllerLayouts {
80
+ repeated .CVirtualControllerLayout layouts = 1;
81
+ optional .EInputMode input_mode = 2 [default = k_EInputModeController];
82
+ optional .EMouseMode mouse_mode = 3 [default = k_EMouseModeUnknown];
83
+ optional float trackpad_sensitivity = 4 [default = 1];
84
+ optional bool pinch_zoom_enabled = 5 [default = false];
85
+ optional float pinch_zoom_x = 6 [default = 0];
86
+ optional float pinch_zoom_y = 7 [default = 0];
87
+ optional float pinch_zoom_scale = 8 [default = 1];
88
+ optional bool shaken = 9;
89
+ optional bool mouse_offscreen = 10;
90
+ }
91
+
92
+ message CVirtualControllerConfig {
93
+ message Control {
94
+ optional string name = 1;
95
+ optional string icon = 2;
96
+ optional int32 input_source = 3;
97
+ optional int32 input_mode = 4;
98
+ optional int32 input_element = 5;
99
+ optional int32 output_gamepad = 6;
100
+ optional int32 output_keyboard = 7;
101
+ optional int32 output_mouse = 8;
102
+ optional string icon_foreground = 9;
103
+ optional string icon_background = 10;
104
+ optional bool input_toggle = 11;
105
+ optional int32 input_activate_stick_or_trackpad = 12;
106
+ optional int32 activation_type = 13;
107
+ optional int32 long_press_ms = 14;
108
+ optional int32 double_press_ms = 15;
109
+ }
110
+
111
+ message ActionSet {
112
+ optional int32 id = 1;
113
+ optional int32 parent_id = 2;
114
+ optional string name = 3;
115
+ repeated .CVirtualControllerConfig.Control controls = 4;
116
+ }
117
+
118
+ optional string name = 1;
119
+ repeated .CVirtualControllerConfig.ActionSet actionsets = 2;
120
+ optional .EMouseMode default_mouse_mode = 3 [default = k_EMouseModeRelative];
121
+ }
122
+
123
+ message CVirtualControllerLayoutPackage {
124
+ optional uint32 appid = 1;
125
+ optional uint64 creator = 2;
126
+ optional uint32 initial_revision = 3;
127
+ optional uint32 saved_revision = 4;
128
+ optional .CVirtualControllerConfig config = 5;
129
+ optional .CVirtualControllerLayouts layouts = 6;
130
+ }
131
+
132
+ message CVirtualControllerGlobalConfig {
133
+ optional bool feedback_enabled = 1;
134
+ optional bool gyroscope_enabled = 2 [default = true];
135
+ optional bool auto_fade_enabled = 3 [default = true];
136
+ optional bool rumble_enabled = 4 [default = true];
137
+ optional bool shake_fade_enabled = 5;
138
+ }
@@ -0,0 +1,23 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+
4
+ option cc_generic_services = true;
5
+
6
+ message CWorkshop_GetEULAStatus_Request {
7
+ optional uint32 appid = 1;
8
+ }
9
+
10
+ message CWorkshop_GetEULAStatus_Response {
11
+ optional uint32 version = 1;
12
+ optional uint32 timestamp_action = 2;
13
+ optional bool accepted = 3;
14
+ optional bool needs_action = 4;
15
+ }
16
+
17
+ service Workshop {
18
+ option (service_description) = "A service to access published file data";
19
+
20
+ rpc GetEULAStatus (.CWorkshop_GetEULAStatus_Request) returns (.CWorkshop_GetEULAStatus_Response) {
21
+ option (method_description) = "Retrieve the status of the user's EULA acceptance.";
22
+ }
23
+ }