Autojump: Disable in fly mode, support continuous forward (#8200)

Correctly disable in fly mode (issue #8199)
Also autojump in continuous forward mode (issue #8201)
This commit is contained in:
SmallJoker 2019-02-09 21:44:04 +01:00 committed by luk3yx
parent 4a58af58a7
commit ac96505a73

View File

@ -662,6 +662,12 @@ void LocalPlayer::applyControl(float dtime, ClientEnvironment *env)
speedH += v3f(1,0,0) * speedH += v3f(1,0,0) *
(control.sidew_move_joystick_axis / 32767.f); (control.sidew_move_joystick_axis / 32767.f);
} }
if (m_autojump) {
// release autojump after a given time
m_autojump_time -= dtime;
if (m_autojump_time <= 0.0f)
m_autojump = false;
}
if(control.jump) if(control.jump)
{ {
if (free_move) { if (free_move) {
@ -1153,18 +1159,12 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env,
if (!g_settings->getBool("autojump")) if (!g_settings->getBool("autojump"))
return; return;
if (m_autojump) { if (m_autojump)
// release autojump after a given time
m_autojump_time -= dtime;
if (m_autojump_time <= 0.0f)
m_autojump = false;
return; return;
}
bool control_forward = control.up || bool control_forward = control.up ||
(!control.up && !control.down && (!control.up && !control.down &&
control.forw_move_joystick_axis < -0.05); control.forw_move_joystick_axis < -0.05);
bool could_autojump = bool could_autojump =
m_can_jump && !control.jump && !control.sneak && control_forward; m_can_jump && !control.jump && !control.sneak && control_forward;
if (!could_autojump) if (!could_autojump)