aboutsummaryrefslogtreecommitdiff
path: root/packets/packet.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 /packets/packet.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 'packets/packet.go')
-rw-r--r--packets/packet.go87
1 files changed, 0 insertions, 87 deletions
diff --git a/packets/packet.go b/packets/packet.go
deleted file mode 100644
index 8f4a262..0000000
--- a/packets/packet.go
+++ /dev/null
@@ -1,87 +0,0 @@
1package packets
2
3import (
4 "fmt"
5
6 "github.com/pektezol/bitreader"
7 "github.com/pektezol/demoparser/packets/classes"
8 "github.com/pektezol/demoparser/packets/messages"
9)
10
11const MSSC = 2
12
13func ParsePacket(reader *bitreader.ReaderType) (status int) {
14 messageType := reader.TryReadInt8()
15 messageTick := reader.TryReadInt32()
16 messageSlot := reader.TryReadInt8()
17 _ = messageSlot
18 switch messageType {
19 case 1:
20 signOn := SignOn{
21 PacketInfo: classes.ParseCmdInfo(reader, MSSC),
22 InSequence: int32(reader.TryReadInt32()),
23 OutSequence: int32(reader.TryReadInt32()),
24 }
25 size := int(reader.TryReadInt32())
26 signOn.Data = messages.ParseMessage(reader.TryReadBytesToSlice(size))
27 // fmt.Printf("[%d] (%d) {%d} SignOn: %v\n", messageTick, messageType, messageSlot, signOn)
28 return 1
29 case 2:
30 packet := Packet{
31 PacketInfo: classes.ParseCmdInfo(reader, MSSC),
32 InSequence: int32(reader.TryReadInt32()),
33 OutSequence: int32(reader.TryReadInt32()),
34 }
35 size := int(reader.TryReadInt32())
36 packet.Data = messages.ParseMessage(reader.TryReadBytesToSlice(size))
37 // fmt.Printf("[%d] (%d) Packet: %v\n", messageTick, messageType, packet)
38 return 2
39 case 3:
40 syncTick := SyncTick{}
41 fmt.Printf("[%d] (%d) SyncTick: %v\n", messageTick, messageType, syncTick)
42 return 3
43 case 4:
44 size := int(reader.TryReadInt32())
45 var consoleCmd ConsoleCmd
46 consoleCmd.Data = reader.TryReadStringLen(size)
47 // fmt.Printf("[%d] (%d) ConsoleCmd: %s\n", messageTick, messageType, consoleCmd.Data)
48 return 4
49 case 5: // TODO: UserCmd - Buttons
50 userCmd := UserCmd{
51 Cmd: int32(reader.TryReadInt32()),
52 }
53 size := int(reader.TryReadInt32())
54 userCmd.Data = classes.ParseUserCmdInfo(reader.TryReadBytesToSlice(size))
55 // fmt.Printf("[%d] (%d) UserCmd: %v\n", messageTick, messageType, userCmd)
56 return 5
57 case 6: // TODO: DataTables
58 // datatables := DataTables{
59 // Size: int32(reader.TryReadInt32()),
60 // }
61 size := int(reader.TryReadInt32())
62 reader.SkipBytes(size)
63 // datatables.Data = classes.ParseDataTable(reader.TryReadBytesToSlice(int(datatables.Size)))
64 // fmt.Printf("[%d] (%d) DataTables: %v\n", messageTick, messageType, datatables)
65 return 6
66 case 7:
67 stop := Stop{
68 RemainingData: nil,
69 }
70 fmt.Printf("[%d] (%d) Stop: %v\n", messageTick, messageType, stop)
71 return 7
72 case 8: // TODO: CustomData
73 reader.SkipBytes(4)
74 size := int(reader.TryReadInt32())
75 reader.SkipBytes(size)
76 // fmt.Printf("[%d] (%d) CustomData: \n", messageTick, messageType)
77 return 8
78 case 9: // TODO: StringTables - Data
79 var stringTables StringTables
80 size := int(reader.TryReadInt32())
81 stringTables.Data = classes.ParseStringTable(reader.TryReadBytesToSlice(size))
82 // fmt.Printf("[%d] (%d) StringTables: %v\n", messageTick, messageType, stringTables)
83 return 9
84 default:
85 return 0
86 }
87}