Added modding exporter

This commit is contained in:
KiritoDv
2025-02-02 10:11:23 -06:00
parent 28dcd128b0
commit c3feca1170
2 changed files with 16 additions and 0 deletions
@@ -44,6 +44,15 @@ ExportResult NSequenceCodeExporter::Export(std::ostream &write, std::shared_ptr<
return offset + data.size();
}
ExportResult NSequenceModdingExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
auto writer = LUS::BinaryWriter();
auto data = std::static_pointer_cast<RawBuffer>(raw)->mBuffer;
*replacement += ".m64";
writer.Write((char*) data.data(), data.size());
writer.Finish(write);
return std::nullopt;
}
ExportResult NSequenceBinaryExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
auto writer = LUS::BinaryWriter();
auto data = std::static_pointer_cast<RawBuffer>(raw)->mBuffer;
@@ -15,14 +15,21 @@ class NSequenceCodeExporter : public BaseExporter {
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
};
class NSequenceModdingExporter : public BaseExporter {
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
};
class NSequenceFactory : 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, NSequenceModdingExporter)
REGISTER(Header, NSequenceHeaderExporter)
REGISTER(Binary, NSequenceBinaryExporter)
REGISTER(Code, NSequenceCodeExporter)
};
}
bool SupportModdedAssets() override { return true; }
};