diff options
| author | Lywx <kiritodev01@gmail.com> | 2025-02-02 11:26:56 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-02 11:26:56 -0600 |
| commit | 9e39842688b4e0ea0f1cd1628f121bd0108f933c (patch) | |
| tree | ace48a218e2f5c6a7b99e1bb44f6f7016a34f7b5 /src | |
| parent | b1088371d377ad0c0c1c1258ed0271aa8107230c (diff) | |
Added m64 export on audio v0 drivers
Diffstat (limited to 'src')
| -rw-r--r-- | src/factories/naudio/v0/SequenceFactory.cpp | 10 | ||||
| -rw-r--r-- | src/factories/naudio/v0/SequenceFactory.h | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/factories/naudio/v0/SequenceFactory.cpp b/src/factories/naudio/v0/SequenceFactory.cpp index 1090bac..78fde37 100644 --- a/src/factories/naudio/v0/SequenceFactory.cpp +++ b/src/factories/naudio/v0/SequenceFactory.cpp @@ -16,6 +16,16 @@ ExportResult SequenceBinaryExporter::Export(std::ostream &write, std::shared_ptr return std::nullopt; } +ExportResult SequenceModdingExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) { + auto writer = LUS::BinaryWriter(); + const auto sequence = std::static_pointer_cast<SequenceData>(raw); + *replacement += ".m64"; + + writer.Write(reinterpret_cast<char*>(sequence->mBuffer.data()), sequence->mSize); + writer.Finish(write); + return std::nullopt; +} + std::optional<std::shared_ptr<IParsedData>> SequenceFactory::parse(std::vector<uint8_t>& buffer, YAML::Node& data) { auto id = data["id"].as<uint32_t>(); auto size = data["size"].as<size_t>(); diff --git a/src/factories/naudio/v0/SequenceFactory.h b/src/factories/naudio/v0/SequenceFactory.h index b26242c..c373699 100644 --- a/src/factories/naudio/v0/SequenceFactory.h +++ b/src/factories/naudio/v0/SequenceFactory.h @@ -18,12 +18,19 @@ class SequenceBinaryExporter : public BaseExporter { ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override; }; +class SequenceModdingExporter : public BaseExporter { + ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override; +}; + class SequenceFactory : public BaseFactory { public: std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override; inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override { return { + REGISTER(Modding, SequenceModdingExporter) REGISTER(Binary, SequenceBinaryExporter) }; } + + bool SupportModdedAssets() override { return true; } };
\ No newline at end of file |
