diff --git a/src/simulation/elements/LIGH.cpp b/src/simulation/elements/LIGH.cpp index 4743c1814..e4cc311cd 100644 --- a/src/simulation/elements/LIGH.cpp +++ b/src/simulation/elements/LIGH.cpp @@ -1,5 +1,7 @@ #include "simulation/ElementCommon.h" +#include "graphics/Pixel.h" + static int update(UPDATE_FUNC_ARGS); static int graphics(GRAPHICS_FUNC_ARGS); static void create(ELEMENT_CREATE_FUNC_ARGS); @@ -195,6 +197,7 @@ static bool create_LIGH(Simulation * sim, int x, int y, int c, float temp, int l { sim->parts[p].temp = float(temp); sim->parts[p].tmp = tmp; + sim->parts[p].dcolour = sim->parts[i].dcolour; if (last) { int nextSegmentLife = (int)(life/1.5 - sim->rng.between(0, 1)); @@ -299,7 +302,7 @@ static int graphics(GRAPHICS_FUNC_ARGS) *firer = *colr = 235; *fireg = *colg = 245; *fireb = *colb = 255; - *pixel_mode |= PMODE_GLOW | FIRE_ADD; + *pixel_mode |= PMODE_GLOW | FIRE_ADD | DECO_FIRE; return 1; } diff --git a/src/simulation/elements/SPRK.cpp b/src/simulation/elements/SPRK.cpp index bedcf0a8b..7d7383641 100644 --- a/src/simulation/elements/SPRK.cpp +++ b/src/simulation/elements/SPRK.cpp @@ -146,6 +146,7 @@ static int update(UPDATE_FUNC_ARGS) parts[p].temp=parts[p].life*parts[i].tmp/2.5; parts[p].tmp2=1; parts[p].tmp=int(atan2(-ry, (float)rx)/TPT_PI_FLT*360); + parts[p].dcolour = parts[i].dcolour; parts[i].temp-=parts[i].tmp*2+parts[i].temp/5; // slight self-cooling if (fabs(sim->pv[y/CELL][x/CELL])!=0.0f) {