summaryrefslogtreecommitdiffstats
path: root/src/graphics/engine/pyro.cpp
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-06-17 11:48:57 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2013-06-17 11:48:57 +0200
commitb4700e3bedc52f9fc7b5008ae06c4e6f9e3fe130 (patch)
tree04133fcf6008ca91386035baffc8d2c73d919c54 /src/graphics/engine/pyro.cpp
parent7874aca10ce6da823f88e8aabe4a0ea6431cc480 (diff)
downloadcolobot-b4700e3bedc52f9fc7b5008ae06c4e6f9e3fe130.tar.gz
colobot-b4700e3bedc52f9fc7b5008ae06c4e6f9e3fe130.tar.bz2
colobot-b4700e3bedc52f9fc7b5008ae06c4e6f9e3fe130.zip
Fix for #133
* objects are now copied and textures are updated correctly * also added function to debug objects
Diffstat (limited to 'src/graphics/engine/pyro.cpp')
-rw-r--r--src/graphics/engine/pyro.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/graphics/engine/pyro.cpp b/src/graphics/engine/pyro.cpp
index 0a85beb..93198ec 100644
--- a/src/graphics/engine/pyro.cpp
+++ b/src/graphics/engine/pyro.cpp
@@ -1556,7 +1556,14 @@ 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);
+
m_engine->ChangeSecondTexture(objRank, "dirty04.png");
Math::Vector pos = m_object->GetPosition(i);
@@ -1618,6 +1625,13 @@ void CPyro::BurnStart()
{
int objRank = m_object->GetObjectRank(i);
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);
+
m_engine->ChangeSecondTexture(objRank, "dirty04.png");
}
m_engine->LoadTexture("dirty04.png");