summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2024-05-20 10:51:23 -0600
committerLywx <kiritodev01@gmail.com>2024-05-22 20:56:39 -0600
commitc479f40970dabe02fc42705f7e19864751f66118 (patch)
treee2f3a2899ad7e9b022034e0ac66cc13436421b94
parentb572c7d1f6236ac84a50b8f7d702780053d1ecec (diff)
Update BlobFactory.cpp
-rw-r--r--src/factories/BlobFactory.cpp17
1 files changed, 16 insertions, 1 deletions
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 <iomanip>
+ExportResult BlobHeaderExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement) {
+ const auto symbol = GetSafeNode(node, "symbol", entryName);
+ auto vtx = std::static_pointer_cast<VtxData>(raw)->mVtxs;
+ const auto offset = GetSafeNode<uint32_t>(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<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
auto symbol = GetSafeNode(node, "symbol", entryName);
auto offset = GetSafeNode<uint32_t>(node, "offset");
@@ -46,4 +61,4 @@ std::optional<std::shared_ptr<IParsedData>> BlobFactory::parse(std::vector<uint8
auto size = GetSafeNode<size_t>(node, "size");
auto [_, segment] = Decompressor::AutoDecode(node, buffer);
return std::make_shared<RawBuffer>(segment.data, segment.size);
-} \ No newline at end of file
+}