mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Game: disable 'toggle_sneak_key' while flying
This commit is contained in:
parent
cc65c8bd70
commit
5b2b2c7796
2 changed files with 8 additions and 2 deletions
|
@ -112,6 +112,7 @@ doubletap_jump (Double tap jump for fly) bool false
|
||||||
always_fly_fast (Always fly fast) bool true
|
always_fly_fast (Always fly fast) bool true
|
||||||
|
|
||||||
# If enabled, the "Sneak" key will toggle when pressed.
|
# If enabled, the "Sneak" key will toggle when pressed.
|
||||||
|
# This functionality is ignored when fly is enabled.
|
||||||
toggle_sneak_key (Toggle Sneak key) bool false
|
toggle_sneak_key (Toggle Sneak key) bool false
|
||||||
|
|
||||||
# If enabled, the "Aux1" key will toggle when pressed.
|
# If enabled, the "Aux1" key will toggle when pressed.
|
||||||
|
|
|
@ -2450,6 +2450,11 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
|
||||||
{
|
{
|
||||||
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
||||||
|
|
||||||
|
// In free move (fly), the "toggle_sneak_key" setting would prevent precise
|
||||||
|
// up/down movements. Hence, enable the feature only during 'normal' movement.
|
||||||
|
const bool allow_sneak_toggle = m_cache_toggle_sneak_key &&
|
||||||
|
!player->getPlayerSettings().free_move;
|
||||||
|
|
||||||
//TimeTaker tt("update player control", NULL, PRECISION_NANO);
|
//TimeTaker tt("update player control", NULL, PRECISION_NANO);
|
||||||
|
|
||||||
PlayerControl control(
|
PlayerControl control(
|
||||||
|
@ -2459,7 +2464,7 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
|
||||||
isKeyDown(KeyType::RIGHT),
|
isKeyDown(KeyType::RIGHT),
|
||||||
isKeyDown(KeyType::JUMP) || player->getAutojump(),
|
isKeyDown(KeyType::JUMP) || player->getAutojump(),
|
||||||
getTogglableKeyState(KeyType::AUX1, m_cache_toggle_aux1_key, player->control.aux1),
|
getTogglableKeyState(KeyType::AUX1, m_cache_toggle_aux1_key, player->control.aux1),
|
||||||
getTogglableKeyState(KeyType::SNEAK, m_cache_toggle_sneak_key, player->control.sneak),
|
getTogglableKeyState(KeyType::SNEAK, allow_sneak_toggle, player->control.sneak),
|
||||||
isKeyDown(KeyType::ZOOM),
|
isKeyDown(KeyType::ZOOM),
|
||||||
isKeyDown(KeyType::DIG),
|
isKeyDown(KeyType::DIG),
|
||||||
isKeyDown(KeyType::PLACE),
|
isKeyDown(KeyType::PLACE),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue