diff options
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"); |