summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/simulation/Simulation.cpp5
-rw-r--r--src/simulation/elements/CRAY.cpp3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index 03c4dd2..92be515 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -2689,6 +2689,11 @@ int Simulation::create_part(int p, int x, int y, int tv)
parts[index].ctype = PT_DUST;
return index;
}
+ if (p==-2 && ((elements[type].Properties & PROP_DRAWONCTYPE) || type==PT_CRAY))
+ {
+ parts[index].ctype = PT_SPRK;
+ return -1;
+ }
if (!(type == PT_INST || (elements[type].Properties&PROP_CONDUCTS)) || parts[index].life!=0)
return -1;
if (p == -2 && type == PT_INST)
diff --git a/src/simulation/elements/CRAY.cpp b/src/simulation/elements/CRAY.cpp
index b906c33..002ed28 100644
--- a/src/simulation/elements/CRAY.cpp
+++ b/src/simulation/elements/CRAY.cpp
@@ -96,7 +96,8 @@ int Element_CRAY::update(UPDATE_FUNC_ARGS)
else
nr = sim->create_part(-1, x+nxi+nxx, y+nyi+nyy, parts[i].ctype);
if (nr!=-1) {
- parts[nr].dcolour = colored;
+ if (colored)
+ parts[nr].dcolour = colored;
parts[nr].temp = parts[i].temp;
if(!--partsRemaining)
docontinue = 0;