summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--minetest.conf.example3
-rw-r--r--src/defaultsettings.cpp1
-rw-r--r--src/game.cpp9
3 files changed, 12 insertions, 1 deletions
diff --git a/minetest.conf.example b/minetest.conf.example
index 34a2acebc..5fb4244b2 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -146,6 +146,9 @@
# (1: low level shaders; not implemented)
# 2: enable high level shaders
#enable_shaders = 2
+# The time in seconds it takes between repeated
+# right clicks when holding the right mouse button
+#repeat_rightclick_time = 0.25
# will only work for servers which use remote_media setting
# and only for clients compiled with cURL
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index f9c942590..cac3e568a 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -121,6 +121,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("trilinear_filter", "false");
settings->setDefault("preload_item_visuals", "true");
settings->setDefault("enable_shaders", "2");
+ settings->setDefault("repeat_rightclick_time", "0.25");
settings->setDefault("media_fetch_threads", "8");
diff --git a/src/game.cpp b/src/game.cpp
index 42863ff37..fdb083ff1 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -1335,6 +1335,8 @@ void the_game(
float time_of_day = 0;
float time_of_day_smooth = 0;
+ float repeat_rightclick_timer = 0;
+
/*
Shader constants
*/
@@ -2266,6 +2268,9 @@ void the_game(
bool left_punch = false;
soundmaker.m_player_leftpunch_sound.name = "";
+ if(input->getRightState())
+ repeat_rightclick_timer += dtime;
+
if(playeritem_usable && input->getLeftState())
{
if(input->getLeftClicked())
@@ -2406,8 +2411,10 @@ void the_game(
camera.setDigging(0); // left click animation
}
- if(input->getRightClicked())
+ if(input->getRightClicked() ||
+ repeat_rightclick_timer >= g_settings->getFloat("repeat_rightclick_time"))
{
+ repeat_rightclick_timer = 0;
infostream<<"Ground right-clicked"<<std::endl;
// Sign special case, at least until formspec is properly implemented.