@codeman9: can you develop further the idea of using contentScaleFactor == 1.5 ? Is it possible to use any resolution ?
@Matt-Rix: thanks.
@slipster216: Actually you'll have to create 2 .plist files (as well as 2 .png files), one for SD and another for HD. (see below).
@all:
I've just created a sample using retina display BMFonts that works OK with and without retina display.
Basically you DO have to create a new set of config files (@Matt I've noticed that you were reusing the .fnt file).
If you want to create a SD and an HD version of a BMFont, then you have to create 4 files:
eg: Create an SD version using a font of size 32.
1. MyFont32.fnt
2. MyFont32.png
Then you MUST create another 2 files, but this time using size=64. But you must save them as 32-hd.
3. MyFont32-hd.fnt
4. MyFont32-hd.png
cocos2d won't parse the .fnt file (nor any other config file) and scale the bitmaps according the content scale value. Instead you should create 2 different config files, one for SD and the other for HD.
Another example:
If you have an spritesheet in SD, then you MUST have another .plist file in HD.
eg: spritesheet in SD
1.spritesheet1.plist
2.spritesheet1.png
spritesheet in HD
3.spritesheet1-hd.plist // <-- The coordinates in this file might be completely different than the SD version.
4.spritesheet1-hd.png
Why ?
1. Basically I think it much easier to maintain and extend if cocos2d doesn't "scale" the data files. The logic is in the data, not in the code.
2. An SD data file might be completely different from the HD version, so it would be impossible to "scale" the SD data up to HD.
I think that everything is working OK:
- I've tested allmost all the cocos2d objects, and they are working OK in SD and HD
- I've tested the CCFileUtils hook, and it is working OK.
Regarding the suffix, the default one is "-hd", but you can modify it from ccConfig.h.
If something is not working, or it is not clear, please let me know.
For the moment everything is in the "retina-display" branch, but I'll merge it soon to the "develop" branch.