]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/mapblock_mesh.cpp
Translated using Weblate (Czech)
[dragonfireclient.git] / src / mapblock_mesh.cpp
index b70b25eabffadedb160190371e2743198473a4ff..253703ddc82ab58ba21cd6ac3e674c0a3d449117 100644 (file)
@@ -1109,18 +1109,22 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data):
        /*
                Convert MeshCollector to SMesh
        */
+       bool enable_shaders     = g_settings->getBool("enable_shaders");
        bool enable_bumpmapping = g_settings->getBool("enable_bumpmapping");
-       bool enable_shaders = g_settings->getBool("enable_shaders");
-       video::E_MATERIAL_TYPE shadermat1 = m_gamedef->getShaderSource()->
-                       getShader("test_shader_1").material;
-       video::E_MATERIAL_TYPE shadermat2 = m_gamedef->getShaderSource()->
-                       getShader("test_shader_2").material;
-       video::E_MATERIAL_TYPE shadermat3 = m_gamedef->getShaderSource()->
-                       getShader("test_shader_3").material;
-       video::E_MATERIAL_TYPE bumpmaps1 = m_gamedef->getShaderSource()->
-                       getShader("bumpmaps_solids").material;
-       video::E_MATERIAL_TYPE bumpmaps2 = m_gamedef->getShaderSource()->
-                       getShader("bumpmaps_liquids").material;
+
+       video::E_MATERIAL_TYPE  shadermat1, shadermat2, shadermat3, bumpmaps1, bumpmaps2;
+       shadermat1 = shadermat2 = shadermat3 = bumpmaps1 = bumpmaps2 = video::EMT_SOLID;
+
+       if (enable_shaders) {
+               IShaderSource *shdrsrc = m_gamedef->getShaderSource();
+               shadermat1 = shdrsrc->getShader("test_shader_1").material;
+               shadermat2 = shdrsrc->getShader("test_shader_2").material;
+               shadermat3 = shdrsrc->getShader("test_shader_3").material;
+               if (enable_bumpmapping) {
+                       bumpmaps1 = shdrsrc->getShader("bumpmaps_solids").material;
+                       bumpmaps2 = shdrsrc->getShader("bumpmaps_liquids").material;
+               }
+       }
 
        for(u32 i = 0; i < collector.prebuffers.size(); i++)
        {
@@ -1294,7 +1298,7 @@ MapBlockMesh::~MapBlockMesh()
 
 bool MapBlockMesh::animate(bool faraway, float time, int crack, u32 daynight_ratio)
 {
-       bool enable_shaders = (g_settings->getS32("enable_shaders") > 0);
+       bool enable_shaders = g_settings->getBool("enable_shaders");
        bool enable_bumpmapping = g_settings->getBool("enable_bumpmapping");
        
        if(!m_has_animation)