aboutsummaryrefslogtreecommitdiff
path: root/pkg/classes/packet.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2024-06-15 13:58:30 +0300
committerGitHub <noreply@github.com>2024-06-15 13:58:30 +0300
commit77e4b066cb8d506b4bc944ab4eb2d6e4679e2202 (patch)
tree1d549eca619ed36cb881e487cb054c4643ac8376 /pkg/classes/packet.go
parentchange project name to sdp.go (diff)
downloadsdp.go-77e4b066cb8d506b4bc944ab4eb2d6e4679e2202.tar.gz
sdp.go-77e4b066cb8d506b4bc944ab4eb2d6e4679e2202.tar.bz2
sdp.go-77e4b066cb8d506b4bc944ab4eb2d6e4679e2202.zip
enable multithreading with goroutines (#20)
Diffstat (limited to 'pkg/classes/packet.go')
-rw-r--r--pkg/classes/packet.go50
1 files changed, 25 insertions, 25 deletions
diff --git a/pkg/classes/packet.go b/pkg/classes/packet.go
index 445ae91..c4f9676 100644
--- a/pkg/classes/packet.go
+++ b/pkg/classes/packet.go
@@ -5,32 +5,32 @@ import (
5 5
6 "github.com/pektezol/bitreader" 6 "github.com/pektezol/bitreader"
7 "github.com/pektezol/sdp.go/pkg/messages" 7 "github.com/pektezol/sdp.go/pkg/messages"
8 "github.com/pektezol/sdp.go/pkg/writer" 8 "github.com/pektezol/sdp.go/pkg/types"
9) 9)
10 10
11const MSSC int = 2 11const MSSC int = 2
12 12
13type Packet struct { 13type Packet struct {
14 PacketInfo []CmdInfo 14 PacketInfo []CmdInfo `json:"packet_info"`
15 InSequence uint32 15 InSequence uint32 `json:"in_sequence"`
16 OutSequence uint32 16 OutSequence uint32 `json:"out_sequence"`
17 Size uint32 17 Size uint32 `json:"size"`
18 Data []any 18 Data []any `json:"data"`
19} 19}
20 20
21type CmdInfo struct { 21type CmdInfo struct {
22 Flags uint32 22 Flags uint32 `json:"flags"`
23 ViewOrigin []float32 23 ViewOrigin []float32 `json:"view_origin"`
24 ViewAngles []float32 24 ViewAngles []float32 `json:"view_angles"`
25 LocalViewAngles []float32 25 LocalViewAngles []float32 `json:"local_view_angles"`
26 ViewOrigin2 []float32 26 ViewOrigin2 []float32 `json:"view_origin_2"`
27 ViewAngles2 []float32 27 ViewAngles2 []float32 `json:"view_angles_2"`
28 LocalViewAngles2 []float32 28 LocalViewAngles2 []float32 `json:"local_view_angles_2"`
29} 29}
30 30
31func (packet *Packet) ParsePacket(reader *bitreader.Reader) { 31func (packet *Packet) ParsePacket(reader *bitreader.Reader, demo *types.Demo) {
32 for count := 0; count < MSSC; count++ { 32 for count := 0; count < MSSC; count++ {
33 packet.ParseCmdInfo(reader) 33 packet.ParseCmdInfo(reader, demo)
34 } 34 }
35 packet.InSequence = reader.TryReadUInt32() 35 packet.InSequence = reader.TryReadUInt32()
36 packet.OutSequence = reader.TryReadUInt32() 36 packet.OutSequence = reader.TryReadUInt32()
@@ -41,11 +41,11 @@ func (packet *Packet) ParsePacket(reader *bitreader.Reader) {
41 if err != nil { 41 if err != nil {
42 break 42 break
43 } 43 }
44 packet.Data = append(packet.Data, messages.ParseMessages(messageType, packetReader)) 44 packet.Data = append(packet.Data, messages.ParseMessages(messageType, packetReader, demo))
45 } 45 }
46} 46}
47 47
48func (packet *Packet) ParseCmdInfo(reader *bitreader.Reader) { 48func (packet *Packet) ParseCmdInfo(reader *bitreader.Reader, demo *types.Demo) {
49 packet.PacketInfo = append(packet.PacketInfo, CmdInfo{ 49 packet.PacketInfo = append(packet.PacketInfo, CmdInfo{
50 Flags: reader.TryReadUInt32(), 50 Flags: reader.TryReadUInt32(),
51 ViewOrigin: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()}, 51 ViewOrigin: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()},
@@ -55,14 +55,14 @@ func (packet *Packet) ParseCmdInfo(reader *bitreader.Reader) {
55 ViewAngles2: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()}, 55 ViewAngles2: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()},
56 LocalViewAngles2: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()}, 56 LocalViewAngles2: []float32{reader.TryReadFloat32(), reader.TryReadFloat32(), reader.TryReadFloat32()},
57 }) 57 })
58 writer.AppendLine("\tFlags: %s", CmdInfoFlags(packet.PacketInfo[len(packet.PacketInfo)-1].Flags).String()) 58 demo.Writer.AppendLine("\tFlags: %s", CmdInfoFlags(packet.PacketInfo[len(packet.PacketInfo)-1].Flags).String())
59 writer.AppendLine("\tView Origin: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewOrigin) 59 demo.Writer.AppendLine("\tView Origin: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewOrigin)
60 writer.AppendLine("\tView Angles: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewAngles) 60 demo.Writer.AppendLine("\tView Angles: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewAngles)
61 writer.AppendLine("\tLocal View Angles: %v", packet.PacketInfo[len(packet.PacketInfo)-1].LocalViewAngles) 61 demo.Writer.AppendLine("\tLocal View Angles: %v", packet.PacketInfo[len(packet.PacketInfo)-1].LocalViewAngles)
62 writer.AppendLine("\tView Origin 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewOrigin2) 62 demo.Writer.AppendLine("\tView Origin 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewOrigin2)
63 writer.AppendLine("\tView Angles 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewAngles2) 63 demo.Writer.AppendLine("\tView Angles 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].ViewAngles2)
64 writer.AppendLine("\tLocal View Angles 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].LocalViewAngles2) 64 demo.Writer.AppendLine("\tLocal View Angles 2: %v", packet.PacketInfo[len(packet.PacketInfo)-1].LocalViewAngles2)
65 writer.AppendLine("") 65 demo.Writer.AppendLine("")
66} 66}
67 67
68type CmdInfoFlags int 68type CmdInfoFlags int