From 6530ed4dd8e8304a6f7769b05bd776535c9c3abc Mon Sep 17 00:00:00 2001 From: TriBlade9 Date: Thu, 14 Apr 2016 02:15:41 -0700 Subject: [PATCH] Add option to disable entity selectionboxes. (#3992) Setting only loaded once, default value is to enable them. --- builtin/settingtypes.txt | 3 +++ minetest.conf.example | 4 ++++ src/defaultsettings.cpp | 1 + src/game.cpp | 5 ++++- src/settings_translation_file.cpp | 1 + 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 8411839f7..ca331ff4e 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -241,6 +241,9 @@ send_pre_v25_init (Support older servers) bool true # Save the map received by the client on disk. enable_local_map_saving (Saving map received from server) bool false +# Show entity selection boxes +show_entity_selectionbox (Show entity selection boxes) bool true + # Enable usage of remote media server (if provided by server). # Remote servers offer a significantly faster way to download media (e.g. textures) # when connecting to the server. diff --git a/minetest.conf.example b/minetest.conf.example index 80dad6d9f..e913140ae 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -253,6 +253,10 @@ # type: bool # enable_local_map_saving = false +# Show entity selection boxes. +# type: bool +# show_entity_selectionbox true + # Enable usage of remote media server (if provided by server). # Remote servers offer a significantly faster way to download media (e.g. textures) # when connecting to the server. diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index e00ff1489..d048721e0 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -150,6 +150,7 @@ void set_default_settings(Settings *settings) settings->setDefault("desynchronize_mapblock_texture_animation", "true"); settings->setDefault("hud_hotbar_max_width", "1.0"); settings->setDefault("enable_local_map_saving", "false"); + settings->setDefault("show_entity_selectionbox", "true"); settings->setDefault("mip_map", "false"); settings->setDefault("anisotropic_filter", "false"); diff --git a/src/game.cpp b/src/game.cpp index c1f80c5a1..d513517b7 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -329,6 +329,8 @@ PointedThing getPointedThing(Client *client, Hud *hud, const v3f &player_positio std::vector *selectionboxes = hud->getSelectionBoxes(); selectionboxes->clear(); + static const bool show_entity_selectionbox = g_settings->getBool("show_entity_selectionbox"); + selected_object = NULL; INodeDefManager *nodedef = client->getNodeDefManager(); @@ -342,7 +344,8 @@ PointedThing getPointedThing(Client *client, Hud *hud, const v3f &player_positio camera_position, shootline); if (selected_object != NULL) { - if (selected_object->doShowSelectionBox()) { + if (show_entity_selectionbox && + selected_object->doShowSelectionBox()) { aabb3f *selection_box = selected_object->getSelectionBox(); // Box should exist because object was // returned in the first place diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp index 77fd6c682..beb56d9f3 100644 --- a/src/settings_translation_file.cpp +++ b/src/settings_translation_file.cpp @@ -102,6 +102,7 @@ fake_function() { gettext("Whether to support older servers before protocol version 25.\nEnable if you want to connect to 0.4.12 servers and before.\nServers starting with 0.4.13 will work, 0.4.12-dev servers may work.\nDisabling this option will protect your password better."); gettext("Saving map received from server"); gettext("Save the map received by the client on disk."); + gettext("Show entity selection boxes"); gettext("Connect to external media server"); gettext("Enable usage of remote media server (if provided by server).\nRemote servers offer a significantly faster way to download media (e.g. textures)\nwhen connecting to the server."); gettext("Serverlist URL");