summaryrefslogtreecommitdiffstats
path: root/src/graphics/engine/terrain.h
diff options
context:
space:
mode:
authorMichał Konopacki <konopacki.m@gmail.com>2012-08-13 21:23:20 +0200
committerMichał Konopacki <konopacki.m@gmail.com>2012-08-13 21:23:20 +0200
commit9ee1d2e172162be25b113595ad16779aa0a49a87 (patch)
tree5036de076ff1cf804bacfc866c2a8f04dc6c66f8 /src/graphics/engine/terrain.h
parentdc3cadd309a1ac1eb4921de69fed6037881b0b91 (diff)
parenta2dd39960b5851f8e62adf59b11b36ba14626468 (diff)
downloadcolobot-9ee1d2e172162be25b113595ad16779aa0a49a87.tar.gz
colobot-9ee1d2e172162be25b113595ad16779aa0a49a87.tar.bz2
colobot-9ee1d2e172162be25b113595ad16779aa0a49a87.zip
Merge remote-tracking branch 'upstream/dev-graphics' into dev-ui
Diffstat (limited to 'src/graphics/engine/terrain.h')
-rw-r--r--src/graphics/engine/terrain.h43
1 files changed, 37 insertions, 6 deletions
diff --git a/src/graphics/engine/terrain.h b/src/graphics/engine/terrain.h
index 0c7e3cf..24bd1f9 100644
--- a/src/graphics/engine/terrain.h
+++ b/src/graphics/engine/terrain.h
@@ -34,19 +34,31 @@ class CEngine;
class CWater;
+//! Limit of slope considered a flat piece of land
const short FLATLIMIT = (5.0f*Math::PI/180.0f);
+/**
+ * \enum TerrainRes
+ * \brief Underground resource type
+ */
enum TerrainRes
{
- TR_NULL = 0,
- TR_STONE = 1,
- TR_URANIUM = 2,
- TR_POWER = 3,
+ //! No resource
+ TR_NULL = 0,
+ //! Titanium
+ TR_STONE = 1,
+ //! Uranium
+ TR_URANIUM = 2,
+ //! Energy
+ TR_POWER = 3,
+ //! Vault keys
+ //@{
TR_KEY_A = 4,
TR_KEY_B = 5,
TR_KEY_C = 6,
- TR_KEY_D = 7,
+ TR_KEY_D = 7
+ //@}
};
struct BuildingLevel
@@ -98,6 +110,10 @@ struct DotLevel
}
};
+/**
+ * \struct FlyingLimit
+ * \brief Spherical limit of flight
+ */
struct FlyingLimit
{
Math::Vector center;
@@ -112,7 +128,22 @@ struct FlyingLimit
};
-
+/**
+ * \class CTerrain
+ * \brief Terrain loader/generator and manager
+ *
+ * Terrain is created from relief textures specifying a XY plane with height
+ * values which are then scaled and translated into XZ surface forming the
+ * terrain of game level.
+ *
+ * The class also facilitates creating and searching for flat space expanses
+ * for construction of buildings.
+ *
+ * The terrain also specifies underground resources loaded from texture
+ * and flying limits for the player.
+ *
+ * ...
+ */
class CTerrain
{
public: