summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-04-18 20:20:31 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-04-18 20:20:31 (GMT)
commit1fdaabca6d7d6ba4fd968b47693282b32e705264 (patch)
treea680ff931136f64c03df5507581cfc696306cd02 /src
parentb40f13b66a8661d8698e5fc737c2842dfb73e6f9 (diff)
downloadpowder-1fdaabca6d7d6ba4fd968b47693282b32e705264.zip
powder-1fdaabca6d7d6ba4fd968b47693282b32e705264.tar.gz
TPT: Viscosity change for gel. Water diffusion among sponge and gel (but with flying cake effect) c9bcc11d35
Diffstat (limited to 'src')
-rw-r--r--src/elements/gel.cpp6
-rw-r--r--src/simulation/Simulation.cpp4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/elements/gel.cpp b/src/elements/gel.cpp
index 9092097..2031af1 100644
--- a/src/elements/gel.cpp
+++ b/src/elements/gel.cpp
@@ -29,6 +29,12 @@ int update_GEL(UPDATE_FUNC_ARGS) {
parts[i].tmp--;
}
+ if ((r&0xFF)==PT_SPNG && (parts[r>>8].life+1)<parts[i].tmp)
+ {
+ parts[r>>8].life++;
+ parts[i].tmp--;
+ }
+
float dx, dy;
dx = parts[i].x - parts[r>>8].x;
dy = parts[i].y - parts[r>>8].y;
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index b08398f..853a7f0 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -3272,6 +3272,10 @@ killed:
rt = 30;//slight less water lag, although it changes how it moves a lot
else
rt = 10;
+
+ if (t==PT_GEL)
+ rt = parts[i].tmp*0.20f+5.0f;
+
for (j=clear_x+r; j>=0 && j>=clear_x-rt && j<clear_x+rt && j<XRES; j+=r)
{
if (((pmap[fin_y][j]&0xFF)!=t || bmap[fin_y/CELL][j/CELL])