steamd 0.1.0

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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +4 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +21 -0
  9. data/README.md +51 -0
  10. data/Rakefile +22 -0
  11. data/bin/console +6 -0
  12. data/bin/setup +6 -0
  13. data/bin/steamd +6 -0
  14. data/grammar/class.treetop +63 -0
  15. data/grammar/enums.treetop +44 -0
  16. data/grammar/import.treetop +11 -0
  17. data/grammar/shared.treetop +62 -0
  18. data/grammar/steamd.treetop +15 -0
  19. data/language/emsg.steamd +1802 -0
  20. data/language/enums.steamd +989 -0
  21. data/language/eresult.steamd +119 -0
  22. data/language/gamecoordinator.steamd +17 -0
  23. data/language/header.steamd +37 -0
  24. data/language/netheader.steamd +62 -0
  25. data/language/steammsg.steamd +357 -0
  26. data/lib/ext/string.rb +33 -0
  27. data/lib/steamd.rb +40 -0
  28. data/lib/steamd/cli.rb +24 -0
  29. data/lib/steamd/cli_options.rb +58 -0
  30. data/lib/steamd/code_generator.rb +41 -0
  31. data/lib/steamd/generated/emsg.rb +3464 -0
  32. data/lib/steamd/generated/enums.rb +1750 -0
  33. data/lib/steamd/generated/eresult.rb +236 -0
  34. data/lib/steamd/generated/gamecoordinator.rb +119 -0
  35. data/lib/steamd/generated/header.rb +261 -0
  36. data/lib/steamd/generated/netheader.rb +315 -0
  37. data/lib/steamd/generated/steammsg.rb +2527 -0
  38. data/lib/steamd/generator.rb +6 -0
  39. data/lib/steamd/generator/generated_class.rb +128 -0
  40. data/lib/steamd/generator/generated_enum.rb +60 -0
  41. data/lib/steamd/generator/generated_import.rb +21 -0
  42. data/lib/steamd/generator/implementation.rb +83 -0
  43. data/lib/steamd/generator/ruby/class.erb +39 -0
  44. data/lib/steamd/generator/ruby/enum.erb +14 -0
  45. data/lib/steamd/generator/ruby/import.erb +1 -0
  46. data/lib/steamd/generator/ruby/ruby.rb +54 -0
  47. data/lib/steamd/generator/ruby/serializable_constant.rb +20 -0
  48. data/lib/steamd/generator/ruby/serializable_type.rb +93 -0
  49. data/lib/steamd/generator/ruby/serializable_variable.rb +85 -0
  50. data/lib/steamd/generator/ruby/steam_serializable.rb +89 -0
  51. data/lib/steamd/nodes/block_node.rb +14 -0
  52. data/lib/steamd/nodes/class_statement_node.rb +46 -0
  53. data/lib/steamd/nodes/class_type_node.rb +12 -0
  54. data/lib/steamd/nodes/enum_statement_node.rb +50 -0
  55. data/lib/steamd/nodes/enum_variable_node.rb +24 -0
  56. data/lib/steamd/nodes/import_statement_node.rb +26 -0
  57. data/lib/steamd/nodes/node.rb +3 -0
  58. data/lib/steamd/nodes/nodes.rb +10 -0
  59. data/lib/steamd/nodes/variable_node.rb +106 -0
  60. data/lib/steamd/parser.rb +157 -0
  61. data/lib/steamd/version.rb +14 -0
  62. data/steamd.gemspec +38 -0
  63. data/tasks/language.rake +11 -0
  64. metadata +220 -0
@@ -0,0 +1,989 @@
1
+
2
+ enum EUniverse
3
+ {
4
+ Invalid = 0;
5
+
6
+ Public = 1;
7
+ Beta = 2;
8
+ Internal = 3;
9
+ Dev = 4;
10
+
11
+ Max = 5;
12
+ };
13
+
14
+ enum EChatEntryType
15
+ {
16
+ Invalid = 0;
17
+
18
+ ChatMsg = 1;
19
+ Typing = 2;
20
+ InviteGame = 3;
21
+ Emote = 4; obsolete "No longer supported by clients"
22
+ LobbyGameStart = 5; obsolete "Listen for LobbyGameCreated_t callback instead"
23
+ LeftConversation = 6;
24
+ Entered = 7;
25
+ WasKicked = 8;
26
+ WasBanned = 9;
27
+ Disconnected = 10;
28
+ HistoricalChat = 11;
29
+ Reserved1 = 12;
30
+ Reserved2 = 13;
31
+ LinkBlocked = 14;
32
+ };
33
+
34
+ enum EPersonaState
35
+ {
36
+ Offline = 0;
37
+
38
+ Online = 1;
39
+ Busy = 2;
40
+ Away = 3;
41
+ Snooze = 4;
42
+ LookingToTrade = 5;
43
+ LookingToPlay = 6;
44
+
45
+ Max = 7;
46
+ };
47
+
48
+ enum EAccountType
49
+ {
50
+ Invalid = 0;
51
+
52
+ Individual = 1;
53
+ Multiseat = 2;
54
+ GameServer = 3;
55
+ AnonGameServer = 4;
56
+ Pending = 5;
57
+ ContentServer = 6;
58
+ Clan = 7;
59
+ Chat = 8;
60
+ ConsoleUser = 9;
61
+ AnonUser = 10;
62
+
63
+ Max = 11;
64
+ };
65
+
66
+ enum EFriendRelationship
67
+ {
68
+ None = 0;
69
+
70
+ Blocked = 1;
71
+ RequestRecipient = 2;
72
+ Friend = 3;
73
+ RequestInitiator = 4;
74
+ Ignored = 5;
75
+ IgnoredFriend = 6;
76
+ SuggestedFriend = 7;
77
+
78
+ Max = 8;
79
+ };
80
+
81
+ enum EAccountFlags flags
82
+ {
83
+ NormalUser = 0;
84
+
85
+ PersonaNameSet = 1;
86
+ Unbannable = 2;
87
+ PasswordSet = 4;
88
+ Support = 8;
89
+ Admin = 16;
90
+ Supervisor = 32;
91
+ AppEditor = 64;
92
+ HWIDSet = 128;
93
+ PersonalQASet = 256;
94
+ VacBeta = 512;
95
+ Debug = 1024;
96
+ Disabled = 2048;
97
+ LimitedUser = 4096;
98
+ LimitedUserForce = 8192;
99
+ EmailValidated = 16384;
100
+ MarketingTreatment = 32768;
101
+ OGGInviteOptOut = 65536;
102
+ ForcePasswordChange = 131072;
103
+ ForceEmailVerification = 262144;
104
+ LogonExtraSecurity = 524288;
105
+ LogonExtraSecurityDisabled = 1048576;
106
+ Steam2MigrationComplete = 2097152;
107
+ NeedLogs = 4194304;
108
+ Lockdown = 8388608;
109
+ MasterAppEditor = 16777216;
110
+ BannedFromWebAPI = 33554432;
111
+ ClansOnlyFromFriends = 67108864;
112
+ GlobalModerator = 134217728;
113
+ };
114
+
115
+ enum EClanPermission flags
116
+ {
117
+ Nobody = 0;
118
+
119
+ Owner = 1;
120
+ Officer = 2;
121
+ OwnerAndOfficer = 3;
122
+ Member = 4;
123
+ Moderator = 8;
124
+
125
+ OwnerOfficerModerator = Owner | Officer | Moderator; // 11
126
+ AllMembers = Owner | Officer | Moderator | Member ; // 15
127
+
128
+ OGGGameOwner = 16;
129
+
130
+ NonMember = 128;
131
+
132
+ MemberAllowed = NonMember | Member; // 132
133
+ ModeratorAllowed = NonMember | Member | Moderator; // 140
134
+ OfficerAllowed = NonMember | Member | Moderator | Officer; // 142
135
+ OwnerAllowed = NonMember | Member | Moderator | Officer | Owner; // 143
136
+ Anybody = NonMember | Member | Moderator | Officer | Owner; // 143
137
+ };
138
+
139
+ enum EChatPermission flags
140
+ {
141
+ Close = 1;
142
+ Invite = 2;
143
+ Talk = 8;
144
+ Kick = 16;
145
+ Mute = 32;
146
+ SetMetadata = 64;
147
+ ChangePermissions = 128;
148
+ Ban = 256;
149
+ ChangeAccess = 512;
150
+
151
+ EveryoneNotInClanDefault = Talk; // 8
152
+ EveryoneDefault = Talk | Invite; // 10
153
+
154
+ // todo: this doesn't seem correct...
155
+ MemberDefault = Ban | Kick | Talk | Invite; // 282
156
+
157
+ OfficerDefault = Ban | Kick | Talk | Invite; // 282
158
+ OwnerDefault = ChangeAccess | Ban | SetMetadata | Mute | Kick | Talk | Invite | Close; // 891
159
+
160
+ Mask = 1019;
161
+ };
162
+
163
+ enum EFriendFlags flags
164
+ {
165
+ None = 0;
166
+ Blocked = 1;
167
+ FriendshipRequested = 2;
168
+ Immediate = 4;
169
+ ClanMember = 8;
170
+ OnGameServer = 16;
171
+ RequestingFriendship = 128;
172
+ RequestingInfo = 256;
173
+ Ignored = 512;
174
+ IgnoredFriend = 1024;
175
+ Suggested = 2048;
176
+
177
+ FlagAll = 65535;
178
+ };
179
+
180
+ enum EPersonaStateFlag flags
181
+ {
182
+ HasRichPresence = 1;
183
+ InJoinableGame = 2;
184
+
185
+ OnlineUsingWeb = 256;
186
+ OnlineUsingMobile = 512;
187
+ OnlineUsingBigPicture = 1024;
188
+ OnlineUsingVR = 2048;
189
+ };
190
+
191
+ enum EClientPersonaStateFlag flags
192
+ {
193
+ Status = 1;
194
+ PlayerName = 2;
195
+ QueryPort = 4;
196
+ SourceID = 8;
197
+ Presence = 16;
198
+ Metadata = 32;
199
+ LastSeen = 64;
200
+ ClanInfo = 128;
201
+ GameExtraInfo = 256;
202
+ GameDataBlob = 512;
203
+ ClanTag = 1024;
204
+ Facebook = 2048;
205
+ };
206
+
207
+ enum EAppUsageEvent
208
+ {
209
+ GameLaunch = 1;
210
+ GameLaunchTrial = 2;
211
+ Media = 3;
212
+ PreloadStart = 4;
213
+ PreloadFinish = 5;
214
+ MarketingMessageView = 6;
215
+ InGameAdViewed = 7;
216
+ GameLaunchFreeWeekend = 8;
217
+ };
218
+
219
+ enum ELicenseFlags flags
220
+ {
221
+ None = 0;
222
+ Renew = 0x01;
223
+ RenewalFailed = 0x02;
224
+ Pending = 0x04;
225
+ Expired = 0x08;
226
+ CancelledByUser = 0x10;
227
+ CancelledByAdmin = 0x20;
228
+ LowViolenceContent = 0x40;
229
+ ImportedFromSteam2 = 0x80;
230
+ };
231
+
232
+ enum ELicenseType
233
+ {
234
+ NoLicense = 0;
235
+ SinglePurchase = 1;
236
+ SinglePurchaseLimitedUse = 2;
237
+ RecurringCharge = 3;
238
+ RecurringChargeLimitedUse = 4;
239
+ RecurringChargeLimitedUseWithOverages = 5;
240
+ RecurringOption = 6;
241
+ };
242
+
243
+ enum EPaymentMethod
244
+ {
245
+ None = 0;
246
+ ActivationCode = 1;
247
+ CreditCard = 2;
248
+ Giropay = 3;
249
+ PayPal = 4;
250
+ Ideal = 5;
251
+ PaySafeCard = 6;
252
+ Sofort = 7;
253
+ GuestPass = 8;
254
+ WebMoney = 9;
255
+ MoneyBookers = 10;
256
+ AliPay = 11;
257
+ Yandex = 12;
258
+ Kiosk = 13;
259
+ Qiwi = 14;
260
+ GameStop = 15;
261
+ HardwarePromo = 16;
262
+ MoPay = 17;
263
+ BoletoBancario = 18;
264
+ BoaCompraGold = 19;
265
+ BancoDoBrasilOnline = 20;
266
+ ItauOnline = 21;
267
+ BradescoOnline = 22;
268
+ Pagseguro = 23;
269
+ VisaBrazil = 24;
270
+ AmexBrazil = 25;
271
+ Aura = 26;
272
+ Hipercard = 27;
273
+ MastercardBrazil = 28;
274
+ DinersCardBrazil = 29;
275
+ AuthorizedDevice = 30;
276
+ MOLPoints = 31;
277
+ ClickAndBuy = 32;
278
+ Beeline = 33;
279
+ Konbini = 34;
280
+ EClubPoints = 35;
281
+ CreditCardJapan = 36;
282
+ BankTransferJapan = 37;
283
+ PayEasyJapan = 38;
284
+ Zong = 39;
285
+ CultureVoucher = 40;
286
+ BookVoucher = 41;
287
+ HappymoneyVoucher = 42;
288
+ ConvenientStoreVoucher = 43;
289
+ GameVoucher = 44;
290
+ Multibanco = 45;
291
+ Payshop = 46;
292
+ Maestro = 47;
293
+ OXXO = 48;
294
+ ToditoCash = 49;
295
+ Carnet = 50;
296
+ SPEI = 51;
297
+ ThreePay = 52;
298
+ IsBank = 53;
299
+ Garanti = 54;
300
+ Akbank = 55;
301
+ YapiKredi = 56;
302
+ Halkbank = 57;
303
+ BankAsya = 58;
304
+ Finansbank = 59;
305
+ DenizBank = 60;
306
+ PTT = 61;
307
+ CashU = 62;
308
+ OneCard = 63;
309
+ AutoGrant = 64;
310
+ WebMoneyJapan = 65;
311
+ Smart2PayTest = 66;
312
+ Wallet = 128;
313
+ Valve = 129;
314
+ SteamPressMaster = 130;
315
+ StorePromotion = 131;
316
+ OEMTicket = 256;
317
+ Split = 512;
318
+ Complimentary = 1024;
319
+ };
320
+
321
+ enum EIntroducerRouting
322
+ {
323
+ FileShare = 0; obsolete
324
+ P2PVoiceChat = 1;
325
+ P2PNetworking = 2;
326
+ };
327
+
328
+ enum EServerFlags flags
329
+ {
330
+ None = 0;
331
+ Active = 1;
332
+ Secure = 2;
333
+ Dedicated = 4;
334
+ Linux = 8;
335
+ Passworded = 16;
336
+ Private = 32;
337
+ };
338
+
339
+ enum EDenyReason
340
+ {
341
+ InvalidVersion = 1;
342
+ Generic = 2;
343
+ NotLoggedOn = 3;
344
+ NoLicense = 4;
345
+ Cheater = 5;
346
+ LoggedInElseWhere = 6;
347
+ UnknownText = 7;
348
+ IncompatibleAnticheat = 8;
349
+ MemoryCorruption = 9;
350
+ IncompatibleSoftware = 10;
351
+ SteamConnectionLost = 11;
352
+ SteamConnectionError = 12;
353
+ SteamResponseTimedOut = 13;
354
+ SteamValidationStalled = 14;
355
+ SteamOwnerLeftGuestUser = 15;
356
+ };
357
+
358
+ enum EClanRank
359
+ {
360
+ None = 0;
361
+ Owner = 1;
362
+ Officer = 2;
363
+ Member = 3;
364
+ Moderator = 4;
365
+ };
366
+
367
+ enum EClanRelationship
368
+ {
369
+ None = 0;
370
+ Blocked = 1;
371
+ Invited = 2;
372
+ Member = 3;
373
+ Kicked = 4;
374
+ KickAcknowledged = 5;
375
+ };
376
+
377
+ enum EAuthSessionResponse
378
+ {
379
+ OK = 0;
380
+ UserNotConnectedToSteam = 1;
381
+ NoLicenseOrExpired = 2;
382
+ VACBanned = 3;
383
+ LoggedInElseWhere = 4;
384
+ VACCheckTimedOut = 5;
385
+ AuthTicketCanceled = 6;
386
+ AuthTicketInvalidAlreadyUsed = 7;
387
+ AuthTicketInvalid = 8;
388
+ PublisherIssuedBan = 9;
389
+ };
390
+
391
+ enum EChatRoomEnterResponse
392
+ {
393
+ Success = 1;
394
+ DoesntExist = 2;
395
+ NotAllowed = 3;
396
+ Full = 4;
397
+ Error = 5;
398
+ Banned = 6;
399
+ Limited = 7;
400
+ ClanDisabled = 8;
401
+ CommunityBan = 9;
402
+ MemberBlockedYou = 10;
403
+ YouBlockedMember = 11;
404
+
405
+ // these appear to have been removed
406
+ NoRankingDataLobby = 12; obsolete
407
+ NoRankingDataUser = 13; obsolete
408
+ RankOutOfRange = 14; obsolete
409
+ };
410
+
411
+ enum EChatRoomType
412
+ {
413
+ Friend = 1;
414
+ MUC = 2;
415
+ Lobby = 3;
416
+ };
417
+
418
+ enum EChatInfoType
419
+ {
420
+ StateChange = 1;
421
+ InfoUpdate = 2;
422
+ MemberLimitChange = 3;
423
+ };
424
+
425
+ enum EChatAction
426
+ {
427
+ InviteChat = 1;
428
+ Kick = 2;
429
+ Ban = 3;
430
+ UnBan = 4;
431
+ StartVoiceSpeak = 5;
432
+ EndVoiceSpeak = 6;
433
+ LockChat = 7;
434
+ UnlockChat = 8;
435
+ CloseChat = 9;
436
+ SetJoinable = 10;
437
+ SetUnjoinable = 11;
438
+ SetOwner = 12;
439
+ SetInvisibleToFriends = 13;
440
+ SetVisibleToFriends = 14;
441
+ SetModerated = 15;
442
+ SetUnmoderated = 16;
443
+ };
444
+
445
+ enum EChatActionResult
446
+ {
447
+ Success = 1;
448
+ Error = 2;
449
+ NotPermitted = 3;
450
+ NotAllowedOnClanMember = 4;
451
+ NotAllowedOnBannedUser = 5;
452
+ NotAllowedOnChatOwner = 6;
453
+ NotAllowedOnSelf = 7;
454
+ ChatDoesntExist = 8;
455
+ ChatFull = 9;
456
+ VoiceSlotsFull = 10;
457
+ };
458
+
459
+ enum EAppInfoSection
460
+ {
461
+ Unknown = 0;
462
+ All = 1;
463
+
464
+ First = 2;
465
+ Common = 2;
466
+ Extended = 3;
467
+ Config = 4;
468
+ Stats = 5;
469
+ Install = 6;
470
+ Depots = 7;
471
+ VAC = 8;
472
+ DRM = 9;
473
+ UFS = 10;
474
+ OGG = 11;
475
+ Items = 12; obsolete
476
+ ItemsUNUSED = 12; obsolete
477
+ Policies = 13;
478
+ SysReqs = 14;
479
+ Community = 15;
480
+ Store = 16;
481
+
482
+ Max = 17;
483
+ };
484
+
485
+ enum EContentDownloadSourceType
486
+ {
487
+ Invalid = 0;
488
+
489
+ CS = 1;
490
+ CDN = 2;
491
+ LCS = 3;
492
+ ProxyCache = 4;
493
+
494
+ Max = 5;
495
+ };
496
+
497
+ enum EPlatformType
498
+ {
499
+ Unknown = 0;
500
+
501
+ Win32 = 1;
502
+ Win64 = 2;
503
+ Linux = 3;
504
+ OSX = 4;
505
+ PS3 = 5;
506
+
507
+ Max = 6;
508
+ };
509
+
510
+ enum EOSType
511
+ {
512
+ Unknown = -1;
513
+
514
+ UMQ = -400;
515
+
516
+ PS3 = -300;
517
+
518
+ MacOSUnknown = -102;
519
+ MacOS104 = -101;
520
+ MacOS105 = -100;
521
+ MacOS1058 = -99;
522
+ MacOS106 = -95;
523
+ MacOS1063 = -94;
524
+ MacOS1064_slgu = -93;
525
+ MacOS1067 = -92;
526
+ MacOS107 = -90;
527
+ MacOS108 = -89;
528
+ MacOS109 = -88;
529
+ MacOS1010 = -87;
530
+
531
+ LinuxUnknown = -203;
532
+ Linux22 = -202;
533
+ Linux24 = -201;
534
+ Linux26 = -200;
535
+ Linux32 = -199;
536
+ Linux35 = -198;
537
+ Linux36 = -197;
538
+ Linux310 = -196;
539
+
540
+ WinUnknown = 0;
541
+ Win311 = 1;
542
+ Win95 = 2;
543
+ Win98 = 3;
544
+ WinME = 4;
545
+ WinNT = 5;
546
+ Win200 = 6;
547
+ WinXP = 7;
548
+ Win2003 = 8;
549
+ WinVista = 9;
550
+ Win7 = 10;
551
+ Windows7 = 10; obsolete "renamed to Win7"
552
+ Win2008 = 11;
553
+ Win2012 = 12;
554
+ Win8 = 13;
555
+ Windows8 = 13; obsolete "renamed to Win8"
556
+ Win81 = 14;
557
+ Windows81 = 14; obsolete "renamed to Win81"
558
+ Win2012R2 = 15;
559
+ Win10 = 16;
560
+
561
+ WinMAX = 15;
562
+
563
+ Max = 26;
564
+ };
565
+
566
+ enum EServerType
567
+ {
568
+ Invalid = -1;
569
+ First = 0;
570
+
571
+ Shell = 0;
572
+ GM = 1;
573
+ BUM = 2;
574
+ AM = 3;
575
+ BS = 4;
576
+ VS = 5;
577
+ ATS = 6;
578
+ CM = 7;
579
+ FBS = 8;
580
+ FG = 9; obsolete "renamed to BoxMonitor"
581
+ BoxMonitor = 9;
582
+ SS = 10;
583
+ DRMS = 11;
584
+ HubOBSOLETE = 12; obsolete
585
+ Console = 13;
586
+ ASBOBSOLETE = 14; obsolete
587
+ PICS = 14;
588
+ Client = 15;
589
+ BootstrapOBSOLETE = 16; obsolete;
590
+ DP = 17;
591
+ WG = 18;
592
+ SM = 19;
593
+ UFS = 21;
594
+ Util = 23;
595
+ DSS = 24; obsolete "renamed to Community"
596
+ Community = 24;
597
+ P2PRelayOBSOLETE = 25; obsolete
598
+ AppInformation = 26;
599
+ Spare = 27;
600
+ FTS = 28;
601
+ EPM = 29;
602
+ PS = 30;
603
+ IS = 31;
604
+ CCS = 32;
605
+ DFS = 33;
606
+ LBS = 34;
607
+ MDS = 35;
608
+ CS = 36;
609
+ GC = 37;
610
+ NS = 38;
611
+ OGS = 39;
612
+ WebAPI = 40;
613
+ UDS = 41;
614
+ MMS = 42;
615
+ GMS = 43;
616
+ KGS = 44;
617
+ UCM = 45;
618
+ RM = 46;
619
+ FS = 47;
620
+ Econ = 48;
621
+ Backpack = 49;
622
+ UGS = 50;
623
+ Store = 51;
624
+ MoneyStats = 52;
625
+ CRE = 53;
626
+ UMQ = 54;
627
+ Workshop = 55;
628
+ BRP = 56;
629
+ GCH = 57;
630
+ MPAS = 58;
631
+ Trade = 59;
632
+ Secrets = 60;
633
+ Logsink = 61;
634
+ Market = 62;
635
+ Quest = 63;
636
+ WDS = 64;
637
+ ACS = 65;
638
+ PNP = 66;
639
+
640
+ Max = 67;
641
+ };
642
+
643
+ enum EBillingType
644
+ {
645
+ NoCost = 0;
646
+ BillOnceOnly = 1;
647
+ BillMonthly = 2;
648
+ ProofOfPrepurchaseOnly = 3;
649
+ GuestPass = 4;
650
+ HardwarePromo = 5;
651
+ Gift = 6;
652
+ AutoGrant = 7;
653
+ OEMTicket = 8;
654
+ RecurringOption = 9;
655
+
656
+ NumBillingTypes = 10;
657
+ };
658
+
659
+ enum EActivationCodeClass<uint>
660
+ {
661
+ WonCDKey = 0;
662
+ ValveCDKey = 1;
663
+ Doom3CDKey = 2;
664
+ DBLookup = 3;
665
+ Steam2010Key = 4;
666
+ Max = 5;
667
+ Test = 2147483647;
668
+ Invalid = 4294967295;
669
+ };
670
+
671
+
672
+ enum EChatMemberStateChange flags
673
+ {
674
+ Entered = 0x01;
675
+ Left = 0x02;
676
+ Disconnected = 0x04;
677
+ Kicked = 0x08;
678
+ Banned = 0x10;
679
+
680
+ VoiceSpeaking = 0x1000;
681
+ VoiceDoneSpeaking = 0x2000;
682
+ };
683
+
684
+ enum ERegionCode<byte>
685
+ {
686
+ USEast = 0x00;
687
+ USWest = 0x01;
688
+ SouthAmerica = 0x02;
689
+ Europe = 0x03;
690
+ Asia = 0x04;
691
+ Australia = 0x05;
692
+ MiddleEast = 0x06;
693
+ Africa = 0x07;
694
+ World = 0xFF;
695
+ };
696
+
697
+ enum ECurrencyCode
698
+ {
699
+ Invalid = 0;
700
+
701
+ USD = 1;
702
+ GBP = 2;
703
+ EUR = 3;
704
+ CHF = 4;
705
+ RUB = 5;
706
+ PLN = 6;
707
+ BRL = 7;
708
+ JPY = 8;
709
+ NOK = 9;
710
+ IDR = 10;
711
+ MYR = 11;
712
+ PHP = 12;
713
+ SGD = 13;
714
+ THB = 14;
715
+ VND = 15;
716
+ KRW = 16;
717
+ TRY = 17;
718
+ UAH = 18;
719
+ MXN = 19;
720
+ CAD = 20;
721
+ AUD = 21;
722
+ NZD = 22;
723
+ CNY = 23;
724
+ INR = 24;
725
+ CLP = 25;
726
+ PEN = 26;
727
+ COP = 27;
728
+ ZAR = 28;
729
+ HKD = 29;
730
+ TWD = 30;
731
+ SAR = 31;
732
+ AED = 32;
733
+
734
+ Max = 33;
735
+ };
736
+
737
+ enum EDepotFileFlag flags
738
+ {
739
+ UserConfig = 1;
740
+ VersionedUserConfig = 2;
741
+ Encrypted = 4;
742
+ ReadOnly = 8;
743
+ Hidden = 16;
744
+ Executable = 32;
745
+ Directory = 64;
746
+ CustomExecutable = 128;
747
+ InstallScript = 256;
748
+ };
749
+
750
+ enum EWorkshopEnumerationType
751
+ {
752
+ RankedByVote = 0;
753
+ Recent = 1;
754
+ Trending = 2;
755
+ FavoriteOfFriends = 3;
756
+ VotedByFriends = 4;
757
+ ContentByFriends = 5;
758
+ RecentFromFollowedUsers = 6;
759
+ };
760
+
761
+ enum EPublishedFileVisibility
762
+ {
763
+ Public = 0;
764
+ FriendsOnly = 1;
765
+ Private = 2;
766
+ };
767
+
768
+ enum EWorkshopFileType
769
+ {
770
+ First = 0;
771
+
772
+ Community = 0;
773
+ Microtransaction = 1;
774
+ Collection = 2;
775
+ Art = 3;
776
+ Video = 4;
777
+ Screenshot = 5;
778
+ Game = 6;
779
+ Software = 7;
780
+ Concept = 8;
781
+ WebGuide = 9;
782
+ IntegratedGuide = 10;
783
+ Merch = 11;
784
+ ControllerBinding = 12;
785
+ SteamworksAccessInvite = 13;
786
+ SteamVideo = 14;
787
+ GameManagedItem = 15;
788
+
789
+ Max = 16;
790
+ };
791
+
792
+ enum EWorkshopFileAction
793
+ {
794
+ Played = 0;
795
+ Completed = 1;
796
+ };
797
+
798
+ enum EEconTradeResponse
799
+ {
800
+ Accepted = 0;
801
+ Declined = 1;
802
+ TradeBannedInitiator = 2;
803
+ TradeBannedTarget = 3;
804
+ TargetAlreadyTrading = 4;
805
+ Disabled = 5;
806
+ NotLoggedIn = 6;
807
+ Cancel = 7;
808
+ TooSoon = 8;
809
+ TooSoonPenalty = 9;
810
+ ConnectionFailed = 10;
811
+ AlreadyTrading = 11;
812
+ AlreadyHasTradeRequest = 12;
813
+ NoResponse = 13;
814
+ CyberCafeInitiator = 14;
815
+ CyberCafeTarget = 15;
816
+ SchoolLabInitiator = 16;
817
+ SchoolLabTarget = 16;
818
+ InitiatorBlockedTarget = 18;
819
+ InitiatorNeedsVerifiedEmail = 20;
820
+ InitiatorNeedsSteamGuard = 21;
821
+ TargetAccountCannotTrade = 22;
822
+ InitiatorSteamGuardDuration = 23;
823
+ InitiatorPasswordResetProbation = 24;
824
+ InitiatorNewDeviceCooldown = 25;
825
+ OKToDeliver = 50;
826
+ };
827
+
828
+ enum EMarketingMessageFlags flags
829
+ {
830
+ None = 0;
831
+
832
+ HighPriority = 1;
833
+ PlatformWindows = 2;
834
+ PlatformMac = 4;
835
+ PlatformLinux = 8;
836
+ PlatformRestrictions = PlatformWindows | PlatformMac | PlatformLinux;
837
+ };
838
+
839
+ enum ENewsUpdateType
840
+ {
841
+ AppNews = 0;
842
+ SteamAds = 1;
843
+ SteamNews = 2;
844
+ CDDBUpdate = 3;
845
+ ClientUpdate = 4;
846
+ };
847
+
848
+ enum ESystemIMType
849
+ {
850
+ RawText = 0;
851
+ InvalidCard = 1;
852
+ RecurringPurchaseFailed = 2;
853
+ CardWillExpire = 3;
854
+ SubscriptionExpired = 4;
855
+ GuestPassReceived = 5;
856
+ GuestPassGranted = 6;
857
+ GiftRevoked = 7;
858
+ SupportMessage = 8;
859
+ SupportMessageClearAlert = 9;
860
+
861
+ Max = 10;
862
+ };
863
+
864
+ enum EChatFlags flags
865
+ {
866
+ Locked = 1;
867
+ InvisibleToFriends = 2;
868
+ Moderated = 4;
869
+ Unjoinable = 8;
870
+ };
871
+
872
+ enum ERemoteStoragePlatform flags
873
+ {
874
+ None = 0;
875
+
876
+ Windows = 1;
877
+ OSX = 2;
878
+ PS3 = 4;
879
+ Linux = 8;
880
+ Reserved1 = 8; obsolete
881
+ Reserved2 = 16;
882
+
883
+ All = -1;
884
+ };
885
+
886
+ enum EDRMBlobDownloadType flags
887
+ {
888
+ Error = 0;
889
+
890
+ File = 1;
891
+ Parts = 2;
892
+ Compressed = 4;
893
+ AllMask = 7;
894
+ IsJob = 8;
895
+ HighPriority = 16;
896
+ AddTimestamp = 32;
897
+ LowPriority = 64;
898
+ };
899
+
900
+ enum EDRMBlobDownloadErrorDetail
901
+ {
902
+ None = 0;
903
+
904
+ DownloadFailed = 1;
905
+ TargetLocked = 2;
906
+ OpenZip = 3;
907
+ ReadZipDirectory = 4;
908
+ UnexpectedZipEntry = 5;
909
+ UnzipFullFile = 6;
910
+ UnknownBlobType = 7;
911
+ UnzipStrips = 8;
912
+ UnzipMergeGuid = 9;
913
+ UnzipSignature = 10;
914
+ ApplyStrips = 11;
915
+ ApplyMergeGuid = 12;
916
+ ApplySignature = 13;
917
+ AppIdMismatch = 14;
918
+ AppIdUnexpected = 15;
919
+ AppliedSignatureCorrupt = 16;
920
+ ApplyValveSignatureHeader = 17;
921
+ UnzipValveSignatureHeader = 18;
922
+ PathManipulationError = 19;
923
+
924
+ TargetLocked_Base = 65536;
925
+ TargetLocked_Max = 131071;
926
+
927
+ NextBase = 131072;
928
+ };
929
+
930
+ enum EClientStat
931
+ {
932
+ P2PConnectionsUDP = 0;
933
+ P2PConnectionsRelay = 1;
934
+ P2PGameConnections = 2;
935
+ P2PVoiceConnections = 3;
936
+ BytesDownloaded = 4;
937
+
938
+ Max = 5;
939
+ };
940
+
941
+ enum EClientStatAggregateMethod
942
+ {
943
+ LatestOnly = 0;
944
+ Sum = 1;
945
+ Event = 2;
946
+ Scalar = 3;
947
+ };
948
+
949
+ enum ELeaderboardDataRequest
950
+ {
951
+ Global = 0;
952
+ GlobalAroundUser = 1;
953
+ Friends = 2;
954
+ Users = 3;
955
+ };
956
+
957
+ enum ELeaderboardSortMethod
958
+ {
959
+ None = 0;
960
+
961
+ Ascending = 1;
962
+ Descending = 2;
963
+ };
964
+
965
+ enum ELeaderboardDisplayType
966
+ {
967
+ None = 0;
968
+ Numeric = 1;
969
+ TimeSeconds = 2;
970
+ TimeMilliSeconds = 3;
971
+ };
972
+
973
+ enum ELeaderboardUploadScoreMethod
974
+ {
975
+ None = 0;
976
+
977
+ KeepBest = 1;
978
+ ForceUpdate = 2;
979
+ };
980
+
981
+ enum EUCMFilePrivacyState flags
982
+ {
983
+ Invalid = -1;
984
+ Private = 2;
985
+ FriendsOnly = 4;
986
+ Public = 8;
987
+
988
+ All = Public | FriendsOnly | Private; // 14
989
+ };