Added full modding support for sequences

This commit is contained in:
Lywx
2025-02-02 11:38:21 -06:00
committed by GitHub
parent 8ad7a50310
commit ca3598a7da
4 changed files with 12 additions and 0 deletions
@@ -32,4 +32,8 @@ std::optional<std::shared_ptr<IParsedData>> SequenceFactory::parse(std::vector<u
const auto offset = data["offset"].as<size_t>();
auto banks = data["banks"].as<std::vector<std::string>>();
return std::make_shared<SequenceData>(id, size, buffer.data() + offset, banks);
}
std::optional<std::shared_ptr<IParsedData>> SequenceFactory::parse_modding(std::vector<uint8_t>& buffer, YAML::Node& node) {
return std::make_shared<RawBuffer>(buffer);
}
@@ -25,6 +25,8 @@ class SequenceModdingExporter : public BaseExporter {
class SequenceFactory : public BaseFactory {
public:
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data) override;
inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
return {
REGISTER(Modding, SequenceModdingExporter)
@@ -70,3 +70,7 @@ std::optional<std::shared_ptr<IParsedData>> NSequenceFactory::parse(std::vector<
auto [_, segment] = Decompressor::AutoDecode(node, buffer, size);
return std::make_shared<RawBuffer>(segment.data, segment.size);
}
std::optional<std::shared_ptr<IParsedData>> NSequenceFactory::parse_modding(std::vector<uint8_t>& buffer, YAML::Node& node) {
return std::make_shared<RawBuffer>(buffer);
}
@@ -22,6 +22,8 @@ class NSequenceModdingExporter : public BaseExporter {
class NSequenceFactory : public BaseFactory {
public:
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data) override;
inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
return {
REGISTER(Modding, NSequenceModdingExporter)