summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWuzzy <wuzzy2@mail.ru>2021-08-21 11:53:49 +0000
committerGitHub <noreply@github.com>2021-08-21 13:53:49 +0200
commit6fd8aede48e357524ea0723fd0e8836697ece11e (patch)
tree84fa6246b872ee4a150d3b7a0cd62297a7d89d04 /src
parente7b05beb7d90b4ea53ef13da86ff8b8ccde1193b (diff)
downloadminetest-6fd8aede48e357524ea0723fd0e8836697ece11e.tar.gz
minetest-6fd8aede48e357524ea0723fd0e8836697ece11e.tar.bz2
minetest-6fd8aede48e357524ea0723fd0e8836697ece11e.zip
Show status message when changing block bounds (#11556)
Diffstat (limited to 'src')
-rw-r--r--src/client/game.cpp19
-rw-r--r--src/client/hud.cpp5
-rw-r--r--src/client/hud.h18
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,