diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2024-04-13 00:26:45 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2024-04-13 00:26:45 -0600 |
| commit | 884de3c8836368cb3592ed9dec2e117be1fbc744 (patch) | |
| tree | 78b9db1b8b9e8dd14a798d883784083b40f50cdd /src/Companion.cpp | |
| parent | 4513708c95af671028b11f19ae12e963a0989bd4 (diff) | |
Fully implemented tlut load by addr or symbol
Diffstat (limited to 'src/Companion.cpp')
| -rw-r--r-- | src/Companion.cpp | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/src/Companion.cpp b/src/Companion.cpp index e2e6f21..0a74658 100644 --- a/src/Companion.cpp +++ b/src/Companion.cpp @@ -1171,6 +1171,37 @@ std::optional<std::tuple<std::string, YAML::Node>> Companion::GetNodeByAddr(cons return this->gAddrMap[this->gCurrentFile][addr]; } +std::optional<ParseResultData> Companion::GetParseDataByAddr(uint32_t addr) { + if(!this->gParseResults.contains(this->gCurrentFile)){ + return std::nullopt; + } + + for(auto& result : this->gParseResults[this->gCurrentFile]){ + if(result.data.has_value() && result.GetOffset() == addr){ + return result; + } + } + + return std::nullopt; +} + +std::optional<ParseResultData> Companion::GetParseDataBySymbol(const std::string& symbol) { + if(!this->gParseResults.contains(this->gCurrentFile)){ + return std::nullopt; + } + + for(auto& result : this->gParseResults[this->gCurrentFile]){ + auto sym = GetNode<std::string>(result.node, "symbol"); + + if(result.data.has_value() && sym.has_value() && sym.value() == symbol){ + return result; + } + } + + return std::nullopt; + +} + std::optional<std::vector<std::tuple<std::string, YAML::Node>>> Companion::GetNodesByType(const std::string& type){ std::vector<std::tuple<std::string, YAML::Node>> nodes; @@ -1263,8 +1294,4 @@ std::optional<YAML::Node> Companion::AddAsset(YAML::Node asset) { } return std::nullopt; -} - -void Companion::AddTlutTextureMap(std::string index, std::shared_ptr<TextureData> entry) { - this->TlutTextureMap[index] = entry; }
\ No newline at end of file |
