add spareexu method to canvas cleaner
This commit is contained in:
parent
fbb0c9b193
commit
e2dd53add6
|
@ -263,7 +263,11 @@ function Modtools() {
|
||||||
break;
|
break;
|
||||||
case 'spareext':
|
case 'spareext':
|
||||||
// eslint-disable-next-line max-len
|
// eslint-disable-next-line max-len
|
||||||
descCleanAction = t`Clean spare pixels that are surrounded by a single other color`;
|
descCleanAction = t`Clean spare pixels that are surrounded by unset pixels and up to 1 other set pixels`;
|
||||||
|
break;
|
||||||
|
case 'spareextu':
|
||||||
|
// eslint-disable-next-line max-len
|
||||||
|
descCleanAction = t`Clean spare pixels that are surrounded by a single other color or unset pixels (VERY AGGRESSIVE ON CANVASES THAT ALLOW UNSET PIXELS (where there are two cooldowns)!)`;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// nothing
|
// nothing
|
||||||
|
@ -571,7 +575,7 @@ function Modtools() {
|
||||||
selectCleanAction(sel.options[sel.selectedIndex].value);
|
selectCleanAction(sel.options[sel.selectedIndex].value);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{['spare', 'spareext'].map((opt) => (
|
{['spare', 'spareext', 'spareextu'].map((opt) => (
|
||||||
<option
|
<option
|
||||||
value={opt}
|
value={opt}
|
||||||
>
|
>
|
||||||
|
|
|
@ -53,6 +53,35 @@ const METHODS = {
|
||||||
},
|
},
|
||||||
|
|
||||||
spareext: (xc, yc, clrIgnore, canvasCleaner) => {
|
spareext: (xc, yc, clrIgnore, canvasCleaner) => {
|
||||||
|
let pxl = canvasCleaner.getPixelInChunkArea(xc, yc);
|
||||||
|
if (pxl === null || pxl < clrIgnore) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
let cntSet = 1;
|
||||||
|
let rplPxl = null;
|
||||||
|
for (let u = -1; u <= 1; u += 1) {
|
||||||
|
for (let v = -1; v <= 1; v += 1) {
|
||||||
|
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
||||||
|
if (pxl === null
|
||||||
|
|| (u === 0 && v === 0)
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (pxl >= clrIgnore) {
|
||||||
|
if (cntSet >= 2) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
cntSet += 1;
|
||||||
|
}
|
||||||
|
if (rplPxl === null) {
|
||||||
|
rplPxl = pxl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rplPxl;
|
||||||
|
},
|
||||||
|
|
||||||
|
spareextu: (xc, yc, clrIgnore, canvasCleaner) => {
|
||||||
let pxl = canvasCleaner.getPixelInChunkArea(xc, yc);
|
let pxl = canvasCleaner.getPixelInChunkArea(xc, yc);
|
||||||
if (pxl === null || pxl < clrIgnore) {
|
if (pxl === null || pxl < clrIgnore) {
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user