aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/messages.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-12 20:53:09 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-16 21:39:42 +0300
commit82871ba1bac1d62f69e1933b66659e62d2e5e063 (patch)
treea906310fba89b670bcfda9625a6d776553d482f6 /pkg/messages/messages.go
parentnet/svc messages finally getting parsed correctly (diff)
downloadsdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.tar.gz
sdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.tar.bz2
sdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.zip
another rewrite, v1.0.0
Diffstat (limited to 'pkg/messages/messages.go')
-rw-r--r--pkg/messages/messages.go87
1 files changed, 87 insertions, 0 deletions
diff --git a/pkg/messages/messages.go b/pkg/messages/messages.go
new file mode 100644
index 0000000..39f89e9
--- /dev/null
+++ b/pkg/messages/messages.go
@@ -0,0 +1,87 @@
1package messages
2
3import (
4 "fmt"
5 "reflect"
6
7 "github.com/pektezol/bitreader"
8 messages "github.com/pektezol/demoparser/pkg/messages/types"
9)
10
11func ParseMessages(messageType int, reader *bitreader.ReaderType) any {
12 var messageData any
13 switch messageType {
14 case 0:
15 messageData = messages.ParseNetNop(reader)
16 case 1:
17 messageData = messages.ParseNetDisconnect(reader)
18 case 2:
19 messageData = messages.ParseNetFile(reader)
20 case 3:
21 messageData = messages.ParseNetSplitScreenUser(reader)
22 case 4:
23 messageData = messages.ParseNetTick(reader)
24 case 5:
25 messageData = messages.ParseNetStringCmd(reader)
26 case 6:
27 messageData = messages.ParseNetSetConVar(reader)
28 case 7:
29 messageData = messages.ParseNetSignOnState(reader)
30 case 8:
31 messageData = messages.ParseSvcServerInfo(reader)
32 case 9:
33 messageData = messages.ParseSvcSendTable(reader)
34 case 10:
35 messageData = messages.ParseSvcClassInfo(reader)
36 case 11:
37 messageData = messages.ParseSvcSetPause(reader)
38 case 12:
39 messageData = messages.ParseSvcCreateStringTable(reader)
40 case 13:
41 messageData = messages.ParseSvcUpdateStringTable(reader)
42 case 14:
43 messageData = messages.ParseSvcVoiceInit(reader)
44 case 15:
45 messageData = messages.ParseSvcVoiceData(reader)
46 case 16:
47 messageData = messages.ParseSvcPrint(reader)
48 case 17:
49 messageData = messages.ParseSvcSounds(reader)
50 case 18:
51 messageData = messages.ParseSvcSetView(reader)
52 case 19:
53 messageData = messages.ParseSvcFixAngle(reader)
54 case 20:
55 messageData = messages.ParseSvcCrosshairAngle(reader)
56 case 21:
57 messageData = messages.ParseSvcBspDecal(reader)
58 case 22:
59 messageData = messages.ParseSvcSplitScreen(reader)
60 case 23:
61 messageData = messages.ParseSvcUserMessage(reader)
62 case 24:
63 messageData = messages.ParseSvcEntityMessage(reader)
64 case 25:
65 messageData = messages.ParseSvcGameEvent(reader)
66 case 26:
67 messageData = messages.ParseSvcPacketEntities(reader)
68 case 27:
69 messageData = messages.ParseSvcTempEntities(reader)
70 case 28:
71 messageData = messages.ParseSvcPrefetch(reader)
72 case 29:
73 messageData = messages.ParseSvcMenu(reader)
74 case 30:
75 messageData = messages.ParseSvcGameEventList(reader)
76 case 31:
77 messageData = messages.ParseSvcGetCvarValue(reader)
78 case 32:
79 messageData = messages.ParseSvcCmdKeyValues(reader)
80 case 33:
81 messageData = messages.ParseSvcPaintmapData(reader)
82 default:
83 return nil
84 }
85 fmt.Printf("\t\t(%d) %s:\n\t\t\t%+v\n", messageType, reflect.ValueOf(messageData).Type(), messageData)
86 return messageData
87}