Node definition names
[oweals/minetest.git] / src / camera.cpp
index ecb5a17f40c5ab47b1b1e977d6f621485a8c2bb9..74ecd6cecebce53808feea5b02a2f7bac7c1316a 100644 (file)
@@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <cmath>
 #include <SAnimatedMesh.h>
 #include "settings.h"
+#include "nodedef.h" // For wield visualization
 
 Camera::Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control):
        m_smgr(smgr),
@@ -342,7 +343,7 @@ void Camera::updateViewingRange(f32 frametime_in)
                        <<std::endl;*/
 
        m_draw_control.wanted_min_range = m_viewing_range_min;
-       m_draw_control.wanted_max_blocks = (1.5*m_draw_control.blocks_would_have_drawn)+1;
+       m_draw_control.wanted_max_blocks = (2.0*m_draw_control.blocks_would_have_drawn)+1;
        if (m_draw_control.wanted_max_blocks < 10)
                m_draw_control.wanted_max_blocks = 10;
 
@@ -366,7 +367,7 @@ void Camera::updateViewingRange(f32 frametime_in)
        // If needed frametime change is small, just return
        // This value was 0.4 for many months until 2011-10-18 by c55;
        // Let's see how this works out.
-       if (fabs(wanted_frametime_change) < m_wanted_frametime*0.25)
+       if (fabs(wanted_frametime_change) < m_wanted_frametime*0.33)
        {
                //dstream<<"ignoring small wanted_frametime_change"<<std::endl;
                return;
@@ -448,8 +449,11 @@ void Camera::updateSettings()
        m_wanted_frametime = 1.0 / wanted_fps;
 }
 
-void Camera::wield(const InventoryItem* item)
+void Camera::wield(const InventoryItem* item, IGameDef *gamedef)
 {
+       ITextureSource *tsrc = gamedef->tsrc();
+       INodeDefManager *ndef = gamedef->ndef();
+
        if (item != NULL)
        {
                bool isCube = false;
@@ -460,9 +464,9 @@ void Camera::wield(const InventoryItem* item)
                        // A block-type material
                        MaterialItem* mat_item = (MaterialItem*) item;
                        content_t content = mat_item->getMaterial();
-                       if (content_features(content).solidness || content_features(content).visual_solidness)
+                       if (ndef->get(content).solidness || ndef->get(content).visual_solidness)
                        {
-                               m_wieldnode->setCube(content_features(content).tiles);
+                               m_wieldnode->setCube(ndef->get(content).tiles);
                                m_wieldnode->setScale(v3f(30));
                                isCube = true;
                        }
@@ -471,7 +475,7 @@ void Camera::wield(const InventoryItem* item)
                // If that failed, make an extruded sprite.
                if (!isCube)
                {
-                       m_wieldnode->setSprite(item->getImageRaw());
+                       m_wieldnode->setSprite(item->getImageRaw(tsrc));
                        m_wieldnode->setScale(v3f(40));
                }