I came up with a thought recently. I tend to always copy an icon 32 times, move it in one direction, to get a scroll feel.
There must be a way to do this through code, and I achieved it! Problem is it lags. See code below.
world
New()
..()
ShiftIcons()
proc/ShiftIcons()
set background=1
var/icon/I = icon('Starmap.dmi')
I.Shift(NORTH,1,wrap=1)
for(var/turf/Space_Station/Space/T)
T.icon=I
spawn(10) ShiftIcons()
It's great for its use, but the lag doesn't justify it.
I'm now wondering if there's a way to essentially build a .dmi this way. Meaning along the lines of shifting an icon 32 times, saving each generated icon in a list, and then constructing an animated icon from it. Less CPU usage is better, and atleast it will only be needed during its initialization. Also with a decent system doing this, it can be used for larger textures. :D
Any ideas?