aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2016-06-04 03:00:45 -0400
committerkwolekr <kwolekr@minetest.net>2016-06-04 03:00:45 -0400
commit109c7e334920f859068aeda31463f644e6b69895 (patch)
tree27284495f306372e348abbd6daebeefc34137ae7
parent8ed467d438634ffe45806a6a6a325bb00774d651 (diff)
downloadminetest-109c7e334920f859068aeda31463f644e6b69895.tar.gz
minetest-109c7e334920f859068aeda31463f644e6b69895.tar.bz2
minetest-109c7e334920f859068aeda31463f644e6b69895.zip
Biomes: Define and use biome_t for biome IDs
-rw-r--r--src/mapgen.h4
-rw-r--r--src/mg_biome.cpp4
-rw-r--r--src/mg_biome.h13
3 files changed, 11 insertions, 10 deletions
diff --git a/src/mapgen.h b/src/mapgen.h
index 0342fd46e..f673007b5 100644
--- a/src/mapgen.h
+++ b/src/mapgen.h
@@ -36,6 +36,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define MG_LIGHT 0x10
#define MG_DECORATIONS 0x20
+typedef u8 biome_t; // copy from mg_biome.h to avoid an unnecessary include
+
class Settings;
class MMVManip;
class INodeDefManager;
@@ -161,7 +163,7 @@ public:
u32 blockseed;
s16 *heightmap;
- u8 *biomemap;
+ biome_t *biomemap;
v3s16 csize;
BiomeGen *biomegen;
diff --git a/src/mg_biome.cpp b/src/mg_biome.cpp
index dac0f7acc..df728af33 100644
--- a/src/mg_biome.cpp
+++ b/src/mg_biome.cpp
@@ -128,7 +128,7 @@ BiomeGenOriginal::BiomeGenOriginal(BiomeManager *biomemgr,
heatmap = noise_heat->result;
humidmap = noise_humidity->result;
- biomemap = new u8[m_csize.X * m_csize.Z];
+ biomemap = new biome_t[m_csize.X * m_csize.Z];
}
BiomeGenOriginal::~BiomeGenOriginal()
@@ -171,7 +171,7 @@ void BiomeGenOriginal::calcBiomeNoise(v3s16 pmin)
}
-u8 *BiomeGenOriginal::getBiomes(s16 *heightmap)
+biome_t *BiomeGenOriginal::getBiomes(s16 *heightmap)
{
for (s32 i = 0; i != m_csize.X * m_csize.Z; i++) {
Biome *biome = calcBiomeFromNoise(
diff --git a/src/mg_biome.h b/src/mg_biome.h
index 389b7664f..568d0b1ac 100644
--- a/src/mg_biome.h
+++ b/src/mg_biome.h
@@ -31,7 +31,9 @@ class BiomeManager;
//// Biome
////
-#define BIOME_NONE ((u8)0)
+typedef u8 biome_t;
+
+#define BIOME_NONE ((biome_t)0)
// TODO(hmmmm): Decide whether this is obsolete or will be used in the future
enum BiomeType {
@@ -101,7 +103,7 @@ public:
// Gets all biomes in current chunk using each corresponding element of
// heightmap as the y position, then stores the results by biome index in
// biomemap (also returned)
- virtual u8 *getBiomes(s16 *heightmap) = 0;
+ virtual biome_t *getBiomes(s16 *heightmap) = 0;
// Gets a single biome at the specified position, which must be contained
// in the region formed by m_pmin and (m_pmin + m_csize - 1).
@@ -111,7 +113,7 @@ public:
virtual Biome *getBiomeAtIndex(size_t index, s16 y) const = 0;
// Result of calcBiomes bulk computation.
- u8 *biomemap;
+ biome_t *biomemap;
protected:
BiomeManager *m_bmgr;
@@ -157,7 +159,7 @@ public:
Biome *calcBiomeAtPoint(v3s16 pos) const;
void calcBiomeNoise(v3s16 pmin);
- u8 *getBiomes(s16 *heightmap);
+ biome_t *getBiomes(s16 *heightmap);
Biome *getBiomeAtPoint(v3s16 pos) const;
Biome *getBiomeAtIndex(size_t index, s16 y) const;
@@ -218,9 +220,6 @@ public:
virtual void clear();
- // Looks for pos in the biome cache, and if non-existent, looks up by noise
- u8 getBiomeAtPoint(v3s16 pos);
-
private:
IGameDef *m_gamedef;