diff --git a/res/texts/en_US.txt b/res/texts/en_US.txt index 94d6774b..979c7330 100644 --- a/res/texts/en_US.txt +++ b/res/texts/en_US.txt @@ -9,6 +9,7 @@ world.generators.default=Default world.generators.flat=Flat # Bindings +devtools.console=Console movement.forward=Forward movement.back=Back movement.left=Left diff --git a/res/texts/ru_RU.txt b/res/texts/ru_RU.txt index 04ee4e69..ec2946ef 100644 --- a/res/texts/ru_RU.txt +++ b/res/texts/ru_RU.txt @@ -56,6 +56,7 @@ settings.UI Sounds=Звуки Интерфейса settings.V-Sync=Вертикальная Синхронизация # Управление +devtools.console=Консоль movement.forward=Вперёд movement.back=Назад movement.left=Влево diff --git a/src/core_defs.cpp b/src/core_defs.cpp index cb6eb9c4..12e840b4 100644 --- a/src/core_defs.cpp +++ b/src/core_defs.cpp @@ -24,6 +24,7 @@ void corecontent::setup(ContentBuilder* builder) { } void corecontent::setup_bindings() { + Events::bind(BIND_DEVTOOLS_CONSOLE, inputtype::keyboard, keycode::GRAVE_ACCENT); Events::bind(BIND_MOVE_FORWARD, inputtype::keyboard, keycode::W); Events::bind(BIND_MOVE_BACK, inputtype::keyboard, keycode::S); Events::bind(BIND_MOVE_RIGHT, inputtype::keyboard, keycode::D); diff --git a/src/core_defs.hpp b/src/core_defs.hpp index f071dd1d..1a2b0a9f 100644 --- a/src/core_defs.hpp +++ b/src/core_defs.hpp @@ -9,6 +9,7 @@ inline const std::string CORE_AIR = "core:air"; inline const std::string TEXTURE_NOTFOUND = "notfound"; // built-in bindings +inline const std::string BIND_DEVTOOLS_CONSOLE = "devtools.console"; inline const std::string BIND_MOVE_FORWARD = "movement.forward"; inline const std::string BIND_MOVE_BACK = "movement.back"; inline const std::string BIND_MOVE_LEFT = "movement.left"; diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 0f58a7c7..95aa69f7 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -204,6 +204,9 @@ void Hud::processInput(bool visible) { setPause(true); } } + if (!pause && Events::active(BIND_DEVTOOLS_CONSOLE)) { + showOverlay(assets->getLayout("core:console"), false); + } if (!Window::isFocused() && !pause && !isInventoryOpen()) { setPause(true); } diff --git a/src/window/input.hpp b/src/window/input.hpp index 19865f5e..57fc7082 100644 --- a/src/window/input.hpp +++ b/src/window/input.hpp @@ -7,6 +7,7 @@ /// @brief Represents glfw3 keycode values. enum class keycode : int { + GRAVE_ACCENT = 96, ENTER = 257, TAB = 258, SPACE = 32,