1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-15 18:57:08 +00:00

Make shift the default descent control on ladders and when flying

"aux1_descends" setting switches to the old descend control.
This commit is contained in:
sfan5 2012-08-19 13:15:42 +02:00 committed by Perttu Ahola
parent f60227f112
commit 43ebec2be1
3 changed files with 65 additions and 19 deletions

View file

@ -52,6 +52,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("keymap_toggle_profiler", "KEY_F6");
settings->setDefault("keymap_increase_viewing_range_min", "+");
settings->setDefault("keymap_decrease_viewing_range_min", "-");
settings->setDefault("aux1_descends", "false");
// Some (temporary) keys for debugging
settings->setDefault("keymap_print_debug_stacks", "KEY_KEY_P");
settings->setDefault("keymap_quicktune_prev", "KEY_HOME");

View file

@ -359,31 +359,70 @@ void LocalPlayer::applyControl(float dtime)
if(free_move && fast_move)
superspeed = true;
// Auxiliary button 1 (E)
if(control.aux1)
// Old descend control
if(g_settings->getBool("aux1_descends"))
{
if(free_move)
// Auxiliary button 1 (E)
if(control.aux1)
{
// In free movement mode, aux1 descends
v3f speed = getSpeed();
if(fast_move)
speed.Y = -20*BS;
if(free_move)
{
// In free movement mode, aux1 descends
v3f speed = getSpeed();
if(fast_move)
speed.Y = -20*BS;
else
speed.Y = -walkspeed_max;
setSpeed(speed);
}
else if(is_climbing)
{
v3f speed = getSpeed();
speed.Y = -3*BS;
setSpeed(speed);
}
else
speed.Y = -walkspeed_max;
setSpeed(speed);
{
// If not free movement but fast is allowed, aux1 is
// "Turbo button"
if(fast_move)
superspeed = true;
}
}
else if(is_climbing)
}
// New minecraft-like descend control
else
{
// Auxiliary button 1 (E)
if(control.aux1)
{
v3f speed = getSpeed();
speed.Y = -3*BS;
setSpeed(speed);
if(!free_move && !is_climbing)
{
// If not free movement but fast is allowed, aux1 is
// "Turbo button"
if(fast_move)
superspeed = true;
}
}
else
if(control.sneak)
{
// If not free movement but fast is allowed, aux1 is
// "Turbo button"
if(fast_move)
superspeed = true;
if(free_move)
{
// In free movement mode, sneak descends
v3f speed = getSpeed();
if(fast_move)
speed.Y = -20*BS;
else
speed.Y = -walkspeed_max;
setSpeed(speed);
}
else if(is_climbing)
{
v3f speed = getSpeed();
speed.Y = -3*BS;
setSpeed(speed);
}
}
}