Cleanup LocalPlayer::applyControl
authorLoic Blot <loic.blot@unix-experience.fr>
Sun, 13 Aug 2017 21:02:32 +0000 (23:02 +0200)
committerLoic Blot <loic.blot@unix-experience.fr>
Sun, 13 Aug 2017 21:02:32 +0000 (23:02 +0200)
* 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

src/localplayer.cpp
src/localplayer.h

index f72da1b1807410427dd8f02380df18e9dc4350c1..517cefe6e28763dfaf82bc9383f138cbb8d6bfd9 100644 (file)
@@ -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);
index 67b22b65636eecc1f3d1eef96c9c356ff513000a..3d293ecf44963c9a298459afe9ae4cd2daf11fa6 100644 (file)
@@ -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();