From 664632d1113b2744786f276fe01ce2eef78c114a Mon Sep 17 00:00:00 2001 From: BodgeMaster <> Date: Sat, 2 Jul 2022 02:08:32 +0200 Subject: [PATCH] NBT: add stub write helper functions --- src/lib/nbt.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ src/lib/nbt.h++ | 18 ++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/lib/nbt.cpp b/src/lib/nbt.cpp index f6f052e..5ede937 100644 --- a/src/lib/nbt.cpp +++ b/src/lib/nbt.cpp @@ -180,6 +180,49 @@ namespace NBT { } return ErrorOr>(result); } + + void writeInt8(std::vector* destination, int8_t data) { + } + + void writeInt16(std::vector* destination, int16_t data) { + } + + void writeInt32(std::vector* destination, int32_t data) { + } + + void writeInt64(std::vector* destination, int64_t data) { + } + + //FIXME: we just assume that float is a single-precision IEEE754 + // floating point number + void writeFloat32(std::vector* destination, float data) { + } + + //FIXME: we just assume that double is a single-precision IEEE754 + // floating point number + void writeFloat64(std::vector* destination, double data) { + } + + void writeInt8Array(std::vector* destination, std::vector data) { + } + + void writeInt8Array(std::vector* destination, int8_t data[], uint64_t dataSize) { + } + + //void writeString(std::vector* destination, data) { + //} + + void writeInt32Array(std::vector* destination, std::vector data) { + } + + void writeInt32Array(std::vector* destination, int32_t data[], uint64_t dataSize) { + } + + void writeInt64Array(std::vector* destination, std::vector data) { + } + + void writeInt64Array(std::vector* destination, int64_t data[], uint64_t dataSize) { + } } bool validateRawNBTData(uint8_t data[], uint64_t dataSize){ diff --git a/src/lib/nbt.h++ b/src/lib/nbt.h++ index cb600fc..b2bbfa7 100644 --- a/src/lib/nbt.h++ +++ b/src/lib/nbt.h++ @@ -55,6 +55,24 @@ namespace NBT { //ErrorOr<> readString(uint8_t data[], uint64_t dataSize, uint64_t currentPosition); ErrorOr> readInt32Array(uint8_t data[], uint64_t dataSize, uint64_t currentPosition); ErrorOr> readInt64Array(uint8_t data[], uint64_t dataSize, uint64_t currentPosition); + + void writeInt8(std::vector* destination, int8_t data); + void writeInt16(std::vector* destination, int16_t data); + void writeInt32(std::vector* destination, int32_t data); + void writeInt64(std::vector* destination, int64_t data); + //FIXME: we just assume that float is a single-precision IEEE754 + // floating point number + void writeFloat32(std::vector* destination, float data); + //FIXME: we just assume that double is a single-precision IEEE754 + // floating point number + void writeFloat64(std::vector* destination, double data); + void writeInt8Array(std::vector* destination, std::vector data); + void writeInt8Array(std::vector* destination, int8_t data[], uint64_t dataSize); + //void writeString(std::vector* destination, data); + void writeInt32Array(std::vector* destination, std::vector data); + void writeInt32Array(std::vector* destination, int32_t data[], uint64_t dataSize); + void writeInt64Array(std::vector* destination, std::vector data); + void writeInt64Array(std::vector* destination, int64_t data[], uint64_t dataSize); } bool validateRawNBTData(uint8_t data[], int length);