summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLywx <kiritodev01@gmail.com>2025-02-02 11:38:21 -0600
committerGitHub <noreply@github.com>2025-02-02 11:38:21 -0600
commitca3598a7dad257d005f52f46fec05095192a61c9 (patch)
tree969cc1354b571f8a5e43af423c01b25f584236a1 /src
parent8ad7a503102d47384eb455f2a7d434203715b515 (diff)
Added full modding support for sequences
Diffstat (limited to 'src')
-rw-r--r--src/factories/naudio/v0/SequenceFactory.cpp4
-rw-r--r--src/factories/naudio/v0/SequenceFactory.h2
-rw-r--r--src/factories/naudio/v1/SequenceFactory.cpp4
-rw-r--r--src/factories/naudio/v1/SequenceFactory.h2
4 files changed, 12 insertions, 0 deletions
diff --git a/src/factories/naudio/v0/SequenceFactory.cpp b/src/factories/naudio/v0/SequenceFactory.cpp
index 78fde37..435baf9 100644
--- a/src/factories/naudio/v0/SequenceFactory.cpp
+++ b/src/factories/naudio/v0/SequenceFactory.cpp
@@ -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);
} \ No newline at end of file
diff --git a/src/factories/naudio/v0/SequenceFactory.h b/src/factories/naudio/v0/SequenceFactory.h
index c373699..b42645a 100644
--- a/src/factories/naudio/v0/SequenceFactory.h
+++ b/src/factories/naudio/v0/SequenceFactory.h
@@ -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)
diff --git a/src/factories/naudio/v1/SequenceFactory.cpp b/src/factories/naudio/v1/SequenceFactory.cpp
index 9e6407b..959423b 100644
--- a/src/factories/naudio/v1/SequenceFactory.cpp
+++ b/src/factories/naudio/v1/SequenceFactory.cpp
@@ -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);
+}
diff --git a/src/factories/naudio/v1/SequenceFactory.h b/src/factories/naudio/v1/SequenceFactory.h
index 2ad6a70..7dcad76 100644
--- a/src/factories/naudio/v1/SequenceFactory.h
+++ b/src/factories/naudio/v1/SequenceFactory.h
@@ -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)