summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp10
-rw-r--r--src/simulation/Simulation.cpp4
2 files changed, 13 insertions, 1 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index e56ae50..07d2e63 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -702,7 +702,15 @@ void GameController::Exit()
void GameController::ResetAir()
{
- gameModel->GetSimulation()->air->Clear();
+ Simulation * sim = gameModel->GetSimulation();
+ sim->air->Clear();
+ for (int i = 0; i < NPART; i++)
+ {
+ if (sim->parts[i].type == PT_QRTZ || sim->parts[i].type == PT_GLAS)
+ {
+ sim->parts[i].pavg[0] = sim->parts[i].pavg[1] = 0;
+ }
+ }
}
void GameController::ResetSpark()
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index 21f8109..afb50c5 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -136,6 +136,10 @@ int Simulation::Load(int fullX, int fullY, GameSave * save)
}
}
}
+ if (parts[i].pavg[0] || parts[i].pavg[1])
+ {
+ parts[i].pavg[0] = parts[i].pavg[1] = 0;
+ }
}
parts_lastActiveIndex = NPART-1;
force_stacking_check = 1;