From f9e73dae25bc06231385131c364c9b5bf2653571 Mon Sep 17 00:00:00 2001 From: MatusGuy <85036874+MatusGuy@users.noreply.github.com> Date: Fri, 21 Jul 2023 17:07:09 +0100 Subject: [PATCH] Ability to open debug menu in editor (#2537) --- src/editor/editor.cpp | 13 ++++++++----- src/supertux/menu/debug_menu.cpp | 9 +++++++++ src/supertux/menu/debug_menu.hpp | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/editor/editor.cpp b/src/editor/editor.cpp index e1167993656..066996786f4 100644 --- a/src/editor/editor.cpp +++ b/src/editor/editor.cpp @@ -404,13 +404,19 @@ Editor::update_keyboard(const Controller& controller) return; } - - if (!MenuManager::instance().has_dialog()) + if (MenuManager::instance().current_menu() == nullptr) { if (controller.pressed(Control::ESCAPE)) { esc_press(); return; } + if (controller.pressed(Control::DEBUG_MENU) && g_config->developer_mode) + { + m_enabled = false; + m_overlay_widget->delete_markers(); + MenuManager::instance().set_menu(MenuStorage::DEBUG_MENU); + return; + } if (controller.hold(Control::LEFT)) { scroll({ -m_scroll_speed, 0.0f }); } @@ -682,7 +688,6 @@ Editor::setup() m_enabled = true; m_toolbox_widget->update_mouse_icon(); } - } void @@ -741,8 +746,6 @@ Editor::event(const SDL_Event& ev) } } - - if (ev.type == SDL_KEYDOWN && ev.key.keysym.sym == SDLK_F6) { Compositor::s_render_lighting = !Compositor::s_render_lighting; return; diff --git a/src/supertux/menu/debug_menu.cpp b/src/supertux/menu/debug_menu.cpp index 5af92dfe0cd..44c3401bc92 100644 --- a/src/supertux/menu/debug_menu.cpp +++ b/src/supertux/menu/debug_menu.cpp @@ -19,6 +19,7 @@ #include #include +#include "editor/editor.hpp" #include "gui/item_stringselect.hpp" #include "supertux/debug.hpp" #include "supertux/gameconfig.hpp" @@ -76,6 +77,14 @@ DebugMenu::DebugMenu() : add_back(_("Back")); } +DebugMenu::~DebugMenu() +{ + auto editor = Editor::current(); + + if (editor == nullptr) return; + editor->m_reactivate_request = true; +} + void DebugMenu::menu_action(MenuItem& item) { diff --git a/src/supertux/menu/debug_menu.hpp b/src/supertux/menu/debug_menu.hpp index 7b075050680..e8a98a90c7b 100644 --- a/src/supertux/menu/debug_menu.hpp +++ b/src/supertux/menu/debug_menu.hpp @@ -30,6 +30,7 @@ class DebugMenu final : public Menu public: DebugMenu(); + virtual ~DebugMenu() override; virtual void menu_action(MenuItem& item) override;