Hi,
In my game, I have the following structure :
1) Bitmap font was generated and I got .fnt and .png files.
2) I embedded the .png into a texture atlas.
3) I generated a @2x version of the texture atlas. Some of the textures have double size versions, others just get supersampled. The bitmap font gets supersampled.
When I try to display letters from the bitmap font under retina, they show in the wrong positions. This is because the scale factor of the texture affects the texture coordinates twice : the width of the base texture is 2 and the SPSubTexture also reports its scale as 2, so the division by two happens twice.
I can fix this problem locally by changing SPSubTexture's scale to return 1 instead of returning its base texture's scale. This seems correct as the width and height that it reports are already affected by the scale.
However, I do not want to create a separate version of sparrow.
Does this change make sense? Am I doing something wrong and this is just a fix to that wrong-doing?