summaryrefslogtreecommitdiffstats
path: root/src/graphics/engine/camera.cpp
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-09-08 23:44:14 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-09-08 23:44:14 +0200
commitc2c1294ec99e3dae593bb31d2f331738d5be91d5 (patch)
treea74ffc94c937753e75859fc239f2d01e18e9b29d /src/graphics/engine/camera.cpp
parent480b57a086f4fa1abeb8998a24818f8a9ce15991 (diff)
downloadcolobot-c2c1294ec99e3dae593bb31d2f331738d5be91d5.tar.gz
colobot-c2c1294ec99e3dae593bb31d2f331738d5be91d5.tar.bz2
colobot-c2c1294ec99e3dae593bb31d2f331738d5be91d5.zip
CTerrain refactoring & fixes
- refactored CTerrain code - fixed some minor bugs
Diffstat (limited to 'src/graphics/engine/camera.cpp')
-rw-r--r--src/graphics/engine/camera.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/graphics/engine/camera.cpp b/src/graphics/engine/camera.cpp
index 2db6398..f077fff 100644
--- a/src/graphics/engine/camera.cpp
+++ b/src/graphics/engine/camera.cpp
@@ -1272,14 +1272,14 @@ bool Gfx::CCamera::EventFrameFree(const Event &event)
m_heightEye -= event.rTime * factor * m_speed;
}
- m_terrain->ValidPosition(m_eyePt, 10.0f);
+ m_terrain->AdjustToBounds(m_eyePt, 10.0f);
- if (m_terrain->MoveOnFloor(m_eyePt, true))
+ if (m_terrain->AdjustToFloor(m_eyePt, true))
{
m_eyePt.y += m_heightEye;
Math::Vector pos = m_eyePt;
- if (m_terrain->MoveOnFloor(pos, true))
+ if (m_terrain->AdjustToFloor(pos, true))
{
pos.y -= 2.0f;
if (m_eyePt.y < pos.y)
@@ -1290,7 +1290,7 @@ bool Gfx::CCamera::EventFrameFree(const Event &event)
Math::Vector lookatPt = Math::LookatPoint(m_eyePt, m_directionH, m_directionV, 50.0f);
- if (m_terrain->MoveOnFloor(lookatPt, true))
+ if (m_terrain->AdjustToFloor(lookatPt, true))
lookatPt.y += m_heightLookat;
SetViewTime(m_eyePt, lookatPt, event.rTime);
@@ -1314,14 +1314,14 @@ bool Gfx::CCamera::EventFrameEdit(const Event &event)
m_fixDirectionH = Math::NormAngle(m_fixDirectionH);
}
- m_terrain->ValidPosition(m_eyePt, 10.0f);
+ m_terrain->AdjustToBounds(m_eyePt, 10.0f);
- if (m_terrain->MoveOnFloor(m_eyePt, false))
+ if (m_terrain->AdjustToFloor(m_eyePt, false))
{
m_eyePt.y += m_editHeight;
Math::Vector pos = m_eyePt;
- if (m_terrain->MoveOnFloor(pos, false))
+ if (m_terrain->AdjustToFloor(pos, false))
{
pos.y += 2.0f;
if (m_eyePt.y < pos.y)
@@ -1332,7 +1332,7 @@ bool Gfx::CCamera::EventFrameEdit(const Event &event)
Math::Vector lookatPt = Math::LookatPoint( m_eyePt, m_directionH, m_directionV, 50.0f );
- if ( m_terrain->MoveOnFloor(lookatPt, true))
+ if ( m_terrain->AdjustToFloor(lookatPt, true))
lookatPt.y += m_heightLookat;
SetViewTime(m_eyePt, lookatPt, event.rTime);
@@ -1483,7 +1483,7 @@ bool Gfx::CCamera::EventFrameBack(const Event &event)
if ( (physics != NULL) && physics->GetLand() ) // ground?
{
Math::Vector pos = lookatPt + (lookatPt - m_eyePt);
- float floor = m_terrain->GetFloorHeight(pos) - 4.0f;
+ float floor = m_terrain->GetHeightToFloor(pos) - 4.0f;
if (floor > 0.0f)
m_eyePt.y += floor; // shows the descent in front
}
@@ -1551,14 +1551,14 @@ bool Gfx::CCamera::EventFrameExplo(const Event &event)
if (m_mouseDirH != 0.0f)
m_directionH -= m_mouseDirH * event.rTime * 0.7f * m_speed;
- m_terrain->ValidPosition(m_eyePt, 10.0f);
+ m_terrain->AdjustToBounds(m_eyePt, 10.0f);
- if ( m_terrain->MoveOnFloor(m_eyePt, false) )
+ if ( m_terrain->AdjustToFloor(m_eyePt, false) )
{
m_eyePt.y += m_heightEye;
Math::Vector pos = m_eyePt;
- if ( m_terrain->MoveOnFloor(pos, false) )
+ if ( m_terrain->AdjustToFloor(pos, false) )
{
pos.y += 2.0f;
if ( m_eyePt.y < pos.y )
@@ -1569,7 +1569,7 @@ bool Gfx::CCamera::EventFrameExplo(const Event &event)
Math::Vector lookatPt = Math::LookatPoint(m_eyePt, m_directionH, m_directionV, 50.0f);
- if (m_terrain->MoveOnFloor(lookatPt, true))
+ if (m_terrain->AdjustToFloor(lookatPt, true))
lookatPt.y += m_heightLookat;
SetViewTime(m_eyePt, lookatPt, event.rTime);
@@ -1680,7 +1680,7 @@ Math::Vector Gfx::CCamera::ExcludeTerrain(Math::Vector eye, Math::Vector lookat,
float &angleH, float &angleV)
{
Math::Vector pos = eye;
- if (m_terrain->MoveOnFloor(pos))
+ if (m_terrain->AdjustToFloor(pos))
{
float dist = Math::DistanceProjected(lookat, pos);
pos.y += 2.0f+dist*0.1f;