// Copyright 2023 xensik. All rights reserved. // // Use of this source code is governed by a GNU GPLv3 license // that can be found in the LICENSE file. #pragma once namespace xsk::gsc { struct asset { using ptr = std::unique_ptr<asset>; std::string name; u32 compressedLen; u32 len; u32 bytecodeLen; std::vector<u8> buffer; std::vector<u8> bytecode; auto serialize() -> std::vector<u8>; auto deserialize(std::vector<u8> const& data) -> void; }; } // namespace xsk::gsc