/rawpacker

A RawArray packer/unpacker for Godot.

Primary LanguageC++MIT LicenseMIT

RawPacker

Simple binary packing/unpacking for RawArray in Godot.

About

RawPacker allows Variant arrays to be packed into and unpacked from a RawArray using a format string. The approach was inspired by Python's struct.pack and struct.unpack functions. Packing/unpacking RawArray is useful for sending and storing data in a compact form.

Installation

Simply drop the rawpacker directory in your godot/modules directory and build for the platfom of your choice.

Example

var raw_packer = RawPacker.new()
var raw_array = raw_packer.pack("?iis16fhv", [false,1,2,"fixed string",3.14,-42,"variable string"])
var array = raw_packer.unpack("?iis16fhv", raw_array)
print(array)

Output:

False, 1, 2, fixed string, 3.14, -42, variable string

Format Strings

Format Serialized Type Godot Type Size (bytes)
c char integer 1
b unsigned char integer 1
? unsigned char boolean 1
h short integer 2
H unsigned short integer 2
i int integer 4
I unsigned int integer 4
q long long integer 8
Q unsigned long long integer 8
f float real 4
d double real 8
s# char[] string #
v char[] string variable

License

Copyright (c) 2015 James McLean
Licensed under the MIT license.