Sparrow: Changelog ================== version 1.4 - 2012-10-10 ------------------------ - 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. *2, *0.5) 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 version 1.3 - 2012-03-07 ------------------------ - added support for ARC (automatic reference counting) - added support for device modifiers ('~iphone', '~ipad') in image filenames - added support for device modifiers in 'scale_textures.rb' script - added comprehensive new scaffold project featuring - auto rotation of Sparrow content - auto rotation of UIKit overlay (for iAds, etc.) - very simple support for universal applications - added 'BareBone' project, which replaces the old app scaffold - added support for new PVR texture types: I8, A8, AI88, RGB888 - added 'sortChildren' method to SPDisplayObjectContainer - added 'currentTime' property to SPTween - added 'fadeTo' method to SPTween - added 'SP_EVENT_TYPE_COMPILE', dispatched on children when a sprite is compiled - added 'broadcastEvent' method to SPDisplayObject - added 'setIndex:ofChild:' method to SPDisplayObjectContainer - added 'SP_SWAP' macro - added 'SP_CLAMP' macro - added check for invalid display tree recursion (adding a parent as a child) - added more utility methods to point, rectangle and matrix classes - added 'stop' method to SPMovieClip - updated license to require 'powered by Sparrow' information - updated graphics of demo project with new bird style - fixed object pooling for iOS 5 - fixed HD texture loading when SD texture is missing - fixed tweening integers to a negative value - fixed support of texture frames in bitmap fonts - fixed bounds method of empty sprite - fixed warnings that appeared in LLVM compiler - fixed 'isPlaying' property of movie clip version 1.2 - 2011-05-22 ------------------------ - added pivotX- and pivotY-property to SPDisplayObject to allow manipulation of the origin point - added support for GZip'ed PVR textures - added support for texture frames aka trimmed textures - added kerning to bitmap fonts (if the font file contains kerning information) - added [SPStage mainStage] method for quick access to the stage - added ability to choose between nearest neighbor, bilinear and trilinear texture filtering - added 'moveToX:y' and 'scaleTo:' methods to SPTween - added support for RGBA8888 texture format - added support for tweening unsigned integers - added events on each loop of an SPMovieClip - added support for directories when loading resource files; in iOS 3.x, that did not work before. - added color property to stage - added [NSBundle appBundle] extension method. This method is now used throughout the framework instead of [NSBundle mainBundle]. That way, unit tests will find their resource files, too. - updated button to behave just like a textfield: the text does not stretch any longer when width or height are changed - updated projects for Xcode4 - updated xml parsing to work around memory leak - fixed bounds-optimization of SPQuad, which might have failed in subclasses - fixed path handling of bitmap font and atlas classes - fixed that HD textures were only found within application bundle - fixed texture binding problems of SPRenderTexture - fixed generate_atlas.rb script to work with Ruby 1.9 - fixed looping behavior of tween and movie clip - fixed wrong scale setting when loading bitmap font with custom texture - fixed bug that caused Sparrow to treat new touch as if it was an existing one - fixed name of random number method because of conflicting keyword 'and' - fixed clearWithColor method - Special thanks to - Shilo White for the Pivot Point - Ludometrics for Bitmap Font kerning - Tadas Vilkeliskis for tweening of unsigned integers - Jonathan Shieh for his fix that allows unit tests to load files - Andreas Wålm for making generate_atlas.rb work with ruby 1.9 - numerous forum members for bug reports, suggestions and feedback! version 1.1 - 2011-01-12 ------------------------ - added SPRenderTexture - added SPUtils class for easy random number generation (more to come) - added support for looping and reversing tweens (thanks, Shilo!) - added new transition method: 'randomize' - added support for uncompressed PVR texture formats (565, 5551, 4444) - added simple way to use HD textures on the iPad - added support for creating dynamic texture atlases (add/remove regions on the fly) - added methods to access the glyphs of SPBitmapFont directly - added new init method to SPImage: 'initWithContentsOfImage:(UIImage *)image' - added more factory methods to different classes - added support for changing the fps of SPMovieClip at runtime (thanks Shilo!) - added AppleDoc inline API documentation - added bash script that generates API documentation - updated SPView class to be more robust - updated general rendering code (moved more OpenGL calls to SPRenderTexture) - fixed bug with canceled touch events - fixed bug that could cause a breakdown of the touch handling (thanks Kodi!) - fixed 'isEqual' method of SPMatrix (thanks Matt!) - fixed bug that could cut the outermost pixels of HD textures - Special thanks to numerous forum members for bug reports, suggestions and feedback! version 1.0 - 2010-10-24 ------------------------ - added support for PVRTC-textures - added new init method to SPTexture to allow simple use of Core Graphics drawings - added new init method to SPMovieClip that uses an NSArray containing the frames - added method 'childByName:' to SPDisplayObjectContainer - added method 'texturesStartingWith:' to SPTextureAtlas - added method 'scaleBy:' to SPPoint - added method 'interpolateFromPoint:toPoint:ratio:' to SPPoint - added property 'textBounds' to SPTextField - added property 'name' to SPDisplayObject - added workaround for unit test problem in Xcode 3.2.4 - updated SPCompiledSprite-class to be public - updated texture utilities for sharper output - updated scaffold so that it is easier to create an iPad application - fixed bug that classes inheriting directly from SPQuad were not rendered - fixed that last-moment changes were not displayed when pausing stage - fixed bug that could lead to a white flash when textures were released - Special thanks to numerous forum members for bug reports, suggestions and feedback! version 0.9 - 2010-07-30 ------------------------ - !!! interface change !!! The IDs of vertices in SPQuad and SPImage have changed. ("colorOfVertex:", "texCoordsOfVertex:") Before: 0 = top left, 1 = top right, 2 = bottom right, 3 = bottom left AFTER: 0 = top left, 1 = top right, 2 = bottom left, 3 = bottom right - greatly improved rendering speed of SPTextField when used with bitmap fonts - greatly improved performance of touch event analysis - added Sparrow atlas generator (sparrow/util/atlas_generator) - added Sparrow texture resizer (sparrow/util/texture_scaler) - added support for high resolution screens (aka iPhone4's retina display) - added support for high resolution textures ("texture@2x.png") - added support for high resolution texture atlases ("atlas@2x.xml") - added support for high resolution bitmap fonts ("font@2x.xml") - added support for loading textures that are not inside the application bundle - added support for loading sounds that are not inside the application bundle - changed base SDK to iOS 4.0 - added new event: SP_EVENT_TYPE_MOVIE_COMPLETED in SPMovieClip class - added experimental feature: SPCompiledSprite - added some missing "@private" declarations - fixed memory access violation when object was destroyed within an enter frame event listener - fixed bug that alpha values were only used when a texture was active - fixed bug that SPDelayedInvocation (aka SPJuggler::delayInvocationAtTarget) did not retain its arguments - fixed bug that cancelled touch events would inhibit further user input - code cleanup (especially concerning designated initializers) - Special thanks to: Mike, Baike, Paolo, Jule and Alex_H for bug reports, suggestions and feedback! version 0.8 - 2010-06-05 ------------------------ - added audio classes - added SPMovieClip class - added new transition functions: - easeInBack / easeOutBack / easeInOutBack / easeOutInBack - easeInElastic / easeOutElastic / easeInOutElastic / easeOutInElastic - easeInBounce / easeOutBounce / easeInOutBounce / easeOutInBounce - added 'removeTweensWithTarget:'-method to juggler - added 'removeAllChildren'-method to SPDisplayObjectContainer - added new text-only constructor to SPTextField - added NSXMLParserDelegate protocol statement for iPhone SDK 4+ - added packer2sparrow utility - added hiero2sparrow utility - changed transition function signature (removed delta) - changed rotation handling: angles now clamped from -180 to +180 degrees. this should make most rotation tweens more intuitive. - changed license text to allow easy AppStore distribution - changed scaffold project to support audio - changed demo project - new design - new scene: sound - new scene: movie - fixed touch issues when view size != stage size - fixed exception that occurred when the same object was added to a container twice - fixed flickering at application start - fixed method signatures in SPTexture.m - 'removeChild'-method in SPDisplayObjectContainer no longer throws an exception when the object is not a child, but now silently ignores the failure. - the stage property is now accessible in the REMOVED_FROM_STAGE event - disabled unit test execution in iPhone SDK < 3 (unit tests are only supported by iPhone SDK 3+) version 0.7 - 2010-01-14 ------------------------ - first public version