summaryrefslogtreecommitdiff
path: root/src/factories/SequenceFactory.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-17 23:55:59 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-17 23:55:59 -0600
commit396f732bc58080430562ea60fd345bf2e51cfc0b (patch)
tree69a90e2d4e255074bc5c476c991deb7b30f847e3 /src/factories/SequenceFactory.cpp
parent87ba0d258759a03b2397d63ba5d203cf5fe26c0f (diff)
Refactored to use a better file format
Diffstat (limited to 'src/factories/SequenceFactory.cpp')
-rw-r--r--src/factories/SequenceFactory.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/factories/SequenceFactory.cpp b/src/factories/SequenceFactory.cpp
new file mode 100644
index 0000000..5e3151b
--- /dev/null
+++ b/src/factories/SequenceFactory.cpp
@@ -0,0 +1,21 @@
+#include "SequenceFactory.h"
+
+#include "audio/AudioManager.h"
+#include <vector>
+
+bool SequenceFactory::process(LUS::BinaryWriter* writer, YAML::Node& data, std::vector<uint8_t>& buffer) {
+ WRITE_HEADER(LUS::ResourceType::Sequence, 0);
+
+ auto size = data["size"].as<size_t>();
+ auto offset = data["offset"].as<size_t>();
+
+ auto bank = data["banks"].as<std::vector<uint8_t>>();
+
+ WRITE_U32(bank.size());
+ WRITE_ARRAY(bank.data(), bank.size());
+
+ WRITE_U32(size);
+ WRITE_ARRAY(buffer.data() + offset, size);
+
+ return true;
+} \ No newline at end of file