From 406d9ba87b9f6e57b86c6282bf157e3341aa195c Mon Sep 17 00:00:00 2001 From: kwolekr Date: Fri, 17 Apr 2015 00:52:48 -0400 Subject: Schematics: Remove referenced schematics from Decorations on clear --- src/mg_decoration.h | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'src/mg_decoration.h') diff --git a/src/mg_decoration.h b/src/mg_decoration.h index 180c248be..8ece5d684 100644 --- a/src/mg_decoration.h +++ b/src/mg_decoration.h @@ -61,7 +61,16 @@ struct CutoffData { class Decoration : public ObjDef, public NodeResolver { public: - INodeDefManager *ndef; + Decoration(); + virtual ~Decoration(); + + virtual void resolveNodeNames(); + + 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(MMVManip *vm, PseudoRandom *pr, v3s16 p) = 0; + virtual int getHeight() = 0; u32 flags; int mapseed; @@ -75,42 +84,32 @@ public: std::set biomes; //std::list cutoffs; //JMutex cutoff_mutex; - - Decoration(); - virtual ~Decoration(); - - virtual void resolveNodeNames(); - - 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(MMVManip *vm, PseudoRandom *pr, v3s16 p) = 0; - virtual int getHeight() = 0; }; class DecoSimple : public Decoration { public: + virtual size_t generate(MMVManip *vm, PseudoRandom *pr, v3s16 p); + bool canPlaceDecoration(MMVManip *vm, v3s16 p); + virtual int getHeight(); + + virtual void resolveNodeNames(); + std::vector c_decos; std::vector c_spawnby; s16 deco_height; s16 deco_height_max; s16 nspawnby; - - virtual void resolveNodeNames(); - - bool canPlaceDecoration(MMVManip *vm, v3s16 p); - virtual size_t generate(MMVManip *vm, PseudoRandom *pr, v3s16 p); - virtual int getHeight(); }; class DecoSchematic : public Decoration { public: - Rotation rotation; - Schematic *schematic; - std::string filename; + DecoSchematic(); virtual size_t generate(MMVManip *vm, PseudoRandom *pr, v3s16 p); virtual int getHeight(); + + Rotation rotation; + Schematic *schematic; }; @@ -124,7 +123,7 @@ public: class DecorationManager : public ObjDefManager { public: DecorationManager(IGameDef *gamedef); - ~DecorationManager() {} + virtual ~DecorationManager() {} const char *getObjectTitle() const { @@ -145,8 +144,6 @@ public: } } - void clear(); - size_t placeAllDecos(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); }; -- cgit v1.2.3