From 457ceeff0a2b546484137d64872c04fed187b9c2 Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Wed, 9 Feb 2011 17:19:48 +0000 Subject: BCLN and GOO advection fix 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 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 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; } -- cgit v0.9.2-21-gd62e