source2-demo-macros 0.4.1

Procedural macros for Source 2 replay parser
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
use quote::quote;

pub fn get_enum_from_struct(struct_name: &str) -> proc_macro2::TokenStream {
    match struct_name {
        // EDemoCommands
        "CDemoFileHeader" => quote! { EDemoCommands::DemFileHeader },
        "CDemoStop" => quote! { EDemoCommands::DemStop },
        "CDemoFileInfo" => quote! { EDemoCommands::DemFileInfo },
        "CDemoSyncTick" => quote! { EDemoCommands::DemSyncTick },
        "CDemoSendTables" => quote! { EDemoCommands::DemSendTables },
        "CDemoClassInfo" => quote! { EDemoCommands::DemClassInfo },
        "CDemoStringTables" => quote! { EDemoCommands::DemStringTables },
        "CDemoPacket" => quote! { EDemoCommands::DemPacket },
        "CDemoConsoleCmd" => quote! { EDemoCommands::DemConsoleCmd },
        "CDemoCustomData" => quote! { EDemoCommands::DemCustomData },
        "CDemoCustomDataCallbacks" => quote! { EDemoCommands::DemCustomDataCallbacks },
        "CDemoUserCmd" => quote! { EDemoCommands::DemUserCmd },
        "CDemoFullPacket" => quote! { EDemoCommands::DemFullPacket },
        "CDemoSaveGame" => quote! { EDemoCommands::DemSaveGame },
        "CDemoSpawnGroups" => quote! { EDemoCommands::DemSpawnGroups },
        "CDemoAnimationData" => quote! { EDemoCommands::DemAnimationData },
        "CDemoAnimationHeader" => quote! { EDemoCommands::DemAnimationHeader },
        "CDemoRecovery" => quote! { EDemoCommands::DemRecovery },
        // "CDemoSignonPacket" => quote! { EDemoCommands::DemSignonPacket },
        // "CDemoError" => quote! { EDemoCommands::DemError },
        // "CDemoMax" => quote! { EDemoCommands::DemMax },
        // "CDemoIsCompressed" => quote! { EDemoCommands::DemIsCompressed },

        // CitadelUserMessageIds
        "CCitadelUserMessageDamage" => quote! { CitadelUserMessageIds::KEUserMsgDamage },
        "CCitadelUserMsgMapPing" => quote! { CitadelUserMessageIds::KEUserMsgMapPing },
        "CCitadelUserMsgTeamRewards" => quote! { CitadelUserMessageIds::KEUserMsgTeamRewards },
        "CCitadelUserMsgTriggerDamageFlash" => quote! { CitadelUserMessageIds::KEUserMsgTriggerDamageFlash },
        "CCitadelUserMsgAbilitiesChanged" => quote! { CitadelUserMessageIds::KEUserMsgAbilitiesChanged },
        "CCitadelUserMsgRecentDamageSummary" => quote! { CitadelUserMessageIds::KEUserMsgRecentDamageSummary },
        "CCitadelUserMsgSpectatorTeamChanged" => quote! { CitadelUserMessageIds::KEUserMsgSpectatorTeamChanged },
        "CCitadelUserMsgChatWheel" => quote! { CitadelUserMessageIds::KEUserMsgChatWheel },
        "CCitadelUserMsgGoldHistory" => quote! { CitadelUserMessageIds::KEUserMsgGoldHistory },
        "CCitadelUserMsgChatMsg" => quote! { CitadelUserMessageIds::KEUserMsgChatMsg },
        "CCitadelUserMsgQuickResponse" => quote! { CitadelUserMessageIds::KEUserMsgQuickResponse },
        "CCitadelUserMsgPostMatchDetails" => quote! { CitadelUserMessageIds::KEUserMsgPostMatchDetails },
        "CCitadelUserMsgChatEvent" => quote! { CitadelUserMessageIds::KEUserMsgChatEvent },
        "CCitadelUserMsgAbilityInterrupted" => quote! { CitadelUserMessageIds::KEUserMsgAbilityInterrupted },
        "CCitadelUserMsgHeroKilled" => quote! { CitadelUserMessageIds::KEUserMsgHeroKilled },
        "CCitadelUserMsgReturnIdol" => quote! { CitadelUserMessageIds::KEUserMsgReturnIdol },
        "CCitadelUserMsgSetClientCameraAngles" => quote! { CitadelUserMessageIds::KEUserMsgSetClientCameraAngles },
        "CCitadelUserMsgMapLine" => quote! { CitadelUserMessageIds::KEUserMsgMapLine },
        "CCitadelUserMessageBulletHit" => quote! { CitadelUserMessageIds::KEUserMsgBulletHit },
        "CCitadelUserMessageObjectiveMask" => quote! { CitadelUserMessageIds::KEUserMsgObjectiveMask },
        "CCitadelUserMessageModifierApplied" => quote! { CitadelUserMessageIds::KEUserMsgModifierApplied },
        "CCitadelUserMsgCameraController" => quote! { CitadelUserMessageIds::KEUserMsgCameraController },
        "CCitadelUserMessageAuraModifierApplied" => quote! { CitadelUserMessageIds::KEUserMsgAuraModifierApplied },
        "CCitadelUserMsgObstructedShotFired" => quote! { CitadelUserMessageIds::KEUserMsgObstructedShotFired },
        "CCitadelUserMsgAbilityLateFailure" => quote! { CitadelUserMessageIds::KEUserMsgAbilityLateFailure },
        "CCitadelUserMsgAbilityPing" => quote! { CitadelUserMessageIds::KEUserMsgAbilityPing },
        "CCitadelUserMsgPostProcessingAnim" => quote! { CitadelUserMessageIds::KEUserMsgPostProcessingAnim },
        "CCitadelUserMsgDeathReplayData" => quote! { CitadelUserMessageIds::KEUserMsgDeathReplayData },
        "CCitadelUserMsgPlayerLifetimeStatInfo" => quote! { CitadelUserMessageIds::KEUserMsgPlayerLifetimeStatInfo },
        "CCitadelUserMsgForceShopClosed" => quote! { CitadelUserMessageIds::KEUserMsgForceShopClosed },
        // "CCitadelUserMsgStaminaDrained" => quote! { CitadelUserMessageIds::KEUserMsgStaminaDrained },
        "CCitadelUserMsgStaminaConsumed" => quote! { CitadelUserMessageIds::KEUserMsgStaminaConsumed },
        "CCitadelUserMessageAbilityNotify" => quote! { CitadelUserMessageIds::KEUserMsgAbilityNotify },
        "CCitadelUserMsgGetDamageStatsResponse" => quote! { CitadelUserMessageIds::KEUserMsgGetDamageStatsResponse },
        "CCitadelUserMsgParticipantStartSoundEvent" => quote! { CitadelUserMessageIds::KEUserMsgParticipantStartSoundEvent },
        "CCitadelUserMsgParticipantStopSoundEvent" => quote! { CitadelUserMessageIds::KEUserMsgParticipantStopSoundEvent },
        "CCitadelUserMsgParticipantStopSoundEventHash" => quote! { CitadelUserMessageIds::KEUserMsgParticipantStopSoundEventHash },
        "CCitadelUserMsgParticipantSetSoundEventParams" => quote! { CitadelUserMessageIds::KEUserMsgParticipantSetSoundEventParams },
        "CCitadelUserMsgParticipantSetLibraryStackFields" => quote! { CitadelUserMessageIds::KEUserMsgParticipantSetLibraryStackFields },
        "CCitadelUserMessageCurrencyChanged" => quote! { CitadelUserMessageIds::KEUserMsgCurrencyChanged },
        "CCitadelUserMessageGameOver" => quote! { CitadelUserMessageIds::KEUserMsgGameOver },
        "CCitadelUserMsgBossKilled" => quote! { CitadelUserMessageIds::KEUserMsgBossKilled },
        "CCitadelUserMsgBossDamaged" => quote! { CitadelUserMessageIds::KEUserMsgBossDamaged },
        "CCitadelUserMsgMidBossSpawned" => quote! { CitadelUserMessageIds::KEUserMsgMidBossSpawned },
        "CCitadelUserMsgRejuvStatus" => quote! { CitadelUserMessageIds::KEUserMsgRejuvStatus },
        "CCitadelUserMsgKillStreak" => quote! { CitadelUserMessageIds::KEUserMsgKillStreak },
        "CCitadelUserMsgTeamMsg" => quote! { CitadelUserMessageIds::KEUserMsgTeamMsg },
        "CCitadelUserMsgPlayerRespawned" => quote! { CitadelUserMessageIds::KEUserMsgPlayerRespawned },
        "CCitadelUserMsgCallCheaterVote" => quote! { CitadelUserMessageIds::KEUserMsgCallCheaterVote },
        "CCitadelUserMessageMeleeHit" => quote! { CitadelUserMessageIds::KEUserMsgMeleeHit },
        "CCitadelUserMsgFlexSlotUnlocked" => quote! { CitadelUserMessageIds::KEUserMsgFlexSlotUnlocked },
        "CCitadelUserMsgSeasonalKill" => quote! { CitadelUserMessageIds::KEUserMsgSeasonalKill },
        "CCitadelUserMsgSeasonalAchievementUnlocked" => quote! { CitadelUserMessageIds::KEUserMsgSeasonalAchievementUnlocked },
        "CCitadelUserMsgMusicQueue" => quote! { CitadelUserMessageIds::KEUserMsgMusicQueue },
        "CCitadelUserMsgAg2ParamTrigger" => quote! { CitadelUserMessageIds::KEUserMsgAg2ParamTrigger },
        "CCitadelUserMessageItemPurchaseNotification" => quote! { CitadelUserMessageIds::KEUserMsgItemPurchaseNotification },
        "CCitadelUserMsgEntityPortalled" => quote! { CitadelUserMessageIds::KEUserMsgEntityPortalled },
        "CCitadelUserMsgStreetBrawlScoring" => quote! { CitadelUserMessageIds::KEUserMsgStreetBrawlScoring },
        "CCitadelUserMsgHudGameAnnouncement" => quote! { CitadelUserMessageIds::KEUserMsgHudGameAnnouncement },
        "CCitadelUserMsgItemDraftReaction" => quote! { CitadelUserMessageIds::KEUserMsgItemDraftReaction },
        "CCitadelUserMessageImportantAbilityUsed" => quote! { CitadelUserMessageIds::KEUserMsgImportantAbilityUsed },
        "CCitadelUserMsgBannedHeroes" => quote! { CitadelUserMessageIds::KEUserMsgBannedHeroes },
        // "CCitadelUserMsgAbilityFailed" => quote! { CitadelUserMessageIds::KEUserMsgAbilityFailed },

        // ECitadelGameEvents
        "CMsgFireBullets" => quote! { ECitadelGameEvents::GeFireBullets },
        "CMsgPlayerAnimEvent" => quote! { ECitadelGameEvents::GePlayerAnimEvent },
        "CMsgParticleSystemManager" => quote! { ECitadelGameEvents::GeParticleSystemManager },
        "CMsgScreenTextPretty" => quote! { ECitadelGameEvents::GeScreenTextPretty },
        "CMsgServerRequestedTracer" => quote! { ECitadelGameEvents::GeServerRequestedTracer },
        "CMsgBulletImpact" => quote! { ECitadelGameEvents::GeBulletImpact },
        "CMsgEnableSatVolumesEvent" => quote! { ECitadelGameEvents::GeEnableSatVolumesEvent },
        "CMsgPlaceSatVolumeEvent" => quote! { ECitadelGameEvents::GePlaceSatVolumeEvent },
        "CMsgDisableSatVolumesEvent" => quote! { ECitadelGameEvents::GeDisableSatVolumesEvent },
        "CMsgRemoveSatVolumeEvent" => quote! { ECitadelGameEvents::GeRemoveSatVolumeEvent },
        "CMsgRemoveBullet" => quote! { ECitadelGameEvents::GeRemoveBullet },

        // EDotaUserMessages
        "CDotaUserMsgChatEvent" => quote! { EDotaUserMessages::DotaUmChatEvent },
        "CDotaUserMsgCombatHeroPositions" => quote! { EDotaUserMessages::DotaUmCombatHeroPositions },
        "CDotaUserMsgCombatLogBulkData" => quote! { EDotaUserMessages::DotaUmCombatLogBulkData },
        "CDotaUserMsgCreateLinearProjectile" => quote! { EDotaUserMessages::DotaUmCreateLinearProjectile },
        "CDotaUserMsgDestroyLinearProjectile" => quote! { EDotaUserMessages::DotaUmDestroyLinearProjectile },
        "CDotaUserMsgDodgeTrackingProjectiles" => quote! { EDotaUserMessages::DotaUmDodgeTrackingProjectiles },
        "CDotaUserMsgGlobalLightColor" => quote! { EDotaUserMessages::DotaUmGlobalLightColor },
        "CDotaUserMsgGlobalLightDirection" => quote! { EDotaUserMessages::DotaUmGlobalLightDirection },
        "CDotaUserMsgInvalidCommand" => quote! { EDotaUserMessages::DotaUmInvalidCommand },
        "CDotaUserMsgLocationPing" => quote! { EDotaUserMessages::DotaUmLocationPing },
        "CDotaUserMsgMapLine" => quote! { EDotaUserMessages::DotaUmMapLine },
        "CDotaUserMsgMiniKillCamInfo" => quote! { EDotaUserMessages::DotaUmMiniKillCamInfo },
        "CDotaUserMsgMinimapDebugPoint" => quote! { EDotaUserMessages::DotaUmMinimapDebugPoint },
        "CDotaUserMsgMinimapEvent" => quote! { EDotaUserMessages::DotaUmMinimapEvent },
        "CDotaUserMsgNevermoreRequiem" => quote! { EDotaUserMessages::DotaUmNevermoreRequiem },
        "CDotaUserMsgOverheadEvent" => quote! { EDotaUserMessages::DotaUmOverheadEvent },
        "CDotaUserMsgSetNextAutobuyItem" => quote! { EDotaUserMessages::DotaUmSetNextAutobuyItem },
        "CDotaUserMsgSharedCooldown" => quote! { EDotaUserMessages::DotaUmSharedCooldown },
        "CDotaUserMsgSpectatorPlayerClick" => quote! { EDotaUserMessages::DotaUmSpectatorPlayerClick },
        "CDotaUserMsgTutorialTipInfo" => quote! { EDotaUserMessages::DotaUmTutorialTipInfo },
        "CDotaUserMsgUnitEvent" => quote! { EDotaUserMessages::DotaUmUnitEvent },
        "CDotaUserMsgBotChat" => quote! { EDotaUserMessages::DotaUmBotChat },
        "CDotaUserMsgHudError" => quote! { EDotaUserMessages::DotaUmHudError },
        "CDotaUserMsgItemPurchased" => quote! { EDotaUserMessages::DotaUmItemPurchased },
        "CDotaUserMsgPing" => quote! { EDotaUserMessages::DotaUmPing },
        "CDotaUserMsgItemFound" => quote! { EDotaUserMessages::DotaUmItemFound },
        "CDotaUserMsgSwapVerify" => quote! { EDotaUserMessages::DotaUmSwapVerify },
        "CDotaUserMsgWorldLine" => quote! { EDotaUserMessages::DotaUmWorldLine },
        "CDotaUserMsgItemAlert" => quote! { EDotaUserMessages::DotaUmItemAlert },
        "CDotaUserMsgHalloweenDrops" => quote! { EDotaUserMessages::DotaUmHalloweenDrops },
        "CDotaUserMsgChatWheel" => quote! { EDotaUserMessages::DotaUmChatWheel },
        "CDotaUserMsgReceivedXmasGift" => quote! { EDotaUserMessages::DotaUmReceivedXmasGift },
        "CDotaUserMsgUpdateSharedContent" => quote! { EDotaUserMessages::DotaUmUpdateSharedContent },
        "CDotaUserMsgTutorialRequestExp" => quote! { EDotaUserMessages::DotaUmTutorialRequestExp },
        "CDotaUserMsgTutorialPingMinimap" => quote! { EDotaUserMessages::DotaUmTutorialPingMinimap },
        "CDotaUserMsgGamerulesStateChanged" => quote! { EDotaUserMessages::DotaUmGamerulesStateChanged },
        "CDotaUserMsgShowSurvey" => quote! { EDotaUserMessages::DotaUmShowSurvey },
        "CDotaUserMsgTutorialFade" => quote! { EDotaUserMessages::DotaUmTutorialFade },
        "CDotaUserMsgAddQuestLogEntry" => quote! { EDotaUserMessages::DotaUmAddQuestLogEntry },
        "CDotaUserMsgSendStatPopup" => quote! { EDotaUserMessages::DotaUmSendStatPopup },
        "CDotaUserMsgTutorialFinish" => quote! { EDotaUserMessages::DotaUmTutorialFinish },
        "CDotaUserMsgSendRoshanPopup" => quote! { EDotaUserMessages::DotaUmSendRoshanPopup },
        "CDotaUserMsgSendGenericToolTip" => quote! { EDotaUserMessages::DotaUmSendGenericToolTip },
        "CDotaUserMsgSendFinalGold" => quote! { EDotaUserMessages::DotaUmSendFinalGold },
        "CDotaUserMsgCustomMsg" => quote! { EDotaUserMessages::DotaUmCustomMsg },
        "CDotaUserMsgCoachHudPing" => quote! { EDotaUserMessages::DotaUmCoachHudPing },
        "CDotaUserMsgClientLoadGridNav" => quote! { EDotaUserMessages::DotaUmClientLoadGridNav },
        "CDotaUserMsgTeProjectile" => quote! { EDotaUserMessages::DotaUmTeProjectile },
        "CDotaUserMsgTeProjectileLoc" => quote! { EDotaUserMessages::DotaUmTeProjectileLoc },
        "CDotaUserMsgTeDotaBloodImpact" => quote! { EDotaUserMessages::DotaUmTeDotaBloodImpact },
        "CDotaUserMsgTeUnitAnimation" => quote! { EDotaUserMessages::DotaUmTeUnitAnimation },
        "CDotaUserMsgTeUnitAnimationEnd" => quote! { EDotaUserMessages::DotaUmTeUnitAnimationEnd },
        "CDotaUserMsgAbilityPing" => quote! { EDotaUserMessages::DotaUmAbilityPing },
        "CDotaUserMsgShowGenericPopup" => quote! { EDotaUserMessages::DotaUmShowGenericPopup },
        "CDotaUserMsgVoteStart" => quote! { EDotaUserMessages::DotaUmVoteStart },
        "CDotaUserMsgVoteUpdate" => quote! { EDotaUserMessages::DotaUmVoteUpdate },
        "CDotaUserMsgVoteEnd" => quote! { EDotaUserMessages::DotaUmVoteEnd },
        "CDotaUserMsgBoosterState" => quote! { EDotaUserMessages::DotaUmBoosterState },
        "CDotaUserMsgWillPurchaseAlert" => quote! { EDotaUserMessages::DotaUmWillPurchaseAlert },
        "CDotaUserMsgTutorialMinimapPosition" => quote! { EDotaUserMessages::DotaUmTutorialMinimapPosition },
        "CDotaUserMsgAbilitySteal" => quote! { EDotaUserMessages::DotaUmAbilitySteal },
        "CDotaUserMsgCourierKilledAlert" => quote! { EDotaUserMessages::DotaUmCourierKilledAlert },
        "CDotaUserMsgEnemyItemAlert" => quote! { EDotaUserMessages::DotaUmEnemyItemAlert },
        "CDotaUserMsgStatsMatchDetails" => quote! { EDotaUserMessages::DotaUmStatsMatchDetails },
        "CDotaUserMsgMiniTaunt" => quote! { EDotaUserMessages::DotaUmMiniTaunt },
        "CDotaUserMsgBuyBackStateAlert" => quote! { EDotaUserMessages::DotaUmBuyBackStateAlert },
        "CDotaUserMsgSpeechBubble" => quote! { EDotaUserMessages::DotaUmSpeechBubble },
        "CDotaUserMsgCustomHeaderMessage" => quote! { EDotaUserMessages::DotaUmCustomHeaderMessage },
        "CDotaUserMsgQuickBuyAlert" => quote! { EDotaUserMessages::DotaUmQuickBuyAlert },
        "CDotaUserMsgStatsHeroDetails" => quote! { EDotaUserMessages::DotaUmStatsHeroDetails },
        "CDotaUserMsgPredictionResult" => quote! { EDotaUserMessages::DotaUmPredictionResult },
        "CDotaUserMsgModifierAlert" => quote! { EDotaUserMessages::DotaUmModifierAlert },
        "CDotaUserMsgHpManaAlert" => quote! { EDotaUserMessages::DotaUmHpManaAlert },
        "CDotaUserMsgGlyphAlert" => quote! { EDotaUserMessages::DotaUmGlyphAlert },
        "CDotaUserMsgBeastChat" => quote! { EDotaUserMessages::DotaUmBeastChat },
        "CDotaUserMsgSpectatorPlayerUnitOrders" => quote! { EDotaUserMessages::DotaUmSpectatorPlayerUnitOrders },
        "CDotaUserMsgCustomHudElementCreate" => quote! { EDotaUserMessages::DotaUmCustomHudElementCreate },
        "CDotaUserMsgCustomHudElementModify" => quote! { EDotaUserMessages::DotaUmCustomHudElementModify },
        "CDotaUserMsgCustomHudElementDestroy" => quote! { EDotaUserMessages::DotaUmCustomHudElementDestroy },
        "CDotaUserMsgCompendiumState" => quote! { EDotaUserMessages::DotaUmCompendiumState },
        "CDotaUserMsgProjectionAbility" => quote! { EDotaUserMessages::DotaUmProjectionAbility },
        "CDotaUserMsgProjectionEvent" => quote! { EDotaUserMessages::DotaUmProjectionEvent },
        "CMsgDotaCombatLogEntry" => quote! { EDotaUserMessages::DotaUmCombatLogDataHltv },
        "CDotaUserMsgXpAlert" => quote! { EDotaUserMessages::DotaUmXpAlert },
        "CDotaUserMsgUpdateQuestProgress" => quote! { EDotaUserMessages::DotaUmUpdateQuestProgress },
        "CDotaUserMsgQuestStatus" => quote! { EDotaUserMessages::DotaUmQuestStatus },
        "CDotaUserMsgSuggestHeroPick" => quote! { EDotaUserMessages::DotaUmSuggestHeroPick },
        "CDotaUserMsgSuggestHeroRole" => quote! { EDotaUserMessages::DotaUmSuggestHeroRole },
        "CDotaUserMsgKillcamDamageTaken" => quote! { EDotaUserMessages::DotaUmKillcamDamageTaken },
        "CDotaUserMsgSelectPenaltyGold" => quote! { EDotaUserMessages::DotaUmSelectPenaltyGold },
        "CDotaUserMsgRollDiceResult" => quote! { EDotaUserMessages::DotaUmRollDiceResult },
        "CDotaUserMsgFlipCoinResult" => quote! { EDotaUserMessages::DotaUmFlipCoinResult },
        "CDotaUserMsgRequestItemSuggestions" => quote! { EDotaUserMessages::DotaUmRequestItemSuggestions },
        "CDotaUserMsgSendRoshanSpectatorPhase" => quote! { EDotaUserMessages::DotaUmSendRoshanSpectatorPhase },
        "CDotaUserMsgChatWheelCooldown" => quote! { EDotaUserMessages::DotaUmChatWheelCooldown },
        "CDotaUserMsgDismissAllStatPopups" => quote! { EDotaUserMessages::DotaUmDismissAllStatPopups },
        "CDotaUserMsgTeDestroyProjectile" => quote! { EDotaUserMessages::DotaUmTeDestroyProjectile },
        "CDotaUserMsgHeroRelicProgress" => quote! { EDotaUserMessages::DotaUmHeroRelicProgress },
        "CDotaUserMsgAbilityDraftRequestAbility" => quote! { EDotaUserMessages::DotaUmAbilityDraftRequestAbility },
        "CDotaUserMsgItemSold" => quote! { EDotaUserMessages::DotaUmItemSold },
        "CDotaUserMsgDamageReport" => quote! { EDotaUserMessages::DotaUmDamageReport },
        "CDotaUserMsgSalutePlayer" => quote! { EDotaUserMessages::DotaUmSalutePlayer },
        "CDotaUserMsgTipAlert" => quote! { EDotaUserMessages::DotaUmTipAlert },
        "CDotaUserMsgReplaceQueryUnit" => quote! { EDotaUserMessages::DotaUmReplaceQueryUnit },
        "CDotaUserMsgEmptyTeleportAlert" => quote! { EDotaUserMessages::DotaUmEmptyTeleportAlert },
        "CDotaUserMsgMarsArenaOfBloodAttack" => quote! { EDotaUserMessages::DotaUmMarsArenaOfBloodAttack },
        "CDotaUserMsgEsArcanaCombo" => quote! { EDotaUserMessages::DotaUmEsArcanaCombo },
        "CDotaUserMsgEsArcanaComboSummary" => quote! { EDotaUserMessages::DotaUmEsArcanaComboSummary },
        "CDotaUserMsgHighFiveLeftHanging" => quote! { EDotaUserMessages::DotaUmHighFiveLeftHanging },
        "CDotaUserMsgHighFiveCompleted" => quote! { EDotaUserMessages::DotaUmHighFiveCompleted },
        "CDotaUserMsgShovelUnearth" => quote! { EDotaUserMessages::DotaUmShovelUnearth },
        // "CDotaUserMsgInvokerSpellCast" => quote! { EDotaUserMessages::DotaEmInvokerSpellCast },
        "CDotaUserMsgRadarAlert" => quote! { EDotaUserMessages::DotaUmRadarAlert },
        "CDotaUserMsgAllStarEvent" => quote! { EDotaUserMessages::DotaUmAllStarEvent },
        "CDotaUserMsgTalentTreeAlert" => quote! { EDotaUserMessages::DotaUmTalentTreeAlert },
        "CDotaUserMsgQueuedOrderRemoved" => quote! { EDotaUserMessages::DotaUmQueuedOrderRemoved },
        "CDotaUserMsgDebugChallenge" => quote! { EDotaUserMessages::DotaUmDebugChallenge },
        "CDotaUserMsgOmArcanaCombo" => quote! { EDotaUserMessages::DotaUmOmArcanaCombo },
        "CDotaUserMsgFoundNeutralItem" => quote! { EDotaUserMessages::DotaUmFoundNeutralItem },
        "CDotaUserMsgOutpostCaptured" => quote! { EDotaUserMessages::DotaUmOutpostCaptured },
        "CDotaUserMsgOutpostGrantedXp" => quote! { EDotaUserMessages::DotaUmOutpostGrantedXp },
        "CDotaUserMsgMoveCameraToUnit" => quote! { EDotaUserMessages::DotaUmMoveCameraToUnit },
        "CDotaUserMsgPauseMinigameData" => quote! { EDotaUserMessages::DotaUmPauseMinigameData },
        "CDotaUserMsgVersusScenePlayerBehavior" => quote! { EDotaUserMessages::DotaUmVersusScenePlayerBehavior },
        "CDotaUserMsgQoPArcanaSummary" => quote! { EDotaUserMessages::DotaUmQoPArcanaSummary },
        "CDotaUserMsgHotPotatoCreated" => quote! { EDotaUserMessages::DotaUmHotPotatoCreated },
        "CDotaUserMsgHotPotatoExploded" => quote! { EDotaUserMessages::DotaUmHotPotatoExploded },
        "CDotaUserMsgWkArcanaProgress" => quote! { EDotaUserMessages::DotaUmWkArcanaProgress },
        "CDotaUserMsgGuildChallengeProgress" => quote! { EDotaUserMessages::DotaUmGuildChallengeProgress },
        "CDotaUserMsgWrArcanaProgress" => quote! { EDotaUserMessages::DotaUmWrArcanaProgress },
        "CDotaUserMsgWrArcanaSummary" => quote! { EDotaUserMessages::DotaUmWrArcanaSummary },
        "CDotaUserMsgEmptyItemSlotAlert" => quote! { EDotaUserMessages::DotaUmEmptyItemSlotAlert },
        "CDotaUserMsgAghsStatusAlert" => quote! { EDotaUserMessages::DotaUmAghsStatusAlert },
        "CDotaUserMsgPingConfirmation" => quote! { EDotaUserMessages::DotaUmPingConfirmation },
        "CDotaUserMsgMutedPlayers" => quote! { EDotaUserMessages::DotaUmMutedPlayers },
        "CDotaUserMsgContextualTip" => quote! { EDotaUserMessages::DotaUmContextualTip },
        "CDotaUserMsgChatMessage" => quote! { EDotaUserMessages::DotaUmChatMessage },
        "CDotaUserMsgNeutralCampAlert" => quote! { EDotaUserMessages::DotaUmNeutralCampAlert },
        "CDotaUserMsgRockPaperScissorsStarted" => quote! { EDotaUserMessages::DotaUmRockPaperScissorsStarted },
        "CDotaUserMsgRockPaperScissorsFinished" => quote! { EDotaUserMessages::DotaUmRockPaperScissorsFinished },
        "CDotaUserMsgDuelOpponentKilled" => quote! { EDotaUserMessages::DotaUmDuelOpponentKilled },
        "CDotaUserMsgDuelAccepted" => quote! { EDotaUserMessages::DotaUmDuelAccepted },
        "CDotaUserMsgDuelRequested" => quote! { EDotaUserMessages::DotaUmDuelRequested },
        "CDotaUserMsgMuertaReleaseEventAssignedTargetKilled" => quote! { EDotaUserMessages::DotaUmMuertaReleaseEventAssignedTargetKilled },
        "CDotaUserMsgPlayerDraftSuggestPick" => quote! { EDotaUserMessages::DotaUmPlayerDraftSuggestPick },
        "CDotaUserMsgPlayerDraftPick" => quote! { EDotaUserMessages::DotaUmPlayerDraftPick },
        "CDotaUserMsgUpdateLinearProjectileCpData" => quote! { EDotaUserMessages::DotaUmUpdateLinearProjectileCpData },
        "CDotaUserMsgGiftPlayer" => quote! { EDotaUserMessages::DotaUmGiftPlayer },
        "CDotaUserMsgFacetPing" => quote! { EDotaUserMessages::DotaUmFacetPing },
        "CDotaUserMsgInnatePing" => quote! { EDotaUserMessages::DotaUmInnatePing },
        "CDotaUserMsgRoshanTimer" => quote! { EDotaUserMessages::DotaUmRoshanTimer },
        "CDotaUserMsgNeutralCraftAvailable" => quote! { EDotaUserMessages::DotaUmNeutralCraftAvailable },
        "CDotaUserMsgTimerAlert" => quote! { EDotaUserMessages::DotaUmTimerAlert },
        "CDotaUserMsgMadstoneAlert" => quote! { EDotaUserMessages::DotaUmMadstoneAlert },
        "CDotaUserMsgCourierLeftFountainAlert" => quote! { EDotaUserMessages::DotaUmCourierLeftFountainAlert },
        "CDotaUserMsgMonsterHunterInvestigationsAvailable" => quote! { EDotaUserMessages::DotaUmMonsterHunterInvestigationsAvailable },
        "CDotaUserMsgMonsterHunterInvestigationGameState" => quote! { EDotaUserMessages::DotaUmMonsterHunterInvestigationGameState },
        "CDotaUserMsgMonsterHunterHuntAlert" => quote! { EDotaUserMessages::DotaUmMonsterHunterHuntAlert },
        "CDotaUserMsgTormentorTimer" => quote! { EDotaUserMessages::DotaUmTormentorTimer },
        "CDotaUserMsgKillEffect" => quote! { EDotaUserMessages::DotaUmKillEffect },
        "CDotaUserMsgGiveItem" => quote! { EDotaUserMessages::DotaUmGiveItem },
        // "CDotaUserMsgAddUnitToSelection" => quote! { EDotaUserMessages::DotaUmAddUnitToSelection },
        // "CDotaUserMsgCombatLogData" => quote! { EDotaUserMessages::DotaUmCombatLogData },
        // "CDotaUserMsgParticleManager" => quote! { EDotaUserMessages::DotaUmParticleManager },
        // "CDotaUserMsgCharacterSpeakConcept" => quote! {EDotaUserMessages::DotaUmCharacterSpeakConcept },
        // "CDotaUserMsgTournamentDrop" => quote! { EDotaUserMessages::DotaUmTournamentDrop },
        // "CDotaUserMsgMatchMetadata" => quote! { EDotaUserMessages::DotaUmMatchMetadata },
        // "CDotaUserMsgMatchDetails" => quote! { EDotaUserMessages::DotaUmMatchDetails },
        // "CDotaUserMsgTeamCaptainChanged" => quote! { EDotaUserMessages::DotaUmTeamCaptainChanged },

        // SvcMessages
        "CSvcMsgServerInfo" => quote! { SvcMessages::SvcServerInfo },
        "CSvcMsgFlattenedSerializer" => quote! { SvcMessages::SvcFlattenedSerializer },
        "CSvcMsgClassInfo" => quote! { SvcMessages::SvcClassInfo },
        "CSvcMsgSetPause" => quote! { SvcMessages::SvcSetPause },
        "CSvcMsgCreateStringTable" => quote! { SvcMessages::SvcCreateStringTable },
        "CSvcMsgUpdateStringTable" => quote! { SvcMessages::SvcUpdateStringTable },
        "CSvcMsgVoiceInit" => quote! { SvcMessages::SvcVoiceInit },
        "CSvcMsgVoiceData" => quote! { SvcMessages::SvcVoiceData },
        "CSvcMsgPrint" => quote! { SvcMessages::SvcPrint },
        "CSvcMsgSounds" => quote! { SvcMessages::SvcSounds },
        "CSvcMsgSetView" => quote! { SvcMessages::SvcSetView },
        "CSvcMsgClearAllStringTables" => quote! { SvcMessages::SvcClearAllStringTables },
        "CSvcMsgCmdKeyValues" => quote! { SvcMessages::SvcCmdKeyValues },
        "CSvcMsgBspDecal" => quote! { SvcMessages::SvcBspDecal },
        "CSvcMsgSplitScreen" => quote! { SvcMessages::SvcSplitScreen },
        "CSvcMsgPacketEntities" => quote! { SvcMessages::SvcPacketEntities },
        "CSvcMsgPrefetch" => quote! { SvcMessages::SvcPrefetch },
        "CSvcMsgMenu" => quote! { SvcMessages::SvcMenu },
        "CSvcMsgGetCvarValue" => quote! { SvcMessages::SvcGetCvarValue },
        "CSvcMsgStopSound" => quote! { SvcMessages::SvcStopSound },
        "CSvcMsgPeerList" => quote! { SvcMessages::SvcPeerList },
        "CSvcMsgPacketReliable" => quote! { SvcMessages::SvcPacketReliable },
        "CSvcMsgHltvStatus" => quote! { SvcMessages::SvcHltvStatus },
        "CSvcMsgServerSteamId" => quote! { SvcMessages::SvcServerSteamId },
        "CSvcMsgFullFrameSplit" => quote! { SvcMessages::SvcFullFrameSplit },
        "CSvcMsgRconServerDetails" => quote! { SvcMessages::SvcRconServerDetails },
        "CSvcMsgUserMessage" => quote! { SvcMessages::SvcUserMessage },
        "CSvcMsgHltvReplay" => quote! { SvcMessages::SvcHltvReplay },
        "CSvcMsgBroadcastCommand" => quote! { SvcMessages::SvcBroadcastCommand },
        "CSvcMsgHltvFixupOperatorStatus" => quote! { SvcMessages::SvcHltvFixupOperatorStatus },
        "CSvcMsgGameEventList" => quote! { EBaseGameEvents::GeSource1LegacyGameEventList },
        "CSvcMsgGameEvent" => quote! { EBaseGameEvents::GeSource1LegacyGameEvent },
        "CSvcMsgNextMsgPredicted" => quote! { EBaseGameEvents::SvcNextMsgPredicted },

        // EBaseUserMessages
        "CUserMessageAchievementEvent" => quote! { EBaseUserMessages::UmAchievementEvent },
        "CUserMessageCloseCaption" => quote! { EBaseUserMessages::UmCloseCaption },
        "CUserMessageCloseCaptionDirect" => quote! { EBaseUserMessages::UmCloseCaptionDirect },
        "CUserMessageCurrentTimescale" => quote! { EBaseUserMessages::UmCurrentTimescale },
        "CUserMessageDesiredTimescale" => quote! { EBaseUserMessages::UmDesiredTimescale },
        "CUserMessageFade" => quote! { EBaseUserMessages::UmFade },
        "CUserMessageGameTitle" => quote! { EBaseUserMessages::UmGameTitle },
        "CUserMessageHudMsg" => quote! { EBaseUserMessages::UmHudMsg },
        "CUserMessageHudText" => quote! { EBaseUserMessages::UmHudText },
        "CUserMessageColoredText" => quote! { EBaseUserMessages::UmColoredText },
        "CUserMessageRequestState" => quote! { EBaseUserMessages::UmRequestState },
        "CUserMessageResetHud" => quote! { EBaseUserMessages::UmResetHud },
        "CUserMessageRumble" => quote! { EBaseUserMessages::UmRumble },
        "CUserMessageSayText" => quote! { EBaseUserMessages::UmSayText },
        "CUserMessageSayText2" => quote! { EBaseUserMessages::UmSayText2 },
        "CUserMessageSayTextChannel" => quote! { EBaseUserMessages::UmSayTextChannel },
        "CUserMessageShake" => quote! { EBaseUserMessages::UmShake },
        "CUserMessageShakeDir" => quote! { EBaseUserMessages::UmShakeDir },
        "CUserMessageWaterShake" => quote! { EBaseUserMessages::UmWaterShake },
        "CUserMessageTextMsg" => quote! { EBaseUserMessages::UmTextMsg },
        "CUserMessageScreenTilt" => quote! { EBaseUserMessages::UmScreenTilt },
        "CUserMessageVoiceMask" => quote! { EBaseUserMessages::UmVoiceMask },
        "CUserMessageSendAudio" => quote! { EBaseUserMessages::UmSendAudio },
        "CUserMessageItemPickup" => quote! { EBaseUserMessages::UmItemPickup },
        "CUserMessageAmmoDenied" => quote! { EBaseUserMessages::UmAmmoDenied },
        "CUserMessageShowMenu" => quote! { EBaseUserMessages::UmShowMenu },
        "CUserMessageCreditsMsg" => quote! { EBaseUserMessages::UmCreditsMsg },
        "CUserMessageCloseCaptionPlaceholder" => quote! { EBaseUserMessages::UmCloseCaptionPlaceholder },
        "CUserMessageCameraTransition" => quote! { EBaseUserMessages::UmCameraTransition },
        "CUserMessageAudioParameter" => quote! { EBaseUserMessages::UmAudioParameter },
        "CUserMsgParticleManager" => quote! { EBaseUserMessages::UmParticleManager },
        "CUserMessageHudError" => quote! { EBaseUserMessages::UmHudError },
        "CUserMsgHudError" => quote! { EBaseUserMessages::UmCustomGameEvent },
        "CUserMessageHapticsManagerPulse" => quote! { EBaseUserMessages::UmHapticsManagerPulse },
        "CUserMessageHapticsManagerEffect" => quote! { EBaseUserMessages::UmHapticsManagerEffect },
        "CUserMessageUpdateCssClasses" => quote! { EBaseUserMessages::UmUpdateCssClasses },
        "CUserMessageServerFrameTime" => quote! { EBaseUserMessages::UmServerFrameTime },
        "CUserMessageLagCompensationError" => quote! { EBaseUserMessages::UmLagCompensationError },
        "CUserMessageRequestDllStatus" => quote! { EBaseUserMessages::UmRequestDllStatus },
        "CUserMessageRequestUtilAction" => quote! { EBaseUserMessages::UmRequestUtilAction },
        "CUserMessageRequestInventory" => quote! { EBaseUserMessages::UmRequestInventory },
        "CUserMessageInventoryResponse" => quote! { EBaseUserMessages::UmInventoryResponse },
        "CUserMessageRequestDiagnostic" => quote! { EBaseUserMessages::UmRequestDiagnostic },
        "CUserMessageDiagnosticResponse" => quote! { EBaseUserMessages::UmDiagnosticResponse },
        "CUserMessageExtraUserData" => quote! { EBaseUserMessages::UmExtraUserData },
        "CUserMessageNotifyResponseFound" => quote! { EBaseUserMessages::UmNotifyResponseFound },
        "CUserMessagePlayResponseConditional" => quote! { EBaseUserMessages::UmPlayResponseConditional },
        // "CUserMessageAnimGraphUpdate" => quote! { EBaseUserMessages::UmAnimGraphUpdate },
        // "CUserMessageUtilActionResponse" => quote! { EBaseUserMessages::UmUtilActionResponse },
        // "CUserMessageDllStatusResponse" => quote! { EBaseUserMessages::UmDllStatusResponse },

        // EBaseGameEvents
        "CMsgVDebugGameSessionIDEvent" => quote! { EBaseGameEvents::GeVDebugGameSessionIdEvent },
        "CMsgPlaceDecalEvent" => quote! { EBaseGameEvents::GePlaceDecalEvent },
        "CMsgClearWorldDecalsEvent" => quote! { EBaseGameEvents::GeClearWorldDecalsEvent },
        "CMsgClearEntityDecalsEvent" => quote! { EBaseGameEvents::GeClearEntityDecalsEvent },
        "CMsgClearDecalsForEntityEvent" => quote! { EBaseGameEvents::GeClearDecalsForEntityEvent },
        "CMsgSource1LegacyGameEventList" => quote! { EBaseGameEvents::GeSource1LegacyGameEventList },
        "CMsgSource1LegacyListenEvents" => quote! { EBaseGameEvents::GeSource1LegacyListenEvents },
        "CMsgSource1LegacyGameEvent" => quote! { EBaseGameEvents::GeSource1LegacyGameEvent },
        "CMsgSosStartSoundEvent" => quote! { EBaseGameEvents::GeSosStartSoundEvent },
        "CMsgSosStopSoundEvent" => quote! { EBaseGameEvents::GeSosStopSoundEvent },
        "CMsgSosSetSoundEventParams" => quote! { EBaseGameEvents::GeSosSetSoundEventParams },
        "CMsgSosSetLibraryStackFields" => quote! { EBaseGameEvents::GeSosSetLibraryStackFields },
        "CMsgSosStopSoundEventHash" => quote! { EBaseGameEvents::GeSosStopSoundEventHash },
        "CMsgClothStiffenAnimEvent" => quote! { EBaseGameEvents::GeClothStiffenAnimEvent },
        "CMsgClothEffectAnimEvent" => quote! { EBaseGameEvents::GeClothEffectAnimEvent },

        // NetMessages
        "CNetMsgNop" => quote! { NetMessages::NetNop },
        "CNetMsgDisconnectLegacy" => quote! { NetMessages::NetDisconnectLegacy },
        "CNetMsgSplitScreenUser" => quote! { NetMessages::NetSplitScreenUser },
        "CNetMsgTick" => quote! { NetMessages::NetTick },
        "CNetMsgStringCmd" => quote! { NetMessages::NetStringCmd },
        "CNetMsgSetConVar" => quote! { NetMessages::NetSetConVar },
        "CNetMsgSignonState" => quote! { NetMessages::NetSignonState },
        "CNetMsgSpawnGroupLoad" => quote! { NetMessages::NetSpawnGroupLoad },
        "CNetMsgSpawnGroupManifestUpdate" => quote! { NetMessages::NetSpawnGroupManifestUpdate },
        "CNetMsgSpawnGroupSetCreationTick" => quote! { NetMessages::NetSpawnGroupSetCreationTick },
        "CNetMsgSpawnGroupUnload" => quote! { NetMessages::NetSpawnGroupUnload },
        "CNetMsgSpawnGroupLoadCompleted" => quote! { NetMessages::NetSpawnGroupLoadCompleted },
        "CNetMsgDebugOverlay" => quote! { NetMessages::NetDebugOverlay },

        // ECsgoGameEvents
        "CMsgTePlayerAnimEvent" => quote! { ECsgoGameEvents::GePlayerAnimEventId },
        "CMsgTeRadioIcon" => quote! { ECsgoGameEvents::GeRadioIconEventId },
        "CMsgTeFireBullets" => quote! { ECsgoGameEvents::GeFireBulletsId },
        "CMsgPlayerBulletHit" => quote! { ECsgoGameEvents::GePlayerBulletHitId },

        // ECstrike15UserMessages
        "CCsUsrMsgVguiMenu" => quote! { ECstrike15UserMessages::CsUmVguiMenu },
        "CCsUsrMsgGeiger" => quote! { ECstrike15UserMessages::CsUmGeiger },
        "CCsUsrMsgTrain" => quote! { ECstrike15UserMessages::CsUmTrain },
        "CCsUsrMsgHudText" => quote! { ECstrike15UserMessages::CsUmHudText },
        "CCsUsrMsgHudMsg" => quote! { ECstrike15UserMessages::CsUmHudMsg },
        "CCsUsrMsgShake" => quote! { ECstrike15UserMessages::CsUmShake },
        "CCsUsrMsgFade" => quote! { ECstrike15UserMessages::CsUmFade },
        "CCsUsrMsgRumble" => quote! { ECstrike15UserMessages::CsUmRumble },
        "CCsUsrMsgCloseCaption" => quote! { ECstrike15UserMessages::CsUmCloseCaption },
        "CCsUsrMsgCloseCaptionDirect" => quote! { ECstrike15UserMessages::CsUmCloseCaptionDirect },
        "CCsUsrMsgSendAudio" => quote! { ECstrike15UserMessages::CsUmSendAudio },
        "CCsUsrMsgRawAudio" => quote! { ECstrike15UserMessages::CsUmRawAudio },
        "CCsUsrMsgVoiceMask" => quote! { ECstrike15UserMessages::CsUmVoiceMask },
        "CCsUsrMsgDamage" => quote! { ECstrike15UserMessages::CsUmDamage },
        "CCsUsrMsgRadioText" => quote! { ECstrike15UserMessages::CsUmRadioText },
        "CCsUsrMsgHintText" => quote! { ECstrike15UserMessages::CsUmHintText },
        "CCsUsrMsgKeyHintText" => quote! { ECstrike15UserMessages::CsUmKeyHintText },
        "CCsUsrMsgProcessSpottedEntityUpdate" => quote! { ECstrike15UserMessages::CsUmProcessSpottedEntityUpdate },
        "CCsUsrMsgReloadEffect" => quote! { ECstrike15UserMessages::CsUmReloadEffect },
        "CCsUsrMsgAdjustMoney" => quote! { ECstrike15UserMessages::CsUmAdjustMoney },
        "CCsUsrMsgKillCam" => quote! { ECstrike15UserMessages::CsUmKillCam },
        "CCsUsrMsgDesiredTimescale" => quote! { ECstrike15UserMessages::CsUmDesiredTimescale },
        "CCsUsrMsgCurrentTimescale" => quote! { ECstrike15UserMessages::CsUmCurrentTimescale },
        "CCsUsrMsgAchievementEvent" => quote! { ECstrike15UserMessages::CsUmAchievementEvent },
        "CCsUsrMsgMatchEndConditions" => quote! { ECstrike15UserMessages::CsUmMatchEndConditions },
        "CCsUsrMsgPlayerStatsUpdate" => quote! { ECstrike15UserMessages::CsUmPlayerStatsUpdate },
        "CCsUsrMsgQuestProgress" => quote! { ECstrike15UserMessages::CsUmQuestProgress },
        "CCsUsrMsgScoreLeaderboardData" => quote! { ECstrike15UserMessages::CsUmScoreLeaderboardData },
        "CCsUsrMsgPlayerDecalDigitalSignature" => quote! { ECstrike15UserMessages::CsUmPlayerDecalDigitalSignature },
        "CCsUsrMsgXRankGet" => quote! { ECstrike15UserMessages::CsUmXRankGet },
        "CCsUsrMsgXRankUpd" => quote! { ECstrike15UserMessages::CsUmXRankUpd },
        "CCsUsrMsgCallVoteFailed" => quote! { ECstrike15UserMessages::CsUmCallVoteFailed },
        "CCsUsrMsgVoteStart" => quote! { ECstrike15UserMessages::CsUmVoteStart },
        "CCsUsrMsgVotePass" => quote! { ECstrike15UserMessages::CsUmVotePass },
        "CCsUsrMsgVoteFailed" => quote! { ECstrike15UserMessages::CsUmVoteFailed },
        "CCsUsrMsgVoteSetup" => quote! { ECstrike15UserMessages::CsUmVoteSetup },
        "CCsUsrMsgSendLastKillerDamageToClient" => quote! { ECstrike15UserMessages::CsUmSendLastKillerDamageToClient },
        "CCsUsrMsgServerRankUpdate" => quote! { ECstrike15UserMessages::CsUmServerRankUpdate },
        "CCsUsrMsgXpUpdate" => quote! { ECstrike15UserMessages::CsUmXpUpdate },
        "CCsUsrMsgItemPickup" => quote! { ECstrike15UserMessages::CsUmItemPickup },
        "CCsUsrMsgShowMenu" => quote! { ECstrike15UserMessages::CsUmShowMenu },
        "CCsUsrMsgBarTime" => quote! { ECstrike15UserMessages::CsUmBarTime },
        "CCsUsrMsgAmmoDenied" => quote! { ECstrike15UserMessages::CsUmAmmoDenied },
        "CCsUsrMsgMarkAchievement" => quote! { ECstrike15UserMessages::CsUmMarkAchievement },
        "CCsUsrMsgMatchStatsUpdate" => quote! { ECstrike15UserMessages::CsUmMatchStatsUpdate },
        "CCsUsrMsgItemDrop" => quote! { ECstrike15UserMessages::CsUmItemDrop },
        "CCsUsrMsgSendPlayerItemDrops" => quote! { ECstrike15UserMessages::CsUmSendPlayerItemDrops },
        "CCsUsrMsgRoundBackupFilenames" => quote! { ECstrike15UserMessages::CsUmRoundBackupFilenames },
        "CCsUsrMsgSendPlayerItemFound" => quote! { ECstrike15UserMessages::CsUmSendPlayerItemFound },
        "CCsUsrMsgReportHit" => quote! { ECstrike15UserMessages::CsUmReportHit },
        "CCsUsrMsgWeaponSound" => quote! { ECstrike15UserMessages::CsUmWeaponSound },
        "CCsUsrMsgUpdateScreenHealthBar" => quote! { ECstrike15UserMessages::CsUmUpdateScreenHealthBar },
        "CCsUsrMsgEntityOutlineHighlight" => quote! { ECstrike15UserMessages::CsUmEntityOutlineHighlight },
        "CCsUsrMsgSsui" => quote! { ECstrike15UserMessages::CsUmSsui },
        "CCsUsrMsgSurvivalStats" => quote! { ECstrike15UserMessages::CsUmSurvivalStats },
        "CCsUsrMsgEndOfMatchAllPlayersData" => quote! { ECstrike15UserMessages::CsUmEndOfMatchAllPlayersData },
        "CCsUsrMsgPostRoundDamageReport" => quote! { ECstrike15UserMessages::CsUmPostRoundDamageReport },
        "CCsUsrMsgRoundEndReportData" => quote! { ECstrike15UserMessages::CsUmRoundEndReportData },
        "CCsUsrMsgCurrentRoundOdds" => quote! { ECstrike15UserMessages::CsUmCurrentRoundOdds },
        "CCsUsrMsgDeepStats" => quote! { ECstrike15UserMessages::CsUmDeepStats },
        "CCsUsrMsgShootInfo" => quote! { ECstrike15UserMessages::CsUmShootInfo },
        "CCsUsrMsgResetHud" => quote! { ECstrike15UserMessages::CsUmResetHud },
        "CCsUsrMsgGameTitle" => quote! { ECstrike15UserMessages::CsUmGameTitle },
        "CCsUsrMsgRequestState" => quote! { ECstrike15UserMessages::CsUmRequestState },
        "CCsUsrMsgStopSpectatorMode" => quote! { ECstrike15UserMessages::CsUmStopSpectatorMode },
        "CCsUsrMsgDisconnectToLobby" => quote! { ECstrike15UserMessages::CsUmDisconnectToLobby },
        "CCsUsrMsgClientInfo" => quote! { ECstrike15UserMessages::CsUmClientInfo },
        "CCsUsrMsgServerRankRevealAll" => quote! { ECstrike15UserMessages::CsUmServerRankRevealAll },
        "CCsUsrMsgPreMatchSayText" => quote! { ECstrike15UserMessages::CsUmDisconnectToLobby2 },
        "CCsUsrMsgCounterStrafe" => quote! { ECstrike15UserMessages::CsUmCounterStrafe },
        "CCsUsrMsgDamagePrediction" => quote! { ECstrike15UserMessages::CsUmDamagePrediction },
        "CCsUsrMsgRecurringMissionSchema" => quote! { ECstrike15UserMessages::CsUmRecurringMissionSchema },
        "CCsUsrMsgSendPlayerLoadout" => quote! { ECstrike15UserMessages::CsUmSendPlayerLoadout },

        _ => panic!("Unknown message type: {}", struct_name),
    }
}