mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-15 18:57:08 +00:00
Custom boxy nodes (stairs, slabs) and collision changes
This commit is contained in:
parent
9f031a6759
commit
1575448b1a
19 changed files with 1105 additions and 646 deletions
|
@ -65,7 +65,7 @@ enum LiquidType
|
|||
enum NodeBoxType
|
||||
{
|
||||
NODEBOX_REGULAR, // Regular block; allows buildable_to
|
||||
NODEBOX_FIXED, // Static separately defined box
|
||||
NODEBOX_FIXED, // Static separately defined box(es)
|
||||
NODEBOX_WALLMOUNTED, // Box for wall mounted nodes; (top, bottom, side)
|
||||
};
|
||||
|
||||
|
@ -74,22 +74,16 @@ struct NodeBox
|
|||
enum NodeBoxType type;
|
||||
// NODEBOX_REGULAR (no parameters)
|
||||
// NODEBOX_FIXED
|
||||
core::aabbox3d<f32> fixed;
|
||||
std::vector<aabb3f> fixed;
|
||||
// NODEBOX_WALLMOUNTED
|
||||
core::aabbox3d<f32> wall_top;
|
||||
core::aabbox3d<f32> wall_bottom;
|
||||
core::aabbox3d<f32> wall_side; // being at the -X side
|
||||
aabb3f wall_top;
|
||||
aabb3f wall_bottom;
|
||||
aabb3f wall_side; // being at the -X side
|
||||
|
||||
NodeBox():
|
||||
type(NODEBOX_REGULAR),
|
||||
// default is rail-like
|
||||
fixed(-BS/2, -BS/2, -BS/2, BS/2, -BS/2+BS/16., BS/2),
|
||||
// default is sign/ladder-like
|
||||
wall_top(-BS/2, BS/2-BS/16., -BS/2, BS/2, BS/2, BS/2),
|
||||
wall_bottom(-BS/2, -BS/2, -BS/2, BS/2, -BS/2+BS/16., BS/2),
|
||||
wall_side(-BS/2, -BS/2, -BS/2, -BS/2+BS/16., BS/2, BS/2)
|
||||
{}
|
||||
NodeBox()
|
||||
{ reset(); }
|
||||
|
||||
void reset();
|
||||
void serialize(std::ostream &os) const;
|
||||
void deSerialize(std::istream &is);
|
||||
};
|
||||
|
@ -143,6 +137,7 @@ enum NodeDrawType
|
|||
NDT_PLANTLIKE,
|
||||
NDT_FENCELIKE,
|
||||
NDT_RAILLIKE,
|
||||
NDT_NODEBOX,
|
||||
};
|
||||
|
||||
#define CF_SPECIAL_COUNT 2
|
||||
|
@ -217,6 +212,7 @@ struct ContentFeatures
|
|||
// Amount of light the node emits
|
||||
u8 light_source;
|
||||
u32 damage_per_second;
|
||||
NodeBox node_box;
|
||||
NodeBox selection_box;
|
||||
// Compatibility with old maps
|
||||
// Set to true if paramtype used to be 'facedir_simple'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue