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_v5.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_v5.h')
-rw-r--r-- | src/mapgen_v5.h | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/mapgen_v5.h b/src/mapgen_v5.h index 4e1772a64..5f6b10383 100644 --- a/src/mapgen_v5.h +++ b/src/mapgen_v5.h @@ -53,6 +53,8 @@ public: MapgenV5(int mapgenid, MapgenParams *params, EmergeManager *emerge); ~MapgenV5(); + virtual MapgenType getType() const { return MAPGEN_V5; } + virtual void makeChunk(BlockMakeData *data); int getSpawnLevelAtPoint(v2s16 p); int generateBaseTerrain(); @@ -63,17 +65,4 @@ private: Noise *noise_ground; }; - -struct MapgenFactoryV5 : public MapgenFactory { - Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) - { - return new MapgenV5(mgid, params, emerge); - }; - - MapgenSpecificParams *createMapgenParams() - { - return new MapgenV5Params(); - }; -}; - #endif |