Right. Using my Blitzmax core system I developed for this here is a concept for how it could work here:
Atlas extends image and has xsize and ysize. this basically gives an image basic minimum segments to work with. Assuming 8×8 was the minimum you could have sprites of any size conforming to 8, say 16×8 alongside 8×16, etc
Sprite takes an Atlas, start x,y segment, and size x,y segment.
E.G.
Atlas1 =  “blah.png”, 8,8
Sprite1 =  Atlas1, 0,0, 2,2
would be using Atlas1, starting at 0,0 with a with of 16 (2×8) and height of 16 (2×8)
Sprite2 =  Atlas1, 2,0,1,1
would be using Atlas1, starting at 16 (2×8),0 with a with of 8 (1×8) and height of 8 (1×8)
in use instead of drawimage, it would be drawsprite
The coding is very simple as I have it all here in OpenGL for Max and it just needs to be converted to monkey2 – which is openGL too!
It would also mean I can integrate both directly into ted21 editor
Thoughts?