diff --git a/lib/external/libwolv b/lib/external/libwolv index 128bed69e..63d2bd325 160000 --- a/lib/external/libwolv +++ b/lib/external/libwolv @@ -1 +1 @@ -Subproject commit 128bed69ea0cf4a904e17f5690aa751b6e4b8568 +Subproject commit 63d2bd325837ce112e9e34b146246cda571c58e5 diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index e74a3c4cc..dfb466dbc 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -217,6 +217,11 @@ namespace hex::plugin::builtin { if (this->m_breakpointHit) { if (ImGui::IconButton(ICON_VS_DEBUG_CONTINUE, ImGui::GetCustomColorVec4(ImGuiCustomCol_ToolbarYellow))) this->m_breakpointHit = false; + ImGui::SameLine(); + if (ImGui::IconButton(ICON_VS_DEBUG_STEP_INTO, ImGui::GetCustomColorVec4(ImGuiCustomCol_ToolbarYellow))) { + runtime.getInternals().evaluator->pauseNextLine(); + this->m_breakpointHit = false; + } } else { if (ImGui::IconButton(ICON_VS_DEBUG_STOP, ImGui::GetCustomColorVec4(ImGuiCustomCol_ToolbarRed))) runtime.abort(); @@ -605,10 +610,12 @@ namespace hex::plugin::builtin { } if (this->m_resetDebuggerVariables) { + auto pauseLine = evaluator->getPauseLine(); + this->m_debuggerDrawer->reset(); this->m_resetDebuggerVariables = false; + this->m_textEditor.SetCursorPosition(TextEditor::Coordinates(pauseLine.value_or(0) - 1, 0)); - auto pauseLine = evaluator->getPauseLine(); if (pauseLine.has_value()) this->m_textEditor.SetCursorPosition({ int(pauseLine.value() - 1), 0 }); }