diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-08-11 08:53:02 (GMT) |
|---|---|---|
| committer | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-08-13 22:48:55 (GMT) |
| commit | 8ec0f41fb143a6bda08d078232f3d70b36328dc4 (patch) | |
| tree | 93b52bfef3bd66f04c62fa944728bb152079e56c /src/elements/sprk.c | |
| parent | a4c15746b8b3f6c187fbc7403fe5082883a8d9b7 (diff) | |
| download | powder-8ec0f41fb143a6bda08d078232f3d70b36328dc4.zip powder-8ec0f41fb143a6bda08d078232f3d70b36328dc4.tar.gz | |
Powered pipe, based on jacob1's commits
PSCN to turn on, NSCN to turn off, INST to reverse.
Differences from jacob1's commit include: flood fill function that
includes 1px diagonal pipes, powered/reversed state stored in tmp
instead of flags, sparks from PSCN/NSCN/INST always take effect the
following frame, single pixel pipe directions are a number from 0 to 7
so "if(coords)" does not check whether one is set (store another
"transfers according to 1px pipe direction" bit for reverse flow).
Diffstat (limited to 'src/elements/sprk.c')
| -rw-r--r-- | src/elements/sprk.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/elements/sprk.c b/src/elements/sprk.c index 291937a..1c4c5bc 100644 --- a/src/elements/sprk.c +++ b/src/elements/sprk.c @@ -154,6 +154,11 @@ int update_SPRK(UPDATE_FUNC_ARGS) { else if (ct==PT_NSCN && parts[r>>8].tmp == 3) parts[r>>8].tmp = 1; } + if (rt == PT_PPIP && parts[i].life == 3 && pavg!=PT_INSL) + { + if (ct == PT_NSCN || ct == PT_PSCN || ct == PT_INST) + PPIP_flood_trigger(x+rx, y+ry, ct); + } // ct = spark from material, rt = spark to material. Make conduct_sprk = 0 if conduction not allowed |
