mirror of
https://github.com/izzy2lost/Torch.git
synced 2026-03-26 17:00:59 -07:00
42 lines
1.5 KiB
C++
42 lines
1.5 KiB
C++
#include "TemplateFactory.h"
|
|
#include "spdlog/spdlog.h"
|
|
|
|
#include "Companion.h"
|
|
#include "utils/Decompressor.h"
|
|
#include "utils/TorchUtils.h"
|
|
|
|
TypeData::TypeData(uint32_t data): mData(data) {
|
|
|
|
}
|
|
|
|
ExportResult TypeHeaderExporter::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);
|
|
|
|
if(Companion::Instance->IsOTRMode()){
|
|
write << "static const char " << symbol << "[] = \"__OTR__" << (*replacement) << "\";\n\n";
|
|
return std::nullopt;
|
|
}
|
|
|
|
write << "extern Type " << symbol << ";\n";
|
|
// write << "extern Type " << symbol << "[];\n";
|
|
}
|
|
|
|
ExportResult TypeCodeExporter::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);
|
|
const auto offset = GetSafeNode<uint32_t>(node, "offset");
|
|
auto data = std::static_pointer_cast<TypeData>(raw);
|
|
|
|
}
|
|
|
|
ExportResult TypeBinaryExporter::Export(std::ostream &write, std::shared_ptr<IParsedData> raw, std::string& entryName, YAML::Node &node, std::string* replacement ) {
|
|
|
|
}
|
|
|
|
std::optional<std::shared_ptr<IParsedData>> TypeFactory::parse(std::vector<uint8_t>& buffer, YAML::Node& node) {
|
|
auto [root, segment] = Decompressor::AutoDecode(node, buffer, 0x1000);
|
|
LUS::BinaryReader reader(segment.data, segment.size);
|
|
reader.SetEndianness(Torch::Endianness::Big);
|
|
|
|
return std::make_shared<TypeData>();
|
|
}
|