aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/svcUserMessage.go
blob: e5b19436f0b5876f08063ec10e9e84f59b4074fe (plain) (blame)
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
package messages

import (
	"github.com/pektezol/bitreader"
	"github.com/pektezol/demoparser/pkg/writer"
)

type SvcUserMessage struct {
	Type   int8
	Length int16
	Data   []byte
}

type UserMessageType int

const (
	EUserMessageTypeUnknown UserMessageType = iota
	EUserMessageTypeInvalid
	EUserMessageTypeGeiger
	EUserMessageTypeTrain
	EUserMessageTypeHudText
	EUserMessageTypeSayText
	EUserMessageTypeSayText2
	EUserMessageTypeTextMsg
	EUserMessageTypeHUDMsg
	EUserMessageTypeResetHUD
	EUserMessageTypeGameTitle
	EUserMessageTypeItemPickup
	EUserMessageTypeShowMenu
	EUserMessageTypeShake
	EUserMessageTypeFade
	EUserMessageTypeVGUIMenu
	EUserMessageTypeRumble
	EUserMessageTypeBattery
	EUserMessageTypeDamage
	EUserMessageTypeVoiceMask
	EUserMessageTypeRequestState
	EUserMessageTypeCloseCaption
	EUserMessageTypeHintText
	EUserMessageTypeKeyHintText
	EUserMessageTypeSquadMemberDied
	EUserMessageTypeAmmoDenied
	EUserMessageTypeCreditsMsg
	EUserMessageTypeCreditsPortalMsg
	EUserMessageTypeLogoTimeMsg
	EUserMessageTypeAchievementEvent
	EUserMessageTypeEntityPortalled
	EUserMessageTypeKillCam
	EUserMessageTypeTilt
	EUserMessageTypeCloseCaptionDirect
	EUserMessageTypeUpdateJalopyRadar
	EUserMessageTypeCurrentTimescale
	EUserMessageTypeDesiredTimescale
	EUserMessageTypeInventoryFlash
	EUserMessageTypeIndicatorFlash
	EUserMessageTypeControlHelperAnimate
	EUserMessageTypeTakePhoto
	EUserMessageTypeFlash
	EUserMessageTypeHudPingIndicator
	EUserMessageTypeOpenRadialMenu
	EUserMessageTypeAddLocator
	EUserMessageTypeMPMapCompleted
	EUserMessageTypeMPMapIncomplete
	EUserMessageTypeMPMapCompletedData
	EUserMessageTypeMPTauntEarned
	EUserMessageTypeMPTauntUnlocked
	EUserMessageTypeMPTauntLocked
	EUserMessageTypeMPAllTauntsLocked
	EUserMessageTypePortalFX_Surface
	EUserMessageTypePaintWorld
	EUserMessageTypePaintEntity
	EUserMessageTypeChangePaintColor
	EUserMessageTypePaintBombExplode
	EUserMessageTypeRemoveAllPaint
	EUserMessageTypePaintAllSurfaces
	EUserMessageTypeRemovePaint
	EUserMessageTypeStartSurvey
	EUserMessageTypeApplyHitBoxDamageEffect
	EUserMessageTypeSetMixLayerTriggerFactor
	EUserMessageTypeTransitionFade
	EUserMessageTypeScoreboardTempUpdate
	EUserMessageTypeChallengeModCheatSession
	EUserMessageTypeChallengeModCloseAllUI
)

func ParseSvcUserMessage(reader *bitreader.Reader) SvcUserMessage {
	svcUserMessage := SvcUserMessage{
		Type:   int8(reader.TryReadBits(8)),
		Length: int16(reader.TryReadBits(12)),
	}
	svcUserMessage.Data = reader.TryReadBitsToSlice(uint64(svcUserMessage.Length))
	writer.TempAppendLine("\t\tType: %d", svcUserMessage.Type)
	writer.TempAppendLine("\t\tData: %v", svcUserMessage.Data)
	return svcUserMessage
}

// func byteToUserMessageType() {

// }