diff options
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/prti.c | 6 | ||||
| -rw-r--r-- | src/elements/prto.c | 34 |
2 files changed, 18 insertions, 22 deletions
diff --git a/src/elements/prti.c b/src/elements/prti.c index d21bf56..7205844 100644 --- a/src/elements/prti.c +++ b/src/elements/prti.c @@ -34,11 +34,9 @@ int update_PRTI(UPDATE_FUNC_ARGS) { continue; } for ( nnx=0; nnx<80; nnx++) - if (!portal[parts[i].tmp][count-1][nnx]) + if (!portalp[parts[i].tmp][count-1][nnx].type) { - portal[parts[i].tmp][count-1][nnx] = parts[r>>8].type; - portaltemp[parts[i].tmp][count-1][nnx] = parts[r>>8].temp; - portalctype[parts[i].tmp][count-1][nnx] = parts[r>>8].ctype; + portalp[parts[i].tmp][count-1][nnx] = parts[r>>8]; if ((r&0xFF)==PT_SPRK) part_change_type(r>>8,x+rx,y+ry,parts[r>>8].ctype); else diff --git a/src/elements/prto.c b/src/elements/prto.c index 46c7250..4b6a576 100644 --- a/src/elements/prto.c +++ b/src/elements/prto.c @@ -34,29 +34,27 @@ int update_PRTO(UPDATE_FUNC_ARGS) { randomness=1; if (randomness>8) randomness=8; - if (portal[parts[i].tmp][randomness-1][nnx]==PT_SPRK)// TODO: make it look better, spark creation + if (portalp[parts[i].tmp][randomness-1][nnx].type==PT_SPRK)// TODO: make it look better, spark creation { - create_part(-1,x+1,y,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x+1,y+1,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x+1,y-1,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x,y-1,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x,y+1,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x-1,y+1,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x-1,y,portal[parts[i].tmp][randomness-1][nnx]); - create_part(-1,x-1,y-1,portal[parts[i].tmp][randomness-1][nnx]); - portal[parts[i].tmp][randomness-1][nnx] = 0; - portaltemp[parts[i].tmp][randomness-1][nnx] = 0; + create_part(-1,x+1,y,PT_SPRK); + create_part(-1,x+1,y+1,PT_SPRK); + create_part(-1,x+1,y-1,PT_SPRK); + create_part(-1,x,y-1,PT_SPRK); + create_part(-1,x,y+1,PT_SPRK); + create_part(-1,x-1,y+1,PT_SPRK); + create_part(-1,x-1,y,PT_SPRK); + create_part(-1,x-1,y-1,PT_SPRK); + portalp[parts[i].tmp][randomness-1][nnx] = emptyparticle; break; } - else if (portal[parts[i].tmp][randomness-1][nnx]) + else if (portalp[parts[i].tmp][randomness-1][nnx].type) { - np = create_part(-1,x+rx,y+ry,portal[parts[i].tmp][randomness-1][nnx]); + np = create_part(-1,x+rx,y+ry,portalp[parts[i].tmp][randomness-1][nnx].type); if (np<0) continue; - parts[np].temp = portaltemp[parts[i].tmp][randomness-1][nnx]; - parts[np].ctype = portalctype[parts[i].tmp][randomness-1][nnx]; - portal[parts[i].tmp][randomness-1][nnx] = 0; - portaltemp[parts[i].tmp][randomness-1][nnx] = 0; - portalctype[parts[i].tmp][randomness-1][nnx] = 0; + parts[np] = portalp[parts[i].tmp][randomness-1][nnx]; + parts[np].x = x+rx; + parts[np].y = y+ry; + portalp[parts[i].tmp][randomness-1][nnx] = emptyparticle; break; } } |
