From: Perttu Ahola Date: Wed, 16 Nov 2011 14:47:20 +0000 (+0200) Subject: MapNode constructor to allow ndef+name X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=eabfb370acfcaf4c9be680419d7c97cf7418faf4;p=zefram%2Fminetest%2Fminetest_engine.git MapNode constructor to allow ndef+name --- diff --git a/src/mapnode.cpp b/src/mapnode.cpp index c5756e8b..a757149b 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -155,6 +155,20 @@ v3s16 unpackDir(u8 b) MapNode */ +// Create directly from a nodename +// If name is unknown, sets CONTENT_IGNORE +MapNode::MapNode(INodeDefManager *ndef, const std::string &name, + u8 a_param1, u8 a_param2) +{ + content_t id = CONTENT_IGNORE; + ndef->getId(name, id); + param1 = a_param1; + param2 = a_param2; + // Set content (param0 and (param2&0xf0)) after other params + // because this needs to override part of param2 + setContent(id); +} + void MapNode::setLight(enum LightBank bank, u8 a_light, INodeDefManager *nodemgr) { // If node doesn't contain light data, ignore this diff --git a/src/mapnode.h b/src/mapnode.h index 285f197d..e287ea54 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -147,6 +147,11 @@ struct MapNode // because this needs to override part of param2 setContent(content); } + + // Create directly from a nodename + // If name is unknown, sets CONTENT_IGNORE + MapNode(INodeDefManager *ndef, const std::string &name, + u8 a_param1=0, u8 a_param2=0); bool operator==(const MapNode &other) {