Translated the C code to lua and added it to psych, kinda cool
C = {".",",","-","~",":",";","=","!","*","#","$","@"}; function onCreate()bg('bg',0,0,1280,720,'000000');text('donut','If you are seeing this\nI fucked something up',1000,0,50,20,'other');end function text(tag,text,width,x,y,size,cam)makeLuaText(tag, text, width, x, y); setTextSize(tag,size);addLuaText(tag);setObjectCamera(tag,cam);end function sTs(name,text)setTextString(name,text);end function bg(name,placeX,placeY,sizeX,sizeY,color)removeLuaSprite(name,true); makeLuaSprite(name,'',placeX,placeY);makeGraphic(name,sizeX,sizeY,color); setObjectCamera(name,'other');addLuaSprite(name,true);end sin,cos,w=math.sin, math.cos,math.floor;A,R, S=0,0.0704,1760;b,z={},{}; timer=0;function onUpdate(elp) timer=timer+elp; if timer>1/24 then timer=0;for i=0,S do z[i]=0;end for i=0,S do b[i]=i%80==0 and "\n"or" ";end V=6.28;B=A/2;for j=0,V,0.07 do for i=0,V, 0.02 do c, d, e, f, g=sin(i),cos(j),sin(A), sin(j),cos(A);h=d +2;D=1/(c*h*e+f*g+5); l, m, n = cos(i), cos(B), sin(B); t = c * h * g - f * e; x = w( 40 + 30 * D * (l * h * m - t * n) ); y = w(12 + 15 * D * (l * h * n + t * m)); o = w(x + 80 * y); N = w(8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n)) + 1; if 22 > y and y > 0 and x > 0 and 80 > x and D > z[o] then z [o] = D; b [o] = C[(N > 1 and N or 1)]; end end end A = A + R; sTs('donut', table.concat(b, "") );end end
COOL DAMN!!