aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/netSignOnState.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/netSignOnState.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/netSignOnState.go')
-rw-r--r--pkg/messages/types/netSignOnState.go73
1 files changed, 0 insertions, 73 deletions
diff --git a/pkg/messages/types/netSignOnState.go b/pkg/messages/types/netSignOnState.go
deleted file mode 100644
index 65e17a4..0000000
--- a/pkg/messages/types/netSignOnState.go
+++ /dev/null
@@ -1,73 +0,0 @@
1package messages
2
3import (
4 "fmt"
5
6 "github.com/pektezol/bitreader"
7)
8
9type NetSignOnState struct {
10 SignOnState string
11 SpawnCount int32
12 NumServerPlayers uint32
13 IdsLength uint32
14 PlayersNetworksIds []byte
15 MapNameLength uint32
16 MapName string
17}
18
19type SignOnState int
20
21const (
22 ESignOnStateNone SignOnState = iota // no state yet, about to connect
23 ESignOnStateChallenge // client challenging server, all OOB packets
24 ESignOnStateConnected // client is connected to server, netchans ready
25 ESignOnStateNew // just got server info and string tables
26 ESignOnStatePreSpawn // received signon buggers
27 ESignOnStateSpawn // ready to receive entity packets
28 ESignOnStateFull // we are fully connected, first non-delta packet received
29 ESignOnStateChangeLevel // server is changing level, please wait
30)
31
32func (signOnState SignOnState) String() string {
33 switch signOnState {
34 case ESignOnStateNone:
35 return "None"
36 case ESignOnStateChallenge:
37 return "Challenge"
38 case ESignOnStateConnected:
39 return "Connected"
40 case ESignOnStateNew:
41 return "New"
42 case ESignOnStatePreSpawn:
43 return "PreSpawn"
44 case ESignOnStateSpawn:
45 return "Spawn"
46 case ESignOnStateFull:
47 return "Full"
48 case ESignOnStateChangeLevel:
49 return "ChangeLevel"
50 default:
51 return fmt.Sprintf("%d", int(signOnState))
52 }
53}
54
55func ParseNetSignOnState(reader *bitreader.Reader) NetSignOnState {
56 netSignOnState := NetSignOnState{
57 SignOnState: SignOnState(reader.TryReadUInt8()).String(),
58 SpawnCount: reader.TryReadSInt32(),
59 NumServerPlayers: reader.TryReadUInt32(),
60 IdsLength: reader.TryReadUInt32(),
61 }
62
63 if netSignOnState.IdsLength > 0 {
64 netSignOnState.PlayersNetworksIds = reader.TryReadBytesToSlice(uint64(netSignOnState.IdsLength))
65
66 }
67 netSignOnState.MapNameLength = reader.TryReadUInt32()
68 if netSignOnState.MapNameLength > 0 {
69 netSignOnState.MapName = reader.TryReadStringLength(uint64(netSignOnState.MapNameLength))
70
71 }
72 return netSignOnState
73}