fix probably incorrect array access of struct members

use refcounted objects for textures instead of pass-by-value int structs

add support for 2d textures in sprite shader - fixes #386

(0) -30 -10 -3 +3 +10 +30 tip

mercurial