X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmapgen_flat.h;h=635d40625d77739d7ed184ac1e05de2375cf7397;hb=1105a14bccefb48a0e264fe19190c39629259338;hp=2b98c1f31a703b97efd2dc5da2324fe0eb90ebad;hpb=87bc39dca733a2cc805bc1071794c4d5d7937115;p=minetest.git diff --git a/src/mapgen_flat.h b/src/mapgen_flat.h index 2b98c1f31..635d40625 100644 --- a/src/mapgen_flat.h +++ b/src/mapgen_flat.h @@ -1,7 +1,7 @@ /* Minetest -Copyright (C) 2010-2015 kwolekr, Ryan Kwolek -Copyright (C) 2010-2015 paramat, Matt Gregory +Copyright (C) 2015-2017 paramat +Copyright (C) 2015-2016 kwolekr, Ryan Kwolek This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -18,8 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MAPGEN_FLAT_HEADER -#define MAPGEN_FLAT_HEADER +#pragma once #include "mapgen.h" @@ -31,31 +30,42 @@ class BiomeManager; extern FlagDesc flagdesc_mapgen_flat[]; - -struct MapgenFlatParams : public MapgenSpecificParams { - u32 spflags; - s16 ground_level; - s16 large_cave_depth; - float cave_width; - float lake_threshold; - float lake_steepness; - float hill_threshold; - float hill_steepness; +struct MapgenFlatParams : public MapgenParams +{ + u32 spflags = 0; + s16 ground_level = 8; + s16 large_cave_depth = -33; + s16 lava_depth = -256; + float cave_width = 0.09f; + float lake_threshold = -0.45f; + float lake_steepness = 48.0f; + float hill_threshold = 0.45f; + float hill_steepness = 64.0f; NoiseParams np_terrain; NoiseParams np_filler_depth; NoiseParams np_cave1; NoiseParams np_cave2; MapgenFlatParams(); - ~MapgenFlatParams() {} + ~MapgenFlatParams() = default; void readParams(const Settings *settings); void writeParams(Settings *settings) const; }; -class MapgenFlat : public MapgenBasic { +class MapgenFlat : public MapgenBasic +{ public: - u32 spflags; + MapgenFlat(int mapgenid, MapgenFlatParams *params, EmergeManager *emerge); + ~MapgenFlat(); + + virtual MapgenType getType() const { return MAPGEN_FLAT; } + + virtual void makeChunk(BlockMakeData *data); + int getSpawnLevelAtPoint(v2s16 p); + s16 generateTerrain(); + +private: s16 ground_level; s16 large_cave_depth; float lake_threshold; @@ -63,35 +73,4 @@ class MapgenFlat : public MapgenBasic { float hill_threshold; float hill_steepness; Noise *noise_terrain; - - content_t c_lava_source; - content_t c_ice; - - content_t c_cobble; - content_t c_stair_cobble; - content_t c_mossycobble; - content_t c_sandstonebrick; - content_t c_stair_sandstonebrick; - - MapgenFlat(int mapgenid, MapgenParams *params, EmergeManager *emerge); - ~MapgenFlat(); - - virtual void makeChunk(BlockMakeData *data); - int getSpawnLevelAtPoint(v2s16 p); - void calculateNoise(); - s16 generateTerrain(); -}; - -struct MapgenFactoryFlat : public MapgenFactory { - Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) - { - return new MapgenFlat(mgid, params, emerge); - }; - - MapgenSpecificParams *createMapgenParams() - { - return new MapgenFlatParams(); - }; }; - -#endif