diff options
Diffstat (limited to 'packets/messages')
| -rw-r--r-- | packets/messages/types/NetSetConVar.go | 18 | ||||
| -rw-r--r-- | packets/messages/types/NetSignOnState.go | 8 | ||||
| -rw-r--r-- | packets/messages/types/NetSplitScreenUser.go | 4 | ||||
| -rw-r--r-- | packets/messages/types/SvcClassInfo.go | 24 |
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 | |||
| 3 | import "github.com/pektezol/bitreader" | 3 | import "github.com/pektezol/bitreader" |
| 4 | 4 | ||
| 5 | type NetSetConVar struct { | 5 | type 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 | ||
| 15 | func ParseNetSetConVar(reader *bitreader.ReaderType) NetSetConVar { | 14 | func 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 @@ | |||
| 1 | package types | 1 | package types |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 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 | |||
| 3 | import "github.com/pektezol/bitreader" | 3 | import "github.com/pektezol/bitreader" |
| 4 | 4 | ||
| 5 | type NetSplitScreenUser struct { | 5 | type NetSplitScreenUser struct { |
| 6 | Unknown bool | 6 | PlayerSlot bool |
| 7 | } | 7 | } |
| 8 | 8 | ||
| 9 | func ParseNetSplitScreenUser(reader *bitreader.ReaderType) NetSplitScreenUser { | 9 | func 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 | ||
| 9 | type SvcClassInfo struct { | 9 | type 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 | ||
| 21 | func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo { | 20 | func 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 | } |