diff options
Diffstat (limited to 'pkg/packets/packets.go')
| -rw-r--r-- | pkg/packets/packets.go | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/pkg/packets/packets.go b/pkg/packets/packets.go index fd5a14b..3a01370 100644 --- a/pkg/packets/packets.go +++ b/pkg/packets/packets.go | |||
| @@ -7,18 +7,18 @@ import ( | |||
| 7 | ) | 7 | ) |
| 8 | 8 | ||
| 9 | type PacketMessageInfo struct { | 9 | type PacketMessageInfo struct { |
| 10 | PacketType int8 | 10 | PacketType uint8 |
| 11 | TickNumber int32 | 11 | TickNumber int32 |
| 12 | SlotNumber int8 | 12 | SlotNumber uint8 |
| 13 | Data any | 13 | Data any |
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | const MSSC int = 2 | 16 | const MSSC int = 2 |
| 17 | 17 | ||
| 18 | func ParsePackets(reader *bitreader.Reader) PacketMessageInfo { | 18 | func ParsePackets(reader *bitreader.Reader) PacketMessageInfo { |
| 19 | packetType := reader.TryReadBits(8) | 19 | packetType := reader.TryReadUInt8() |
| 20 | tickNumber := reader.TryReadBits(32) | 20 | tickNumber := reader.TryReadSInt32() |
| 21 | slotNumber := reader.TryReadBits(8) | 21 | slotNumber := reader.TryReadUInt8() |
| 22 | var packetData any | 22 | var packetData any |
| 23 | switch packetType { | 23 | switch packetType { |
| 24 | case 1: // SignOn | 24 | case 1: // SignOn |
| @@ -67,14 +67,14 @@ func ParsePackets(reader *bitreader.Reader) PacketMessageInfo { | |||
| 67 | Data: reader.TryReadStringLength(uint64(size)), | 67 | Data: reader.TryReadStringLength(uint64(size)), |
| 68 | } | 68 | } |
| 69 | packetData = consoleCmd | 69 | packetData = consoleCmd |
| 70 | case 5: // UserCmd | 70 | case 5: // UserCmd TODO: usercmdinfo refactor |
| 71 | userCmd := UserCmd{} | 71 | userCmd := UserCmd{} |
| 72 | userCmd.Cmd = int32(reader.TryReadSInt32()) | 72 | userCmd.Cmd = int32(reader.TryReadSInt32()) |
| 73 | userCmd.Size = int32(reader.TryReadSInt32()) | 73 | userCmd.Size = int32(reader.TryReadSInt32()) |
| 74 | data := reader.TryReadBytesToSlice(uint64(userCmd.Size)) | 74 | data := reader.TryReadBytesToSlice(uint64(userCmd.Size)) |
| 75 | userCmd.Data = classes.ParseUserCmdInfo(data) | 75 | userCmd.Data = classes.ParseUserCmdInfo(data) |
| 76 | packetData = userCmd | 76 | packetData = userCmd |
| 77 | case 6: // DataTables | 77 | case 6: // DataTables TODO: prop stuff |
| 78 | dataTables := DataTables{} | 78 | dataTables := DataTables{} |
| 79 | dataTables.Size = int32(reader.TryReadSInt32()) | 79 | dataTables.Size = int32(reader.TryReadSInt32()) |
| 80 | data := reader.TryReadBytesToSlice(uint64(dataTables.Size)) | 80 | data := reader.TryReadBytesToSlice(uint64(dataTables.Size)) |
| @@ -112,7 +112,7 @@ func ParsePackets(reader *bitreader.Reader) PacketMessageInfo { | |||
| 112 | sarReader := bitreader.NewReaderFromBytes(data, true) | 112 | sarReader := bitreader.NewReaderFromBytes(data, true) |
| 113 | sarData.ParseSarData(sarReader) | 113 | sarData.ParseSarData(sarReader) |
| 114 | packetData = sarData | 114 | packetData = sarData |
| 115 | case 9: // StringTables | 115 | case 9: // StringTables TODO: parsing string table data |
| 116 | stringTables := StringTables{ | 116 | stringTables := StringTables{ |
| 117 | Size: int32(reader.TryReadSInt32()), | 117 | Size: int32(reader.TryReadSInt32()), |
| 118 | } | 118 | } |
| @@ -124,9 +124,9 @@ func ParsePackets(reader *bitreader.Reader) PacketMessageInfo { | |||
| 124 | panic("invalid packet type") | 124 | panic("invalid packet type") |
| 125 | } | 125 | } |
| 126 | return PacketMessageInfo{ | 126 | return PacketMessageInfo{ |
| 127 | PacketType: int8(packetType), | 127 | PacketType: packetType, |
| 128 | TickNumber: int32(tickNumber), | 128 | TickNumber: tickNumber, |
| 129 | SlotNumber: int8(slotNumber), | 129 | SlotNumber: slotNumber, |
| 130 | Data: packetData, | 130 | Data: packetData, |
| 131 | } | 131 | } |
| 132 | } | 132 | } |