diff options
| author | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-08 11:17:44 (GMT) |
|---|---|---|
| committer | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-08 11:17:44 (GMT) |
| commit | 692e2ba86d694103bfcad00ddd6816fc96d595bd (patch) | |
| tree | ed85be243739b0dc17580491e0cf1fa95eeac646 /src | |
| parent | f53826b1506bd9078a47cf2c700684dbba03f858 (diff) | |
| download | powder-692e2ba86d694103bfcad00ddd6816fc96d595bd.zip powder-692e2ba86d694103bfcad00ddd6816fc96d595bd.tar.gz | |
Revert PCLN switching to original version.
For compatibility with some saves relying on the exact time
taken for a switch on/off to spread through adjacent PCLN dots.
Diffstat (limited to 'src')
| -rw-r--r-- | src/elements/pcln.c | 38 | ||||
| -rw-r--r-- | src/elements/sprk.c | 2 |
2 files changed, 22 insertions, 18 deletions
diff --git a/src/elements/pcln.c b/src/elements/pcln.c index 0ce469e..54fc611 100644 --- a/src/elements/pcln.c +++ b/src/elements/pcln.c @@ -2,25 +2,29 @@ int update_PCLN(UPDATE_FUNC_ARGS) { int r; - if (parts[i].life==10) - { - for (nx=-2; nx<3; nx++) - for (ny=-2; ny<3; ny++) - if (x+nx>=0 && y+ny>0 && - x+nx<XRES && y+ny<YRES && (nx || ny)) + for (nx=-2; nx<3; nx++) + for (ny=-2; ny<3; ny++) + if (x+nx>=0 && y+ny>0 && + x+nx<XRES && y+ny<YRES && (nx || ny)) + { + r = pmap[y+ny][x+nx]; + if ((r>>8)>=NPART || !r) + continue; + if ((r&0xFF)==PT_SPRK) { - r = pmap[y+ny][x+nx]; - if ((r>>8)>=NPART || !r) - continue; - if ((r&0xFF)==PT_PCLN) - { - if (parts[r>>8].life<10&&parts[r>>8].life>0) - parts[i].life = 9; - else if (parts[r>>8].life==0) - parts[r>>8].life = 10; - } + if (parts[r>>8].ctype==PT_PSCN) + parts[i].life = 10; + else if (parts[r>>8].ctype==PT_NSCN) + parts[i].life = 9; } - } + if ((r&0xFF)==PT_PCLN) + { + if (parts[i].life==10&&parts[r>>8].life<10&&parts[r>>8].life>0) + parts[i].life = 9; + else if (parts[i].life==0&&parts[r>>8].life==10) + parts[i].life = 10; + } + } if (!parts[i].ctype) for (nx=-1; nx<2; nx++) for (ny=-1; ny<2; ny++) diff --git a/src/elements/sprk.c b/src/elements/sprk.c index a4db735..7496897 100644 --- a/src/elements/sprk.c +++ b/src/elements/sprk.c @@ -87,7 +87,7 @@ int update_SPRK(UPDATE_FUNC_ARGS) { parts[r>>8].life = 9; } } - else if ((ct==PT_PSCN||ct==PT_NSCN) && (rt==PT_PUMP||rt==PT_HSWC||rt==PT_PCLN||(rt==PT_LCRY&&abs(nx)<2&&abs(ny)<2))) + else if ((ct==PT_PSCN||ct==PT_NSCN) && (rt==PT_PUMP||rt==PT_HSWC||(rt==PT_LCRY&&abs(nx)<2&&abs(ny)<2))) { if (ct==PT_PSCN) parts[r>>8].life = 10; else if (ct==PT_NSCN) parts[r>>8].life = 9; |
