Main Menu

PlayBASIC V1.41 BETA

Started by kevin, May 30, 2006, 01:44:18 PM

Previous topic - Next topic

kevin

PlayBASIC V1.39 BETA (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

 Well, here's the beta V1.39 with pixel perfect collision.  Currently it's NOT embedded into the SpriteHit / Sprite Overlap commands.  Purely for the sake ease while testing.



Download

   OLD BETA DELETED




History


1.39 26/31th,May,2006
* New TEST Commands
  - result=CompareSpritePixels(sprite1,sprite2)
* changes
  - added bounds checking on SpritePixel checks


kevin

#1
PlayBASIC V1.39b BETA (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

 Here's the next WIP beta of PlayBASIC V1.39.  This one has the recent Vector to Sprite pixels commands plus a handful more MMX optimizations in 32bit mode.  

Namely sprite modes

 2048-Colour Alpha
 4096-Colour Add
 8192-Colour Subtract.

Colour Alpha is pretty much twice as fast on my duron 800mhz  will now fade a 800*600*32bit screen at around 50fps (full screen exclusive mode).



History




  1.39c  5/6nd,June,2006
* Changes
 - Added MMX support to Alpha Colour Alpha/Add/SUB (32bit only) modes



  1.39b  1/4th,June,2006

* Changes
 - Accuracy# level added to pixel level collision
                 result=CompareSpritePixels(sprite1,sprite2,Accuracy#)

* New Command (test)
 - 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#)







kevin

#2
PlayBASIC V1.40 BETA (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

 PlayBASIC 1.40 rounds out the recent vector to sprite collision features with the addition shape To sprite pixels function .  It also includes a new shape buffering and render engine.   (So if you should find an existing shape that fails to now render.. lets us know)

 All the sprite hit commands now feature an accuracy parameter.  Obviously this parameter allows you to fine tune the level of accuracy you want.  The lower the accuracy, the better the performance.  I'd recommend either  %50 (0.5)  or  %75 (0.75) accuracy level.  You can do higher than 100 (1), but then work load will rapidly increase.

 While i'm going to change the collision modes to bit wise (at some point),  for now,  I'll most probably implement Pixel mode (mode6) for the time being.   Meaning that it'll work through the regular SpriteHit, SpriteOverlap commands.  Personally I'd probably recommended setting all your sprites collision modes to 'Rotated" and using Sprite HIT to find common impacts, then checking for a pixel level intersection.  Sprite Hit is more efficient than Spriteoverlap.



History


  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  





kevin

#3
PlayBASIC V1.41 BETA (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

   PlayBASIC 1.41 has the pixels modes embedded into SpriteHit + SpriteOverlap.   So you can  set a sprite to pixel mode (collision mode 6) and just 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.  

   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 whats soft in the image.  So if the sprite is solid, this will make every pixel hard.  ie. a solid rectangle.




History



  1.41     15/16th,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