<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>RBGLSprites Open Source Releases</title>
    <description>Charcoal Design's open source RBGLSprites software releases</description>
    <image>
      <url>http://www.charcoaldesign.co.uk/images/charcoal.png</url>
      <link>http://www.charcoaldesign.co.uk/realbasic</link>
      <title>RBGLSprites Open Source Releases</title>
      <description>Charcoal Design's open source RBGLSprites software releases</description>
      <width>96</width>
      <height>96</height>
    </image>
    <copyright>Copyright 2006, Charcoal Design</copyright>
    <link>http://www.charcoaldesign.co.uk/realbasic</link>
    <language>en-gb</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <pubDate>Mon 10/11/2008 20:00:13</pubDate>
    <item>
      <title>RBGLSprites Version 1.2.1</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Mon 10/11/2008 20:00:13</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[fix] Fixed a longstanding bug in the Sprite collision code that would cause part of the collision region not to register if the mask contained multiple independent collidable regions.&lt;/li&gt;
  
    &lt;li&gt;[opt] Improved collision efficiency for long, thin sprites by comparing bounding rectangles instead of bounding circles in some cases (prior to resorting to per-pixel collision testing).&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
    <item>
      <title>RBGLSprites Version 1.2</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Sat 08/11/2008 13:59:32</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[opt] Significantly improved collision detection performance for large numbers of sprites by using a radix sorting algorithm to sort by group.&lt;/li&gt;
  
    &lt;li&gt;[new] Added Paint event to RBGLSprite class which can be used to draw arbitrary content into the surface on top of the sprite, such as special effects or text.&lt;/li&gt;
  
    &lt;li&gt;[new] Added CollisionMask property to RBGLSprite class, which allows you to specify a separate image to use for collision detection which may differ from its visible shape.&lt;/li&gt;
  
    &lt;li&gt;[new] When running in Async mode the RBGLSpriteSurface now uses a thread instead of a timer for increased performance on Mac OS. You can specify the priority at which the thread will run as an additional optional parameter for the RBGLSpriteSurface.Run method. On Windows a timer is still used by default because the app crashes on quit if a thread is running.&lt;/li&gt;
  
    &lt;li&gt;[fix] When RBGLSprite.DebugCollisions is enabled, collision wireframes are now drawn in the correct place when the surface is scrolled.&lt;/li&gt;
  
    &lt;li&gt;[new] Added CanCollideWith method to RBGLSprite class.&lt;/li&gt;
  
    &lt;li&gt;[opt] Improved performance slightly by not drawing sprites that are off-screen.&lt;/li&gt;
  
    &lt;li&gt;[fix] SpriteSurface will no longer halt unexpectedly when another application if user quits another application whilst it is running.&lt;/li&gt;
  
    &lt;li&gt;[chg] App.DoEvents is no longer used when running the RBGLSurface in synchronous mode as it caused crashes on quit in Windows. This means ths the interface will freeze up, but this is consistent with the REALbasic SpriteSurface behaviour.&lt;/li&gt;
  
    &lt;li&gt;[fix] Fixed a bug in the private_sprite_collider class that could lead to incorrect bounding radii being calculated for sprites.&lt;/li&gt;
  
    &lt;li&gt;[chg] Upgraded RBGL library to version 1.6.2, which fixes a number of image rendering issues.&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
    <item>
      <title>RBGLSprites Version 1.1.1</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Sat 30/08/2008 15:52:47</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[fix] Fixed an issue that caused the second sprite added to the surface to be incorrectly sorted according to its priority.&lt;/li&gt;
  
    &lt;li&gt;[opt] Removed key detection caching as it was slowing down overall performance and is no longer needed.&lt;/li&gt;
  
    &lt;li&gt;[opt] Made some optimisations to the sprite collision detection routines.&lt;/li&gt;
  
    &lt;li&gt;[fix] Fixed an issue with the screenshot function in the Asteroids demo that caused multiple save dialogues to appear on Windows.&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
    <item>
      <title>RBGLSprites Version 1.1</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Fri 29/08/2008 01:26:01</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[new] RBGLSprites now have an Orientation property that can be used to rotate them to an arbitrary angle.&lt;/li&gt;
  
    &lt;li&gt;[new] RBGLSprites now have pixel-perfect collision detection, even when rotated.&lt;/li&gt;
  
    &lt;li&gt;[new] If StretchBackdrop property is set on RBGLSpriteSurface the backdrop image will stretch to fill the SpriteSurface and will not scroll.&lt;/li&gt;
  
    &lt;li&gt;[new] Added NextFrame and Collision events to the RBGLSprite class. The events are called automatically by the RBGLSpriteSurface prior to its own equivalents. You can use these events to manage your sprites in a more object-oriented way.&lt;/li&gt;
  
    &lt;li&gt;[new] Added dt parameter to NextFrame event. This represents the number of seconds since the last frame was drawn (hopefully &lt; 1) and can be used for more accurate animation than relying on the FrameSpeed setting.&lt;/li&gt;
  
    &lt;li&gt;[fix] If the sprite priority is changed after attaching it to the RBGLSpriteSurface, the drawing order is now updated accordingly.&lt;/li&gt;
  
    &lt;li&gt;[opt] Replaced linear priority sorting algorithm with a faster binary insertion sort.&lt;/li&gt;
  
    &lt;li&gt;[fix] Fixed a bug in priority sorting algorithm that meant it didn't actually work.&lt;/li&gt;
  
    &lt;li&gt;[new] Added Centered property to RBGLSprite, false by default. If set, the sprite image with be centered on its coordinates instead of the coordinates representing the top left corner.&lt;/li&gt;
  
    &lt;li&gt;[new] Added PaintOverlay event to RBGLSpriteSurface. This event is ideal for drawing   head up displays or special effects on top of your sprites.&lt;/li&gt;
  
    &lt;li&gt;[new] Added Clear method to RBGLSpriteSurface which removes all sprites.&lt;/li&gt;
  
    &lt;li&gt;[new] Added SpriteCount property to RBGLSpriteSurface.&lt;/li&gt;
  
    &lt;li&gt;[fix] Fixed a memory leak that occured when removing multiple sprites from the surface during a frame update.&lt;/li&gt;
  
    &lt;li&gt;[new] You can now take a screenshot of all or part of the RBGLSpriteSurface using the GetPicture function inherited from RBGLCanvas.&lt;/li&gt;
  
    &lt;li&gt;[chg] Updated RBGL library to version 1.5.&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
    <item>
      <title>RBGLSprites Version 1.0.1</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Thu 14/08/2008 20:57:32</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[new] Updated RBGL to version 1.4 which includes a number of bug fixes (see the RBGL release notes for details).&lt;/li&gt;
  
    &lt;li&gt;[fix] Fixed a bug in RBGLSpriteSurface.Attach (thanks go to David Birns for spotting it).&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
    <item>
      <title>RBGLSprites Version 1.0</title>
      <link rel="alternate">http://www.charcoaldesign.co.uk/rbglsprites</link>
      <pubDate>Fri 11/07/2008 14:52:11</pubDate>
      <description>
        &lt;p&gt;
        The RBGLSprites module is a complete re-implementation of the REALbasic SpriteSurface using the RBGL classes as a base. Like the RBGLCanvas and RBGLGraphics classes, RBGLSpriteSurface is designed to mimic the behaviour of the existing control. Includes examples.
      &lt;/p&gt;
        &lt;p&gt;Links:
          
              &lt;a href="http://www.charcoaldesign.co.uk/rbglsprites"&gt;About&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/resources/rbgl-sprites.zip"&gt;Download&lt;/a&gt;
              |
              &lt;a href="http://www.charcoaldesign.co.uk/http://charcoaldesign.svn.beanstalkapp.com/rbglsprites"&gt;SVN&lt;/a&gt;
              
        &lt;/p&gt;
        &lt;p&gt;Release Notes:&lt;/p&gt;
        &lt;ul&gt;
    &lt;li&gt;[new] Initial release.&lt;/li&gt;
  &lt;/ul&gt;
      </description>
      <guid isPermaLink="true">
        <link rel="alternate">http://www.charcoaldesign.co.uk/oss#rbgl-sprites</link>
      </guid>
      <enclosure url="http://www.charcoaldesign.co.uk/images/icons.rbgl-sprites.png" type="image/png" length="3535"/>
    </item>
  </channel>
</rss>
