summaryrefslogtreecommitdiffstats
path: root/src/graphics/engine/pyro.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphics/engine/pyro.cpp')
-rw-r--r--src/graphics/engine/pyro.cpp31
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");