Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Biomes: Define and use biome_t for biome IDs
  • Loading branch information
kwolekr committed Jun 4, 2016
1 parent 8ed467d commit 109c7e3
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
4 changes: 3 additions & 1 deletion src/mapgen.h
Expand Up @@ -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;
Expand Down Expand Up @@ -161,7 +163,7 @@ class Mapgen {

u32 blockseed;
s16 *heightmap;
u8 *biomemap;
biome_t *biomemap;
v3s16 csize;

BiomeGen *biomegen;
Expand Down
4 changes: 2 additions & 2 deletions src/mg_biome.cpp
Expand Up @@ -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()
Expand Down Expand Up @@ -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(
Expand Down
13 changes: 6 additions & 7 deletions src/mg_biome.h
Expand Up @@ -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 {
Expand Down Expand Up @@ -101,7 +103,7 @@ class BiomeGen {
// 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).
Expand All @@ -111,7 +113,7 @@ class BiomeGen {
virtual Biome *getBiomeAtIndex(size_t index, s16 y) const = 0;

// Result of calcBiomes bulk computation.
u8 *biomemap;
biome_t *biomemap;

protected:
BiomeManager *m_bmgr;
Expand Down Expand Up @@ -157,7 +159,7 @@ class BiomeGenOriginal : public BiomeGen {
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;

Expand Down Expand Up @@ -218,9 +220,6 @@ class BiomeManager : public ObjDefManager {

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;

Expand Down

0 comments on commit 109c7e3

Please sign in to comment.