summaryrefslogtreecommitdiff
path: root/src/mg_decoration.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-04-17 00:52:48 -0400
committerkwolekr <kwolekr@minetest.net>2015-04-17 00:53:05 -0400
commit406d9ba87b9f6e57b86c6282bf157e3341aa195c (patch)
treede88e4136a31c3e350a0257301b134555706ae82 /src/mg_decoration.h
parentf0a1379e5a9ebc954e95d07c1ad5d71587adc6bc (diff)
downloadminetest-406d9ba87b9f6e57b86c6282bf157e3341aa195c.tar.gz
minetest-406d9ba87b9f6e57b86c6282bf157e3341aa195c.tar.bz2
minetest-406d9ba87b9f6e57b86c6282bf157e3341aa195c.zip
Schematics: Remove referenced schematics from Decorations on clear
Diffstat (limited to 'src/mg_decoration.h')
-rw-r--r--src/mg_decoration.h45
1 files changed, 21 insertions, 24 deletions
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<u8> biomes;
//std::list<CutoffData> 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<content_t> c_decos;
std::vector<content_t> 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);
};