From e956e7c5fdb26e8f6715f95ca99adebfa6d1a547 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sun, 3 Dec 2017 19:30:21 -0500 Subject: [PATCH] fix issue where stamps would stack if you loaded multiple in one frame sim.loadStamp in the console, or a lua script --- src/simulation/Simulation.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index d55cc1c977..6886954746 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -123,7 +123,7 @@ int Simulation::Load(int fullX, int fullY, GameSave * save, bool includePressure elementCount[parts[r>>8].type]--; parts[r>>8] = tempPart; i = r>>8; - pmap[y][x] = 0; + pmap[y][x] = tempPart.type | i<<8; elementCount[tempPart.type]++; } else if ((r = photons[y][x])) @@ -131,7 +131,7 @@ int Simulation::Load(int fullX, int fullY, GameSave * save, bool includePressure elementCount[parts[r>>8].type]--; parts[r>>8] = tempPart; i = r>>8; - photons[y][x] = 0; + photons[y][x] = tempPart.type | i<<8; elementCount[tempPart.type]++; } //Allocate new particle @@ -141,9 +141,10 @@ int Simulation::Load(int fullX, int fullY, GameSave * save, bool includePressure break; i = pfree; pfree = parts[i].life; - if (i>parts_lastActiveIndex) parts_lastActiveIndex = i; + if (i > parts_lastActiveIndex) + parts_lastActiveIndex = i; parts[i] = tempPart; - + pmap[y][x] = tempPart.type | i<<8; elementCount[tempPart.type]++; }