]> git.lizzy.rs Git - minetest.git/blobdiff - src/mg_decoration.h
Small fixes of minetest.has_feature
[minetest.git] / src / mg_decoration.h
index c92cfe4dc522a191f7eecf3acdae00179f16ab96..c712ce7c8e5dfb672950457dda810804c9e19c30 100644 (file)
@@ -21,9 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define MG_DECORATION_HEADER
 
 #include <set>
-#include "mapgen.h"
+#include "objdef.h"
+#include "noise.h"
+#include "nodedef.h"
 
-struct NoiseParams;
 class Mapgen;
 class MMVManip;
 class PseudoRandom;
@@ -61,7 +62,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;
@@ -74,43 +84,33 @@ class Decoration : public ObjDef, public NodeResolver {
 
        std::set<u8> biomes;
        //std::list<CutoffData> cutoffs;
-       //JMutex cutoff_mutex;
-
-       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(MMVManip *vm, PseudoRandom *pr, v3s16 p) = 0;
-       virtual int getHeight() = 0;
+       //Mutex cutoff_mutex;
 };
 
 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<content_t> c_decos;
        std::vector<content_t> c_spawnby;
        s16 deco_height;
        s16 deco_height_max;
        s16 nspawnby;
-
-       virtual void resolveNodeNames(NodeResolveInfo *nri);
-
-       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 +124,7 @@ class DecoLSystem : public Decoration {
 class DecorationManager : public ObjDefManager {
 public:
        DecorationManager(IGameDef *gamedef);
-       ~DecorationManager() {}
+       virtual ~DecorationManager() {}
 
        const char *getObjectTitle() const
        {
@@ -145,8 +145,6 @@ class DecorationManager : public ObjDefManager {
                }
        }
 
-       void clear();
-
        size_t placeAllDecos(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
 };