From 42bbd5c9ae06a8d8ffb7915599097ead6f848755 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Thu, 29 Mar 2012 21:21:34 +0300 Subject: Simple fix for camera blinking black when jumping into ceiling with current smaller collision box --- src/player.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/player.cpp') diff --git a/src/player.cpp b/src/player.cpp index ff272322f..6e8b8c1d4 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -40,6 +40,7 @@ Player::Player(IGameDef *gamedef): in_water_stable(false), is_climbing(false), swimming_up(false), + camera_barely_in_ceiling(false), inventory(gamedef->idef()), hp(PLAYER_MAX_HP), peer_id(PEER_ID_INEXISTENT), @@ -604,6 +605,17 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, MtEvent *e = new SimpleTriggerEvent("PlayerRegainGround"); m_gamedef->event()->put(e); } + + { + camera_barely_in_ceiling = false; + v3s16 camera_np = floatToInt(getEyePosition(), BS); + MapNode n = map.getNodeNoEx(camera_np); + if(n.getContent() != CONTENT_IGNORE){ + if(nodemgr->get(n).walkable){ + camera_barely_in_ceiling = true; + } + } + } } void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d) -- cgit v1.2.3