]> git.lizzy.rs Git - minetest.git/blobdiff - src/mapgen.h
fix screen flickering black when rendering to texture
[minetest.git] / src / mapgen.h
index 207dfdaf78cfdb336d7ef2970475038a86695816..e2f20ecafdb92544390b8bd2a3ad66b6a27aa660 100644 (file)
@@ -3,16 +3,16 @@ Minetest-c55
 Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
 
 This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
 (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+GNU Lesser General Public License for more details.
 
-You should have received a copy of the GNU General Public License along
+You should have received a copy of the GNU Lesser General Public License along
 with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
@@ -20,8 +20,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef MAPGEN_HEADER
 #define MAPGEN_HEADER
 
-#include "common_irrlicht.h"
-#include "utility.h" // UniqueQueue
+#include "irrlichttypes_extrabloated.h"
+#include "util/container.h" // UniqueQueue
 
 struct BlockMakeData;
 class MapBlock;
@@ -36,12 +36,12 @@ namespace mapgen
        // Find out if block is completely underground
        bool block_is_underground(u64 seed, v3s16 blockpos);
 
+       // Get a pseudorandom seed for a position on the map
+       u32 get_blockseed(u64 seed, v3s16 p);
+
        // Main map generation routine
        void make_block(BlockMakeData *data);
        
-       // Add objects according to block content
-       void add_random_objects(MapBlock *block);
-
        // Add a tree
        void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0,
                        bool is_apple_tree, INodeDefManager *ndef);
@@ -49,16 +49,17 @@ namespace mapgen
        /*
                These are used by FarMesh
        */
-       bool get_have_sand(u64 seed, v2s16 p2d);
+       bool get_have_beach(u64 seed, v2s16 p2d);
        double tree_amount_2d(u64 seed, v2s16 p);
-       
 
        struct BlockMakeData
        {
                bool no_op;
                ManualMapVoxelManipulator *vmanip; // Destructor deletes
                u64 seed;
-               v3s16 blockpos;
+               v3s16 blockpos_min;
+               v3s16 blockpos_max;
+               v3s16 blockpos_requested;
                UniqueQueue<v3s16> transforming_liquid;
                INodeDefManager *nodedef;