diff options
author | kwolekr <kwolekr@minetest.net> | 2016-06-04 03:00:45 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2016-06-04 03:00:45 -0400 |
commit | 109c7e334920f859068aeda31463f644e6b69895 (patch) | |
tree | 27284495f306372e348abbd6daebeefc34137ae7 | |
parent | 8ed467d438634ffe45806a6a6a325bb00774d651 (diff) | |
download | minetest-109c7e334920f859068aeda31463f644e6b69895.tar.gz minetest-109c7e334920f859068aeda31463f644e6b69895.tar.bz2 minetest-109c7e334920f859068aeda31463f644e6b69895.zip |
Biomes: Define and use biome_t for biome IDs
-rw-r--r-- | src/mapgen.h | 4 | ||||
-rw-r--r-- | src/mg_biome.cpp | 4 | ||||
-rw-r--r-- | src/mg_biome.h | 13 |
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; |