diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2026-01-18 19:57:29 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2026-01-18 19:57:29 -0600 |
| commit | a40c44d06a8efe0c074d7d7f615874cd8199dd27 (patch) | |
| tree | 95936b96335e8612d939e54715b30434336329c8 /src | |
| parent | aaed953d180356f933bc0011d250f7de1366c42e (diff) | |
Added additional_info into AssetArrayFactory
Diffstat (limited to 'src')
| -rw-r--r-- | src/factories/AssetArrayFactory.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/factories/AssetArrayFactory.cpp b/src/factories/AssetArrayFactory.cpp index 37ee325..9e01139 100644 --- a/src/factories/AssetArrayFactory.cpp +++ b/src/factories/AssetArrayFactory.cpp @@ -83,6 +83,7 @@ std::optional<std::shared_ptr<IParsedData>> AssetArrayFactory::parse(std::vector auto assetType = GetSafeNode<std::string>(node, "assetType"); auto factoryType = GetSafeNode<std::string>(node, "factoryType"); const auto count = GetSafeNode<uint32_t>(node, "count"); + const auto additional_info = node["additional_info"]; auto [_, segment] = Decompressor::AutoDecode(node, buffer); LUS::BinaryReader reader(segment.data, segment.size); reader.SetEndianness(Torch::Endianness::Big); @@ -94,6 +95,17 @@ std::optional<std::shared_ptr<IParsedData>> AssetArrayFactory::parse(std::vector YAML::Node assetNode; assetNode["type"] = factoryType; assetNode["offset"] = ptr; + if(additional_info) { + for (const auto& it : additional_info) { + assetNode[it.first.as<std::string>()] = it.second; + } + if (assetNode["symbol"]) { + std::string symbol = assetNode["symbol"].as<std::string>(); + symbol = std::regex_replace(symbol, std::regex(R"(\{idx\})"), std::to_string(i)); + symbol = std::regex_replace(symbol, std::regex(R"(\{addr\})"), Torch::to_hex(ptr)); + assetNode["symbol"] = symbol; + } + } Companion::Instance->AddAsset(assetNode); } |
