#include "SequenceFactory.h" ExportResult SequenceBinaryExporter::Export(std::ostream &write, std::shared_ptr raw, std::string& entryName, YAML::Node &node, std::string* replacement ) { auto writer = LUS::BinaryWriter(); const auto sequence = std::static_pointer_cast(raw); WriteHeader(writer, LUS::ResourceType::Sequence, 0); writer.Write(sequence->mId); writer.Write(static_cast(sequence->mBanks.size())); for (auto& bank : sequence->mBanks) { writer.Write(bank); } writer.Write( sequence->mSize); writer.Write(reinterpret_cast(sequence->mBuffer.data()), sequence->mSize); writer.Finish(write); return std::nullopt; } std::optional> SequenceFactory::parse(std::vector& buffer, YAML::Node& data) { auto id = data["id"].as(); auto size = data["size"].as(); const auto offset = data["offset"].as(); auto banks = data["banks"].as>(); return std::make_shared(id, size, buffer.data() + offset, banks); }