diff options
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/dlay.c | 4 | ||||
| -rw-r--r-- | src/elements/wire.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/elements/dlay.c b/src/elements/dlay.c index 2a248ca..9e88320 100644 --- a/src/elements/dlay.c +++ b/src/elements/dlay.c @@ -42,6 +42,10 @@ int update_DLAY(UPDATE_FUNC_ARGS) { { create_part(-1, x+rx, y+ry, PT_SPRK); } + else if((r&0xFF)==PT_WIRE && oldl==1) + { + parts[r>>8].ctype=1; + } } //} return 0; diff --git a/src/elements/wire.c b/src/elements/wire.c index abdb982..1b5d150 100644 --- a/src/elements/wire.c +++ b/src/elements/wire.c @@ -22,7 +22,8 @@ int update_WIRE(UPDATE_FUNC_ARGS) { if(x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && pmap[y+ry][x+rx] && (rx!=0 || ry!=0) && (pmap[y+ry][x+rx]&0xFF)!=0xFF) { r = pmap[y+ry][x+rx]; - if((r&0xFF)==PT_SPRK){parts[s>>8].ctype=1; return 0;} + if((r&0xFF)==PT_NSCN && parts[s>>8].tmp==1){create_part(-1, x+rx, y+ry, PT_SPRK);} + if((r&0xFF)==PT_SPRK && parts[r>>8].ctype==PT_PSCN){parts[s>>8].ctype=1; return 0;} if((r&0xFF)==PT_WIRE && parts[r>>8].tmp==1){count++;} } } |
