aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparamat <mat.gregory@virginmedia.com>2017-05-08 01:27:11 +0100
committerparamat <mat.gregory@virginmedia.com>2017-05-08 05:59:19 +0100
commit5e04f1a3357a618bed6d36b6a7439279b758fc8e (patch)
tree96a7a3f50a20f7fd871bc236c2cc35c5c737c30e
parent3342dcc4bc6ee573ab0ce7ecff966faf60e09d56 (diff)
downloadminetest-5e04f1a3357a618bed6d36b6a7439279b758fc8e.tar.gz
minetest-5e04f1a3357a618bed6d36b6a7439279b758fc8e.tar.bz2
minetest-5e04f1a3357a618bed6d36b6a7439279b758fc8e.zip
Custom step height: Fix implementation
Recent commit 45ab62d6a3d90ab3b97aec88251a766cb5dd1899 had a coding error that made climbing out of water difficult due to an incorrect value of the step height when not 'touching ground'. It also incorrectly multiplied the custom stepheight by BS, resulting in being able to step-up 2 nodes if set to the default of 0.6, or even 0.3. Also the implementation was wrong because it customised the step height when not 'touching ground', this step height is for a slight rise when catching the edge of a node during a jump, and should always remain at 0.2 * BS.
-rw-r--r--src/localplayer.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 37aef7afe..20892dee6 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -344,13 +344,11 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
}
}
- float player_stepheight = (m_cao == 0) ? 0.0 :
- (touching_ground ?
- (m_cao->getStepheight() * BS) :
- (m_cao->getStepheight() -0.4 * BS));
+ float player_stepheight = (m_cao == 0) ? 0.0f :
+ ((touching_ground) ? m_cao->getStepheight() : (0.2f * BS));
#ifdef __ANDROID__
- player_stepheight += (0.6 * BS);
+ player_stepheight += (0.6f * BS);
#endif
v3f accel_f = v3f(0,0,0);