diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index a15c1cc0b..5521a6cf1 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -834,18 +834,19 @@ void GenericCAO::updateNodePos() void GenericCAO::step(float dtime, ClientEnvironment *env) { - // Handel model of local player instantly to prevent lags + // Handle model animations and update positions instantly to prevent lags if (m_is_local_player) { LocalPlayer *player = m_env->getLocalPlayer(); + m_position = player->getPosition(); + pos_translator.val_current = m_position; + m_rotation.Y = wrapDegrees_0_360(player->getYaw()); + rot_translator.val_current = m_rotation; + if (m_is_visible) { int old_anim = player->last_animation; float old_anim_speed = player->last_animation_speed; - m_position = player->getPosition(); - m_rotation.Y = wrapDegrees_0_360(player->getYaw()); m_velocity = v3f(0,0,0); m_acceleration = v3f(0,0,0); - pos_translator.val_current = m_position; - rot_translator.val_current = m_rotation; const PlayerControl &controls = player->getPlayerControl(); bool walking = false;