diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2024-05-20 10:51:23 -0600 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2024-05-22 20:56:39 -0600 |
| commit | c479f40970dabe02fc42705f7e19864751f66118 (patch) | |
| tree | e2f3a2899ad7e9b022034e0ac66cc13436421b94 | |
| parent | b572c7d1f6236ac84a50b8f7d702780053d1ecec (diff) | |
Update BlobFactory.cpp
| -rw-r--r-- | src/factories/BlobFactory.cpp | 17 |
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 +} |
