summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
authorjacksonmj <jacksonmj@jacksonmj.none>2011-02-09 17:19:48 (GMT)
committer jacksonmj <jacksonmj@jacksonmj.none>2011-02-09 17:19:48 (GMT)
commit457ceeff0a2b546484137d64872c04fed187b9c2 (patch)
treebcb0ab8e2e924e149f7b432fb22c7847e7fbf658 /src/elements
parent3de4d163a577def9f0c75e37bd80716e66a9ef0b (diff)
downloadpowder-457ceeff0a2b546484137d64872c04fed187b9c2.zip
powder-457ceeff0a2b546484137d64872c04fed187b9c2.tar.gz
BCLN and GOO advection fix
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/bcln.c14
-rw-r--r--src/elements/goo.c14
2 files changed, 12 insertions, 16 deletions
diff --git a/src/elements/bcln.c b/src/elements/bcln.c
index 3581fc2..36ad347 100644
--- a/src/elements/bcln.c
+++ b/src/elements/bcln.c
@@ -1,15 +1,13 @@
#include <element.h>
int update_BCLN(UPDATE_FUNC_ARGS) {
- if (!parts[i].life)
+ if (!parts[i].life && pv[y/CELL][x/CELL]>4.0f)
+ parts[i].life = rand()%40+80;
+ if (parts[i].life)
{
- if (pv[y/CELL][x/CELL]>4.0f)
- {
- float advection = 0.1f;
- parts[i].vx += advection*vx[y/CELL][x/CELL];
- parts[i].vy += advection*vy[y/CELL][x/CELL];
- parts[i].life = rand()%40+80;
- }
+ float advection = 0.1f;
+ parts[i].vx += advection*vx[y/CELL][x/CELL];
+ parts[i].vy += advection*vy[y/CELL][x/CELL];
}
if (!parts[i].ctype)
{
diff --git a/src/elements/goo.c b/src/elements/goo.c
index 0818173..a3176e1 100644
--- a/src/elements/goo.c
+++ b/src/elements/goo.c
@@ -1,15 +1,13 @@
#include <element.h>
int update_GOO(UPDATE_FUNC_ARGS) {
- if (!parts[i].life)
+ if (!parts[i].life && pv[y/CELL][x/CELL]>1.0f)
+ parts[i].life = rand()%80+300;
+ if (parts[i].life)
{
- if (pv[y/CELL][x/CELL]>1.0f)
- {
- float advection = 0.1f;
- parts[i].vx += advection*vx[y/CELL][x/CELL];
- parts[i].vy += advection*vy[y/CELL][x/CELL];
- parts[i].life = rand()%80+300;
- }
+ float advection = 0.1f;
+ parts[i].vx += advection*vx[y/CELL][x/CELL];
+ parts[i].vy += advection*vy[y/CELL][x/CELL];
}
return 0;
}