summaryrefslogtreecommitdiffstats
path: root/src/graphics/engine/engine.cpp
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-06-17 18:06:39 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2013-06-17 18:17:21 +0200
commit366d3a551ef3541f6eeb226f80a16b8de8fdd2e9 (patch)
tree191548d0cdf98740db0f6fa0eeb9e700d11450cf /src/graphics/engine/engine.cpp
parent868b5927064aba1ca72bd403446f9ff84c99c29b (diff)
downloadcolobot-366d3a551ef3541f6eeb226f80a16b8de8fdd2e9.tar.gz
colobot-366d3a551ef3541f6eeb226f80a16b8de8fdd2e9.tar.bz2
colobot-366d3a551ef3541f6eeb226f80a16b8de8fdd2e9.zip
Added debug aids for lighting
* displaying positions of current lights (F11) * dumping info to console (F10) * added assert() in suspicious place in CPyro
Diffstat (limited to 'src/graphics/engine/engine.cpp')
-rw-r--r--src/graphics/engine/engine.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp
index 3423864..669ea42 100644
--- a/src/graphics/engine/engine.cpp
+++ b/src/graphics/engine/engine.cpp
@@ -128,6 +128,9 @@ CEngine::CEngine(CApplication *app)
m_interfaceMode = false;
+ m_debugLights = false;
+ m_debugDumpLights = false;
+
m_mice[ENG_MOUSE_NORM] = EngineMouse( 0, 1, 32, ENG_RSTATE_TTEXTURE_WHITE, ENG_RSTATE_TTEXTURE_BLACK, Math::Point( 1.0f, 1.0f));
m_mice[ENG_MOUSE_WAIT] = EngineMouse( 2, 3, 33, ENG_RSTATE_TTEXTURE_WHITE, ENG_RSTATE_TTEXTURE_BLACK, Math::Point( 8.0f, 12.0f));
m_mice[ENG_MOUSE_HAND] = EngineMouse( 4, 5, 34, ENG_RSTATE_TTEXTURE_WHITE, ENG_RSTATE_TTEXTURE_BLACK, Math::Point( 7.0f, 2.0f));
@@ -325,7 +328,22 @@ bool CEngine::ProcessEvent(const Event &event)
if (event.type == EVENT_KEY_DOWN)
{
if (event.key.key == KEY(F12))
+ {
m_showStats = !m_showStats;
+ return false;
+ }
+
+ if (event.key.key == KEY(F11))
+ {
+ m_debugLights = !m_debugLights;
+ return false;
+ }
+
+ if (event.key.key == KEY(F10))
+ {
+ m_debugDumpLights = true;
+ return false;
+ }
}
// By default, pass on all events
@@ -3293,6 +3311,15 @@ void CEngine::Draw3DScene()
m_lightMan->UpdateDeviceLights(ENG_OBJTYPE_TERRAIN);
+ if (m_debugLights)
+ m_device->DebugLights();
+
+ if (m_debugDumpLights)
+ {
+ m_debugDumpLights = false;
+ m_lightMan->DebugDumpLights();
+ }
+
if (m_waterMode)
{
m_app->StartPerformanceCounter(PCNT_RENDER_WATER);