diff options
Diffstat (limited to 'src/content_mapblock.cpp')
-rw-r--r-- | src/content_mapblock.cpp | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index ab8091dee..c15b9c424 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -181,11 +181,6 @@ void mapblock_mesh_generate_special(MeshMakeData *data, Some settings */ bool enable_mesh_cache = g_settings->getBool("enable_mesh_cache"); - bool new_style_water = g_settings->getBool("new_style_water"); - - float node_liquid_level = 1.0; - if (new_style_water) - node_liquid_level = 0.85; v3s16 blockpos_nodes = data->m_blockpos*MAP_BLOCKSIZE; @@ -287,35 +282,29 @@ void mapblock_mesh_generate_special(MeshMakeData *data, If our topside is liquid, set upper border of face at upper border of node */ - if(top_is_same_liquid) - { - vertices[2].Pos.Y = 0.5*BS; - vertices[3].Pos.Y = 0.5*BS; - } + if (top_is_same_liquid) { + vertices[2].Pos.Y = 0.5 * BS; + vertices[3].Pos.Y = 0.5 * BS; + } else { /* Otherwise upper position of face is liquid level */ - else - { - vertices[2].Pos.Y = (node_liquid_level-0.5)*BS; - vertices[3].Pos.Y = (node_liquid_level-0.5)*BS; + vertices[2].Pos.Y = 0.5 * BS; + vertices[3].Pos.Y = 0.5 * BS; } /* If neighbor is liquid, lower border of face is liquid level */ - if(neighbor_is_same_liquid) - { - vertices[0].Pos.Y = (node_liquid_level-0.5)*BS; - vertices[1].Pos.Y = (node_liquid_level-0.5)*BS; - } + if (neighbor_is_same_liquid) { + vertices[0].Pos.Y = 0.5 * BS; + vertices[1].Pos.Y = 0.5 * BS; + } else { /* If neighbor is not liquid, lower border of face is lower border of node */ - else - { - vertices[0].Pos.Y = -0.5*BS; - vertices[1].Pos.Y = -0.5*BS; + vertices[0].Pos.Y = -0.5 * BS; + vertices[1].Pos.Y = -0.5 * BS; } for(s32 j=0; j<4; j++) @@ -358,7 +347,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data, video::S3DVertex(-BS/2,0,-BS/2, 0,0,0, c, 0,0), }; - v3f offset(p.X*BS, p.Y*BS + (-0.5+node_liquid_level)*BS, p.Z*BS); + v3f offset(p.X * BS, (p.Y + 0.5) * BS, p.Z * BS); for(s32 i=0; i<4; i++) { vertices[i].Pos += offset; @@ -431,14 +420,14 @@ void mapblock_mesh_generate_special(MeshMakeData *data, content = n2.getContent(); if(n2.getContent() == c_source) - level = (-0.5+node_liquid_level) * BS; + level = 0.5 * BS; else if(n2.getContent() == c_flowing){ u8 liquid_level = (n2.param2&LIQUID_LEVEL_MASK); if (liquid_level <= LIQUID_LEVEL_MAX+1-range) liquid_level = 0; else liquid_level -= (LIQUID_LEVEL_MAX+1-range); - level = (-0.5 + ((float)liquid_level+ 0.5) / (float)range * node_liquid_level) * BS; + level = (-0.5 + ((float)liquid_level + 0.5) / (float)range) * BS; } // Check node above neighbor. @@ -486,7 +475,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data, // Source is always the same height else if(content == c_source) { - cornerlevel = (-0.5+node_liquid_level)*BS; + cornerlevel = 0.5 * BS; valid_count = 1; break; } |