mirror of
https://github.com/minetest/minetest.git
synced 2024-12-23 22:52:25 +01:00
Add optional framed glasslike drawtype
This commit is contained in:
parent
e9c9b66ae9
commit
f48f686930
@ -132,18 +132,18 @@ local function formspec(tabview, name, tabdata)
|
|||||||
local tab_string =
|
local tab_string =
|
||||||
"vertlabel[0,-0.25;" .. fgettext("SETTINGS") .. "]" ..
|
"vertlabel[0,-0.25;" .. fgettext("SETTINGS") .. "]" ..
|
||||||
"box[0.75,0;3.25,4;#999999]" ..
|
"box[0.75,0;3.25,4;#999999]" ..
|
||||||
"checkbox[1,0;cb_fancy_trees;".. fgettext("Fancy Trees") .. ";"
|
"checkbox[1,0;cb_smooth_lighting;".. fgettext("Smooth Lighting")
|
||||||
.. dump(core.setting_getbool("new_style_leaves")) .. "]"..
|
|
||||||
"checkbox[1,0.5;cb_smooth_lighting;".. fgettext("Smooth Lighting")
|
|
||||||
.. ";".. dump(core.setting_getbool("smooth_lighting")) .. "]"..
|
.. ";".. dump(core.setting_getbool("smooth_lighting")) .. "]"..
|
||||||
|
"checkbox[1,0.5;cb_particles;".. fgettext("Enable Particles") .. ";"
|
||||||
|
.. dump(core.setting_getbool("enable_particles")) .. "]"..
|
||||||
"checkbox[1,1;cb_3d_clouds;".. fgettext("3D Clouds") .. ";"
|
"checkbox[1,1;cb_3d_clouds;".. fgettext("3D Clouds") .. ";"
|
||||||
.. dump(core.setting_getbool("enable_3d_clouds")) .. "]"..
|
.. dump(core.setting_getbool("enable_3d_clouds")) .. "]"..
|
||||||
"checkbox[1,1.5;cb_opaque_water;".. fgettext("Opaque Water") .. ";"
|
"checkbox[1,1.5;cb_fancy_trees;".. fgettext("Fancy Trees") .. ";"
|
||||||
|
.. dump(core.setting_getbool("new_style_leaves")) .. "]"..
|
||||||
|
"checkbox[1,2.0;cb_opaque_water;".. fgettext("Opaque Water") .. ";"
|
||||||
.. dump(core.setting_getbool("opaque_water")) .. "]"..
|
.. dump(core.setting_getbool("opaque_water")) .. "]"..
|
||||||
"checkbox[1,2.0;cb_pre_ivis;".. fgettext("Preload item visuals") .. ";"
|
"checkbox[1,2.5;cb_connected_glass;".. fgettext("Connected Glass") .. ";"
|
||||||
.. dump(core.setting_getbool("preload_item_visuals")) .. "]"..
|
.. dump(core.setting_getbool("connected_glass")) .. "]"..
|
||||||
"checkbox[1,2.5;cb_particles;".. fgettext("Enable Particles") .. ";"
|
|
||||||
.. dump(core.setting_getbool("enable_particles")) .. "]"..
|
|
||||||
"dropdown[1,3.25;3;dd_video_driver;"
|
"dropdown[1,3.25;3;dd_video_driver;"
|
||||||
.. video_driver_string .. ";" .. current_video_driver_idx .. "]" ..
|
.. video_driver_string .. ";" .. current_video_driver_idx .. "]" ..
|
||||||
"tooltip[dd_video_driver;" ..
|
"tooltip[dd_video_driver;" ..
|
||||||
@ -259,8 +259,8 @@ local function handle_settings_buttons(this, fields, tabname, tabdata)
|
|||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
if fields["cb_pre_ivis"] then
|
if fields["cb_connected_glass"] then
|
||||||
core.setting_set("preload_item_visuals", fields["cb_pre_ivis"])
|
core.setting_set("connected_glass", fields["cb_connected_glass"])
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
if fields["cb_particles"] then
|
if fields["cb_particles"] then
|
||||||
|
@ -406,8 +406,7 @@ Nodes can also contain extra data. See "Node Metadata".
|
|||||||
|
|
||||||
Node drawtypes
|
Node drawtypes
|
||||||
---------------
|
---------------
|
||||||
There are a bunch of different looking node types. These are mostly just
|
There are a bunch of different looking node types.
|
||||||
copied from Minetest 0.3; more may be made in the future.
|
|
||||||
|
|
||||||
Look for examples in games/minimal or games/minetest_game.
|
Look for examples in games/minimal or games/minetest_game.
|
||||||
|
|
||||||
@ -417,6 +416,7 @@ Look for examples in games/minimal or games/minetest_game.
|
|||||||
- flowingliquid
|
- flowingliquid
|
||||||
- glasslike
|
- glasslike
|
||||||
- glasslike_framed
|
- glasslike_framed
|
||||||
|
- glasslike_framed_optional
|
||||||
- allfaces
|
- allfaces
|
||||||
- allfaces_optional
|
- allfaces_optional
|
||||||
- torchlike
|
- torchlike
|
||||||
@ -427,6 +427,8 @@ Look for examples in games/minimal or games/minetest_game.
|
|||||||
- raillike
|
- raillike
|
||||||
- nodebox -- See below. EXPERIMENTAL
|
- nodebox -- See below. EXPERIMENTAL
|
||||||
|
|
||||||
|
*_optional drawtypes need less rendering time if deactivated (always client side)
|
||||||
|
|
||||||
Node boxes
|
Node boxes
|
||||||
-----------
|
-----------
|
||||||
Node selection boxes are defined using "node boxes"
|
Node selection boxes are defined using "node boxes"
|
||||||
|
@ -101,6 +101,8 @@
|
|||||||
#liquid_update = 1.0
|
#liquid_update = 1.0
|
||||||
# Enable nice leaves; disable for speed
|
# Enable nice leaves; disable for speed
|
||||||
#new_style_leaves = true
|
#new_style_leaves = true
|
||||||
|
# Connects glass if supported by node
|
||||||
|
#connected_glass = false
|
||||||
# Enable smooth lighting with simple ambient occlusion;
|
# Enable smooth lighting with simple ambient occlusion;
|
||||||
# disable for speed or for different looks.
|
# disable for speed or for different looks.
|
||||||
#smooth_lighting = true
|
#smooth_lighting = true
|
||||||
|
@ -794,6 +794,10 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
|||||||
collector.append(tile, vertices, 4, indices, 6);
|
collector.append(tile, vertices, 4, indices, 6);
|
||||||
}
|
}
|
||||||
break;}
|
break;}
|
||||||
|
case NDT_GLASSLIKE_FRAMED_OPTIONAL:
|
||||||
|
// This is always pre-converted to something else
|
||||||
|
assert(0);
|
||||||
|
break;
|
||||||
case NDT_GLASSLIKE_FRAMED:
|
case NDT_GLASSLIKE_FRAMED:
|
||||||
{
|
{
|
||||||
static const v3s16 dirs[6] = {
|
static const v3s16 dirs[6] = {
|
||||||
|
@ -100,6 +100,7 @@ void set_default_settings(Settings *settings)
|
|||||||
settings->setDefault("view_bobbing", "true");
|
settings->setDefault("view_bobbing", "true");
|
||||||
settings->setDefault("new_style_water", "false");
|
settings->setDefault("new_style_water", "false");
|
||||||
settings->setDefault("new_style_leaves", "true");
|
settings->setDefault("new_style_leaves", "true");
|
||||||
|
settings->setDefault("connected_glass", "false");
|
||||||
settings->setDefault("smooth_lighting", "true");
|
settings->setDefault("smooth_lighting", "true");
|
||||||
settings->setDefault("texture_path", "");
|
settings->setDefault("texture_path", "");
|
||||||
settings->setDefault("shader_path", "");
|
settings->setDefault("shader_path", "");
|
||||||
|
@ -607,6 +607,7 @@ public:
|
|||||||
|
|
||||||
bool new_style_water = g_settings->getBool("new_style_water");
|
bool new_style_water = g_settings->getBool("new_style_water");
|
||||||
bool new_style_leaves = g_settings->getBool("new_style_leaves");
|
bool new_style_leaves = g_settings->getBool("new_style_leaves");
|
||||||
|
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");
|
||||||
bool enable_bumpmapping = g_settings->getBool("enable_bumpmapping");
|
bool enable_bumpmapping = g_settings->getBool("enable_bumpmapping");
|
||||||
@ -666,6 +667,15 @@ public:
|
|||||||
f->solidness = 0;
|
f->solidness = 0;
|
||||||
f->visual_solidness = 1;
|
f->visual_solidness = 1;
|
||||||
break;
|
break;
|
||||||
|
case NDT_GLASSLIKE_FRAMED_OPTIONAL:
|
||||||
|
f->solidness = 0;
|
||||||
|
f->visual_solidness = 1;
|
||||||
|
if (connected_glass) {
|
||||||
|
f->drawtype = NDT_GLASSLIKE_FRAMED;
|
||||||
|
} else {
|
||||||
|
f->drawtype = NDT_GLASSLIKE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case NDT_ALLFACES:
|
case NDT_ALLFACES:
|
||||||
f->solidness = 0;
|
f->solidness = 0;
|
||||||
f->visual_solidness = 1;
|
f->visual_solidness = 1;
|
||||||
|
@ -149,7 +149,9 @@ enum NodeDrawType
|
|||||||
NDT_GLASSLIKE_FRAMED, // Glass-like, draw connected frames and all all
|
NDT_GLASSLIKE_FRAMED, // Glass-like, draw connected frames and all all
|
||||||
// visible faces
|
// visible faces
|
||||||
// uses 2 textures, one for frames, second for faces
|
// uses 2 textures, one for frames, second for faces
|
||||||
NDT_FIRELIKE, // Draw faces slightly rotated and only on connecting nodes
|
NDT_FIRELIKE, // Draw faces slightly rotated and only on connecting nodes,
|
||||||
|
NDT_GLASSLIKE_FRAMED_OPTIONAL, // enabled -> connected, disabled -> Glass-like
|
||||||
|
// uses 2 textures, one for frames, second for faces
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CF_SPECIAL_COUNT 6
|
#define CF_SPECIAL_COUNT 6
|
||||||
|
@ -35,6 +35,7 @@ struct EnumString ScriptApiNode::es_DrawType[] =
|
|||||||
{NDT_FLOWINGLIQUID, "flowingliquid"},
|
{NDT_FLOWINGLIQUID, "flowingliquid"},
|
||||||
{NDT_GLASSLIKE, "glasslike"},
|
{NDT_GLASSLIKE, "glasslike"},
|
||||||
{NDT_GLASSLIKE_FRAMED, "glasslike_framed"},
|
{NDT_GLASSLIKE_FRAMED, "glasslike_framed"},
|
||||||
|
{NDT_GLASSLIKE_FRAMED_OPTIONAL, "glasslike_framed_optional"},
|
||||||
{NDT_ALLFACES, "allfaces"},
|
{NDT_ALLFACES, "allfaces"},
|
||||||
{NDT_ALLFACES_OPTIONAL, "allfaces_optional"},
|
{NDT_ALLFACES_OPTIONAL, "allfaces_optional"},
|
||||||
{NDT_TORCHLIKE, "torchlike"},
|
{NDT_TORCHLIKE, "torchlike"},
|
||||||
|
@ -645,7 +645,8 @@ ShaderInfo generate_shader(std::string name, u8 material_type, u8 drawtype,
|
|||||||
"NDT_RAILLIKE",
|
"NDT_RAILLIKE",
|
||||||
"NDT_NODEBOX",
|
"NDT_NODEBOX",
|
||||||
"NDT_GLASSLIKE_FRAMED",
|
"NDT_GLASSLIKE_FRAMED",
|
||||||
"NDT_FIRELIKE"
|
"NDT_FIRELIKE",
|
||||||
|
"NDT_GLASSLIKE_FRAMED_OPTIONAL"
|
||||||
};
|
};
|
||||||
|
|
||||||
for (int i = 0; i < 14; i++){
|
for (int i = 0; i < 14; i++){
|
||||||
|
Loading…
Reference in New Issue
Block a user