greyscale = luminance = (0.3*red) + (0.59*green) + (0.11*blue)
to convert your sprites to greyscale i'd do something like (pseudocode):
...
tcolor = transparency color
for x = 1 to imagewidth
for y = 1 to imageheight
if point(x,y) <> tcolor `retain transparency
yr = rgbr(point(x,y))
yg = rgbg(point(x,y))
yb = rgbb(point(x,y))
yy =((yr*0.3)+(yg*0.59)+(yb*0.11))
dot x,y,rgb(yy,yy,yy)
else
dot x,y,tcolor `plot transparency color
endif
next y
next x
get image NewSprite,1,1,imagewidth,imageheight,1
...
i'm sure there are better/faster ways of doing this but this quick and dirty version gives you the idea.
good luck!
Virtual Nomad
Athlon XP1800+, Windows XP+SP2, Soyo K7V Dragon+ MB, 1.5Gb 333 RAM, ATI Radeon 8700LT (128Mb)