diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-09-05 07:35:51 (GMT) |
|---|---|---|
| committer | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-09-05 07:35:51 (GMT) |
| commit | 8233d609062838af100513911ba543f05a0f6392 (patch) | |
| tree | 8ea8435e1a4bcb4697d1703277dba686598f35c0 /src/elements | |
| parent | 6f1b80ead59c78e89c38920ebfac06e285cb38cd (diff) | |
| download | powder-8233d609062838af100513911ba543f05a0f6392.zip powder-8233d609062838af100513911ba543f05a0f6392.tar.gz | |
Fix bugs with energy particles in PIPE
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/pipe.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/elements/pipe.c b/src/elements/pipe.c index 3aeaf7b..9502d38 100644 --- a/src/elements/pipe.c +++ b/src/elements/pipe.c @@ -134,8 +134,13 @@ void PIPE_transfer_pipe_to_part(particle *pipe, particle *part) part->ctype = pipe->pavg[1]; pipe->tmp &= ~0xFF; - part->vx = 0.0f; - part->vy = 0.0f; + if (!ptypes[part->type].properties & TYPE_ENERGY) + { + part->vx = 0.0f; + part->vy = 0.0f; + } + else if (part->type == PT_PHOT && part->ctype == 0x40000000) + part->ctype = 0x3FFFFFFF; part->tmp2 = 0; part->flags = 0; part->dcolour = 0; @@ -479,6 +484,8 @@ int graphics_PIPE(GRAPHICS_FUNC_ARGS) tpart.life = cpart->tmp2; tpart.tmp = cpart->pavg[0]; tpart.ctype = cpart->pavg[1]; + if (tpart.type == PT_PHOT && tpart.ctype == 0x40000000) + tpart.ctype = 0x3FFFFFFF; t = tpart.type; if (graphicscache[t].isready) { |
