|
From: <cn...@us...> - 2010-03-03 08:49:53
|
Revision: 683
http://hgengine.svn.sourceforge.net/hgengine/?rev=683&view=rev
Author: cnlohr
Date: 2010-03-03 08:49:47 +0000 (Wed, 03 Mar 2010)
Log Message:
-----------
add option to allow camera free fly "freeFly=true/false"
Modified Paths:
--------------
Mercury2/src/Camera.cpp
Modified: Mercury2/src/Camera.cpp
===================================================================
--- Mercury2/src/Camera.cpp 2010-03-02 03:24:08 UTC (rev 682)
+++ Mercury2/src/Camera.cpp 2010-03-03 08:49:47 UTC (rev 683)
@@ -10,7 +10,7 @@
REGISTER_NODE_TYPE(CameraNode);
CameraNode::CameraNode()
- :TransformNode(), m_x(0), m_y(0)
+ :TransformNode(), m_x(0), m_y(0), m_bFreeFly( false )
{
m_lookAt = MercuryVector(0,0,-1);
REGISTER_MESSAGE_WITH_DELEGATE( INPUTEVENT_MOUSE, &CameraNode::HandleMouseInput );
@@ -135,7 +135,8 @@
p += m_lookAt * a;
p += Xaxis * b;
// p.SetY(0); //lock to ground
-// SetPosition( p );
+ if( m_bFreeFly )
+ SetPosition( p );
m_origionalPosition = p;
TransformNode::Update( dTime );
@@ -155,12 +156,16 @@
SetPosition( m_origionalPosition );
TransformNode::SaveToXMLTag( sXMLStream );
SetPosition( OrigPos );
+ if( m_bFreeFly )
+ sXMLStream += ssprintf( "freeFly=\"%d\" ", m_bFreeFly );
}
void CameraNode::LoadFromXML(const XMLNode& node)
{
TransformNode::LoadFromXML( node );
m_origionalPosition = GetPosition();
+
+ LOAD_FROM_XML( "freeFly", m_bFreeFly, StrToBool );
POST_MESSAGE("QueryTerrainPoint", new VertexDataMessage(GetPosition()), 0.00001f);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|