aboutsummaryrefslogtreecommitdiff
path: root/packets/messages/types
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2022-11-10 20:16:14 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-16 21:39:39 +0300
commitfa3ba150b17d0e013b080cc29c92bfb68bf6264c (patch)
treecb75241725cd342b16c48f35ad91e1adae882348 /packets/messages/types
parentnet/svc messages (diff)
downloadsdp.go-fa3ba150b17d0e013b080cc29c92bfb68bf6264c.tar.gz
sdp.go-fa3ba150b17d0e013b080cc29c92bfb68bf6264c.tar.bz2
sdp.go-fa3ba150b17d0e013b080cc29c92bfb68bf6264c.zip
deleted reduntant length fields - improved struct append
Diffstat (limited to 'packets/messages/types')
-rw-r--r--packets/messages/types/NetSetConVar.go18
-rw-r--r--packets/messages/types/NetSignOnState.go8
-rw-r--r--packets/messages/types/NetSplitScreenUser.go4
-rw-r--r--packets/messages/types/SvcClassInfo.go24
4 files changed, 24 insertions, 30 deletions
diff --git a/packets/messages/types/NetSetConVar.go b/packets/messages/types/NetSetConVar.go
index b502953..eca05e0 100644
--- a/packets/messages/types/NetSetConVar.go
+++ b/packets/messages/types/NetSetConVar.go
@@ -3,7 +3,6 @@ package types
3import "github.com/pektezol/bitreader" 3import "github.com/pektezol/bitreader"
4 4
5type NetSetConVar struct { 5type NetSetConVar struct {
6 Length uint8
7 ConVars []ConVar 6 ConVars []ConVar
8} 7}
9 8
@@ -13,16 +12,15 @@ type ConVar struct {
13} 12}
14 13
15func ParseNetSetConVar(reader *bitreader.ReaderType) NetSetConVar { 14func ParseNetSetConVar(reader *bitreader.ReaderType) NetSetConVar {
16 var convars []ConVar 15 length := reader.TryReadInt8()
17 netsetconvar := NetSetConVar{ 16 convars := make([]ConVar, length)
18 Length: reader.TryReadInt8(), 17 for i := 0; i < int(length); i++ {
19 } 18 convars[i] = ConVar{
20 for i := 0; i < int(netsetconvar.Length); i++ {
21 convars = append(convars, ConVar{
22 Name: reader.TryReadString(), 19 Name: reader.TryReadString(),
23 Value: reader.TryReadString(), 20 Value: reader.TryReadString(),
24 }) 21 }
22 }
23 return NetSetConVar{
24 ConVars: convars,
25 } 25 }
26 netsetconvar.ConVars = convars
27 return netsetconvar
28} 26}
diff --git a/packets/messages/types/NetSignOnState.go b/packets/messages/types/NetSignOnState.go
index 3d02e91..a8f3add 100644
--- a/packets/messages/types/NetSignOnState.go
+++ b/packets/messages/types/NetSignOnState.go
@@ -1,8 +1,6 @@
1package types 1package types
2 2
3import ( 3import (
4 "fmt"
5
6 "github.com/pektezol/bitreader" 4 "github.com/pektezol/bitreader"
7) 5)
8 6
@@ -10,7 +8,6 @@ type NetSignOnState struct {
10 SignonState int8 8 SignonState int8
11 SpawnCount uint32 9 SpawnCount uint32
12 NumServerPlayers uint32 10 NumServerPlayers uint32
13 IdsLength uint32
14 PlayersNetworkIds []byte 11 PlayersNetworkIds []byte
15 MapNameLength uint32 12 MapNameLength uint32
16 MapName string 13 MapName string
@@ -21,10 +18,9 @@ func ParseNetSignOnState(reader *bitreader.ReaderType) NetSignOnState {
21 SignonState: int8(reader.TryReadInt8()), 18 SignonState: int8(reader.TryReadInt8()),
22 SpawnCount: reader.TryReadInt32(), 19 SpawnCount: reader.TryReadInt32(),
23 NumServerPlayers: reader.TryReadInt32(), 20 NumServerPlayers: reader.TryReadInt32(),
24 IdsLength: reader.TryReadInt32(),
25 } 21 }
26 fmt.Println(netsignonstate.IdsLength) 22 length := reader.TryReadInt32()
27 netsignonstate.PlayersNetworkIds = reader.TryReadBytesToSlice(int(netsignonstate.IdsLength)) 23 netsignonstate.PlayersNetworkIds = reader.TryReadBytesToSlice(int(length))
28 netsignonstate.MapNameLength = reader.TryReadInt32() 24 netsignonstate.MapNameLength = reader.TryReadInt32()
29 netsignonstate.MapName = reader.TryReadStringLen(int(netsignonstate.MapNameLength)) 25 netsignonstate.MapName = reader.TryReadStringLen(int(netsignonstate.MapNameLength))
30 return netsignonstate 26 return netsignonstate
diff --git a/packets/messages/types/NetSplitScreenUser.go b/packets/messages/types/NetSplitScreenUser.go
index 66a7c85..d4d04b5 100644
--- a/packets/messages/types/NetSplitScreenUser.go
+++ b/packets/messages/types/NetSplitScreenUser.go
@@ -3,11 +3,11 @@ package types
3import "github.com/pektezol/bitreader" 3import "github.com/pektezol/bitreader"
4 4
5type NetSplitScreenUser struct { 5type NetSplitScreenUser struct {
6 Unknown bool 6 PlayerSlot bool
7} 7}
8 8
9func ParseNetSplitScreenUser(reader *bitreader.ReaderType) NetSplitScreenUser { 9func ParseNetSplitScreenUser(reader *bitreader.ReaderType) NetSplitScreenUser {
10 return NetSplitScreenUser{ 10 return NetSplitScreenUser{
11 Unknown: reader.TryReadBool(), 11 PlayerSlot: reader.TryReadBool(),
12 } 12 }
13} 13}
diff --git a/packets/messages/types/SvcClassInfo.go b/packets/messages/types/SvcClassInfo.go
index 58e43b7..fb9dbd8 100644
--- a/packets/messages/types/SvcClassInfo.go
+++ b/packets/messages/types/SvcClassInfo.go
@@ -7,7 +7,6 @@ import (
7) 7)
8 8
9type SvcClassInfo struct { 9type SvcClassInfo struct {
10 Length uint16
11 CreateOnClient bool 10 CreateOnClient bool
12 ServerClasses []ServerClass 11 ServerClasses []ServerClass
13} 12}
@@ -19,24 +18,25 @@ type ServerClass struct {
19} 18}
20 19
21func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo { 20func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo {
21 length := reader.TryReadInt16()
22 createonclient := reader.TryReadBool()
22 var serverclasses []ServerClass 23 var serverclasses []ServerClass
23 svcclassinfo := SvcClassInfo{ 24 if createonclient {
24 Length: reader.TryReadInt16(), 25 serverclasses := make([]ServerClass, length)
25 CreateOnClient: reader.TryReadBool(), 26 for i := 0; i < int(length); i++ {
26 } 27 id, err := reader.ReadBits(int(math.Log2(float64(length))) + 1)
27 if svcclassinfo.CreateOnClient {
28 for i := 0; i < int(svcclassinfo.Length); i++ {
29 id, err := reader.ReadBits(int(math.Log2(float64(svcclassinfo.Length))) + 1)
30 if err != nil { 28 if err != nil {
31 panic(err) 29 panic(err)
32 } 30 }
33 serverclasses = append(serverclasses, ServerClass{ 31 serverclasses[i] = ServerClass{
34 ClassId: int32(id), 32 ClassId: int32(id),
35 ClassName: reader.TryReadString(), 33 ClassName: reader.TryReadString(),
36 DataTableName: reader.TryReadString(), 34 DataTableName: reader.TryReadString(),
37 }) 35 }
38 } 36 }
39 } 37 }
40 svcclassinfo.ServerClasses = serverclasses 38 return SvcClassInfo{
41 return svcclassinfo 39 CreateOnClient: createonclient,
40 ServerClasses: serverclasses,
41 }
42} 42}