summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrzys-h <krzys_h@interia.pl>2014-01-11 17:51:13 +0100
committerkrzys-h <krzys_h@interia.pl>2014-10-29 16:08:55 +0100
commitd91569e165083a7c12b1c672713a9725d80c261c (patch)
treecdd8629522f413c724cb5e9cb7266378277e5315
parent7af762329b7b9bc93a4333cbde90fb1efa69e3a0 (diff)
downloadcolobot-d91569e165083a7c12b1c672713a9725d80c261c.tar.gz
colobot-d91569e165083a7c12b1c672713a9725d80c261c.tar.bz2
colobot-d91569e165083a7c12b1c672713a9725d80c261c.zip
Showing coordinates in stats menu (F12/showstat); removed "showpos" cheat
Issue #277 Conflicts: src/object/cheat.cpp src/object/robotmain.cpp src/object/robotmain.h
-rw-r--r--src/graphics/engine/engine.cpp25
-rw-r--r--src/graphics/engine/engine.h4
-rw-r--r--src/object/robotmain.cpp20
-rw-r--r--src/object/robotmain.h1
4 files changed, 30 insertions, 20 deletions
diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp
index ae6f238..03bff72 100644
--- a/src/graphics/engine/engine.cpp
+++ b/src/graphics/engine/engine.cpp
@@ -515,6 +515,11 @@ int CEngine::GetStatisticTriangle()
return m_statisticTriangle;
}
+void CEngine::SetStatisticPos(Math::Vector pos)
+{
+ m_statisticPos = pos;
+}
+
/*******************************************************
@@ -4335,7 +4340,7 @@ void CEngine::DrawStats()
float height = m_text->GetAscent(FONT_COLOBOT, 12.0f);
float width = 0.2f;
- Math::Point pos(0.04f, 0.04f + 17 * height);
+ Math::Point pos(0.04f, 0.04f + 20 * height);
SetState(ENG_RSTATE_OPAQUE_COLOR);
@@ -4343,9 +4348,9 @@ void CEngine::DrawStats()
VertexCol vertex[4] =
{
- VertexCol(Math::Vector(pos.x , pos.y - 17 * height, 0.0f), black),
+ VertexCol(Math::Vector(pos.x , pos.y - 20 * height, 0.0f), black),
VertexCol(Math::Vector(pos.x , pos.y + height, 0.0f), black),
- VertexCol(Math::Vector(pos.x + width, pos.y - 17 * height, 0.0f), black),
+ VertexCol(Math::Vector(pos.x + width, pos.y - 20 * height, 0.0f), black),
VertexCol(Math::Vector(pos.x + width, pos.y + height, 0.0f), black)
};
@@ -4458,6 +4463,20 @@ void CEngine::DrawStats()
pos.y -= height;
m_text->DrawText(m_fpsText, FONT_COLOBOT, 12.0f, pos, 1.0f, TEXT_ALIGN_LEFT, 0, Color(1.0f, 1.0f, 1.0f, 1.0f));
+
+
+ pos.y -= height;
+ pos.y -= height;
+
+ str.str("");
+ str << "Position x: " << std::fixed << std::setprecision(2) << m_statisticPos.x/g_unit;
+ m_text->DrawText(str.str(), FONT_COLOBOT, 12.0f, pos, 1.0f, TEXT_ALIGN_LEFT, 0, Color(1.0f, 1.0f, 1.0f, 1.0f));
+
+ pos.y -= height;
+
+ str.str("");
+ str << "Position y: " << std::fixed << std::setprecision(2) << m_statisticPos.z/g_unit;
+ m_text->DrawText(str.str(), FONT_COLOBOT, 12.0f, pos, 1.0f, TEXT_ALIGN_LEFT, 0, Color(1.0f, 1.0f, 1.0f, 1.0f));
}
diff --git a/src/graphics/engine/engine.h b/src/graphics/engine/engine.h
index a4d0152..c8e86d1 100644
--- a/src/graphics/engine/engine.h
+++ b/src/graphics/engine/engine.h
@@ -777,6 +777,9 @@ public:
void AddStatisticTriangle(int nb);
//! Returns the number of triangles in current frame
int GetStatisticTriangle();
+
+ //! Sets the coordinates to display in stats window
+ void SetStatisticPos(Math::Vector pos);
/* *************** Object management *************** */
@@ -1348,6 +1351,7 @@ protected:
float m_fogStart[2];
Color m_waterAddColor;
int m_statisticTriangle;
+ Math::Vector m_statisticPos;
bool m_updateGeometry;
bool m_updateStaticBuffers;
int m_alphaMode;
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index adbe81d..90faceb 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -673,7 +673,6 @@ CRobotMain::CRobotMain(CApplication* app, bool loadProfile)
m_editFull = false;
m_hilite = false;
m_freePhoto = false;
- m_showPos = false;
m_selectInsect = false;
m_showSoluce = false;
@@ -2080,12 +2079,6 @@ void CRobotMain::ExecuteCmd(char *cmd)
return;
}
- if (strcmp(cmd, "showpos") == 0)
- {
- m_showPos = !m_showPos;
- return;
- }
-
if (strcmp(cmd, "selectinsect") == 0)
{
m_selectInsect = !m_selectInsect;
@@ -3369,16 +3362,11 @@ void CRobotMain::AbortMovie()
//! Updates the text information
void CRobotMain::UpdateInfoText()
{
- if (m_showPos)
+ CObject* obj = GetSelect();
+ if (obj != nullptr)
{
- CObject* obj = GetSelect();
- if (obj != nullptr)
- {
- Math::Vector pos = obj->GetPosition(0);
- char info[100];
- sprintf(info, "Pos = %.2f ; %.2f", pos.x/g_unit, pos.z/g_unit);
- //TODO: m_engine->SetInfoText(4, info);
- }
+ Math::Vector pos = obj->GetPosition(0);
+ m_engine->SetStatisticPos(pos);
}
}
diff --git a/src/object/robotmain.h b/src/object/robotmain.h
index 2c819cc..da31e5f 100644
--- a/src/object/robotmain.h
+++ b/src/object/robotmain.h
@@ -479,7 +479,6 @@ protected:
Gfx::Color m_color;
bool m_freePhoto;
bool m_cmdEdit;
- bool m_showPos;
bool m_selectInsect;
bool m_showSoluce;
bool m_showAll;