aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/netSignOnState.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/messages/types/netSignOnState.go')
-rw-r--r--pkg/messages/types/netSignOnState.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/pkg/messages/types/netSignOnState.go b/pkg/messages/types/netSignOnState.go
new file mode 100644
index 0000000..4609ff2
--- /dev/null
+++ b/pkg/messages/types/netSignOnState.go
@@ -0,0 +1,26 @@
1package messages
2
3import "github.com/pektezol/bitreader"
4
5type NetSignOnState struct {
6 SignOnState int8
7 SpawnCount int32
8 NumServerPlayers int32
9 IdsLength int32
10 PlayersNetworksIds []byte
11 MapNameLength int32
12 MapName string
13}
14
15func ParseNetSignOnState(reader *bitreader.ReaderType) NetSignOnState {
16 netSignOnState := NetSignOnState{
17 SignOnState: int8(reader.TryReadBits(8)),
18 SpawnCount: int32(reader.TryReadBits(32)),
19 NumServerPlayers: int32(reader.TryReadBits(32)),
20 IdsLength: int32(reader.TryReadBits(32)),
21 }
22 netSignOnState.PlayersNetworksIds = reader.TryReadBytesToSlice(int(netSignOnState.IdsLength))
23 netSignOnState.MapNameLength = int32(reader.TryReadBits(32))
24 netSignOnState.MapName = reader.TryReadStringLen(int(netSignOnState.MapNameLength))
25 return netSignOnState
26}