2013-07-29 07:13:03 -04:00
|
|
|
|
|
|
|
// MineShafts.h
|
|
|
|
|
|
|
|
// Declares the cStructGenMineShafts class representing the structure generator for abandoned mineshafts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2014-05-09 04:59:33 -04:00
|
|
|
#include "GridStructGen.h"
|
2013-07-29 07:13:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class cStructGenMineShafts :
|
2014-05-09 04:59:33 -04:00
|
|
|
public cGridStructGen
|
2013-07-29 07:13:03 -04:00
|
|
|
{
|
2014-05-09 04:59:33 -04:00
|
|
|
typedef cGridStructGen super;
|
|
|
|
|
2013-07-29 07:13:03 -04:00
|
|
|
public:
|
|
|
|
cStructGenMineShafts(
|
2014-06-16 10:12:50 -04:00
|
|
|
int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxSystemSize,
|
2013-07-29 07:13:03 -04:00
|
|
|
int a_ChanceCorridor, int a_ChanceCrossing, int a_ChanceStaircase
|
|
|
|
);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
friend class cMineShaft;
|
|
|
|
friend class cMineShaftDirtRoom;
|
|
|
|
friend class cMineShaftCorridor;
|
|
|
|
friend class cMineShaftCrossing;
|
|
|
|
friend class cMineShaftStaircase;
|
|
|
|
class cMineShaftSystem; // fwd: MineShafts.cpp
|
|
|
|
|
2014-05-09 04:59:33 -04:00
|
|
|
cNoise m_Noise;
|
|
|
|
int m_GridSize; ///< Average spacing of the systems
|
|
|
|
int m_MaxSystemSize; ///< Maximum blcok size of a mineshaft system
|
|
|
|
int m_ProbLevelCorridor; ///< Probability level of a branch object being the corridor
|
|
|
|
int m_ProbLevelCrossing; ///< Probability level of a branch object being the crossing, minus Corridor
|
|
|
|
int m_ProbLevelStaircase; ///< Probability level of a branch object being the staircase, minus Crossing
|
2013-07-29 07:13:03 -04:00
|
|
|
|
2014-05-09 04:59:33 -04:00
|
|
|
// cGridStructGen overrides:
|
2014-06-16 10:12:50 -04:00
|
|
|
virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override;
|
2013-07-29 07:13:03 -04:00
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|