aboutsummaryrefslogtreecommitdiff
path: root/packets/message.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2022-11-08 22:48:20 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-16 21:39:39 +0300
commit833a46544df2ed2a7afdba08ebfe02ed7741d86a (patch)
tree2432f14b449761086d773fb8cd072797d23006f1 /packets/message.go
parentput class type into individual files (diff)
downloadsdp.go-833a46544df2ed2a7afdba08ebfe02ed7741d86a.tar.gz
sdp.go-833a46544df2ed2a7afdba08ebfe02ed7741d86a.tar.bz2
sdp.go-833a46544df2ed2a7afdba08ebfe02ed7741d86a.zip
net/svc messages
Diffstat (limited to 'packets/message.go')
-rw-r--r--packets/message.go83
1 files changed, 0 insertions, 83 deletions
diff --git a/packets/message.go b/packets/message.go
deleted file mode 100644
index 922f918..0000000
--- a/packets/message.go
+++ /dev/null
@@ -1,83 +0,0 @@
1package packets
2
3import (
4 "fmt"
5
6 "github.com/pektezol/bitreader"
7 "github.com/pektezol/demoparser/packets/classes"
8)
9
10const MSSC = 2
11
12func ParseMessage(reader *bitreader.ReaderType) (status int) {
13 messageType := reader.TryReadInt8()
14 messageTick := reader.TryReadInt32()
15 messageSlot := reader.TryReadInt8()
16 switch messageType {
17 case 0x01: // TODO: SignOn - Data
18 signOn := SignOn{
19 PacketInfo: classes.ParseCmdInfo(reader, MSSC),
20 InSequence: int32(reader.TryReadInt32()),
21 OutSequence: int32(reader.TryReadInt32()),
22 Size: int32(reader.TryReadInt32()),
23 }
24 reader.SkipBytes(int(signOn.Size))
25 fmt.Printf("[%d] (%d) {%d} SignOn: %v\n", messageTick, messageType, messageSlot, signOn)
26 return 1
27 case 0x02: // TODO: Packet - Data
28 packet := Packet{
29 PacketInfo: classes.ParseCmdInfo(reader, MSSC),
30 InSequence: int32(reader.TryReadInt32()),
31 OutSequence: int32(reader.TryReadInt32()),
32 Size: int32(reader.TryReadInt32()),
33 }
34 reader.SkipBytes(int(packet.Size))
35 //fmt.Printf("[%d] (%d) Packet: %v\n", messageTick, messageType, packet)
36 return 2
37 case 0x03:
38 syncTick := SyncTick{}
39 fmt.Printf("[%d] (%d) SyncTick: %v\n", messageTick, messageType, syncTick)
40 return 3
41 case 0x04:
42 consoleCmd := ConsoleCmd{
43 Size: int32(reader.TryReadInt32()),
44 }
45 consoleCmd.Data = reader.TryReadStringLen(int(consoleCmd.Size))
46 //fmt.Printf("[%d] (%d) ConsoleCmd: %s\n", messageTick, messageType, consoleCmd.Data)
47 return 4
48 case 0x05: // TODO: UserCmd - Buttons
49 userCmd := UserCmd{
50 Cmd: int32(reader.TryReadInt32()),
51 Size: int32(reader.TryReadInt32()),
52 }
53 userCmd.Data = classes.ParseUserCmdInfo(reader.TryReadBytesToSlice(int(userCmd.Size)))
54 // fmt.Printf("[%d] (%d) UserCmd: %v\n", messageTick, messageType, userCmd)
55 return 5
56 case 0x06: // TODO: DataTables
57 val := reader.TryReadInt32()
58 reader.SkipBytes(int(val))
59 // fmt.Printf("[%d] (%d) DataTables: \n", messageTick, messageType)
60 return 6
61 case 0x07:
62 stop := Stop{
63 RemainingData: nil,
64 }
65 fmt.Printf("[%d] (%d) Stop: %v\n", messageTick, messageType, stop)
66 return 7
67 case 0x08: // TODO: CustomData
68 reader.SkipBytes(4)
69 val := reader.TryReadInt32()
70 reader.SkipBytes(int(val))
71 // fmt.Printf("[%d] (%d) CustomData: \n", messageTick, messageType)
72 return 8
73 case 0x09: // TODO: StringTables - Data
74 stringTables := StringTables{
75 Size: int32(reader.TryReadInt32()),
76 }
77 stringTables.Data = classes.ParseStringTable(reader.TryReadBytesToSlice(int(stringTables.Size)))
78 // fmt.Printf("[%d] (%d) StringTables: %v\n", messageTick, messageType, stringTables)
79 return 9
80 default:
81 return 0
82 }
83}