13 BufferStreamReadOnly stream{shtData};
17 this->
sequences.resize(stream.read<uint32_t>());
19 stream >> sequence.id;
20 sequence.loop = stream.read<uint32_t>();
21 sequence.frames.resize(stream.read<uint32_t>());
22 stream >> sequence.durationTotal;
24 for (
auto& frame : sequence.frames) {
25 frame.duration = stream.read<
float>();
27 auto& bounds = frame.bounds[i];
28 stream >> bounds.x1 >> bounds.y1 >> bounds.x2 >> bounds.y2;
89 std::vector<std::byte> sheetData;
90 BufferStream stream{sheetData};
96 for (
const auto& sequence : this->
sequences) {
98 .write<uint32_t>(sequence.id)
99 .write<uint32_t>(sequence.loop)
100 .write<uint32_t>(sequence.frames.size())
101 .write<
float>(sequence.durationTotal);
103 for (
const auto& frame : sequence.frames) {
104 stream.write<
float>(frame.duration);
107 auto& bounds = frame.bounds[i];
108 stream << bounds.x1 << bounds.y1 << bounds.x2 << bounds.y2;
113 sheetData.resize(stream.tell());