summaryrefslogtreecommitdiff
path: root/src/simulation/Simulation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/simulation/Simulation.cpp')
-rw-r--r--src/simulation/Simulation.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index eb8f065..3bf8fc9 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -3761,21 +3761,24 @@ void Simulation::update_particles_i(int start, int inc)
}
if ((elements[t].Gravity && (!(elements[t].Properties & TYPE_SOLID) || parts[i].sld)) ||
!(elements[t].Properties & TYPE_SOLID)) {
+ float grav = elements[t].Gravity;
+ if(t == PT_SPNG)
+ grav += 0.04 * parts[i].life;
//Gravity mode by Moach
switch (gravityMode)
{
default:
case 0:
pGravX = 0.0f;
- pGravY = elements[t].Gravity;
+ pGravY = grav;
break;
case 1:
pGravX = pGravY = 0.0f;
break;
case 2:
pGravD = 0.01f - hypotf((x - XCNTR), (y - YCNTR));
- pGravX = elements[t].Gravity * ((float)(x - XCNTR) / pGravD);
- pGravY = elements[t].Gravity * ((float)(y - YCNTR) / pGravD);
+ pGravX = grav * ((float)(x - XCNTR) / pGravD);
+ pGravY = grav * ((float)(y - YCNTR) / pGravD);
break;
}
//Get some gravity from the gravity map