Remove new_style_water

This commit is contained in:
RealBadAngel 2016-02-21 07:34:29 +01:00 committed by paramat
parent 4efb7eb734
commit 8eb7ddb0a2
5 changed files with 17 additions and 41 deletions

@ -255,11 +255,6 @@ serverlist_file (Serverlist file) string favoriteservers.txt
# Whether to fog out the end of the visible area. # Whether to fog out the end of the visible area.
enable_fog (Fog) bool true enable_fog (Fog) bool true
# Enable a bit lower water surface, so it doesn't "fill" the node completely.
# Note that this is not quite optimized and that smooth lighting on the
# water surface doesn't work with this.
new_style_water (New style water) bool false
# Leaves style: # Leaves style:
# - Fancy: all faces visible # - Fancy: all faces visible
# - Simple: only outer faces, if defined special_tiles are used # - Simple: only outer faces, if defined special_tiles are used

@ -270,12 +270,6 @@
# type: bool # type: bool
# enable_fog = true # enable_fog = true
# Enable a bit lower water surface, so it doesn't "fill" the node completely.
# Note that this is not quite optimized and that smooth lighting on the
# water surface doesn't work with this.
# type: bool
# new_style_water = false
# Leaves style: # Leaves style:
# - Fancy: all faces visible # - Fancy: all faces visible
# - Simple: only outer faces, if defined special_tiles are used # - Simple: only outer faces, if defined special_tiles are used

@ -181,11 +181,6 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
Some settings Some settings
*/ */
bool enable_mesh_cache = g_settings->getBool("enable_mesh_cache"); 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; 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 If our topside is liquid, set upper border of face
at upper border of node at upper border of node
*/ */
if(top_is_same_liquid) if (top_is_same_liquid) {
{ vertices[2].Pos.Y = 0.5 * BS;
vertices[2].Pos.Y = 0.5*BS; vertices[3].Pos.Y = 0.5 * BS;
vertices[3].Pos.Y = 0.5*BS; } else {
}
/* /*
Otherwise upper position of face is liquid level Otherwise upper position of face is liquid level
*/ */
else vertices[2].Pos.Y = 0.5 * BS;
{ vertices[3].Pos.Y = 0.5 * BS;
vertices[2].Pos.Y = (node_liquid_level-0.5)*BS;
vertices[3].Pos.Y = (node_liquid_level-0.5)*BS;
} }
/* /*
If neighbor is liquid, lower border of face is liquid level If neighbor is liquid, lower border of face is liquid level
*/ */
if(neighbor_is_same_liquid) if (neighbor_is_same_liquid) {
{ vertices[0].Pos.Y = 0.5 * BS;
vertices[0].Pos.Y = (node_liquid_level-0.5)*BS; vertices[1].Pos.Y = 0.5 * BS;
vertices[1].Pos.Y = (node_liquid_level-0.5)*BS; } else {
}
/* /*
If neighbor is not liquid, lower border of face is If neighbor is not liquid, lower border of face is
lower border of node 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++) 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), 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++) for(s32 i=0; i<4; i++)
{ {
vertices[i].Pos += offset; vertices[i].Pos += offset;
@ -431,14 +420,14 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
content = n2.getContent(); content = n2.getContent();
if(n2.getContent() == c_source) if(n2.getContent() == c_source)
level = (-0.5+node_liquid_level) * BS; level = 0.5 * BS;
else if(n2.getContent() == c_flowing){ else if(n2.getContent() == c_flowing){
u8 liquid_level = (n2.param2&LIQUID_LEVEL_MASK); u8 liquid_level = (n2.param2&LIQUID_LEVEL_MASK);
if (liquid_level <= LIQUID_LEVEL_MAX+1-range) if (liquid_level <= LIQUID_LEVEL_MAX+1-range)
liquid_level = 0; liquid_level = 0;
else else
liquid_level -= (LIQUID_LEVEL_MAX+1-range); 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. // Check node above neighbor.
@ -486,7 +475,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
// Source is always the same height // Source is always the same height
else if(content == c_source) else if(content == c_source)
{ {
cornerlevel = (-0.5+node_liquid_level)*BS; cornerlevel = 0.5 * BS;
valid_count = 1; valid_count = 1;
break; break;
} }

@ -106,7 +106,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("enable_fog", "true"); settings->setDefault("enable_fog", "true");
settings->setDefault("fov", "72"); settings->setDefault("fov", "72");
settings->setDefault("view_bobbing", "true"); settings->setDefault("view_bobbing", "true");
settings->setDefault("new_style_water", "false");
settings->setDefault("leaves_style", "fancy"); settings->setDefault("leaves_style", "fancy");
settings->setDefault("connected_glass", "false"); settings->setDefault("connected_glass", "false");
settings->setDefault("smooth_lighting", "true"); settings->setDefault("smooth_lighting", "true");

@ -806,7 +806,6 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef,
scene::ISceneManager* smgr = gamedef->getSceneManager(); scene::ISceneManager* smgr = gamedef->getSceneManager();
scene::IMeshManipulator* meshmanip = smgr->getMeshManipulator(); scene::IMeshManipulator* meshmanip = smgr->getMeshManipulator();
bool new_style_water = g_settings->getBool("new_style_water");
bool connected_glass = g_settings->getBool("connected_glass"); bool connected_glass = g_settings->getBool("connected_glass");
bool opaque_water = g_settings->getBool("opaque_water"); bool opaque_water = g_settings->getBool("opaque_water");
bool enable_shaders = g_settings->getBool("enable_shaders"); bool enable_shaders = g_settings->getBool("enable_shaders");
@ -854,7 +853,7 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef,
assert(f->liquid_type == LIQUID_SOURCE); assert(f->liquid_type == LIQUID_SOURCE);
if (opaque_water) if (opaque_water)
f->alpha = 255; f->alpha = 255;
f->solidness = new_style_water ? 0 : 1; f->solidness = 0;
is_liquid = true; is_liquid = true;
break; break;
case NDT_FLOWINGLIQUID: case NDT_FLOWINGLIQUID: