change smudge tool + make it use alpha layer
This commit is contained in:
parent
afbe8cf38e
commit
d74e281003
@ -2948,13 +2948,14 @@ void create_decoration(int x, int y, int r, int g, int b, int click, int tool)
|
|||||||
}
|
}
|
||||||
else if (tool == DECO_SMUDGE)
|
else if (tool == DECO_SMUDGE)
|
||||||
{
|
{
|
||||||
int rx, ry, num = 0;
|
int rx, ry, num = 0, ta = 0;
|
||||||
for (rx=-2; rx<3; rx++)
|
for (rx=-2; rx<3; rx++)
|
||||||
for (ry=-2; ry<3; ry++)
|
for (ry=-2; ry<3; ry++)
|
||||||
{
|
{
|
||||||
if ((pmap[y+ry][x+rx]&0xFF) && parts[pmap[y+ry][x+rx]>>8].dcolour)
|
if ((pmap[y+ry][x+rx]&0xFF) && parts[pmap[y+ry][x+rx]>>8].dcolour)
|
||||||
{
|
{
|
||||||
num++;
|
num++;
|
||||||
|
ta += (parts[pmap[y+ry][x+rx]>>8].dcolour>>24)&0xFF;
|
||||||
tr += (parts[pmap[y+ry][x+rx]>>8].dcolour>>16)&0xFF;
|
tr += (parts[pmap[y+ry][x+rx]>>8].dcolour>>16)&0xFF;
|
||||||
tg += (parts[pmap[y+ry][x+rx]>>8].dcolour>>8)&0xFF;
|
tg += (parts[pmap[y+ry][x+rx]>>8].dcolour>>8)&0xFF;
|
||||||
tb += (parts[pmap[y+ry][x+rx]>>8].dcolour)&0xFF;
|
tb += (parts[pmap[y+ry][x+rx]>>8].dcolour)&0xFF;
|
||||||
@ -2962,10 +2963,13 @@ void create_decoration(int x, int y, int r, int g, int b, int click, int tool)
|
|||||||
}
|
}
|
||||||
if (num == 0)
|
if (num == 0)
|
||||||
return;
|
return;
|
||||||
tr = (int)((float)tr/num+.5);
|
ta = min(255,(int)((float)ta/num+.5));
|
||||||
tg = (int)((float)tg/num+.5);
|
tr = min(255,(int)((float)tr/num+.5));
|
||||||
tb = (int)((float)tb/num+.5);
|
tg = min(255,(int)((float)tg/num+.5));
|
||||||
parts[rp>>8].dcolour = ((255<<24)|(tr<<16)|(tg<<8)|tb);
|
tb = min(255,(int)((float)tb/num+.5));
|
||||||
|
if (!parts[rp>>8].dcolour)
|
||||||
|
ta = max(0,ta-3);
|
||||||
|
parts[rp>>8].dcolour = ((ta<<24)|(tr<<16)|(tg<<8)|tb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void line_decorations(int x1, int y1, int x2, int y2, int rx, int ry, int r, int g, int b, int click, int tool)
|
void line_decorations(int x1, int y1, int x2, int y2, int rx, int ry, int r, int g, int b, int click, int tool)
|
||||||
|
Reference in New Issue
Block a user