diff options
| author | Cracker64 <cracker642@gmail.com> | 2011-04-25 17:05:35 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-04-25 18:00:27 (GMT) |
| commit | 24f59050204017c641749c59a69e40d53074c028 (patch) | |
| tree | 230f97023a3d8afb21f91e853db28c239b89c59a /src/elements | |
| parent | 4c153d2f34b0228e398ef3d1d935004dba6a9318 (diff) | |
| download | powder-24f59050204017c641749c59a69e40d53074c028.zip powder-24f59050204017c641749c59a69e40d53074c028.tar.gz | |
portal now uses particles as storage, so it keeps everything.
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; } } |
