From 553eaf95241bd76e02fe41eb1394f9faa8b56985 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Tue, 19 Dec 2017 21:15:19 -0500 Subject: [PATCH] fix loading saves with stacked particles --- src/simulation/Simulation.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 688695474..01369a23f 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -123,7 +123,6 @@ 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] = tempPart.type | i<<8; elementCount[tempPart.type]++; } else if ((r = photons[y][x])) @@ -131,7 +130,6 @@ 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] = tempPart.type | i<<8; elementCount[tempPart.type]++; } //Allocate new particle @@ -144,7 +142,6 @@ int Simulation::Load(int fullX, int fullY, GameSave * save, bool includePressure if (i > parts_lastActiveIndex) parts_lastActiveIndex = i; parts[i] = tempPart; - pmap[y][x] = tempPart.type | i<<8; elementCount[tempPart.type]++; } @@ -194,6 +191,7 @@ int Simulation::Load(int fullX, int fullY, GameSave * save, bool includePressure parts_lastActiveIndex = NPART-1; force_stacking_check = true; Element_PPIP::ppip_changed = 1; + RecalcFreeParticles(false); // fix SOAP links using soapList, a map of old particle ID -> new particle ID // loop through every old particle (loaded from save), and convert .tmp / .tmp2