summaryrefslogtreecommitdiff
path: root/src/elements/stkm.c
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-08-24 15:35:52 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-08-27 10:37:03 (GMT)
commit42cfb74c2bb82eb185962a17f848e47265a16316 (patch)
treed2185ba1276dd85144b7d26099f597833f0cc975 /src/elements/stkm.c
parentf97e8e5c7caddadadf71f7635070777c6e1248ad (diff)
downloadpowder-42cfb74c2bb82eb185962a17f848e47265a16316.zip
powder-42cfb74c2bb82eb185962a17f848e47265a16316.tar.gz
Remove blocking walls from pmap
2.5% speed increase on a screen full of water
Diffstat (limited to 'src/elements/stkm.c')
-rw-r--r--src/elements/stkm.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/elements/stkm.c b/src/elements/stkm.c
index 6873ef5..41d2871 100644
--- a/src/elements/stkm.c
+++ b/src/elements/stkm.c
@@ -188,10 +188,10 @@ int run_stickman(float* playerp, UPDATE_FUNC_ARGS) {
if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
{
r = pmap[y+ry][x+rx];
- if (!r || (r>>8)>=NPART)
+ if (!r)
r = photons[y+ry][x+rx];
- if ((!r || (r>>8)>=NPART) && !bmap[(y+ry)/CELL][(x+rx)/CELL])
+ if (!r && !bmap[(y+ry)/CELL][(x+rx)/CELL])
continue;
if (ptypes[r&0xFF].falldown!=0 || (r&0xFF) == PT_NEUT || (r&0xFF) == PT_PHOT)
@@ -230,8 +230,6 @@ int run_stickman(float* playerp, UPDATE_FUNC_ARGS) {
{
ry -= 2*(rand()%2)+1;
r = pmap[ry][rx];
- if (!((r>>8)>=NPART))
- {
if (ptypes[r&0xFF].state == ST_SOLID)
{
create_part(-1, rx, ry, PT_SPRK);
@@ -267,7 +265,6 @@ int run_stickman(float* playerp, UPDATE_FUNC_ARGS) {
}
}
- }
}
//Simulation of joints
@@ -371,9 +368,9 @@ void STKM_interact(float* playerp, int i, int x, int y)
if (x<0 || y<0 || x>=XRES || y>=YRES || !parts[i].type)
return;
r = pmap[y][x];
- if (r && (r>>8)<NPART)
+ if (r)
{
- if ((r&0xFF)==PT_SPRK && r && (r>>8)<NPART) //If on charge
+ if ((r&0xFF)==PT_SPRK) //If on charge
{
parts[i].life -= (int)(rand()*20/RAND_MAX)+32;
}