diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/defaultsettings.cpp | 1 | ||||
-rw-r--r-- | src/game.cpp | 9 |
2 files changed, 9 insertions, 1 deletions
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. |