Fixes the mess with sparrow.
authordsc <david.schoonover@gmail.com>
Thu, 5 May 2011 02:58:51 +0000 (19:58 -0700)
committerdsc <david.schoonover@gmail.com>
Thu, 5 May 2011 02:58:51 +0000 (19:58 -0700)
126 files changed:
.gitignore
libs/sparrow/BUILDING [new file with mode: 0644]
libs/sparrow/CHANGELOG [new file with mode: 0644]
libs/sparrow/LICENSE [new file with mode: 0644]
libs/sparrow/README [new file with mode: 0644]
libs/sparrow/doc/generate.sh [new file with mode: 0755]
libs/sparrow/src/Classes/SPALSound.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPALSound.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPALSoundChannel.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPALSoundChannel.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPAVSound.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPAVSound.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPAVSoundChannel.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPAVSoundChannel.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPAnimatable.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPAudioEngine.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPAudioEngine.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPBitmapChar.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPBitmapChar.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPBitmapFont.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPBitmapFont.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPButton.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPButton.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPCompiledSprite.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPCompiledSprite.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPDelayedInvocation.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPDelayedInvocation.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPDisplayObject.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPDisplayObject.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPDisplayObjectContainer.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPDisplayObjectContainer.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPDisplayObject_Internal.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPEnterFrameEvent.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPEnterFrameEvent.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPEvent.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPEvent.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPEventDispatcher.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPEventDispatcher.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPEvent_Internal.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPGLTexture.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPGLTexture.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPImage.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPImage.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPJuggler.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPJuggler.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPMacros.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPMatrix.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPMatrix.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPMovieClip.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPMovieClip.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPNSExtensions.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPNSExtensions.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPPoint.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPPoint.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPPoolObject.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPPoolObject.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPQuad.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPQuad.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPRectangle.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPRectangle.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPRenderSupport.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPRenderSupport.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPRenderTexture.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPRenderTexture.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPRendering.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPSound.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPSound.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPSoundChannel.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPSoundChannel.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPSprite.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPSprite.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPStage.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPStage.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPStage_Internal.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPSubTexture.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPSubTexture.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTextField.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTextField.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTexture.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTexture.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTextureAtlas.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTextureAtlas.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouch.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouch.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouchEvent.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouchEvent.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouchProcessor.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouchProcessor.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTouch_Internal.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTransitions.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTransitions.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTween.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTween.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPTweenedProperty.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPTweenedProperty.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPUtils.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPUtils.m [new file with mode: 0644]
libs/sparrow/src/Classes/SPView.h [new file with mode: 0644]
libs/sparrow/src/Classes/SPView.m [new file with mode: 0644]
libs/sparrow/src/Classes/Sparrow.h [new file with mode: 0644]
libs/sparrow/src/Sparrow.xcodeproj/project.pbxproj [new file with mode: 0755]
libs/sparrow/src/UnitTests-Info.plist [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPDelayedInvocationTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPDisplayObjectContainerTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPDisplayObjectTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPEventDispatcherTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPImageTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPJugglerTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPMatrixTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPMovieClipTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPNSExtensionsTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPPointTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPQuadTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPRectangleTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPStageTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPTweenTest.m [new file with mode: 0644]
libs/sparrow/src/UnitTests/SPUtilsTest.m [new file with mode: 0644]
libs/sparrow/util/atlas_generator/README [new file with mode: 0644]
libs/sparrow/util/atlas_generator/generate_atlas.rb [new file with mode: 0755]
libs/sparrow/util/hiero2sparrow/README [new file with mode: 0644]
libs/sparrow/util/hiero2sparrow/hiero2sparrow.rb [new file with mode: 0755]
libs/sparrow/util/packer2sparrow/README [new file with mode: 0644]
libs/sparrow/util/packer2sparrow/packer2sparrow.rb [new file with mode: 0644]
libs/sparrow/util/texture_scaler/README [new file with mode: 0644]
libs/sparrow/util/texture_scaler/scale_textures.rb [new file with mode: 0755]
tanks/tanks.xcodeproj/project.pbxproj

index edc082c..9fac711 100644 (file)
@@ -1,5 +1,5 @@
 # Xcode
-build/*
+*/build/*
 *.pbxuser
 !default.pbxuser
 *.mode1v3
diff --git a/libs/sparrow/BUILDING b/libs/sparrow/BUILDING
new file mode 100644 (file)
index 0000000..2f3e629
--- /dev/null
@@ -0,0 +1,46 @@
+----------------------------------------------------------------------------------------------------
+Sparrow: Tips for building an app
+----------------------------------------------------------------------------------------------------
+
+--- A First look at Sparrow ------------------------------------------------------------------------
+
+In the folder 'samples/demo', you will find an Xcode project that shows the most basic Sparrow
+features and how to use them. Just open the project in Xcode, compile and run - everything should
+work out of the box.
+
+--- Creating a new Xcode project that uses Sparrow -------------------------------------------------
+
+In the folder 'samples/scaffold', you will find an Xcode project that contains a bare-bone Sparrow
+application. We recommend that you use this project as a starting point for your game. Please follow
+this steps to use this Scaffold:
+
+Preconditions:
+
+Sparrow is linked to your application via Xcode project references. This has the advantage that it's
+easy to update Sparrow (just download a new release and overwrite the old one in the same directory)
+and that you can easily step into Sparrow source code, I case you want to do so.
+
+This has to be done only once:
+
+1. Set up a shared build output directory that will be shared by all Xcode projects.
+   * In the Xcode preferences, tab: "Building", set "Place Build Products in" to 
+    "Customized location" and specify a common build directory (anywhere you want).
+   * Set "Place Intermediate Build Files in" to "With build products."
+2. Add a "Source Tree" variable that Xcode can use to dynamically find Sparrow.
+   * In the Xcode preferences, tab: "Source Trees", create a new Source Tree variable.
+   * For Sparrow, create SPARROW_SRC and let it point to /some_valid_path/sparrow/src/
+
+Creating your new project:
+
+1. Copy the "scaffold"-folder to the place where you want to have your game project.
+2. Open "AppScaffold.xcodeproj"
+3. Build and run - just to see if everything works fine. If it does not work, check if you have 
+   created the SPARROW_SRC variable in Xcode, and if it points to the right place.
+4. In Xcodes menu, click on "Project" -> "Rename ..."
+5. Enter the name of your game.
+6. That's it! Now you can start to develop your game with Sparrow. 
+
+Selecting target hardware: iPhone / iPod Touch / iPad
+
+1. Enter the project Settings, tab: "Build"
+2. Select the target of your choice for the setting "Targeted Device Family"
\ No newline at end of file
diff --git a/libs/sparrow/CHANGELOG b/libs/sparrow/CHANGELOG
new file mode 100644 (file)
index 0000000..8aeb392
--- /dev/null
@@ -0,0 +1,110 @@
+----------------------------------------------------------------------------------------------------
+Sparrow: Changelog
+----------------------------------------------------------------------------------------------------
+
+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 
diff --git a/libs/sparrow/LICENSE b/libs/sparrow/LICENSE
new file mode 100644 (file)
index 0000000..7164bd5
--- /dev/null
@@ -0,0 +1,33 @@
+----------------------------------------------------------------------------------------------
+Sparrow: Simplified BSD License
+----------------------------------------------------------------------------------------------
+
+Copyright 2010 incognitek. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+   1. Redistributions of source code must retain the above copyright notice, this list of
+      conditions and the following disclaimer.
+
+   2. Redistributions in binary form must reproduce the above copyright notice, this list
+      of conditions and the following disclaimer in the documentation and/or other materials
+      provided with the distribution.
+
+   3. Redistributions via the Apple App Store constitute an exception to section 2. It is
+      sufficient to add a copy of this license to the application's internet page (if available).
+      The content of the following disclaimer is still in effect.
+
+THIS SOFTWARE IS PROVIDED BY INCOGNITEK ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INCOGNITEK OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the
+authors and should not be interpreted as representing official policies, either expressed
+or implied, of incognitek.
\ No newline at end of file
diff --git a/libs/sparrow/README b/libs/sparrow/README
new file mode 100644 (file)
index 0000000..9d9715c
--- /dev/null
@@ -0,0 +1,26 @@
+----------------------------------------------------------------------------------------------------
+Sparrow: an Open Source Framework for iPhone game development 
+----------------------------------------------------------------------------------------------------
+
+--- What is Sparrow? -------------------------------------------------------------------------------
+Sparrow is a pure Objective C library targeted on making game development as easy and hassle-free
+as possible. Sparrow makes it possible to write fast OpenGL applications without having to touch
+OpenGL or pure C (but easily allowing to do so, for those who wish). It uses a tried and tested
+API that is easy to use and hard to misuse.
+--- Who is Sparrow for? ----------------------------------------------------------------------------
+Obviously Sparrow is for iPhone developers, especially those involved in game development. You
+will need to have a basic understanding of Objective C – but there’s no way around that on the
+iPhone anyway.
+If you have already worked with Adobe™ Flash/Flex technology, you will immediately befriend with
+Sparrow since it uses lots of similar concepts and naming schemes. That said, everything is
+designed to be as intuitive as&n