From ae44478b30d890fe0fb04022f44d474dcdcc3f9d Mon Sep 17 00:00:00 2001 From: Lassi Pulkkinen Date: Thu, 31 Oct 2024 03:11:21 +0200 Subject: Initial commit (import old repo) --- mcproto/packet.ha | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 mcproto/packet.ha (limited to 'mcproto/packet.ha') diff --git a/mcproto/packet.ha b/mcproto/packet.ha new file mode 100644 index 0000000..669df56 --- /dev/null +++ b/mcproto/packet.ha @@ -0,0 +1,13 @@ +use math; +use trace; + +export fn encode_packet(out: *[]u8, packet_id: i32, in: []u8) void = { + let id_size = math::bit_size_u32(packet_id: u32); + if (id_size == 0) id_size = 1; + const id_size = id_size / 7 + id_size % 7; + assert(len(in) + id_size <= 0x1fffff, + "TODO: sent packet too long. this should be handled better."); + + encode_varint(out, packet_id); + append(out, in...); +}; -- cgit v1.2.3