<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -38,6 +38,7 @@ Poeple/companies who were/are contributing code to cocos2d for iPhone (alphabeti
         Added Composite actions: AccelAmplitude, AccelDeccelAmplitude, DeccelAmplitude
     * Favo Yang: patch for unschedule timer in CocosNode
     * Florin Dumitrescu: added &quot;update score&quot; in cocosLive
+	    author of the sound engine: PASoundListener, PASoundMgr, PASoundSource
     * Fradj Johann: patches for CocosNode
 		patches for Layer
 		patches for MultiplexLayer
@@ -47,7 +48,7 @@ Poeple/companies who were/are contributing code to cocos2d for iPhone (alphabeti
     * Jacob Eiting: patches for Primitives
     * Jason Booth (slipster216): author of EaseAction
 		author of EaseAction demos
-		author of StreakDemo, MotionStreak
+		author of StreakDemo, MotionStreak and Ribbon
 		patch for ScaleTo/By action to support X and Y.
     * Joe Vennix: patches for CocosNode
     * kermidt.zed: patches for absolutePosition in CocosNode
@@ -74,7 +75,7 @@ Poeple/companies who were/are contributing code to cocos2d for iPhone (alphabeti
 		patches for License
     * Matt Oswald: fix to set depthbuffer size on Director
 		TextureAtlas supports Texture2D objects
-		author of AtlasSprite and AtlasSpriteManager
+		author of the original AtlasSprite and AtlasSpriteManager
     * rac5372: compiler warning in MenuItem
     * ratman: patch for TileMapAtlas: it works with 255 tiles
 		  patch for TextureMgr: supports directory within image names</diff>
      <filename>AUTHORS</filename>
    </modified>
    <modified>
      <diff>@@ -34,8 +34,8 @@ Main features
     * OpenGL ES 1.1 based 
 
 Experimental features:
-    * Ribbon / Motion Streak support
-	* Sound support
+    * Motion Streak / Ribbon support
+	* Sound Engine support
 
 This library does not work with the toolchain, but it
 should be easy to port it to it.</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -20,9 +20,32 @@
 
 #pragma mark AltasSprite
 
-/** AtlasSprite object is an sprite that is rendered using a TextureAtlas object.
- * In particular, the AtlasSpriteManger renders it. It supports all the basic CocosNode transformations like
+/** AtlasSprite object is  textured 2d object is rendered using a TextureAtlas object.
+ * In particular, the AtlasSpriteManager renders it. It supports the basic CocosNode transformations like
  * scale, position, rotation, visibility, etc.
+ *
+ * Features:
+ *  - AtlasSprite are much faster than Sprites.
+ *  - They support these transformations
+ *    -# rotation
+ *    -# position
+ *    -# scale (x,y)
+ *    -# opacity
+ *    -# RGB ( setRGB:::)
+ *    -# visibility
+ *  - Anchor point 
+ *
+ * Limitations of AtlasSprite:
+ *  - All of the AltasSprites
+ *  - They all use z-order 0.
+ *  - They can't have children
+ *  - Camera is not supported yet ( OrbitCamera action doesn't work)
+ *  - Grid actions are supported
+ *  - Alias or AntiAlias is a property of AtlasSpriteManager
+ *  - They only can be added to a AtlasSpriteManager
+ *  - They can't be &quot;parallaxed&quot;, but AtlasSpriteManager can
+ *
+ * @since v0.7.1
  */
 @interface AtlasSprite : CocosNode &lt;CocosNodeSize, CocosNodeFrames, CocosNodeOpacity, CocosNodeRGB&gt;
 {</diff>
      <filename>cocos2d/AtlasSprite.h</filename>
    </modified>
    <modified>
      <diff>@@ -253,6 +253,15 @@
 }
 
 //
+// Composition overload
+//
+-(id) addChild:(CocosNode*)child z:(int)z tag:(int) aTag
+{
+	NSAssert(NO, @&quot;AtlasSprite can't have children&quot;);
+	return nil;
+}
+
+//
 // Opacity protocol
 //
 -(void) setOpacity:(GLubyte) anOpacity</diff>
      <filename>cocos2d/AtlasSprite.m</filename>
    </modified>
    <modified>
      <diff>@@ -22,6 +22,13 @@
 
 /** AtlasSpriteManager is the object that draws all the AtlasSprite objects
  * that belongs to this Manager. Use 1 AtlasSpriteManager per TextureAtlas
+*
+ * Limitations:
+ *  - The only object that is accepted as child is AtlasSprite
+ *  - All it's children are Aliased or Antialiased. They can't be some Aliased and some Antialiased
+ *  - All it's children will have the same z-order: 0
+ * 
+ * @since v0.7.1
  */
 @interface AtlasSpriteManager : CocosNode
 {</diff>
      <filename>cocos2d/AtlasSpriteManager.h</filename>
    </modified>
    <modified>
      <diff>@@ -28,17 +28,17 @@ enum {
 @class GridBase;
 
 /** CocosNode is the main element. Anything thats gets drawn or contains things that get drawn is a CocosNode.
- The most popular CocosNodes are: Scene, Layer, Sprite.
+ The most popular CocosNodes are: Scene, Layer, Sprite, Menu.
  
- The main features of a cocosnode are:
- - They can contain other cocos nodes (add, get, remove, etc)
+ The main features of a CocosNode are:
+ - They can contain other cocos nodes (addChild, getChildByTag, removeChild, etc)
  - They can schedule periodic callback (schedule, unschedule, etc)
- - They can execute actions (do, pause, stop, etc)
+ - They can execute actions (runAction, stopAction, etc)
  
  Some CocosNodes provide extra functionality for them or their children.
  
  Subclassing a CocosNode usually means (one/all) of:
- - overriding init to initialize resources and schedule calbacks
+ - overriding init to initialize resources and schedule callbacks
  - create callbacks to handle the advancement of time
  - overriding draw to render the node    
  */ 
@@ -155,24 +155,27 @@ enum {
 
 // composition: ADD
 
-/** Adds a child to the container with z-order as 0 
- @return returns self
+/** Adds a child to the container with z-order as 0.
+ It returns self, so you can chain several addChilds.
+ @since v0.7.1
  */
 -(id) addChild: (CocosNode*)node;
 
 /** Adds a child to the container with a z-order
- @return returns self
+ It returns self, so you can chain several addChilds.
+ @since v0.7.1
  */
 -(id) addChild: (CocosNode*)node z:(int)z;
 
 /** Adds a child to the container with z order and tag
- @deprecated Will be removed in v0.8. Use addChild:z:tag instead
- @return returns self
+ It returns self, so you can chain several addChilds.
+ @since v0.7.1
  */
 -(id) addChild: (CocosNode*)node z:(int)z tag:(int)tag;
 
 /** Adds a child to the container with a z-order and a parallax ratio
- @return returns self
+ It returns self, so you can chain several addChilds.
+ @since v0.7.1
  */
 -(id) addChild: (CocosNode*)node z:(int)z parallaxRatio:(cpVect)c;
 
@@ -180,36 +183,35 @@ enum {
 
 /** Adds a child to the container with z-order as 0 
  @deprecated Will be removed in v0.8. Use addChild instead
- @return returns self
  */
 -(id) add: (CocosNode*)node __attribute__ ((deprecated));
 /** Adds a child to the container with a z-order
  @deprecated Will be removed in v0.8. Use addChild:z instead
- @return returns self
  */
 -(id) add: (CocosNode*)node z:(int)z __attribute__ ((deprecated));
 /** Adds a child to the container with z order and tag
  @deprecated Will be removed in v0.8. Use addChild:z:tag instead
- @return returns self
  */
 -(id) add: (CocosNode*)node z:(int)z tag:(int)tag __attribute__ ((deprecated));
 /** Adds a child to the container with a z-order and a parallax ratio
  @deprecated Will be removed in v0.8. Use addChild:z:tag:paralalxRatio instead
- @return returns self
  */
 -(id) add: (CocosNode*)node z:(int)z parallaxRatio:(cpVect)c __attribute__ ((deprecated));
 
 // composition: REMOVE
 
 /** Removes a child from the container. It will also cleanup all running actions depending on the cleanup parameter.
+ @since v0.7.1
  */
 -(void) removeChild: (CocosNode*)node cleanup:(BOOL)cleanup;
 
 /** Removes a child from the container by tag value. It will also cleanup all running actions depending on the cleanup parameter
+ @since v0.7.1
  */
 -(void) removeChildByTag:(int) tag cleanup:(BOOL)cleanup;
 
 /** Removes all children from the container and do a cleanup all running actions depending on the cleanup parameter.
+ @since v0.7.1
  */
 -(void) removeAllChildrenWithCleanup:(BOOL)cleanup;
 
@@ -247,6 +249,7 @@ enum {
 // composition: GET
 /** Gets a child from the container given its tag
  @return returns a CocosNode object
+ @since v0.7.1
  */
 -(CocosNode*) getChildByTag:(int) tag;
 
@@ -260,7 +263,7 @@ enum {
 
 /** Returns the absolute position of the CocosNode
  @deprecated Use convertToWorldSpace:CGPointZero instead. Will be removed in v0.8
- @return a cpVect value with the absolute position of the noe
+ @return a cpVect value
  */
 -(cpVect) absolutePosition __attribute__ ((deprecated));
 
@@ -290,15 +293,22 @@ enum {
  */
 -(Action*) do: (Action*) action __attribute__ ((deprecated));
 /** Executes an action, and returns the action that is executed
+ @since v0.7.1
+ @return An Action pointer
  */
 -(Action*) runAction: (Action*) action;
 /** Removes all actions from the running action list */
 -(void) stopAllActions;
 /** Removes an action from the running action list */
 -(void) stopAction: (Action*) action;
-/** Removes an action from the running action list given its tag */
+/** Removes an action from the running action list given its tag
+ @since v0.7.1
+*/
 -(void) stopActionByTag:(int) tag;
-/** Gets an action from the running action list given its tag */
+/** Gets an action from the running action list given its tag
+ @since v0.7.1
+ @return the Action the with the given tag
+ */
 -(Action*) getActionByTag:(int) tag;
 /** Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). 
  * Composable actions are counted as 1 action. Example:
@@ -348,6 +358,7 @@ enum {
 @protocol CocosNodeRGB
 /** set the color of the node.
  * example:  [node setRGB: 255:128:24];  or  [node setRGB:0xff:0x88:0x22];
+ @since v0.7.1
  */
 -(void) setRGB: (GLubyte)r :(GLubyte)g :(GLubyte)b;
 /// The red component of the node's color.
@@ -360,6 +371,7 @@ enum {
 
 
 /// Objects that supports the Animation protocol
+/// @since v0.7.1
 @protocol CocosAnimation
 /** reaonly array with the frames */
 -(NSArray*) frames;
@@ -371,6 +383,7 @@ enum {
 
 
 /// Nodes supports frames protocol
+/// @since v0.7.1
 @protocol CocosNodeFrames
 /** sets a new display frame to the node */
 -(void) setDisplayFrame:(id)newFrame;</diff>
      <filename>cocos2d/CocosNode.h</filename>
    </modified>
    <modified>
      <diff>@@ -23,13 +23,24 @@
 - (CGAffineTransform)nodeToWorldTransform;
 - (CGAffineTransform)worldToNodeTransform;
 
-// conversions
+/** converts a world coordinate to local coordinate
+@since v0.7.1
+*/
 - (CGPoint)convertToNodeSpace:(CGPoint)worldPoint;
-/// converts local coordinate to world space
+/** converts local coordinate to world space
+ @since v0.7.1
+ */
 - (CGPoint)convertToWorldSpace:(CGPoint)nodePoint;
 
-// treat returned/received node point as anchor relative
+/** converts a world coordinate to local coordinate
+ treating the returned/received node point as anchor relative
+ @since v0.7.1
+ */
 - (CGPoint)convertToNodeSpaceAR:(CGPoint)worldPoint;
+/** converts local coordinate to world space
+ treating the returned/received node point as anchor relative
+ @since v0.7.1
+ */
 - (CGPoint)convertToWorldSpaceAR:(CGPoint)nodePoint;
 
 </diff>
      <filename>cocos2d/CocosNodeExtras.h</filename>
    </modified>
    <modified>
      <diff>@@ -17,7 +17,12 @@
 #import &quot;MenuItem.h&quot;
 #import &quot;Layer.h&quot;
 
-/** A Menu */
+/** A Menu
+ * 
+ * Features and Limitation:
+ *  - You can add MenuItem objects in runtime using addChild:
+ *  - But the only accecpted children are MenuItem objects
+ */
 @interface Menu : Layer &lt;CocosNodeOpacity&gt;
 {
 	int selectedItem;</diff>
      <filename>cocos2d/Menu.h</filename>
    </modified>
    <modified>
      <diff>@@ -85,6 +85,16 @@
 	[super dealloc];
 }
 
+/*
+ * override add:
+ */
+-(id) addChild:(MenuItem*)child z:(int)z tag:(int) aTag
+{
+	NSAssert( [child isKindOfClass:[MenuItem class]], @&quot;Menu only supports MenuItem objects as children&quot;);
+	return [super addChild:child z:z tag:aTag];
+}
+
+
 #pragma mark Menu - Events
 
 - (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event</diff>
      <filename>cocos2d/Menu.m</filename>
    </modified>
    <modified>
      <diff>@@ -22,7 +22,30 @@
 #pragma mark Sprite
 
 @class Animation;
-/** a 2D sprite */
+/** Sprite object is a textured 2D sprite.
+ * Sprite supports ALL CocosNode transformations, but in contrast to AtlasSprite it is much slower.
+ * ONLY use Sprite if you can't achieve the same with effect with AtlasSprite, otherwise the use of
+ * AtlasSprite is recommended.
+ *
+ * Features:
+ *  - They support these transformations
+ *    -# rotation
+ *    -# position
+ *    -# scale (x,y)
+ *    -# opacity
+ *    -# RGB ( setRGB:::)
+ *    -# visibility
+ *    -# camera transformation (eg: OrbitCamera action)
+ *    -# grid effects (eg: Lens, Ripple, Waves, Twirl, etc)
+ *  - Sprite can can a z-order
+ *  - Sprite can have children
+ *  - Anchor point
+ *  - Aliased or AntiAliased
+ *  - They can be used to build a Parallax Scroll
+ *
+ * Limitations of Sprite:
+ *  - It doesn't perform as well as AtlasSprite
+ */
 @interface Sprite : TextureNode &lt;CocosNodeFrames&gt;
 {
 	NSMutableDictionary *animations;	</diff>
      <filename>cocos2d/Sprite.h</filename>
    </modified>
    <modified>
      <diff>@@ -12,13 +12,6 @@
  *
  */
 
-#import &lt;QuartzCore/QuartzCore.h&gt;
-#import &lt;OpenGLES/EAGLDrawable.h&gt;
-#import &lt;UIKit/UIKit.h&gt;
-#import &lt;OpenGLES/EAGL.h&gt;
-#import &lt;OpenGLES/ES1/gl.h&gt;
-#import &lt;OpenGLES/ES1/glext.h&gt;
-
 #import &quot;Texture2D.h&quot;
 #import &quot;TextureMgr.h&quot;
 </diff>
      <filename>cocos2d/TextureMgr.m</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,12 @@
 #import &quot;CocosNode.h&quot;
 
 
-/** A CocosNode that knows how to render a texture */
+/** A CocosNode that knows how to render a texture
+ * Features:
+ *  - opacity
+ *  - contentSize
+ *  - RGB (setRGB:::)
+ */
 @interface TextureNode : CocosNode &lt;CocosNodeOpacity, CocosNodeRGB, CocosNodeSize&gt; {
 
 	/// texture</diff>
      <filename>cocos2d/TextureNode.h</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@
 #import &quot;AtlasNode.h&quot;
 #import &quot;Support/TGAlib.h&quot;
 
-/** A TileMap that laods the font from a Texture Atlas */
+/** A TileMap that laods the texture from a Texture Atlas */
 @interface TileMapAtlas : AtlasNode {
 	
 	/// info about the map file</diff>
      <filename>cocos2d/TileMapAtlas.h</filename>
    </modified>
    <modified>
      <diff>@@ -25,13 +25,13 @@ DOXYFILE_ENCODING      = UTF-8
 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
 # by quotes) that should identify the project.
 
-PROJECT_NAME           = &quot;cocos2d for iPhone 0.7.0&quot;
+PROJECT_NAME           = &quot;cocos2d for iPhone 0.7.1&quot;
 
 # The PROJECT_NUMBER tag can be used to enter a project or revision number. 
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.7.0
+PROJECT_NUMBER         = 0.7.1
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. </diff>
      <filename>doxygen.config</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>385290f350fd227a55120a1584ed08f79ec800a8</id>
    </parent>
  </parents>
  <author>
    <name>ricardoquesada</name>
    <email>ricardoquesada@79afc9a6-2f50-0410-804d-6f1bdedaafc9</email>
  </author>
  <url>http://github.com/nullstyle/cocos2d-iphone/commit/644a10ad054acc580250f674a6c6b1330833a4ff</url>
  <id>644a10ad054acc580250f674a6c6b1330833a4ff</id>
  <committed-date>2009-03-19T06:37:02-07:00</committed-date>
  <authored-date>2009-03-19T06:37:02-07:00</authored-date>
  <message>better doxygen documentation

git-svn-id: http://cocos2d-iphone.googlecode.com/svn/trunk@711 79afc9a6-2f50-0410-804d-6f1bdedaafc9</message>
  <tree>5b64cc1fe93e2807e48c9dc7c54bb108aaa0f5b6</tree>
  <committer>
    <name>ricardoquesada</name>
    <email>ricardoquesada@79afc9a6-2f50-0410-804d-6f1bdedaafc9</email>
  </committer>
</commit>
