diff options
author | kwolekr <kwolekr@minetest.net> | 2016-06-14 00:10:55 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2016-07-03 14:04:11 -0400 |
commit | 92705306bfb4994107a43514f29997cea15d48dc (patch) | |
tree | d1919cc2b5091ef6e31cdd312f5cd92ba058e76e /src/mapgen_singlenode.h | |
parent | 70e2c1c7d413d20757f571e3f1e02b05c95418f1 (diff) | |
download | minetest-92705306bfb4994107a43514f29997cea15d48dc.tar.gz minetest-92705306bfb4994107a43514f29997cea15d48dc.tar.bz2 minetest-92705306bfb4994107a43514f29997cea15d48dc.zip |
Mapgen: Refactor mapgen creation and management
- Move mapgen creation logic out of EmergeManager and into Mapgen
- Internally represent mapgen type as an enum value, instead of a string
- Remove the need for a MapgenFactory per mapgen
Diffstat (limited to 'src/mapgen_singlenode.h')
-rw-r--r-- | src/mapgen_singlenode.h | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/mapgen_singlenode.h b/src/mapgen_singlenode.h index 2c6496c00..58672a0ed 100644 --- a/src/mapgen_singlenode.h +++ b/src/mapgen_singlenode.h @@ -23,10 +23,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mapgen.h" struct MapgenSinglenodeParams : public MapgenSpecificParams { - MapgenSinglenodeParams() {} ~MapgenSinglenodeParams() {} - + void readParams(const Settings *settings) {} void writeParams(Settings *settings) const {} }; @@ -39,19 +38,11 @@ public: MapgenSinglenode(int mapgenid, MapgenParams *params, EmergeManager *emerge); ~MapgenSinglenode(); - + + virtual MapgenType getType() const { return MAPGEN_SINGLENODE; } + void makeChunk(BlockMakeData *data); int getSpawnLevelAtPoint(v2s16 p); }; -struct MapgenFactorySinglenode : public MapgenFactory { - Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) { - return new MapgenSinglenode(mgid, params, emerge); - }; - - MapgenSpecificParams *createMapgenParams() { - return new MapgenSinglenodeParams(); - }; -}; - #endif |