From d38c98a5e6d286d1381d31148c8043c55a820a04 Mon Sep 17 00:00:00 2001 From: praydog Date: Fri, 18 Oct 2024 21:28:26 -0700 Subject: [PATCH] UObjectHook: Add UObject address lookup --- src/mods/UObjectHook.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/mods/UObjectHook.cpp b/src/mods/UObjectHook.cpp index 784efe35..4f8c08a3 100644 --- a/src/mods/UObjectHook.cpp +++ b/src/mods/UObjectHook.cpp @@ -1917,6 +1917,27 @@ void UObjectHook::draw_developer() { ImGui::TreePop(); } + + static std::array address_buffer{}; + ImGui::InputText("Address Lookup", address_buffer.data(), address_buffer.size()); + + // Try-catch block around this because it's possible the user could enter invalid input + // also hex->int conversion can throw + try { + auto obj = (sdk::UObject*)std::stoull(address_buffer.data(), nullptr, 16); + + if (obj != nullptr && this->exists(obj)) { + ImGui::PushID(obj); + if (ImGui::TreeNode(utility::narrow(obj->get_full_name()).c_str())) { + ui_handle_object(obj); + ImGui::TreePop(); + } + + ImGui::PopID(); + } + } catch (...) { + // ignore + } } void UObjectHook::draw_main() {