diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-11-03 13:04:57 +0100 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-11-03 13:04:57 +0100 |
commit | f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2 (patch) | |
tree | b9e7e75a2138875ffed59772a2a1c7cf82b7aaa4 /src/graphics/engine/pyro.cpp | |
parent | ec38c14ee8293b2dc7436e0c06b0c294652c84cc (diff) | |
parent | d8e50e4eeb2dde3e0d228e2bead29d73494f8874 (diff) | |
download | colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.gz colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.tar.bz2 colobot-f1c5cd5f82d33d5db5033ea28e1d24a13b2e28a2.zip |
Colobot Gold 0.1.1-alpha
Diffstat (limited to 'src/graphics/engine/pyro.cpp')
-rw-r--r-- | src/graphics/engine/pyro.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/graphics/engine/pyro.cpp b/src/graphics/engine/pyro.cpp index 7c51829..d3e0405 100644 --- a/src/graphics/engine/pyro.cpp +++ b/src/graphics/engine/pyro.cpp @@ -32,8 +32,6 @@ #include "object/robotmain.h" #include "object/motion/motionhuman.h" -#include "ui/displaytext.h" - // Graphics module namespace namespace Gfx { @@ -49,7 +47,6 @@ CPyro::CPyro() m_camera = m_main->GetCamera(); m_particle = m_engine->GetParticle(); m_lightMan = m_engine->GetLightManager(); - m_displayText = m_main->GetDisplayText(); m_sound = CApplication::GetInstancePointer()->GetSound(); m_object = nullptr; @@ -1301,13 +1298,13 @@ void CPyro::DisplayError(PyroType type, CObject* obj) oType == OBJECT_END ) { err = ERR_DELETEBUILDING; - m_displayText->DisplayError(err, obj->GetPosition(0), 5.0f); + m_main->DisplayError(err, obj->GetPosition(0), 5.0f); return; } if ( err != ERR_OK ) { - m_displayText->DisplayError(err, obj); + m_main->DisplayError(err, obj); } } } @@ -1556,15 +1553,18 @@ void CPyro::ExploStart() for (int i = 0; i < OBJECTMAXPART; i++) { int objRank = m_object->GetObjectRank(i); - if (objRank == -1) continue; + if (objRank == -1) continue; // TODO: refactor later to material change int oldBaseObjRank = m_engine->GetObjectBaseRank(objRank); - int newBaseObjRank = m_engine->CreateBaseObject(); - m_engine->CopyBaseObject(oldBaseObjRank, newBaseObjRank); - m_engine->SetObjectBaseRank(objRank, newBaseObjRank); + if (oldBaseObjRank != -1) + { + int newBaseObjRank = m_engine->CreateBaseObject(); + m_engine->CopyBaseObject(oldBaseObjRank, newBaseObjRank); + m_engine->SetObjectBaseRank(objRank, newBaseObjRank); - m_engine->ChangeSecondTexture(objRank, "dirty04.png"); + m_engine->ChangeSecondTexture(objRank, "dirty04.png"); + } Math::Vector pos = m_object->GetPosition(i); @@ -1628,11 +1628,14 @@ void CPyro::BurnStart() // TODO: refactor later to material change int oldBaseObjRank = m_engine->GetObjectBaseRank(objRank); - int newBaseObjRank = m_engine->CreateBaseObject(); - m_engine->CopyBaseObject(oldBaseObjRank, newBaseObjRank); - m_engine->SetObjectBaseRank(objRank, newBaseObjRank); + if (oldBaseObjRank != -1) + { + int newBaseObjRank = m_engine->CreateBaseObject(); + m_engine->CopyBaseObject(oldBaseObjRank, newBaseObjRank); + m_engine->SetObjectBaseRank(objRank, newBaseObjRank); - m_engine->ChangeSecondTexture(objRank, "dirty04.png"); + m_engine->ChangeSecondTexture(objRank, "dirty04.png"); + } } m_engine->LoadTexture("dirty04.png"); |