summaryrefslogtreecommitdiffstats
path: root/src/Generating/RoughRavines.h
blob: 4c905b641b44ad993f68539b29fa770f602f979b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

// RoughRavines.h

// Declares the cRoughRavines class representing the rough ravine generator




#pragma once

#include "GridStructGen.h"





class cRoughRavines :
	public cGridStructGen
{
	typedef cGridStructGen super;
	
public:
	cRoughRavines(
		int a_Seed,
		int a_MaxSize, int a_MinSize,
		float a_MaxCenterWidth, float a_MinCenterWidth,
		float a_MaxRoughness,   float a_MinRoughness,
		float a_MaxFloorHeightEdge,     float a_MinFloorHeightEdge,
		float a_MaxFloorHeightCenter,   float a_MinFloorHeightCenter,
		float a_MaxCeilingHeightEdge,   float a_MinCeilingHeightEdge,
		float a_MaxCeilingHeightCenter, float a_MinCeilingHeightCenter,
		int a_GridSize, int a_MaxOffset
	);
	
protected:
	int m_Seed;
	
	/** Maximum size of the ravine, in each of the X / Z axis */
	int m_MaxSize;
	
	/** Minimum size of the ravine */
	int m_MinSize;

	/** Maximum width of the ravine's center, in blocks */
	float m_MaxCenterWidth;
	
	/** Minimum width of the ravine's center, in blocks */
	float m_MinCenterWidth;
	
	/** Maximum roughness of the ravine */
	float m_MaxRoughness;

	/** Minimum roughness of the ravine */
	float m_MinRoughness;

	/** Maximum floor height at the ravine's edge */
	float m_MaxFloorHeightEdge;
	
	/** Minimum floor height at the ravine's edge */
	float m_MinFloorHeightEdge;
	
	/** Maximum floor height at the ravine's center */
	float m_MaxFloorHeightCenter;
	
	/** Minimum floor height at the ravine's center */
	float m_MinFloorHeightCenter;
	
	/** Maximum ceiling height at the ravine's edge */
	float m_MaxCeilingHeightEdge;
	
	/** Minimum ceiling height at the ravine's edge */
	float m_MinCeilingHeightEdge;
	
	/** Maximum ceiling height at the ravine's center */
	float m_MaxCeilingHeightCenter;
	
	/** Minimum ceiling height at the ravine's center */
	float m_MinCeilingHeightCenter;

	// cGridStructGen overrides:
	virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override;
};