Sparrow 1.4

Daniel Sperl on October 15, 2012

It has been several months since the last update to Sparrow. I’m sure that many loyal Sparrow users have noticed the lack of changes and are worrying that it doesn’t get the development time it needs to compete with other frameworks.

Indeed, I must admit that I totally underestimated the time effort of maintaining two frameworks at once. Even working for Gamua full-time did not help as much as anticipated: there is a lot of organizational stuff that has to be done, and the huge success of Starling drained all my time away from Sparrow.

Furthermore, the promised “Sparrow 2.0” is long overdue. That version will upgrade Sparrow to a modern architecture, powered by OpenGL ES 2 and the latest iOS APIs. The final target is to have Sparrow and Starling roughly in sync. While I still can’t give you a time estimate on when it will finally arrive, I can tell you that Sparrow 2.0 is already in active development, and we’re making good progress.

However, with the recent updates on iOS – namely, iOS 6 and the new iPhone 5 – the latest version already accumulated a little dust; namely, warnings and a few cumbersome configuration issues with the latest Xcode.

Thus, I decided to publish another version of the 1.x tree. That way, you have got an updated version that compiles without troubles with the latest Xcode, and runs fine on the new iPhone 5.

There are no revolutionary new features this time: it’s really just a maintenance update! Here is the complete list of changes:

  • added ‘readjustSize’ method to SPImage
  • added ‘fontName’ parameter in ‘registerBitmapFont’ methods (thanks, tconkling!)
  • added iOS 5 rotation code (thanks, Brian!)
  • added support for iOS 6 in Demo, Scaffold, and Barebone projects
  • added support for fractions of SP_NATIVE_FONT_SIZE (e.g. “SP_NATIVE_FONT_SIZE * 2”) for Bitmap Fonts
  • removed override of default architecture for Xcode 4.5 compatibility (thanks, theyonibomber!)
  • optimized ‘containsChild:’ method
  • optimized matrix rotation method
  • optimized ‘removeChildAtIndex:’ method (removed obsolete retain/release calls)
  • optimized transformation matrix calculations (matrix is now cached)
  • fixed leftover touches when app moves in background; existing touches are now canceled
  • fixed several warnings that popped up in iOS 6 SDK
  • fixed texture lookup: when 4x is requested but not available, 2x is tried before 1x
  • fixed exception when bitmap text contained two (or more) line feeds
  • fixed error caused by removal of sibling in REMOVED_FROM_STAGE event
  • fixed letterbox code of scaffold so that it works on the retina iPad
  • fixed hashing problems by renaming ‘isEqual’ to ‘isEquivalent’ in matrix, point, and rectangle classes

We have some exciting plans for Gamua, and Sparrow is an integral part of our strategy. :-)

Have fun with the new version!