diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-06-26 20:40:48 +0200 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-06-26 20:44:17 +0200 |
commit | f8a6c6750a2a0196d204c02b98082df1d1b56473 (patch) | |
tree | 370c3f99c46901eae0b7ba2316bfff6c41245bd1 /src/graphics | |
parent | 26870551d726192e35a78f995c5b3feb07351577 (diff) | |
download | colobot-f8a6c6750a2a0196d204c02b98082df1d1b56473.tar.gz colobot-f8a6c6750a2a0196d204c02b98082df1d1b56473.tar.bz2 colobot-f8a6c6750a2a0196d204c02b98082df1d1b56473.zip |
Fix for #228
* "empty" objects were wrongly handled in CPyro
Diffstat (limited to 'src/graphics')
-rw-r--r-- | src/graphics/engine/pyro.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/graphics/engine/pyro.cpp b/src/graphics/engine/pyro.cpp index 231bf51..d3e0405 100644 --- a/src/graphics/engine/pyro.cpp +++ b/src/graphics/engine/pyro.cpp @@ -1553,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); @@ -1625,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"); |