]> git.lizzy.rs Git - minetest.git/blobdiff - src/mapgen_indev.h
Fix red background missing in deathscreen
[minetest.git] / src / mapgen_indev.h
index 87ae39d0993798e97c2b1b3757b19fd9836203e9..d8be7dce9a4f0b358d4453e57ffebbd5fae4b1ad 100644 (file)
@@ -32,102 +32,71 @@ struct NoiseIndevParams : public NoiseParams {
        float farscale;
        float farspread;
 
-       NoiseIndevParams(){}
-       NoiseIndevParams(float offset_, float scale_, v3f spread_, int seed_, int octaves_, float persist_, float farscale_ = 1, float farspread_ = 1)
+       NoiseIndevParams() {}
+       NoiseIndevParams(float offset_, float scale_, v3f spread_,
+                                        int seed_, int octaves_, float persist_,
+                                         float farscale_ = 1, float farspread_ = 1)
        {
-               offset = offset_;
-               scale = scale_;
-               spread = spread_;
-               seed = seed_;
+               offset  = offset_;
+               scale   = scale_;
+               spread  = spread_;
+               seed    = seed_;
                octaves = octaves_;
                persist = persist_;
 
-               farscale = farscale_;
+               farscale  = farscale_;
                farspread = farspread_;
        }
-
+       
+       ~NoiseIndevParams() {}
 };
 
-#define getNoiseIndevParams(x) getStruct<NoiseIndevParams>((x), "f,f,v3,s32,s32,f,f,f")
-#define setNoiseIndevParams(x, y) setStruct((x), "f,f,v3,s32,s32,f,f,f", (y))
+#define getNoiseIndevParams(x, y) getStruct((x), "f,f,v3,s32,s32,f,f,f", &(y), sizeof(y))
+#define setNoiseIndevParams(x, y) setStruct((x), "f,f,v3,s32,s32,f,f,f", &(y))
 
 class NoiseIndev : public Noise {
-    public:
+public:
        NoiseIndevParams *npindev;
 
-       //NoiseIndev() {};
+       virtual ~NoiseIndev() {};
        NoiseIndev(NoiseIndevParams *np, int seed, int sx, int sy);
        NoiseIndev(NoiseIndevParams *np, int seed, int sx, int sy, int sz);
-       void init(NoiseIndevParams *np, int seed, int sx, int sy, int sz);
+       void init(NoiseParams *np, int seed, int sx, int sy, int sz);
        void transformNoiseMapFarScale(float xx = 0, float yy = 0, float zz = 0);
 };
 
-extern NoiseIndevParams nparams_indev_def;
-/*
-extern NoiseIndevParams nparams_indev_def_terrain_base;
-extern NoiseIndevParams nparams_indev_def_terrain_higher;
-extern NoiseIndevParams nparams_indev_def_steepness;
-//extern NoiseIndevParams nparams_indev_def_height_select;
-//extern NoiseIndevParams nparams_indev_def_trees;
-extern NoiseIndevParams nparams_indev_def_mud;
-//extern NoiseIndevParams nparams_indev_def_beach;
-extern NoiseIndevParams nparams_indev_def_biome;
-//extern NoiseIndevParams nparams_indev_def_cave;
-extern NoiseIndevParams nparams_indev_def_float_islands;
-*/
 
 struct MapgenIndevParams : public MapgenV6Params {
-       NoiseIndevParams *npindev_terrain_base;
-       NoiseIndevParams *npindev_terrain_higher;
-       NoiseIndevParams *npindev_steepness;
-       //NoiseParams *np_height_select;
-       //NoiseParams *np_trees;
-       NoiseIndevParams *npindev_mud;
-       //NoiseParams *np_beach;
-       NoiseIndevParams *npindev_biome;
-       //NoiseParams *np_cave;
-       NoiseIndevParams *npindev_float_islands1;
-       NoiseIndevParams *npindev_float_islands2;
-       NoiseIndevParams *npindev_float_islands3;
-
-       MapgenIndevParams() {
-               //freq_desert       = 0.45;
-               //freq_beach        = 0.15;
-               npindev_terrain_base   = &nparams_indev_def; //&nparams_indev_def_terrain_base;
-               npindev_terrain_higher = &nparams_indev_def; //&nparams_indev_def_terrain_higher;
-               npindev_steepness      = &nparams_indev_def; //&nparams_indev_def_steepness;
-               //np_height_select  = &nparams_v6_def_height_select;
-               //np_trees          = &nparams_v6_def_trees;
-               npindev_mud            = &nparams_indev_def; //&nparams_indev_def_mud;
-               //np_beach          = &nparams_v6_def_beach;
-               npindev_biome          = &nparams_indev_def; //&nparams_indev_def_biome;
-               //np_cave           = &nparams_v6_def_cave;
-               npindev_float_islands1  = &nparams_indev_def; //&nparams_indev_def_float_islands;
-               npindev_float_islands2  = &nparams_indev_def; //&nparams_indev_def_float_islands;
-               npindev_float_islands3  = &nparams_indev_def; //&nparams_indev_def_float_islands;
-
-       }
-
-       bool readParams(Settings *settings);
+       s16 float_islands;
+       NoiseIndevParams npindev_terrain_base;
+       NoiseIndevParams npindev_terrain_higher;
+       NoiseIndevParams npindev_steepness;
+       NoiseIndevParams npindev_mud;
+       NoiseIndevParams npindev_biome;
+       NoiseIndevParams npindev_float_islands1;
+       NoiseIndevParams npindev_float_islands2;
+       NoiseIndevParams npindev_float_islands3;
+
+       MapgenIndevParams();
+       ~MapgenIndevParams() {}
+
+       void readParams(Settings *settings);
        void writeParams(Settings *settings);
 };
 
 class MapgenIndev : public MapgenV6 {
-    public:
+public:
        NoiseIndev *noiseindev_terrain_base;
        NoiseIndev *noiseindev_terrain_higher;
        NoiseIndev *noiseindev_steepness;
-       //NoiseIndev *noise_height_select;
-       //NoiseIndev *noise_trees;
        NoiseIndev *noiseindev_mud;
-       //NoiseIndev *noise_beach;
        NoiseIndev *noiseindev_biome;
-       //NoiseIndevParams *np_cave;
        NoiseIndev *noiseindev_float_islands1;
        NoiseIndev *noiseindev_float_islands2;
        NoiseIndev *noiseindev_float_islands3;
+       s16 float_islands;
 
-       MapgenIndev(int mapgenid, MapgenIndevParams *params, EmergeManager *emerge);
+       MapgenIndev(int mapgenid, MapgenParams *params, EmergeManager *emerge);
        ~MapgenIndev();
        void calculateNoise();
 
@@ -135,7 +104,6 @@ class MapgenIndev : public MapgenV6 {
        float baseTerrainLevelFromMap(int index);
        float getMudAmount(int index);
        void generateCaves(int max_stone_y);
-       //void defineCave(Cave & cave, PseudoRandom ps, v3s16 node_min, bool large_cave);
        void generateExperimental();
        
        void generateFloatIslands(int min_y);
@@ -143,10 +111,10 @@ class MapgenIndev : public MapgenV6 {
 
 struct MapgenFactoryIndev : public MapgenFactoryV6 {
        Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) {
-               return new MapgenIndev(mgid, (MapgenIndevParams *)params, emerge);
+               return new MapgenIndev(mgid, params, emerge);
        };
 
-       MapgenParams *createMapgenParams() {
+       MapgenSpecificParams *createMapgenParams() {
                return new MapgenIndevParams();
        };
 };