summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2012-09-27 20:36:52 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2012-09-27 20:36:52 +0200
commit2ef1c8b6f8976c2c11034a6d30d941e5b22bfac0 (patch)
tree2aaef121c41843066ecefc40a17021f84569129d /src
parent80d3a9bff1d5999ec5504b50103be7687672227a (diff)
downloadcolobot-2ef1c8b6f8976c2c11034a6d30d941e5b22bfac0.tar.gz
colobot-2ef1c8b6f8976c2c11034a6d30d941e5b22bfac0.tar.bz2
colobot-2ef1c8b6f8976c2c11034a6d30d941e5b22bfac0.zip
Fixed blinking light problem
- temporarily commented out misbehaving code in CPhysics - some fixes in CLightManager - minor refactoring in CRobotMain
Diffstat (limited to 'src')
-rw-r--r--src/graphics/engine/lightman.cpp7
-rw-r--r--src/object/robotmain.cpp6
-rw-r--r--src/physics/physics.cpp11
3 files changed, 13 insertions, 11 deletions
diff --git a/src/graphics/engine/lightman.cpp b/src/graphics/engine/lightman.cpp
index dbf9d34..3055f08 100644
--- a/src/graphics/engine/lightman.cpp
+++ b/src/graphics/engine/lightman.cpp
@@ -365,7 +365,7 @@ void CLightManager::UpdateLights()
bool enabled = m_dynLights[i].enabled;
- if (m_dynLights[i].intensity.current == 0.0f)
+ if (Math::IsZero(m_dynLights[i].intensity.current))
enabled = false;
if (enabled)
@@ -400,7 +400,7 @@ void CLightManager::UpdateDeviceLights(EngineObjectType type)
continue;
if (! m_dynLights[i].enabled)
continue;
- if (m_dynLights[i].intensity.current == 0.0f)
+ if (Math::IsZero(m_dynLights[i].intensity.current))
continue;
if (m_dynLights[i].priority == LIGHT_PRI_LOW)
continue;
@@ -457,12 +457,9 @@ void CLightManager::UpdateDeviceLights(EngineObjectType type)
}
}
- GetLogger()->Trace("Light allotment:\n");
-
for (int i = 0; i < static_cast<int>( m_lightMap.size() ); ++i)
{
int rank = m_lightMap[i];
- GetLogger()->Trace("[%d] -> %d\n", i, rank);
if (rank != -1)
{
m_device->SetLight(i, m_dynLights[rank].light);
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index 10733f7..521b518 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -3913,7 +3913,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
);
}
- if (Cmd(line, "FrontsizeName") && !resetObject)
+ if (Cmd(line, "ForegroundName") && !resetObject)
{
OpString(line, "image", name);
m_engine->SetForegroundName(name);
@@ -3962,7 +3962,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
OpTypeWater(line, "water", Gfx::WATER_TT),
name,
OpColor(line, "diffuse", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
- OpColor(line, "ambiant", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
+ OpColor(line, "ambient", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
OpFloat(line, "level", 100.0f)*UNIT,
OpFloat(line, "glint", 1.0f),
pos);
@@ -3978,7 +3978,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
OpString(line, "image", name);
m_cloud->Create(name,
OpColor(line, "diffuse", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
- OpColor(line, "ambiant", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
+ OpColor(line, "ambient", Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)),
OpFloat(line, "level", 500.0f) * UNIT);
}
diff --git a/src/physics/physics.cpp b/src/physics/physics.cpp
index 40dbdc7..a3c680b 100644
--- a/src/physics/physics.cpp
+++ b/src/physics/physics.cpp
@@ -3016,7 +3016,12 @@ void CPhysics::FrameParticle(float aTime, float rTime)
effectLight = m_object->GetEffectLight();
if ( effectLight != -1 )
{
- if ( bFlash )
+ /*
+ * TODO: this is supposed to flash lights of robot without power,
+ * but doesn't work correctly (e.g. beginning of scene201).
+ * Commenting out for the time being.
+ */
+ /*if ( bFlash )
{
intensity = 0.0f;
if ( Math::Rand() < 0.5f ) intensity = 1.0f;
@@ -3024,9 +3029,9 @@ void CPhysics::FrameParticle(float aTime, float rTime)
m_lightMan->SetLightIntensitySpeed(effectLight, 10000.0f);
}
else
- {
+ {*/
m_lightMan->SetLightIntensity(effectLight, 0.0f);
- }
+ /*}*/
}
}