aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/svcUserMessage.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-11-06 18:37:11 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-11-06 18:37:11 +0300
commit2f8c92f261586f68a976efce0cfcdd0401f402e0 (patch)
tree33189cc48987789dff4e7fba0a74d2b2326f0a04 /pkg/messages/types/svcUserMessage.go
parentconvert cm ticks correctly (diff)
downloadsdp.go-2f8c92f261586f68a976efce0cfcdd0401f402e0.tar.gz
sdp.go-2f8c92f261586f68a976efce0cfcdd0401f402e0.tar.bz2
sdp.go-2f8c92f261586f68a976efce0cfcdd0401f402e0.zip
dont try to understand it, feel itlp-parser
Diffstat (limited to 'pkg/messages/types/svcUserMessage.go')
-rw-r--r--pkg/messages/types/svcUserMessage.go41
1 files changed, 0 insertions, 41 deletions
diff --git a/pkg/messages/types/svcUserMessage.go b/pkg/messages/types/svcUserMessage.go
deleted file mode 100644
index a39e64b..0000000
--- a/pkg/messages/types/svcUserMessage.go
+++ /dev/null
@@ -1,41 +0,0 @@
1package messages
2
3import (
4 "fmt"
5 "math"
6
7 "github.com/pektezol/bitreader"
8)
9
10type SvcUserMessage struct {
11 Type int8
12 Length int16
13 Data any
14}
15
16func ParseSvcUserMessage(reader *bitreader.Reader) SvcUserMessage {
17 svcUserMessage := SvcUserMessage{
18 Type: int8(reader.TryReadBits(8)),
19 Length: int16(reader.TryReadBits(12)),
20 }
21 svcUserMessage.Data = reader.TryReadBitsToSlice(uint64(svcUserMessage.Length))
22 userMessageReader := bitreader.NewReaderFromBytes(svcUserMessage.Data.([]byte), true)
23 switch svcUserMessage.Type {
24 case 60:
25 svcUserMessage.parseScoreboardTempUpdate(userMessageReader)
26 }
27 return svcUserMessage
28}
29
30func (svcUserMessage *SvcUserMessage) parseScoreboardTempUpdate(reader *bitreader.Reader) {
31 scoreboardTempUpdate := struct {
32 NumPortals int32
33 TimeTaken int32
34 }{
35 NumPortals: reader.TryReadSInt32(),
36 TimeTaken: reader.TryReadSInt32(),
37 }
38 svcUserMessage.Data = scoreboardTempUpdate
39 fmt.Printf("Portal Count: %d\n", scoreboardTempUpdate.NumPortals)
40 fmt.Printf("CM Ticks: %d\n", int(math.Round(float64((float32(scoreboardTempUpdate.TimeTaken)/100.0)/float32(1.0/60.0)))))
41}