From a4e89bea25857ddc494ef6260451265a80aa7268 Mon Sep 17 00:00:00 2001 From: QuirkyLemon Date: Fri, 25 Apr 2025 11:03:17 -0500 Subject: [PATCH] Add option to change MemCheck condition --- UI/ImDebugger/ImDebugger.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/UI/ImDebugger/ImDebugger.cpp b/UI/ImDebugger/ImDebugger.cpp index 1ac02f9dc1..e36fcc634c 100644 --- a/UI/ImDebugger/ImDebugger.cpp +++ b/UI/ImDebugger/ImDebugger.cpp @@ -965,6 +965,21 @@ static void DrawBreakpointsView(MIPSDebugInterface *mipsDebug, ImConfig &cfg) { if (ImGui::BeginChild("mc_edit")) { auto &mc = mcs[cfg.selectedMemCheck]; ImGui::TextUnformatted("Edit memcheck"); + if (ImGui::BeginCombo("Condition", MemCheckConditionToString(mc.cond))) { + if (ImGui::Selectable("Read", mc.cond == MemCheckCondition::MEMCHECK_READ)) { + mc.cond = MemCheckCondition::MEMCHECK_READ; + } + if (ImGui::Selectable("Write", mc.cond == MemCheckCondition::MEMCHECK_WRITE)) { + mc.cond = MemCheckCondition::MEMCHECK_WRITE; + } + if (ImGui::Selectable("Read / Write", mc.cond == MemCheckCondition::MEMCHECK_READWRITE)) { + mc.cond = MemCheckCondition::MEMCHECK_READWRITE; + } + if (ImGui::Selectable("Write On Change", mc.cond == MemCheckCondition::MEMCHECK_WRITE_ONCHANGE)) { + mc.cond = MemCheckCondition::MEMCHECK_WRITE_ONCHANGE; + } + ImGui::EndCombo(); + } ImGui::CheckboxFlags("Enabled", (int *)&mc.result, (int)BREAK_ACTION_PAUSE); ImGui::InputScalar("Start", ImGuiDataType_U32, &mc.start, NULL, NULL, "%08x", ImGuiInputTextFlags_CharsHexadecimal); ImGui::InputScalar("End", ImGuiDataType_U32, &mc.end, NULL, NULL, "%08x", ImGuiInputTextFlags_CharsHexadecimal);