summaryrefslogtreecommitdiff
path: root/src/simulation/elements
diff options
context:
space:
mode:
authorcracker64 <cracker642@gmail.com>2013-02-28 17:37:16 (GMT)
committer cracker64 <cracker642@gmail.com>2013-02-28 17:37:16 (GMT)
commit5873d6958641af21b92fcb039d26c336331f19e7 (patch)
treea334e74d7cf79726f5c0a411515bed801ee0333f /src/simulation/elements
parentc65081d3ed44a97cea0f41a63e9ec07cf0feb5f2 (diff)
downloadpowder-5873d6958641af21b92fcb039d26c336331f19e7.zip
powder-5873d6958641af21b92fcb039d26c336331f19e7.tar.gz
Going through again.
Diffstat (limited to 'src/simulation/elements')
-rw-r--r--src/simulation/elements/AMTR.cpp5
-rw-r--r--src/simulation/elements/ANAR.cpp13
-rw-r--r--src/simulation/elements/ARAY.cpp25
-rw-r--r--src/simulation/elements/BCOL.cpp10
-rw-r--r--src/simulation/elements/BIZR.cpp2
-rw-r--r--src/simulation/elements/BMTL.cpp4
-rw-r--r--src/simulation/elements/BOYL.cpp18
-rw-r--r--src/simulation/elements/BREC.cpp4
-rw-r--r--src/simulation/elements/BRMT.cpp2
-rw-r--r--src/simulation/elements/C5.cpp4
-rw-r--r--src/simulation/elements/CBNW.cpp170
-rw-r--r--src/simulation/elements/CLST.cpp17
-rw-r--r--src/simulation/elements/CO2.cpp5
-rw-r--r--src/simulation/elements/COAL.cpp10
-rw-r--r--src/simulation/elements/SHLD2.cpp2
15 files changed, 151 insertions, 140 deletions
diff --git a/src/simulation/elements/AMTR.cpp b/src/simulation/elements/AMTR.cpp
index 8183777..6f12187 100644
--- a/src/simulation/elements/AMTR.cpp
+++ b/src/simulation/elements/AMTR.cpp
@@ -58,8 +58,7 @@ int Element_AMTR::update(UPDATE_FUNC_ARGS)
if (!r)
continue;
rt = r&0xFF;
- //would a table lookup be faster than 11 checks?
- if (rt!=PT_AMTR && rt!=PT_DMND && rt!=PT_CLNE && rt!=PT_PCLN && rt!=PT_NONE && rt!=PT_PHOT && rt!=PT_VOID && rt!=PT_BHOL && rt!=PT_NBHL && rt!=PT_PRTI && rt!=PT_PRTO)
+ if (rt!=PT_AMTR && rt!=PT_DMND && rt!=PT_CLNE && rt!=PT_PCLN && rt!=PT_VOID && rt!=PT_BHOL && rt!=PT_NBHL && rt!=PT_PRTI && rt!=PT_PRTO)
{
parts[i].life++;
if (parts[i].life==4)
@@ -67,7 +66,7 @@ int Element_AMTR::update(UPDATE_FUNC_ARGS)
sim->kill_part(i);
return 1;
}
- if (10>(rand()/(RAND_MAX/100)))
+ if (!(rand()%10))
sim->create_part(r>>8, x+rx, y+ry, PT_PHOT);
else
sim->kill_part(r>>8);
diff --git a/src/simulation/elements/ANAR.cpp b/src/simulation/elements/ANAR.cpp
index 6dd500f..aa88afb 100644
--- a/src/simulation/elements/ANAR.cpp
+++ b/src/simulation/elements/ANAR.cpp
@@ -60,15 +60,12 @@ int Element_ANAR::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if ((r&0xFF)==PT_HFLM)
+ if ((r&0xFF)==PT_HFLM && !(rand()%22))
{
- if (1>rand()%22)
- {
- sim->part_change_type(i,x,y,PT_HFLM);
- parts[i].life = rand()%150+50;
- parts[r>>8].temp = parts[i].temp = 0;
- sim->pv[y/CELL][x/CELL] -= 0.5;
- }
+ sim->part_change_type(i,x,y,PT_HFLM);
+ parts[i].life = rand()%150+50;
+ parts[r>>8].temp = parts[i].temp = 0;
+ sim->pv[y/CELL][x/CELL] -= 0.5;
}
}
return 0;
diff --git a/src/simulation/elements/ARAY.cpp b/src/simulation/elements/ARAY.cpp
index e38b7ee..85dfc52 100644
--- a/src/simulation/elements/ARAY.cpp
+++ b/src/simulation/elements/ARAY.cpp
@@ -78,17 +78,20 @@ int Element_ARAY::update(UPDATE_FUNC_ARGS)
parts[nr].temp = parts[i].temp;
}
} else if (!destroy) {
- if ((r&0xFF)==PT_BRAY&&parts[r>>8].tmp==0) {//if it hits another BRAY that isn't red
- if (nyy!=0 || nxx!=0) {
- parts[r>>8].life = 1020;//makes it last a while
- parts[r>>8].tmp = 1;
- if (!parts[r>>8].ctype)//and colors it if it isn't already
- parts[r>>8].ctype = colored;
+ if ((r&0xFF)==PT_BRAY) {
+ if (parts[r>>8].tmp==0){//if it hits another BRAY that isn't red
+ if (nyy!=0 || nxx!=0) {
+ parts[r>>8].life = 1020;//makes it last a while
+ parts[r>>8].tmp = 1;
+ if (!parts[r>>8].ctype)//and colors it if it isn't already
+ parts[r>>8].ctype = colored;
+ }
+ docontinue = 0;//then stop it
+ }
+ else if (parts[r>>8].tmp==1) {//if it hits one that already was a long life, reset it
+ parts[r>>8].life = 1020;
+ //docontinue = 1;
}
- docontinue = 0;//then stop it
- } else if ((r&0xFF)==PT_BRAY&&parts[r>>8].tmp==1) {//if it hits one that already was a long life, reset it
- parts[r>>8].life = 1020;
- //docontinue = 1;
} else if ((r&0xFF)==PT_FILT) {//get color if passed through FILT
colored = parts[r>>8].ctype;
//this if prevents BRAY from stopping on certain materials
@@ -151,4 +154,4 @@ int Element_ARAY::update(UPDATE_FUNC_ARGS)
}
-Element_ARAY::~Element_ARAY() {} \ No newline at end of file
+Element_ARAY::~Element_ARAY() {}
diff --git a/src/simulation/elements/BCOL.cpp b/src/simulation/elements/BCOL.cpp
index 1fb6f82..ff92f8f 100644
--- a/src/simulation/elements/BCOL.cpp
+++ b/src/simulation/elements/BCOL.cpp
@@ -65,15 +65,15 @@ int Element_BCOL::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if (((r&0xFF)==PT_FIRE || (r&0xFF)==PT_PLSM) && 1>(rand()%500))
+ if (((r&0xFF)==PT_FIRE || (r&0xFF)==PT_PLSM))
{
- if (parts[i].life>100) {
+ if (parts[i].life>100 && !(rand()%500)) {
parts[i].life = 99;
}
}
- if ((r&0xFF)==PT_LAVA && 1>(rand()%500))
+ else if ((r&0xFF)==PT_LAVA)
{
- if (parts[r>>8].ctype == PT_IRON) {
+ if (parts[r>>8].ctype == PT_IRON && !(rand()%500)) {
parts[r>>8].ctype = PT_METL;
sim->kill_part(i);
return 1;
@@ -143,4 +143,4 @@ int Element_BCOL::graphics(GRAPHICS_FUNC_ARGS)
-Element_BCOL::~Element_BCOL() {} \ No newline at end of file
+Element_BCOL::~Element_BCOL() {}
diff --git a/src/simulation/elements/BIZR.cpp b/src/simulation/elements/BIZR.cpp
index f2327de..1df678b 100644
--- a/src/simulation/elements/BIZR.cpp
+++ b/src/simulation/elements/BIZR.cpp
@@ -82,7 +82,7 @@ int Element_BIZR::update(UPDATE_FUNC_ARGS)
}
}
}
- if(((r = sim->photons[y][x])&0xFF)==PT_PHOT)
+ if(((r = sim->photons[y][x])&0xFF)==PT_PHOT)//this should be in movement checks?
{
sim->part_change_type(r>>8, x, y, PT_ELEC);
parts[r>>8].ctype = 0;
diff --git a/src/simulation/elements/BMTL.cpp b/src/simulation/elements/BMTL.cpp
index 26c086b..9f15c5e 100644
--- a/src/simulation/elements/BMTL.cpp
+++ b/src/simulation/elements/BMTL.cpp
@@ -60,14 +60,14 @@ int Element_BMTL::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if (((r&0xFF)==PT_METL || (r&0xFF)==PT_IRON) && 1>(rand()/(RAND_MAX/100)))
+ if (((r&0xFF)==PT_METL || (r&0xFF)==PT_IRON) && !(rand()%100))
{
sim->part_change_type(r>>8,x+rx,y+ry,PT_BMTL);
parts[r>>8].tmp=(parts[i].tmp<=7)?parts[i].tmp=1:parts[i].tmp-(rand()%5);//rand()/(RAND_MAX/300)+100;
}
}
}
- else if (parts[i].tmp==1 && 1>rand()%1000)
+ else if (parts[i].tmp==1 && !(rand()%1000))
{
parts[i].tmp = 0;
sim->part_change_type(i,x,y,PT_BRMT);
diff --git a/src/simulation/elements/BOYL.cpp b/src/simulation/elements/BOYL.cpp
index 18ebee8..3a02d65 100644
--- a/src/simulation/elements/BOYL.cpp
+++ b/src/simulation/elements/BOYL.cpp
@@ -76,19 +76,23 @@ int Element_BOYL::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if ((r&0xFF)==PT_WATR && 1>rand()%30)
+ if ((r&0xFF)==PT_WATR)
{
- sim->part_change_type(r>>8,x+rx,y+ry,PT_FOG);
+ if (!(rand()%30))
+ sim->part_change_type(r>>8,x+rx,y+ry,PT_FOG);
}
- else if ((r&0xFF)==PT_O2 && 1>rand()%9)
+ else if ((r&0xFF)==PT_O2)
{
- sim->kill_part(r>>8);
- sim->part_change_type(i,x,y,PT_WATR);
- sim->pv[y/CELL][x/CELL] += 4.0;
+ if (!(rand()%9))
+ {
+ sim->kill_part(r>>8);
+ sim->part_change_type(i,x,y,PT_WATR);
+ sim->pv[y/CELL][x/CELL] += 4.0;
+ }
}
}
return 0;
}
-Element_BOYL::~Element_BOYL() {} \ No newline at end of file
+Element_BOYL::~Element_BOYL() {}
diff --git a/src/simulation/elements/BREC.cpp b/src/simulation/elements/BREC.cpp
index f5ae4a1..d1de90e 100644
--- a/src/simulation/elements/BREC.cpp
+++ b/src/simulation/elements/BREC.cpp
@@ -54,12 +54,12 @@ int Element_BREC::update(UPDATE_FUNC_ARGS)
{
if (sim->pv[y/CELL][x/CELL]>10.0f)
{
- if (parts[i].temp>9000 && sim->pv[y/CELL][x/CELL]>30.0f && 1>rand()%200)
+ if (parts[i].temp>9000 && sim->pv[y/CELL][x/CELL]>30.0f && !(rand()%200))
{
sim->part_change_type(i, x ,y ,PT_EXOT);
parts[i].life = 1000;
}
- parts[i].temp = parts[i].temp + (sim->pv[y/CELL][x/CELL])/8;
+ parts[i].temp += (sim->pv[y/CELL][x/CELL])/8;
}
}
diff --git a/src/simulation/elements/BRMT.cpp b/src/simulation/elements/BRMT.cpp
index 0e36630..5ac2315 100644
--- a/src/simulation/elements/BRMT.cpp
+++ b/src/simulation/elements/BRMT.cpp
@@ -62,7 +62,7 @@ int Element_BRMT::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if ((r&0xFF)==PT_BREC && 1>(rand()%tempFactor))
+ if ((r&0xFF)==PT_BREC && !(rand()%tempFactor))
{
if(rand()%2)
{
diff --git a/src/simulation/elements/C5.cpp b/src/simulation/elements/C5.cpp
index 28e2055..c971ce0 100644
--- a/src/simulation/elements/C5.cpp
+++ b/src/simulation/elements/C5.cpp
@@ -59,7 +59,7 @@ int Element_C5::update(UPDATE_FUNC_ARGS)
continue;
if (((r&0xFF)!=PT_C5 && parts[r>>8].temp<100 && sim->elements[r&0xFF].HeatConduct && ((r&0xFF)!=PT_HSWC||parts[r>>8].life==10)) || (r&0xFF)==PT_HFLM)
{
- if (1>rand()%6)
+ if (!(rand()%6))
{
sim->part_change_type(i,x,y,PT_HFLM);
parts[r>>8].temp = parts[i].temp = 0;
@@ -72,4 +72,4 @@ int Element_C5::update(UPDATE_FUNC_ARGS)
}
-Element_C5::~Element_C5() {} \ No newline at end of file
+Element_C5::~Element_C5() {}
diff --git a/src/simulation/elements/CBNW.cpp b/src/simulation/elements/CBNW.cpp
index 87240d8..b59e5f4 100644
--- a/src/simulation/elements/CBNW.cpp
+++ b/src/simulation/elements/CBNW.cpp
@@ -48,91 +48,93 @@ Element_CBNW::Element_CBNW()
//#TPT-Directive ElementHeader Element_CBNW static int update(UPDATE_FUNC_ARGS)
int Element_CBNW::update(UPDATE_FUNC_ARGS)
- {
- int r, rx, ry;
- if (sim->pv[y/CELL][x/CELL]<=3)
- {
- if(sim->pv[y/CELL][x/CELL]<=-0.5)
- {
- sim->part_change_type(i,x,y,PT_CO2);
- parts[i].ctype = 5;
- sim->pv[y/CELL][x/CELL] += 0.5f;
- }
- else if(1>(rand()%4000))
- {
- sim->part_change_type(i,x,y,PT_CO2);
- parts[i].ctype = 5;
- sim->pv[y/CELL][x/CELL] += 0.5f;
- }
- }
- if (parts[i].tmp2!=20) {
- parts[i].tmp2 -= (parts[i].tmp2>20)?1:-1;
- }
- else if(!(rand()%200))
- {
- parts[i].tmp2 = rand()%40;
- }
+{
+ int r, rx, ry;
+ if (sim->pv[y/CELL][x/CELL]<=3)
+ {
+ if(sim->pv[y/CELL][x/CELL]<=-0.5)
+ {
+ sim->part_change_type(i,x,y,PT_CO2);
+ parts[i].ctype = 5;
+ sim->pv[y/CELL][x/CELL] += 0.5f;
+ }
+ else if(!(rand()%4000))
+ {
+ sim->part_change_type(i,x,y,PT_CO2);
+ parts[i].ctype = 5;
+ sim->pv[y/CELL][x/CELL] += 0.5f;
+ }
+ }
+ if (parts[i].tmp2!=20) {
+ parts[i].tmp2 -= (parts[i].tmp2>20)?1:-1;
+ }
+ else if(!(rand()%200))
+ {
+ parts[i].tmp2 = rand()%40;
+ }
- if(parts[i].tmp>0)
- {
- //Explode
- if(parts[i].tmp==1 && rand()%4)
- {
- sim->part_change_type(i,x,y,PT_CO2);
- parts[i].ctype = 5;
- sim->pv[y/CELL][x/CELL] += 0.2f;
- }
- parts[i].tmp--;
- }
- for (rx=-2; rx<3; rx++)
- for (ry=-2; ry<3; ry++)
- if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
- {
- r = pmap[y+ry][x+rx];
- if (!r)
- continue;
- if ((sim->elements[r&0xFF].Properties&TYPE_PART) && parts[i].tmp == 0 && 1>(rand()%250))
- {
- //Start explode
- parts[i].tmp = rand()%25;//(rand()%100)+50;
- }
- else if((r&0xFF)!=PT_DMND && (r&0xFF)!=PT_GLAS && (sim->elements[r&0xFF].Properties&TYPE_SOLID) && parts[i].tmp == 0 && (2-sim->pv[y/CELL][x/CELL])>(rand()%40000))
- {
- sim->part_change_type(i,x,y,PT_CO2);
- parts[i].ctype = 5;
- sim->pv[y/CELL][x/CELL] += 0.2f;
-
- }
- if ((r&0xFF)==PT_CBNW)
- {
- if(!parts[i].tmp && parts[r>>8].tmp)
- {
- parts[i].tmp = parts[r>>8].tmp;
- if((r>>8)>i) //If the other particle hasn't been life updated
- parts[i].tmp--;
- }
- else if(parts[i].tmp && !parts[r>>8].tmp)
- {
- parts[r>>8].tmp = parts[i].tmp;
- if((r>>8)>i) //If the other particle hasn't been life updated
- parts[r>>8].tmp++;
- }
- }
- if (((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD) && (sim->legacy_enable||parts[i].temp>(273.15f+12.0f)) && 1>(rand()%500))
- {
- sim->part_change_type(i,x,y,PT_FIRE);
- parts[i].life = 4;
- parts[i].ctype = PT_WATR;
- }
- if ((r&0xFF)==PT_FIRE && parts[r>>8].ctype!=PT_WATR){
- sim->kill_part(r>>8);
- if(1>(rand()%150)){
- sim->kill_part(i);
- return 1;
- }
- }
- }
- return 0;
+ if(parts[i].tmp>0)
+ {
+ //Explode
+ if(parts[i].tmp==1 && rand()%4)
+ {
+ sim->part_change_type(i,x,y,PT_CO2);
+ parts[i].ctype = 5;
+ sim->pv[y/CELL][x/CELL] += 0.2f;
+ }
+ parts[i].tmp--;
+ }
+ for (rx=-2; rx<3; rx++)
+ for (ry=-2; ry<3; ry++)
+ if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
+ {
+ r = pmap[y+ry][x+rx];
+ if (!r)
+ continue;
+ if ((sim->elements[r&0xFF].Properties&TYPE_PART) && parts[i].tmp == 0 && !(rand()%250))
+ {
+ //Start explode
+ parts[i].tmp = rand()%25;//(rand()%100)+50;
+ }
+ else if((sim->elements[r&0xFF].Properties&TYPE_SOLID) && (r&0xFF)!=PT_DMND && (r&0xFF)!=PT_GLAS && parts[i].tmp == 0 && (2-sim->pv[y/CELL][x/CELL])>(rand()%40000))
+ {
+ sim->part_change_type(i,x,y,PT_CO2);
+ parts[i].ctype = 5;
+ sim->pv[y/CELL][x/CELL] += 0.2f;
+ }
+ if ((r&0xFF)==PT_CBNW)
+ {
+ if(!parts[i].tmp && parts[r>>8].tmp)
+ {
+ parts[i].tmp = parts[r>>8].tmp;
+ if((r>>8)>i) //If the other particle hasn't been life updated
+ parts[i].tmp--;
+ }
+ else if(parts[i].tmp && !parts[r>>8].tmp)
+ {
+ parts[r>>8].tmp = parts[i].tmp;
+ if((r>>8)>i) //If the other particle hasn't been life updated
+ parts[r>>8].tmp++;
+ }
+ }
+ else if ((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD)
+ {
+ if ((sim->legacy_enable||parts[i].temp>(273.15f+12.0f)) && !(rand()%500))
+ {
+ sim->part_change_type(i,x,y,PT_FIRE);
+ parts[i].life = 4;
+ parts[i].ctype = PT_WATR;
+ }
+ }
+ else if ((r&0xFF)==PT_FIRE && parts[r>>8].ctype!=PT_WATR){
+ sim->kill_part(r>>8);
+ if(1>(rand()%150)){
+ sim->kill_part(i);
+ return 1;
+ }
+ }
+ }
+ return 0;
}
diff --git a/src/simulation/elements/CLST.cpp b/src/simulation/elements/CLST.cpp
index 5a9d79f..c7b5627 100644
--- a/src/simulation/elements/CLST.cpp
+++ b/src/simulation/elements/CLST.cpp
@@ -58,23 +58,26 @@ int Element_CLST::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if ((r&0xFF)==PT_WATR && 1>(rand()%1500))
+ if ((r&0xFF)==PT_WATR)
{
- sim->part_change_type(i,x,y,PT_PSTS);
- sim->kill_part(r>>8);
+ if (!(rand()%1500))
+ {
+ sim->part_change_type(i,x,y,PT_PSTS);
+ sim->kill_part(r>>8);
+ }
}
- if ((r&0xFF)==PT_NITR)
+ else if ((r&0xFF)==PT_NITR)
{
sim->create_part(i, x, y, PT_BANG);
sim->create_part(r>>8, x+rx, y+ry, PT_BANG);
}
- if ((r&0xFF)==PT_CLST)
+ else if ((r&0xFF)==PT_CLST)
{
if(parts[i].temp <195)
cxy = 0.05;
- else if(parts[i].temp >= 195 && parts[i].temp <295)
+ else if(parts[i].temp <295)
cxy = 0.015;
- else if(parts[i].temp >= 295 && parts[i].temp <350)
+ else if(parts[i].temp <350)
cxy = 0.01;
else
cxy = 0.005;
diff --git a/src/simulation/elements/CO2.cpp b/src/simulation/elements/CO2.cpp
index c4e6a9a..09dbe8c 100644
--- a/src/simulation/elements/CO2.cpp
+++ b/src/simulation/elements/CO2.cpp
@@ -64,11 +64,14 @@ int Element_CO2::update(UPDATE_FUNC_ARGS)
return 1;
}
}
- if (((r&0xFF)==PT_WATR || (r&0xFF)==PT_DSTW) && !(rand()%250))
+ else if (((r&0xFF)==PT_WATR || (r&0xFF)==PT_DSTW) && !(rand()%250))
{
sim->part_change_type(r>>8, x+rx, y+ry, PT_CBNW);
if (parts[i].ctype==5) //conserve number of water particles - ctype=5 means this CO2 hasn't released the water particle from BUBW yet
+ {
sim->create_part(i, x, y, PT_WATR);
+ return 0;
+ }
else
{
sim->kill_part(i);
diff --git a/src/simulation/elements/COAL.cpp b/src/simulation/elements/COAL.cpp
index eae7450..a418971 100644
--- a/src/simulation/elements/COAL.cpp
+++ b/src/simulation/elements/COAL.cpp
@@ -72,15 +72,15 @@ int Element_COAL::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
continue;
- if (((r&0xFF)==PT_FIRE || (r&0xFF)==PT_PLSM) && 1>(rand()%500))
+ if (((r&0xFF)==PT_FIRE || (r&0xFF)==PT_PLSM))
{
- if (parts[i].life>100) {
+ if (parts[i].life>100 && !(rand()%500)) {
parts[i].life = 99;
}
}
- if ((r&0xFF)==PT_LAVA && 1>(rand()%500))
+ else if ((r&0xFF)==PT_LAVA)
{
- if (parts[r>>8].ctype == PT_IRON) {
+ if (parts[r>>8].ctype == PT_IRON && !(rand()%500)) {
parts[r>>8].ctype = PT_METL;
sim->kill_part(i);
return 1;
@@ -150,4 +150,4 @@ int Element_COAL::graphics(GRAPHICS_FUNC_ARGS)
-Element_COAL::~Element_COAL() {} \ No newline at end of file
+Element_COAL::~Element_COAL() {}
diff --git a/src/simulation/elements/SHLD2.cpp b/src/simulation/elements/SHLD2.cpp
index c5f3504..82ff3b1 100644
--- a/src/simulation/elements/SHLD2.cpp
+++ b/src/simulation/elements/SHLD2.cpp
@@ -57,7 +57,7 @@ int Element_SHLD2::update(UPDATE_FUNC_ARGS)
r = pmap[y+ry][x+rx];
if (!r)
{
- if ( parts[i].life>0)
+ if (parts[i].life>0)
sim->create_part(-1,x+rx,y+ry,PT_SHLD1);
continue;
}