diff --git a/src/factories/BlobFactory.cpp b/src/factories/BlobFactory.cpp index 43e075c..a483e1f 100644 --- a/src/factories/BlobFactory.cpp +++ b/src/factories/BlobFactory.cpp @@ -3,6 +3,21 @@ #include "utils/Decompressor.h" #include +ExportResult BlobHeaderExporter::Export(std::ostream &write, std::shared_ptr raw, std::string& entryName, YAML::Node &node, std::string* replacement) { + const auto symbol = GetSafeNode(node, "symbol", entryName); + auto vtx = std::static_pointer_cast(raw)->mVtxs; + const auto offset = GetSafeNode(node, "offset"); + + if(Companion::Instance->IsOTRMode()){ + write << "static const ALIGN_ASSET(2) char " << symbol << "[] = \"__OTR__" << (*replacement) << "\";\n\n"; + return std::nullopt; + } + + write << "extern u8 *" << symbol << "[];\n"; + + return std::nullopt; +} + ExportResult BlobCodeExporter::Export(std::ostream &write, std::shared_ptr raw, std::string& entryName, YAML::Node &node, std::string* replacement ) { auto symbol = GetSafeNode(node, "symbol", entryName); auto offset = GetSafeNode(node, "offset"); @@ -46,4 +61,4 @@ std::optional> BlobFactory::parse(std::vector(node, "size"); auto [_, segment] = Decompressor::AutoDecode(node, buffer); return std::make_shared(segment.data, segment.size); -} \ No newline at end of file +}