diff options
Diffstat (limited to 'src/Generating/Ravines.h')
-rw-r--r-- | src/Generating/Ravines.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/Generating/Ravines.h b/src/Generating/Ravines.h new file mode 100644 index 000000000..05164a5b2 --- /dev/null +++ b/src/Generating/Ravines.h @@ -0,0 +1,46 @@ + +// Ravines.h + +// Interfaces to the cStructGenRavines class representing the ravine structure generator + + + + + +#pragma once + +#include "ComposableGenerator.h" +#include "../Noise.h" + + + + + +class cStructGenRavines : + public cStructureGen +{ +public: + cStructGenRavines(int a_Seed, int a_Size); + ~cStructGenRavines(); + +protected: + class cRavine; // fwd: Ravines.cpp + typedef std::list<cRavine *> cRavines; + + cNoise m_Noise; + int m_Size; // Max size, in blocks, of the ravines generated + cRavines m_Cache; + + /// Clears everything from the cache + void ClearCache(void); + + /// Returns all ravines that *may* intersect the given chunk. All the ravines are valid until the next call to this function. + void GetRavinesForChunk(int a_ChunkX, int a_ChunkZ, cRavines & a_Ravines); + + // cStructureGen override: + virtual void GenStructures(cChunkDesc & a_ChunkDesc) override; +} ; + + + + |