diff options
author | Wuzzy <wuzzy2@mail.ru> | 2021-08-21 11:53:49 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-21 13:53:49 +0200 |
commit | 6fd8aede48e357524ea0723fd0e8836697ece11e (patch) | |
tree | 84fa6246b872ee4a150d3b7a0cd62297a7d89d04 /src/client | |
parent | e7b05beb7d90b4ea53ef13da86ff8b8ccde1193b (diff) | |
download | minetest-6fd8aede48e357524ea0723fd0e8836697ece11e.tar.gz minetest-6fd8aede48e357524ea0723fd0e8836697ece11e.tar.bz2 minetest-6fd8aede48e357524ea0723fd0e8836697ece11e.zip |
Show status message when changing block bounds (#11556)
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/game.cpp | 19 | ||||
-rw-r--r-- | src/client/hud.cpp | 5 | ||||
-rw-r--r-- | src/client/hud.h | 18 |
3 files changed, 30 insertions, 12 deletions
diff --git a/src/client/game.cpp b/src/client/game.cpp index 90bfab2a3..011875e4a 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2193,7 +2193,24 @@ void Game::toggleCinematic() void Game::toggleBlockBounds() { if (client->checkPrivilege("basic_debug")) { - hud->toggleBlockBounds(); + enum Hud::BlockBoundsMode newmode = hud->toggleBlockBounds(); + switch (newmode) { + case Hud::BLOCK_BOUNDS_OFF: + m_game_ui->showTranslatedStatusText("Block bounds hidden"); + break; + case Hud::BLOCK_BOUNDS_CURRENT: + m_game_ui->showTranslatedStatusText("Block bounds shown for current block"); + break; + case Hud::BLOCK_BOUNDS_NEAR: + m_game_ui->showTranslatedStatusText("Block bounds shown for nearby blocks"); + break; + case Hud::BLOCK_BOUNDS_MAX: + m_game_ui->showTranslatedStatusText("Block bounds shown for all blocks"); + break; + default: + break; + } + } else { m_game_ui->showTranslatedStatusText("Can't show block bounds (need 'basic_debug' privilege)"); } diff --git a/src/client/hud.cpp b/src/client/hud.cpp index c5bf0f2f8..e92f5a73d 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -857,13 +857,14 @@ void Hud::drawSelectionMesh() } } -void Hud::toggleBlockBounds() +enum Hud::BlockBoundsMode Hud::toggleBlockBounds() { m_block_bounds_mode = static_cast<BlockBoundsMode>(m_block_bounds_mode + 1); if (m_block_bounds_mode >= BLOCK_BOUNDS_MAX) { m_block_bounds_mode = BLOCK_BOUNDS_OFF; } + return m_block_bounds_mode; } void Hud::disableBlockBounds() @@ -890,7 +891,7 @@ void Hud::drawBlockBounds() v3f offset = intToFloat(client->getCamera()->getOffset(), BS); - s8 radius = m_block_bounds_mode == BLOCK_BOUNDS_ALL ? 2 : 0; + s8 radius = m_block_bounds_mode == BLOCK_BOUNDS_NEAR ? 2 : 0; v3f halfNode = v3f(BS, BS, BS) / 2.0f; diff --git a/src/client/hud.h b/src/client/hud.h index e228c1d52..fd79183a0 100644 --- a/src/client/hud.h +++ b/src/client/hud.h @@ -35,6 +35,14 @@ struct ItemStack; class Hud { public: + enum BlockBoundsMode + { + BLOCK_BOUNDS_OFF, + BLOCK_BOUNDS_CURRENT, + BLOCK_BOUNDS_NEAR, + BLOCK_BOUNDS_MAX + } m_block_bounds_mode = BLOCK_BOUNDS_OFF; + video::SColor crosshair_argb; video::SColor selectionbox_argb; @@ -51,7 +59,7 @@ public: Inventory *inventory); ~Hud(); - void toggleBlockBounds(); + enum BlockBoundsMode toggleBlockBounds(); void disableBlockBounds(); void drawBlockBounds(); @@ -127,14 +135,6 @@ private: scene::SMeshBuffer m_rotation_mesh_buffer; - enum BlockBoundsMode - { - BLOCK_BOUNDS_OFF, - BLOCK_BOUNDS_CURRENT, - BLOCK_BOUNDS_ALL, - BLOCK_BOUNDS_MAX - } m_block_bounds_mode = BLOCK_BOUNDS_OFF; - enum { HIGHLIGHT_BOX, |