News:

PlayBASIC2DLL V0.99 Revision I Commercial Edition released! - Convert PlayBASIC programs to super fast Machine Code. 

Main Menu

PlayBasic V1.44 _Retail Patch_ is Now Available

Started by kevin, June 19, 2006, 02:31:21 PM

Previous topic - Next topic

kevin




PlayBasic V1.42 _Retail Patch_ is Now Available


 This release patches the existing PB1.089c & PB1.33 retail releases, plus all of the subsequent retail patches (v1.11 up to 1.38) to the current retail release version of PBV1.42.


 Patch  PBV1.42 incorporates Pixel Perfect sprite collision additions and some VM refinements.   To access Pixel based collisions for sprites, set the SpriteCollisionMode to 6 and continue on.     Detection can also occur between mixtures of modes.   So a rotated collision mode(1) can impact on a pixel mode(6), or a shape(3) can hit on pixel sprite(6) and vice versa.    You can also do manual detection using the Point/Box/Ellipse/ShapeHitSpritePixels commands.

  Pixel level collisions always assume were comparing either two transparent images or a solid vector region to a transparent image. Obviously, since there's no masking, you can't determine what's hard and what's soft in the image.   So if the sprite is solid, that would make every pixel hard. i.e. a solid rectangle.  Making it pointless :)


 PBV1.42 also provides you with an accuracy control for pixel based collisions. That being SpriteCollisionAccuracy Level# and Level#=GetSpriteCollisionAccuracy().     It defaults to 1.0.    Which represents a 1 to 1 comparison (100% in other words). Generally speaking that's overkill though. %50 -> %75 is good trade off. Often you can go even lower, and barely notice it.   It's worth noting also, that since sprites are rotated and scaled, you'll loose some pixels through interpolation.  So if your game requires a lot of scaling down for example, then you might want to bump up the collision accuracy in those cases.   It's always going to be trade off between speed/memory and accuracy.  SO experiment and see what works best in your game.


For more information about PlayBasic, please visit the Play Basic home page, download the demo and dive right on in..

Url: www.PlayBasic.com




Download

  GET UPGRADES FROM THE MAINTENANCE BOARD




History



Version Date Dizzy
-------- ---- -----


  1.42     18/19th,June,2006
* Bugs
 - Fixed a logic issue where the source sprite cache could
   collide with the vector shape cache.

* opt's
 - reorder the opcode declaration table so it can separated
   in the runtime version.  Which removes 200 odd K from the
   the runtimes size.
 - removed more runtime 'safe code' screens.
 - replaced the generic get viewport routines from the clipper(s).
 


  1.41     15/17th,June,2006
*New Commands
 - SpriteCollisionAccuracy Accuracy#
 - Accuracy#=GetSpriteCollisionAccuracy()

* Added
 - Added the new pixel collision modes into the
                sprite collision commands (Spritehit, SpriteOverlap)

* Bugs
 - Fixed a buffer locking issue + debug sprite modes
  (shape outlines)
 - FindShapeBounding would only read the post rotated
   vertex buffer  



  1.40     9/15th,June,2006

* Changes
 - Completely rewrote the shape span buffering + rendering

* New Commands
 - ShapeHitSpritePixels(Shape,X,Y,Sprite,Accuracy#)

* Bugs
 - Clipping Spans to positive space to remove possible -1 crashes
 

  1.39c  5/8th,June,2006
* Changes
 - Added MMX support to Alpha Colour Alpha/Add/SUB (32bit only) modes
 - Added MMX support to Alpha Colour Alpha (16bit 565 mode only)
 - Added MMX support to Gouraud alpha ADD (512 mode) (32bit)



  1.39b  1/4th,June,2006

* Changes
 - Added  Accuracy# level to pixel level collision

* New Command (test)
                 result=CompareSpritePixels(sprite1,sprite2,Accuracy#)
 - result=PointHitSpritePixels(x1,y1,x2,y2,Sprite,Accuracy#)
 - result=BoxHitSpritePixels(x1,y1,x2,y2,Sprite,Accuracy#)
 - result=EllipseHitSpritePixels(x,y,radiusx,radiusy,Sprite,Accuracy#)
 - result=TriangleHitSpritePixels(x1,y1,x2,y2,x3,y3,Sprite,Accuracy#)
 - result=QuadHitSpritePixels(x1,y1,x2,y2,x3,y3,x4,y4,Sprite,Accuracy#)
 - result=LineHitSpritePixels(x1,y1,x2,y2,Sprite,Accuracy#)

  1.39 26/31th,May,2006

* New TEST Commands
 - result=CompareSpritePixels(sprite1,sprite2)

* changes
 - added bounds checking on SpritePixel checks



 


kevin

#1
PlayBasic V1.44 _Retail Patch_ is Now Available

 This release patches the existing PB1.089c & PB1.33 retail releases, plus all of the subsequent retail patches (v1.11 up to 1.44) to the current retail release version of PBV1.44.


For more information about PlayBasic, please visit the Play Basic home page, download the demo and dive right on in..

Url: www.PlayBasic.com