diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2025-01-25 14:03:07 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2025-01-25 14:03:07 -0600 |
| commit | 7bb9feddd8275fd5417d0ff0d2300ba688fa89b7 (patch) | |
| tree | 60520889dd6017df4b357dec9ec1d46b44b2f52d /src/factories/DisplayListOverrides.cpp | |
| parent | 37258535fe2cde3e00149314778f135adf76d42b (diff) | |
Added support for dlist matrix opcode
Diffstat (limited to 'src/factories/DisplayListOverrides.cpp')
| -rw-r--r-- | src/factories/DisplayListOverrides.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/factories/DisplayListOverrides.cpp b/src/factories/DisplayListOverrides.cpp index f684899..7284d29 100644 --- a/src/factories/DisplayListOverrides.cpp +++ b/src/factories/DisplayListOverrides.cpp @@ -184,6 +184,21 @@ int Viewport(uint32_t ptr) { SPDLOG_TRACE("Could not find viewport to override at 0x{:X}", ptr); return 0; } + +int Matrix(uint32_t ptr) { + auto dec = Companion::Instance->GetNodeByAddr(ptr); + + if(dec.has_value()){ + auto node = std::get<1>(dec.value()); + auto symbol = GetSafeNode<std::string>(node, "symbol"); + SPDLOG_INFO("Found Matrix: 0x{:X} Symbol: {}", ptr, symbol); + gfxd_puts(("&" + symbol).c_str()); + return 1; + } + + SPDLOG_TRACE("Could not find viewport to override at 0x{:X}", ptr); + return 0; +} #endif std::optional<std::tuple<std::string, YAML::Node>> GetVtxOverlap(uint32_t ptr){ |
