Woken up this morning to discover that Namethatnobodyelsetook has solved the issue I was having with texture co-ordinates and now my sprite system is all working perfectly well as far as I can see. You have to love this site.
I'm just a bit unhappy with the current interface I have. I'm creating a bank of dynamic arrays of float rectangles, and passing an array in with the sprite file name that is filled with the texture co-ords of each image as it is placed. By the power of overloaded , I can now go:
which is roughly how I used to have DirectDraw work, but it feels a bit unflexible.
With DirectDraw, each of the images from a sprite file was created as a seperate Surface object that contained the DirectDraw surface pointer along with information about the height and width and so on, and these were then accessed like above, so for example the map cells were always referenced by Surfaces[TileIndex] and subsequent banks were only referenced dynamically in the level file. A static block object, for example, would have its X and Y in the level file, along with the bank and index numbers of its image.
Don't really know how I want this to work now. Need to have a ponder.