diff options
author | kwolekr <kwolekr@minetest.net> | 2014-12-17 03:20:17 -0500 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2014-12-27 02:12:21 -0500 |
commit | b67f37f27ea7d89b2098fa9fcc2533fa1091e695 (patch) | |
tree | b97d7c98fc29677dfc57fa8f8af4332ff9d0c87c /src/mg_decoration.h | |
parent | 3ea5ed4ffe600fa11a3deb3de58d5bd5bbb65ee1 (diff) | |
download | minetest-b67f37f27ea7d89b2098fa9fcc2533fa1091e695.tar.gz minetest-b67f37f27ea7d89b2098fa9fcc2533fa1091e695.tar.bz2 minetest-b67f37f27ea7d89b2098fa9fcc2533fa1091e695.zip |
Redefine NodeResolver interface and replace with callback mechanism
Diffstat (limited to 'src/mg_decoration.h')
-rw-r--r-- | src/mg_decoration.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mg_decoration.h b/src/mg_decoration.h index dffb524f3..910f1a581 100644 --- a/src/mg_decoration.h +++ b/src/mg_decoration.h @@ -58,7 +58,7 @@ struct CutoffData { }; #endif -class Decoration : public GenElement { +class Decoration : public GenElement, public NodeResolver { public: INodeDefManager *ndef; @@ -76,12 +76,13 @@ public: Decoration(); virtual ~Decoration(); + virtual void resolveNodeNames(NodeResolveInfo *nri); + size_t placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); size_t placeCutoffs(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p) = 0; virtual int getHeight() = 0; - virtual void dropResolverEntries(NodeResolver *resolver) {} }; class DecoSimple : public Decoration { @@ -92,12 +93,11 @@ public: s16 deco_height_max; s16 nspawnby; - ~DecoSimple() {} + virtual void resolveNodeNames(NodeResolveInfo *nri); bool canPlaceDecoration(ManualMapVoxelManipulator *vm, v3s16 p); virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p); virtual int getHeight(); - virtual void dropResolverEntries(NodeResolver *resolver); }; class DecoSchematic : public Decoration { @@ -106,8 +106,6 @@ public: Schematic *schematic; std::string filename; - ~DecoSchematic() {} - virtual size_t generate(Mapgen *mg, PseudoRandom *pr, s16 max_y, v3s16 p); virtual int getHeight(); }; |