-- setup modules={} function _init() _doall("init") end function _update60() _doall("update") end function _draw() cls(0) _doall("draw") end function _doall(x) for n in all{x.."0",x,x.."2",x.."3"} do for mod in all(modules) do local f=mod[n] if (f) f(mod) end end end function klass() local k={} k.__index=k function k:new(...) local n={} setmetatable(n,k) n:init(...) return n end return k end function gsv(s) local ret=split(s,"\n") for i,v in ipairs(ret) do ret[i] = type(v) == "string" and split(v,"`") or {v} end return ret end function shuf(t) for i=#t,1,-1 do local j=flr(rnd(i))+1 t[i],t[j]=t[j],t[i] end end