summaryrefslogtreecommitdiff
path: root/src/mapgen_singlenode.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2016-06-14 00:10:55 -0400
committerkwolekr <kwolekr@minetest.net>2016-07-03 14:04:11 -0400
commit92705306bfb4994107a43514f29997cea15d48dc (patch)
treed1919cc2b5091ef6e31cdd312f5cd92ba058e76e /src/mapgen_singlenode.h
parent70e2c1c7d413d20757f571e3f1e02b05c95418f1 (diff)
downloadminetest-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.h17
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