Cleanup LocalPlayer::applyControl

* Use Environment interface instead of ClientEnvironemnt
* Don't create slippery variable and then re-affect it
* itemgroup_get return a int, properly test != 0 to be clearer
This commit is contained in:
Loic Blot 2017-08-13 23:02:32 +02:00
parent 2ea26e655d
commit d65d6160d8
No known key found for this signature in database
GPG Key ID: EFAA458E8C153987
2 changed files with 4 additions and 5 deletions

@ -444,7 +444,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d)
move(dtime, env, pos_max_d, NULL);
}
void LocalPlayer::applyControl(float dtime, ClientEnvironment *env)
void LocalPlayer::applyControl(float dtime, Environment *env)
{
// Clear stuff
swimming_vertical = false;
@ -660,11 +660,10 @@ void LocalPlayer::applyControl(float dtime, ClientEnvironment *env)
else
incH = incV = movement_acceleration_default * BS * dtime;
INodeDefManager *nodemgr = env->getGameDef()->ndef();
const INodeDefManager *nodemgr = env->getGameDef()->ndef();
Map *map = &env->getMap();
bool slippery = false;
const ContentFeatures &f = nodemgr->get(map->getNodeNoEx(getStandingNodePos()));
slippery = itemgroup_get(f.groups, "slippery");
bool slippery = (itemgroup_get(f.groups, "slippery") != 0);
// Accelerate to target speed with maximum increment
accelerateHorizontal(speedH * physics_override_speed,
incH * physics_override_speed, slippery);

@ -79,7 +79,7 @@ public:
void old_move(f32 dtime, Environment *env, f32 pos_max_d,
std::vector<CollisionInfo> *collision_info);
void applyControl(float dtime, ClientEnvironment *env);
void applyControl(float dtime, Environment *env);
v3s16 getStandingNodePos();
v3s16 getFootstepNodePos();