From 062de11b4cff30861dd4e9eb56f131d821f34b51 Mon Sep 17 00:00:00 2001 From: Novatux Date: Sun, 26 Jan 2014 11:40:21 +0100 Subject: Fix rendering glitches when far from the center of the map --- src/content_cao.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/content_cao.cpp') diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 840103cc7..84ec3e143 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -1058,23 +1058,24 @@ public: if(getParent() != NULL) return; + v3s16 camera_offset = m_env->getCameraOffset(); if(m_meshnode){ - m_meshnode->setPosition(pos_translator.vect_show); + m_meshnode->setPosition(pos_translator.vect_show-intToFloat(camera_offset, BS)); v3f rot = m_meshnode->getRotation(); rot.Y = -m_yaw; m_meshnode->setRotation(rot); } if(m_animated_meshnode){ - m_animated_meshnode->setPosition(pos_translator.vect_show); + m_animated_meshnode->setPosition(pos_translator.vect_show-intToFloat(camera_offset, BS)); v3f rot = m_animated_meshnode->getRotation(); rot.Y = -m_yaw; m_animated_meshnode->setRotation(rot); } if(m_spritenode){ - m_spritenode->setPosition(pos_translator.vect_show); + m_spritenode->setPosition(pos_translator.vect_show-intToFloat(camera_offset, BS)); } } - + void step(float dtime, ClientEnvironment *env) { if(m_visuals_expired && m_smgr && m_irr){ -- cgit v1.2.3