diff options
| author | raven <citrons@mondecitronne.com> | 2026-03-21 20:17:53 -0500 |
|---|---|---|
| committer | raven <citrons@mondecitronne.com> | 2026-03-21 20:21:41 -0500 |
| commit | bb868d2d0d4d5a16d798d01d4a2ca8573ddc8a60 (patch) | |
| tree | f75915236301829ae875965d1e025dd4d79aef5a /classic/packets.go | |
| parent | 64902c31382443086010f8d65d4b18df91d7e9a7 (diff) | |
support CPE
Diffstat (limited to 'classic/packets.go')
| -rw-r--r-- | classic/packets.go | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/classic/packets.go b/classic/packets.go index c1f650e..48ea80d 100644 --- a/classic/packets.go +++ b/classic/packets.go @@ -21,6 +21,10 @@ const ( NonOpUser = 0x00 OpUser = 0x64 ) +const ( + NoCpe = 0x00 + UseCpe = 0x42 +) type PlayerId struct { Version byte @@ -161,7 +165,7 @@ func (p *UpdateUserType) PacketId() byte { return 0x0f } -func createPacketType(packetId byte, client bool) Packet { +func createPacketType(packetId byte, client bool, ext map[string]bool) Packet { switch packetId { case 0x00: if client { @@ -188,7 +192,8 @@ func createPacketType(packetId byte, client bool) Packet { } } -func readPacket(rd io.Reader, client bool) (Packet, error) { +func readPacket( + rd io.Reader, client bool, ext map[string]bool) (Packet, error) { var b [1]byte _, err := io.ReadFull(rd, b[:]) if err != nil { @@ -196,7 +201,7 @@ func readPacket(rd io.Reader, client bool) (Packet, error) { } packetId := b[0] - packet := createPacketType(packetId, client) + packet := createPacketType(packetId, client, ext) if packet == nil { return nil, fmt.Errorf("Unknown packet type: 0x%02x", packetId) } @@ -207,12 +212,12 @@ func readPacket(rd io.Reader, client bool) (Packet, error) { return packet, nil } -func SReadPacket(rd io.Reader) (Packet, error) { - return readPacket(rd, false) +func SReadPacket(rd io.Reader, ext map[string]bool) (Packet, error) { + return readPacket(rd, false, ext) } -func CReadPacket(rd io.Reader) (Packet, error) { - return readPacket(rd, true) +func CReadPacket(rd io.Reader, ext map[string]bool) (Packet, error) { + return readPacket(rd, true, ext) } func WritePacket(wr io.Writer, packet Packet) error { |
