From 4c961039cd95fbd46a74d35373cea25f5296050f Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Fri, 22 Mar 2024 11:30:11 -0600 Subject: Fixed assets that doesnt have offset --- src/Companion.cpp | 4 ++-- src/factories/sm64/DictionaryFactory.cpp | 4 ++++ src/factories/sm64/DictionaryFactory.h | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Companion.cpp b/src/Companion.cpp index af4d778..fcf5668 100644 --- a/src/Companion.cpp +++ b/src/Companion.cpp @@ -681,8 +681,8 @@ void Companion::Process() { this->ExtractNode(node, output, wrapper); } } else { - const auto offset = assetNode["offset"].as(); - if(gCurrentFileOffset) { + if(gCurrentFileOffset && assetNode["offsets"]) { + const auto offset = assetNode["offset"].as(); if (!IS_SEGMENTED(offset)) { assetNode["offset"] = (gCurrentSegmentNumber << 24) | offset; } diff --git a/src/factories/sm64/DictionaryFactory.cpp b/src/factories/sm64/DictionaryFactory.cpp index 63d9f3d..7712c8b 100644 --- a/src/factories/sm64/DictionaryFactory.cpp +++ b/src/factories/sm64/DictionaryFactory.cpp @@ -1,5 +1,7 @@ #include "DictionaryFactory.h" +#include "spdlog/spdlog.h" + ExportResult SM64::DictionaryBinaryExporter::Export(std::ostream &write, std::shared_ptr raw, std::string& entryName, YAML::Node &node, std::string* replacement ) { auto writer = LUS::BinaryWriter(); const auto data = std::static_pointer_cast(raw); @@ -33,6 +35,8 @@ std::optional> SM64::DictionaryFactory::parse(std:: text.push_back(0xFF); dictionary[key] = text; + + SPDLOG_INFO("Found key: {} at offset {}", key, offset); } return std::make_shared(dictionary); diff --git a/src/factories/sm64/DictionaryFactory.h b/src/factories/sm64/DictionaryFactory.h index 0a817d9..a3cd8d2 100644 --- a/src/factories/sm64/DictionaryFactory.h +++ b/src/factories/sm64/DictionaryFactory.h @@ -18,7 +18,7 @@ class DictionaryBinaryExporter : public BaseExporter { class DictionaryFactory : public BaseFactory { public: std::optional> parse(std::vector& buffer, YAML::Node& data) override; - inline std::unordered_map> GetExporters() override { + std::unordered_map> GetExporters() override { return { REGISTER(Binary, DictionaryBinaryExporter) }; } }; -- cgit v1.2.3