Use stepheight from CAO instead of hardcoded value
[oweals/minetest.git] / src / localplayer.cpp
index a909ff40fd854bbe6b310a08751dbde3697f72fa..37aef7afe88beaafab0da029c94368bccfd12a49 100644 (file)
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "environment.h"
 #include "map.h"
 #include "client.h"
+#include "content_cao.h"
 
 /*
        LocalPlayer
@@ -343,8 +344,10 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
                }
        }
 
-       // TODO: this shouldn't be hardcoded but transmitted from server
-       float player_stepheight = touching_ground ? (BS*0.6) : (BS*0.2);
+       float player_stepheight = (m_cao == 0) ? 0.0 :
+                               (touching_ground ?
+                               (m_cao->getStepheight() * BS) :
+                               (m_cao->getStepheight() -0.4 * BS));
 
 #ifdef __ANDROID__
        player_stepheight += (0.6 * BS);