1
1
forked from 0ad/0ad

Reverted some of bad commit (10853) because I hit the wrong button

This was SVN commit r10854.
This commit is contained in:
Jonathan Waller 2012-01-02 22:15:21 +00:00
parent a4e1f3c292
commit fa37c9b441
4 changed files with 5 additions and 62 deletions

View File

@ -66,7 +66,7 @@ public:
// Dynamic state: // Dynamic state:
bool m_InWorld; bool m_InWorld;
entity_pos_t m_X, m_Z, m_LastX, m_LastZ, m_PrevX, m_PrevZ; // these values contain undefined junk if !InWorld entity_pos_t m_X, m_Z, m_LastX, m_LastZ; // these values contain undefined junk if !InWorld
entity_pos_t m_YOffset; entity_pos_t m_YOffset;
bool m_RelativeToGround; // whether m_YOffset is relative to terrain/water plane, or an absolute height bool m_RelativeToGround; // whether m_YOffset is relative to terrain/water plane, or an absolute height
@ -203,8 +203,6 @@ public:
m_InWorld = true; m_InWorld = true;
m_LastX = m_X; m_LastX = m_X;
m_LastZ = m_Z; m_LastZ = m_Z;
m_PrevX = m_X;
m_PrevZ = m_Z;
} }
AdvertisePositionChanges(); AdvertisePositionChanges();
@ -212,8 +210,8 @@ public:
virtual void JumpTo(entity_pos_t x, entity_pos_t z) virtual void JumpTo(entity_pos_t x, entity_pos_t z)
{ {
m_LastX = m_PrevX = m_X = x; m_LastX = m_X = x;
m_LastZ = m_PrevZ = m_Z = z; m_LastZ = m_Z = z;
m_InWorld = true; m_InWorld = true;
AdvertisePositionChanges(); AdvertisePositionChanges();
@ -280,43 +278,6 @@ public:
return CFixedVector2D(m_X, m_Z); return CFixedVector2D(m_X, m_Z);
} }
virtual CFixedVector3D GetPreviousPosition()
{
if (!m_InWorld)
{
LOGERROR(L"CCmpPosition::GetPreviousPosition called on entity when IsInWorld is false");
return CFixedVector3D();
}
entity_pos_t baseY;
if (m_RelativeToGround)
{
CmpPtr<ICmpTerrain> cmpTerrain(GetSimContext(), SYSTEM_ENTITY);
if (!cmpTerrain.null())
baseY = cmpTerrain->GetGroundLevel(m_PrevX, m_PrevZ);
if (m_Floating)
{
CmpPtr<ICmpWaterManager> cmpWaterMan(GetSimContext(), SYSTEM_ENTITY);
if (!cmpWaterMan.null())
baseY = std::max(baseY, cmpWaterMan->GetWaterLevel(m_PrevX, m_PrevZ));
}
}
return CFixedVector3D(m_PrevX, baseY + m_YOffset, m_PrevZ);
}
virtual CFixedVector2D GetPreviousPosition2D()
{
if (!m_InWorld)
{
LOGERROR(L"CCmpPosition::GetPreviousPosition2D called on entity when IsInWorld is false");
return CFixedVector2D();
}
return CFixedVector2D(m_PrevX, m_PrevZ);
}
virtual void TurnTo(entity_angle_t y) virtual void TurnTo(entity_angle_t y)
{ {
m_RotY = y; m_RotY = y;
@ -447,9 +408,6 @@ public:
} }
case MT_TurnStart: case MT_TurnStart:
{ {
m_PrevX = m_LastX;
m_PrevZ = m_LastZ;
m_LastX = m_X; m_LastX = m_X;
m_LastZ = m_Z; m_LastZ = m_Z;

View File

@ -32,8 +32,6 @@ DEFINE_INTERFACE_METHOD_1("SetHeightFixed", void, ICmpPosition, SetHeightFixed,
DEFINE_INTERFACE_METHOD_0("IsFloating", bool, ICmpPosition, IsFloating) DEFINE_INTERFACE_METHOD_0("IsFloating", bool, ICmpPosition, IsFloating)
DEFINE_INTERFACE_METHOD_0("GetPosition", CFixedVector3D, ICmpPosition, GetPosition) DEFINE_INTERFACE_METHOD_0("GetPosition", CFixedVector3D, ICmpPosition, GetPosition)
DEFINE_INTERFACE_METHOD_0("GetPosition2D", CFixedVector2D, ICmpPosition, GetPosition2D) DEFINE_INTERFACE_METHOD_0("GetPosition2D", CFixedVector2D, ICmpPosition, GetPosition2D)
DEFINE_INTERFACE_METHOD_0("GetPreviousPosition", CFixedVector3D, ICmpPosition, GetPreviousPosition)
DEFINE_INTERFACE_METHOD_0("GetPreviousPosition2D", CFixedVector2D, ICmpPosition, GetPreviousPosition2D)
DEFINE_INTERFACE_METHOD_1("TurnTo", void, ICmpPosition, TurnTo, entity_angle_t) DEFINE_INTERFACE_METHOD_1("TurnTo", void, ICmpPosition, TurnTo, entity_angle_t)
DEFINE_INTERFACE_METHOD_1("SetYRotation", void, ICmpPosition, SetYRotation, entity_angle_t) DEFINE_INTERFACE_METHOD_1("SetYRotation", void, ICmpPosition, SetYRotation, entity_angle_t)
DEFINE_INTERFACE_METHOD_2("SetXZRotation", void, ICmpPosition, SetXZRotation, entity_angle_t, entity_angle_t) DEFINE_INTERFACE_METHOD_2("SetXZRotation", void, ICmpPosition, SetXZRotation, entity_angle_t, entity_angle_t)

View File

@ -108,19 +108,6 @@ public:
*/ */
virtual CFixedVector2D GetPosition2D() = 0; virtual CFixedVector2D GetPosition2D() = 0;
/**
* Returns the previous turn's x,y,z position (no interpolation).
* Depends on the current terrain heightmap.
* Must not be called unless IsInWorld is true.
*/
virtual CFixedVector3D GetPreviousPosition() = 0;
/**
* Returns the previous turn's x,z position (no interpolation).
* Must not be called unless IsInWorld is true.
*/
virtual CFixedVector2D GetPreviousPosition2D() = 0;
/** /**
* Rotate smoothly to the given angle around the upwards axis. * Rotate smoothly to the given angle around the upwards axis.
* @param y clockwise radians from the +Z axis. * @param y clockwise radians from the +Z axis.

View File

@ -146,8 +146,8 @@ function refresh_thread(thread, callback_data)
function rebuild_canvases() function rebuild_canvases()
{ {
g_data.canvas_frames = $('<canvas width="1400" height="180"></canvas>').get(0); g_data.canvas_frames = $('<canvas width="1600" height="128"></canvas>').get(0);
g_data.canvas_zoom = $('<canvas width="1400" height="180"></canvas>').get(0); g_data.canvas_zoom = $('<canvas width="1600" height="128"></canvas>').get(0);
g_data.text_output = $('<pre></pre>').get(0); g_data.text_output = $('<pre></pre>').get(0);
set_frames_zoom_handlers(g_data.canvas_frames); set_frames_zoom_handlers(g_data.canvas_frames);