From 35f91c17a15aebbc22af9e44f573e1406cf84a4b Mon Sep 17 00:00:00 2001 From: DankParrot Date: Wed, 12 Aug 2020 19:36:40 -0700 Subject: [PATCH] NBT: Allow parsing from compressed data --- src/nbt/NBT.cpp | 5 +++++ src/nbt/NBT.h | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/nbt/NBT.cpp b/src/nbt/NBT.cpp index 8aa86a4..3ab830d 100644 --- a/src/nbt/NBT.cpp +++ b/src/nbt/NBT.cpp @@ -164,6 +164,11 @@ namespace NBT { } + CompoundTag::CompoundTag(const void* data, size_t length) + : CompoundTag(nbt_parse_compressed(data, length)) + { + } + CompoundTag::~CompoundTag() { nbt_free(m_node); diff --git a/src/nbt/NBT.h b/src/nbt/NBT.h index f937407..181a063 100644 --- a/src/nbt/NBT.h +++ b/src/nbt/NBT.h @@ -136,7 +136,11 @@ namespace NBT public: CompoundTag(nbt_node* node) : Tag(node) {} - CompoundTag(const char *filename); + CompoundTag(const char* filename); + + // Read a compound tag from compressed data + CompoundTag(const void* data, size_t length); + ~CompoundTag(); template