Skip to content
Permalink
Browse files

Remove new_style_water

  • Loading branch information...
RealBadAngel authored and paramat committed Feb 21, 2016
1 parent 4efb7eb commit 8eb7ddb0a2f03ae514a96191f6edba9333ba2423
Showing with 17 additions and 41 deletions.
  1. +0 −5 builtin/settingtypes.txt
  2. +0 −6 minetest.conf.example
  3. +16 −27 src/content_mapblock.cpp
  4. +0 −1 src/defaultsettings.cpp
  5. +1 −2 src/nodedef.cpp
@@ -255,11 +255,6 @@ serverlist_file (Serverlist file) string favoriteservers.txt
# Whether to fog out the end of the visible area.
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:
# - Fancy: all faces visible
# - Simple: only outer faces, if defined special_tiles are used
@@ -270,12 +270,6 @@
# type: bool
# 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:
# - Fancy: all faces visible
# - Simple: only outer faces, if defined special_tiles are used
@@ -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;
}
@@ -106,7 +106,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("enable_fog", "true");
settings->setDefault("fov", "72");
settings->setDefault("view_bobbing", "true");
settings->setDefault("new_style_water", "false");
settings->setDefault("leaves_style", "fancy");
settings->setDefault("connected_glass", "false");
settings->setDefault("smooth_lighting", "true");
@@ -806,7 +806,6 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef,
scene::ISceneManager* smgr = gamedef->getSceneManager();
scene::IMeshManipulator* meshmanip = smgr->getMeshManipulator();

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

0 comments on commit 8eb7ddb

Please sign in to comment.
You can’t perform that action at this time.