diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-04-05 15:14:23 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-04-08 10:06:50 (GMT) |
| commit | 1bdf72be1a306ac07641211adb2ec1539e3d0a48 (patch) | |
| tree | 14f5f62bb7e0a6f1122526d07d3c1c883f609897 /src/elements | |
| parent | a2edfa11b8c1f8a7a6755810f53e6e240e207dba (diff) | |
| download | powder-1bdf72be1a306ac07641211adb2ec1539e3d0a48.zip powder-1bdf72be1a306ac07641211adb2ec1539e3d0a48.tar.gz | |
Some fixes for H2
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/O2.c | 8 | ||||
| -rw-r--r-- | src/elements/h2.c | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/elements/O2.c b/src/elements/O2.c index 090ea33..f554d1f 100644 --- a/src/elements/O2.c +++ b/src/elements/O2.c @@ -2,10 +2,10 @@ int update_O2(UPDATE_FUNC_ARGS) { - int r,rx,ry,n,nx,ny; + int r,rx,ry; 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)) + if (x+rx>=0 && y+ry>=0 && x+rx<XRES && y+ry<YRES && (rx || ry)) { r = pmap[y+ry][x+rx]; if ((r>>8)>=NPART || !r) @@ -24,7 +24,7 @@ int update_O2(UPDATE_FUNC_ARGS) { 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)) + if (x+rx>=0 && y+ry>=0 && x+rx<XRES && y+ry<YRES && (rx || ry)) { r = pmap[y+ry][x+rx]; if ((r>>8)>=NPART || !r) @@ -32,7 +32,7 @@ int update_O2(UPDATE_FUNC_ARGS) if((r&0xFF)==PT_H2) if(50<(rand()/(RAND_MAX/100))){ part_change_type(i,x,y,PT_WATR); - part_change_type(r,rx,rx,PT_WATR); + part_change_type(r>>8,x+rx,y+ry,PT_WATR); } } } diff --git a/src/elements/h2.c b/src/elements/h2.c index 7340bab..0b93242 100644 --- a/src/elements/h2.c +++ b/src/elements/h2.c @@ -2,19 +2,20 @@ int update_H2(UPDATE_FUNC_ARGS) { - int r,rx,ry,rt,nx,ny; + int r,rx,ry,rt; 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)) + if (x+rx>=0 && y+ry>=0 && x+rx<XRES && y+ry<YRES && (rx || ry)) { r = pmap[y+ry][x+rx]; rt = (r&0xFF); if ((r>>8)>=NPART || !r) continue; - if(pv[y/CELL][x/CELL] > 8.0f && rt == PT_DESL) + if(pv[y/CELL][x/CELL] > 8.0f && rt == PT_DESL) // This will not work. DESL turns to fire above 5.0 pressure { - part_change_type(r,nx,ny,PT_WATR); + part_change_type(r>>8,x+rx,y+ry,PT_WATR); part_change_type(i,x,y,PT_OIL); } } + return 0; } |
