UnderwareDESIGN

General => News => Topic started by: kevin on January 28, 2007, 06:09:30 AM

Title: PlayBASIC Retail Upgrade Announcements
Post by: kevin on January 28, 2007, 06:09:30 AM

(http://www.underwaredesign.com/PlayBasicSig.png)

PlayBASIC Retail Upgrade List

 This thread contains a list of retail upgrade announcements made over the last few years.  The latest releases will always be at bottom of the thread.




List of PlayBASIC V1.64 based upgrades


      (OLDEST TO NEWEST)

 
     * PlayBASIC V1.64  Retail Upgrade is Released (http://www.underwaredesign.com/forums/index.php?topic=1774.msg17772#msg17772) (2nd, Sep, 2008)
     * PlayBASIC V1.64c  Retail Upgrade is Released (http://www.underwaredesign.com/forums/index.php?topic=1774.msg18025#msg18025) (30th, Sep, 2008)
     * PlayBASIC V1.64h _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg19165#msg19165) (12th, Jan, 2009)
     * PlayBASIC V1.64i _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg19590#msg19590) (5th, Mar, 2009)
     * PlayBASIC V1.64j _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg20452#msg20452) (1st,June, 2009)
     * PlayBASIC V1.64j2 _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg21045#msg21045) (14th, Sep, 2009)
     * PlayBASIC V1.64k _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg21762#msg21762) (15th, Dec, 2009)
     * PlayBASIC V1.64k Rev#2 _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg21943#msg21943) (2nd, Jan, 2010)
     * PlayBASIC V1.64L _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg22518#msg22518) (27th, Apr, 2010)
     * PlayBASIC V1.64M _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg23463#msg23463) (1st, Dec, 2010)
     * PlayBASIC V1.64N _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg24884#msg24884) (19th, Nov, 2011)
     * PlayBASIC V1.64N2 _Retail Upgrade_ is Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg25776#msg25776) (25th, July, 2012)
     * PlayBASIC V1.64N3 / V1.64N3b / V1.64N3c & V1.64N3d _Retail Upgrades_ Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg26275#msg26275) (11th, Dec, 2012)
     * PlayBASIC V1.64O _Retail Upgrade_ Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg27548#msg27548) (9th, Aug, 2013)
      * PlayBASIC V1.64P _Retail Upgrade_ Now Available (http://www.underwaredesign.com/forums/index.php?topic=1774.msg28470#msg28470) (22nd, Sep, 2014)
 
 




upgrades older than V1.,64


  The first page or so of this thread contains upgrade announcements for the last versions of PlayBASIC 1.63 (2007->2008)  




(http://www.underwaredesign.com/PlayBasicSig.png)

PlayBASIC V1.63e _Retail Patch_ is Now Available (January 28, 2007)

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

 Release PB1.63e includes PB Compiler, Release + Debug Runtimes + Help files.   This is release should round out the last few tidbits in the 1.63 revision.


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

Url: www.PlayBasic.com (http://www.playbasic.com)

Title: Re: PlayBasic V1.63f _Beta_ Available
Post by: kevin on June 06, 2007, 09:10:28 AM
PlayBASIC V1.63f BETA ( June 06, 2007)

  PlayBASIC V1.63f is re-engineered beta F of PB 1.63 retail. This version looks to correct an few remaining issues in Vm2 mem manager, file system and string engine.  

   Like all beta's, it's absolutely critical that you run as much code through this edition as humanly possible.   So TEST IT NOW !



Title: Re: PlayBasic V1.63g _Retail BETA_ is Now Available
Post by: kevin on June 08, 2007, 12:44:05 PM
  PlayBASIC V1.63g BETA (June 08, 2007

  PlayBASIC V1.63g is re-engineered beta G of PB 1.63 retail re-release.   This version looks to correct the last issues in Vm2 mem manager, file system and string engine.  


Title: PlayBasic V1.63g _Retail Patch_ is Now Available
Post by: kevin on June 11, 2007, 11:46:50 AM
  PlayBASIC V1.63g _Retail Patch_ is Now Available (june 11, 2007

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

   Release PB1.63g includes PB Compiler, Release / Debug Runtimes & Help files.   This is a re-release of sorts to correct a  few chestnuts  found in the PB1.63e release.   The issues found mainly related to VM2 memory manager and the recently optimized (cough) rewritten libraries for it (strings engine, file system).      


  For more information about PlayBASIC, please visit the Play Basic home page, download the free (120 day) trial version and dive right on in..

  Url: www.PlayBasic.com (http://www.playbasic.com)



Title: Re: PlayBasic V1.63h _Retail Patch_ is Now Available
Post by: kevin on July 17, 2007, 11:51:17 AM
  PlayBASIC V1.63h (July 17, 2007)

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

   The PB1.63h package includes the latest PB Compiler, Release / Debug Runtimes,  IDE 1.15f   and the 1.63 project  & brand new cross referenced Help files  (revision 8).     This package effectively represents a complete overhaul of PB.  Apart from the updated Examples and Help files, the main additions to 1.63 have been a few new features (new blit modes),   lots of new optimizations (faster FOR/NEXT loops / Alpha blended etc)  and a couple of bug fixes for good measure.

 For more information about PlayBasic, please visit the Play Basic home page, download the 120 day free trial version and dive right on in..

 Url: www.PlayBasic.com (http://www.playbasic.com)


Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on July 20, 2007, 02:54:33 PM
  PlayBASIC Demo Updates (July 20, 2007)

   To coincide with the release PlayBASIC V1.63h,  we're in the process of rebuilding  and updating some of the older PlayBasic demos.   The benefit of rebuilding the demos means not only better compatibility with new OS's like Vista,  but also better performance.    The updating will be taking place over the next few days, so feel free to revisit them.  


Updated

*  Play Baster  (http://www.underwaredesign.com/forums/index.php?topic=615.msg6049#msg6049)  (Updated All The Source)

*  Kyruss  (http://www.underwaredesign.com/forums/index.php?topic=529.0) (Recompiled)

* Uw3D - Software 3D Tech Demo (http://www.underwaredesign.com/forums/index.php?topic=490.msg14015#msg14015)

* PlayShape V0.06 (http://www.underwaredesign.com/forums/index.php?topic=1532.msg11544#msg11544)

* Play Mapper Classic V1.08 (http://www.underwaredesign.com/forums/index.php?topic=1503.msg11381#msg11381)

*  Axis (exe & src) (http://www.underwaredesign.com/forums/index.php?topic=1278.msg13942#msg13942)

*  Street Fighter Tech Demo  (http://www.underwaredesign.com/forums/index.php?topic=595.0)

*  2D platformer in 3D world Tech Demo  (http://www.underwaredesign.com/forums/index.php?topic=1080.0)

*  Pixel Perfect Sprite Collision  (http://www.underwaredesign.com/forums/index.php?topic=618.0)

*  Ray Hit Sprite Demo  (http://www.underwaredesign.com/forums/index.php?topic=674.0)  (Recompiled)

*  Textured Terrain  (http://www.underwaredesign.com/forums/index.php?topic=1509.0) (Recompiled)

*  Xenon 2000 + Source (http://www.underwaredesign.com/forums/index.php?topic=499.0)

*  PB racer  [mode7 styled racing] + Source (http://www.underwaredesign.com/forums/index.php?topic=1534.0)

*  Thesius XIII - Forest Blaster  (http://www.underwaredesign.com/forums/index.php?topic=1896.msg14043#msg14043)

 More to come..


Play Mapper Classic V1.09 Updated

  This update fixes some issues with adding/renaming layers in loaded maps.

Play Mapper Classic V1.09 (http://www.underwaredesign.com/forums/index.php?topic=1503.msg11381#msg11381)


Title: Re: PlayBasic V1.63m _Retail Patch_ is Now Available (Final)
Post by: kevin on August 18, 2007, 01:30:22 AM
PlayBASIC V1.63m (August 18, 2007)

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

   The PB1.63m package includes the latest PB Compiler, Release / Debug Runtimes,  IDE 1.15f, project/examples and Help files  (revision #8 ).

    This release adds support for accessing Static arrays fields from User Defined type pointers and address a few hidden chestnuts such string recursion/ comparison and string splitting differences found in the VM2 runtime when compared to the original VM.  The result is a fast and very stable development environment.  


  For more information about PlayBasic, please visit the Play Basic home page and download the 120 day free trial version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)


Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on August 23, 2007, 12:34:11 AM
PlayBasic V1.63n (August 23, 2007)

  This release patches the PB1.63m edition up to the current retail release version of PBV1.63n.   Therefore you'll need to install update PB1.63m prior to this one!

   The PB1.63n package includes the latest PB Compiler, Release / Debug Runtimes.  It corrects an issue with bitmap font character widths.


  For more information about PlayBasic, please visit the Play Basic home page and download the 120 day free trial version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on October 15, 2007, 12:26:40 PM
   PlayBASIC V1.63o _Retail Patch_ is Now Available (October 15, 2007)

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63o.   Therefore you'll need to install patch PB1.63m (listed above) prior to this one ! (if you haven't already)

   The PB1.63o package includes updates of  PB Compiler, Release / Debug Runtimes.   The only different to PB1.63n is that the runtime uses a different boot process.   Allowing better compatibility when running exe's upon strict OS-es.  Such as XP (user account /DEP) and Vista.    


  For more information about PlayBasic, please visit the Play Basic home page and download the FREEl version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Title: Re: PlayBasic V1.63p _Retail Patch_ is Now Available
Post by: kevin on October 16, 2007, 12:57:05 PM
 PlayBASIC V1.63p _Retail Patch_ is Now Available (October 16, 2007)


  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63o.   Therefore you'll need to install patch PB1.63m (listed above) prior to this one ! (if you haven't already)

  The PB1.63p package includes updates of  PB Compiler, Release / Debug Runtimes.   The only difference to PB1.63n/PB1.63o are that the PB1.63p runtimes now support various boot strategies.   Allowing even better compatibility when running exe's upon strict OS-es.  Such as XP (user account / DEP) and Vista.    


  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Title: Re: PlayBasic V1.63r _Retail Patch_ is Now Available
Post by: kevin on January 21, 2008, 09:15:17 AM
PlayBASIC V1.63r _Retail Patch_ is Now Available (January 21, 2008)

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63r.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

  The PB1.63r package includes updates of  PB Compiler, Release / Debug Runtimes.   The only difference to the previous PB1.63q runtimes, is that PB1.63r should now support file paths that use 8bit ASCII values.   Allowing better compatibility when running exe's upon strict OS-es.  Such as XP (user account / DEP) and Vista.    


  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)


Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on February 06, 2008, 01:08:03 PM
PlayBasic V1.63s _Retail Patch_ is Now Available (February 06, 2008)

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63s.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

 The PB1.63s package includes updates of PB Compiler, Release / Debug Runtimes. The main difference to the previous PB1.63r runtimes (that comes to mind), is that PB1.63s uses the same SpriteHit / SpritesOverlap behavior as PB1.7x and above revisions. Meaning that if you address a sprite that doesn't exist in this edition, PB will pop a runtime error (like it should have!).

  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)


Title: Re: PlayBasic V1.63u _Retail Patch_ is Now Available
Post by: kevin on February 26, 2008, 10:52:45 AM
PlayBASIC V1.63u _Retail Patch_ is Now Available (February 26, 2008)

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63u.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

 The PB1.63u package includes updates of PB Compiler, Release / Debug Runtimes.   The main difference to the previous PB1.63t2 runtimes is that this edition has a few tiny bug fixes.


  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)




Title: Re: PlayBasic V1.63v _Retail Patch_ is Now Available
Post by: kevin on March 12, 2008, 07:50:58 AM
 PlayBasic V1.63v _Retail Patch_ is Now Available(March 12, 2008)


  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63v.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

 The PB1.63v package includes updates of PB Compiler, Release / Debug Runtimes.   The main difference to the previous PB1.63v runtimes is that this edition has more Linked List control functions added.


  For more information about PlayBasic, please visit the Play Basic home page and download the 120 day free trial version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)

Title: Re: PlayBasic V1.63v3 _Retail Patch_ is Now Available
Post by: kevin on March 22, 2008, 06:46:33 AM
PlayBasic V1.63v3 _Retail Patch_ is Now Available (March 22, 2008)

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63v3.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

   The PB1.63v3 package includes updates of PB Compiler, Release / Debug Runtimes. The main difference to the previous PB1.63v runtimes is that this edition has a few parser tweaks, and now stores temp files in your windows/temp folder.   This should allow it to work better for user who run PB from a limited access account such as a user account.    There's a few more Linked List  functions also.

  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)


Title: PlayBasic V1.63v (compiler + IDE) BETA TESTING Required
Post by: kevin on March 27, 2008, 06:10:43 AM
PlayBasic V1.63v (compiler + IDE) BETA TESTING Required

  With the release of the learning edition pending, we want to ensure the PB v1.63 and it's companion IDE (1.17 ) are functioning to the best of our ability.   To do this, we need retail customers to  install the latest 1.63 updates (from the link bellow) and verify (test if with your projects and day to day programming  etcs)  it's functioning correctly on your system.  


Download

[plink] Get Update (http://www.underwaredesign.com/forums/index.php?topic=1182.msg15988#msg15988)[/plink]


Title: Re: PlayBasic V1.63v5 _Retail Patch_ is Now Available
Post by: kevin on April 02, 2008, 09:01:12 AM
 PlayBasic V1.63v5 _Retail Patch_ is Now Available

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63v5.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

   The PB1.63v4 package includes updates of PB Compiler, Release / Debug Runtimes. The main difference to the previous PB1.63v runtimes is that this edition includes a few extra helper commands.   Such as LoadNewFXIMage.  LoadNewDLL, ReadNewFile etc

  For more information about PlayBasic, please visit the Play Basic home page and download the free version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Download

  [plink] Download PB1.63v5 Retail Patch  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg16152#msg16152)[/plink]


Title: Re: PlayBasic V1.63v6 _Retail Patch_ is Now Available
Post by: kevin on April 09, 2008, 02:43:02 AM
 PlayBasic V1.63v6 _Retail Patch_ is Now Available

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63v6.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

   The PB1.63v6 package includes updates of PB Compiler, Release / Debug Runtimes. The main difference to the previous PB1.63v runtimes is that this edition is tweaked for the latest IDE betas and has some Runtime error trapping commands.   Such as GetRunTimeError, ClearRunTimeError.

  For more information about PlayBasic, please visit the Play Basic home page and download the 120 day free trial version and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Download

 [plink]  Download PB1.63v6 Retail Patch  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg16259#msg16259) [/plink]


Title: Re: PlayBasic V1.63w _Retail Patch_ is Now Available
Post by: kevin on May 26, 2008, 03:01:36 AM
 PlayBasic V1.63w _Retail Patch_ is Now Available

  This release patches the existing PB1.63m retail release to the current retail release version of PBV1.63w.   Therefore you'll need to install patch PB1.63m (at least) prior to this one ! (if you haven't already)

   The PB1.63w package includes updates of PB Compiler, Release / Debug Runtimes / IDE V1.17 and latest SLIBS and HELP files.    The main difference to the previous PB1.63v6 runtimes is that this edition has some memory manager bugs ironed out of it.


  For more information about PlayBasic, please visit the Play Basic home page and download the free learning edition and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Download

  [plink] Download PlayBasic V1.63w Retail Patch  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg16703#msg16703)[/plink]


Title: Re: PlayBasic V1.63w2 _Retail Patch_ is Now Available
Post by: kevin on May 27, 2008, 07:14:27 PM
 PlayBasic V1.63w2 _Retail Patch_ is Now Available

  This update addresses an issue with the previous 1.63w for users who didn't have the News templates installed.    So if you downloaded the 1.63w and got crashes fetching news, then you need to re-download it.



Download

 [plink]  ReDownload PlayBasic V1.63w Retail Patch (http://www.underwaredesign.com/forums/index.php?topic=1182.msg16703#msg16703)[/plink]


Title: Re: PlayBasic V1.63w10 BETA BETA is Now Available
Post by: kevin on July 22, 2008, 02:20:08 AM
Latest beta round up(July 22, 2008)



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


   PB V1.63w5 is re-engineered beta of PBV1.63 retail update.    This version includes some major changes to underlying graphics engine, such as it's now can transparently convert between irregular pixel formats.   However this is only supported through the draw image functionality though.   Other things like texture mapping require the source and target surfaces be of the same pixel format.   If they're not, you'll either get some crazy looking graphics or possibly a crash.   This only applies to those people wanting to force PB to use a particular pixel format (image depth) regardless of the host computers pixel format.      

  Other changes to the graphics engine have been the near complete replacement of the span rendering routines, which is a big job !   Such such, all of the presently supported fill methods now include pure MMX machine code optimized and fall back fill variations.   This means that some of the fillers are much quicker than previously, although aren't also.  Since they we're already MMX optimized.

  This version is WIP however, replacing the span fillers is  lot of work,  so not all video formats are supported in this version.  24bit & 32bit should be fully supported, however the 16bit modes are missing some of the unusual inkmodes.      




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


   PB V1.63w6 is a re-engineered beta of PBV1.63 retail update.   This version continues on from where the previous #5 beta left off.  Im this edition we have a complete new span rendering engine, although it's only called from BOX/CLS commands.   The engine corrects a number of odd bugs in various fill modes and pixel formats (alpha addition in 565 pixel formats were broken) as well incorporating MMX support for all of the major pixel fillers.    The only mode that isn't really supported with the same vigor is 24bit.   24bit is included but for legacy only.  




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


   PB V1.63w7 is a re-engineered beta of PBV1.63 retail update.   In this version we have a new set of gouraud shading/filler routines, these are used behind such commands an GouraudTri/GouraudQuad and ShadeBox.   The new code is opt'd for 15/16/24 and 32 bit pixel formats.  As a result, all three high level commands are quicker,  the most notable is shadebox.  Which is about 30% faster across 800*600 fill area on my test machine.  




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


   PB V1.63w8 is a re-engineered beta of PBV1.63 retail update.   This version adds inkmode support for  gouraud shading/filler routines (most are 32bit only), as well as new inkmode called Inverted subtractive (4096).   It's another subtract mode how this one subtracts the destination from the source,  giving a coloured inverse effect.   Inverted subtractive is supported through the regular span filler as well as the update gourad filler, while the solid colour versions support alll pixel formats, the gouraud version is 32bit for the time being.

  Anyway, give it a test and lets us know if your programs work in it !





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


   PB V1.63w9 is a re-engineered beta of PBV1.63 retail update.   This version adds rounds off the pixel format support for  gouraud shading/filler routines.  While the gourauds don't support every Inkmore, the ones that are supported (Alpha50, AlphaAdd, AlphaSub, AlphaMult + Alpha InvSub) are supported in 15/16/24/32bit pixels formats.


 
 (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163_INV_Subtractive.jpg)

 (Inverted Subtractive)




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


   PB V1.63w10 is a re-engineered beta of PBV1.63 retail update.   This version adds an Anti Aliased Line render and a new bilinear filtered image scaler (FX surfaces only for the time being)

  Anyway, give it a test and let us know if your programs work in it !


Shape Tunnel Example

[pbcode]
   screen=NewFxIMage(GetScreenWidth(),GetScreenHeight())
   
   rings=200
   RingSize#=800

   FarDepth#=20000
   NearDepth#=10

   me=NewConvexShape(RingSize#,64)

   Edges=GetShapeEdges(me,0)*rings


   ClsColour=rgb(50,50,50)
      
   Do

      rendertoimage Screen


      CLs ClsColour
   
      ink $ffffff
      mx=getscreenwidth()/2
      my=getscreenheight()/2

      thisrgb=rgb(50,20,210)
      thisrgb= $ffffff

         zstep#=(NearDepth#-FarDepth#)/Rings
         near=0
         far=fardepth#
         
         projection#=400
      lockbuffer      
         For lp=0 to rings
            x#=cos(angle#+lp*2)*455
            y#=sin(angle#+lp)*255

            z#=FarDepth#+(lp*zstep#)

            ProjectedSize#=(RingSize#*projection#)/z#
            Scale#=ProjectedSize#/RingSize#
            rotateshape me,Angle#+(lp*10),Scale#

            sx#=mx+((x#*projection#)/z#)
            sy#=my+((y#*projection#)/z#)

            ColourScale=255-(250*(z#/far))
         
            ink RgbAlphaMult(ThisRgb,rgb(ColourScale,ColourScale,ColourScale))
;            DrawShape me,sx#,sy#,2
            DrawShape me,sx#,sy#,1
         next
      unlockbuffer      

      rendertoscreen
      setcursor 0,0
      ink rgb(255,255,255)
      angle#=wrapangle(Angle#,1)




      drawimage screen,0,0,false

      print fps()
      print edges
      Sync   
   loop



[/pbcode]

 (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163-Shape-Tunnel-Anti-ALiased-Lines.jpg)
  (AA Lines)


 (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB164-Bilinear-Sprite-Filtering.jpg)
(Filtering)





Download


[plink] Download PB 1.63 Beta 10 (http://www.underwaredesign.com/forums/index.php?topic=1150.msg17499#msg17499)[/plink]


Title: Re: PlayBasic V1.63w Beta 12 _Retail Patch_ is Now Available
Post by: kevin on August 03, 2008, 08:47:04 AM
Beta #12 Round up (August 03, 2008)


PlayBASIC V1.63w BETA12 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


PB V1.63w12 is a re-engineered beta of PBV1.63 retail update. This version uses the new surface description format and texture span rendering routines. But there's a catch, in this beta it only supports 32bit and only includes the solid/transparent routines at this point. This means that you run your program in 16/24 bit and use rotated sprites/textures then you'll get nothing on screen. Same goes for is you use sprite draw modes, if you say alpha add, it'll draw a solid polygon in this version. So if you run your demos and nothing appears, now you know why.



PlayBASIC V1.63w BETA 12b (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


PB V1.63w12 is a re-engineered beta of PBV1.63 retail update. This version introduces a bare bone edition of the new texture mapping routines. The new routines include universal support for a uniform defuse colouring of sprites, which lets you Tint the sprite colour in real time as well as Bilinear filtering. By default both modes are disabled. You can control them via the new SpriteTint and SpriteFilter commands. Sprite Tint requires a sprite index and tint colour. To disable Tint set the Tint colour to rgb(255,255,255). Moreover to enable filtering set sprites filter mode to ON. Be warned though, Filtering is very runtime expensive. For every one texel (pixel) you transform from texture space to the screen, it costs about 6 times that of normal 'truncated' texel. While the version of the filter is much quicker than it was (about 35% than yesterday), it's never going to be express.

Another new feature of the texture mapper, is that the new design makes buffer formats irrelevant. Meaning that all mappers include a 'generic' pixel version to handle irregular buffer formats or depreciated sprite draw modes. I should point that this version of the mapper only included the solid render routines (for any screen depth), but none of the other Sprite draw modes have been added. Spent all day on the damn filter :)

This means you can store textures in say 16bit (to save some memory if you wanted) and render them to any other buffer, be it 16bit, 24bit or 32bit. it won't be fast as optimized filler (about say %35->50 slower), but it's still more than useful.




Play Basic V1.63w BETA 12c (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


PB V1.63w12 is a re-engineered beta of PBV1.63 retail update. This version adds another expansion to the core texture mapper. Which now includes support for rendering from AFX formatted images (AFX images are 32bit images with Alpha Channel data). This means you can draw a tinted, filtered, scaled/rotated surface with Alpha Channel (solid or transparent) to any type of buffer. This gives you a world of new creative possibilities, provided you use your common sense.


(http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163w-Rotated-Filtered-Sprites-With-Alpha-Channel.jpg)

(http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163w-Filtered-Terrain-Demo.jpg)



WIP Gallery


    PlayBasic V1.63  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Title: Re: PlayBasic V1.63w Beta13 _Retail Patch_ is Now Available
Post by: kevin on August 06, 2008, 01:45:55 PM
BEta 13 Round Up


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


   PlayBASIC V1.63w13 is a re-engineered beta of PBV1.63 retail update.    This version changes course from beta 12.  This version includes the new compressed texture mapper at it's heart.  This new solution also includes texel processing abilities mentioned in the blog.  ATM, these are in test mode,  so are limited , plus not all of the original effects are supported also.        Moreover, While this version support Filtered sprites, filtering has no compressed support.  So texel processing and filtering can't be combined in this versions.

  Another change is the buffer conversion routines behind the prepareFXimage has been update.  The new changes allow AFX pixel formats to be built from any FX or video surface.  Surfaces without ALPHA channel (16/24 bit surfaces) have solid (none mask colour) pixels set to 255 in the output stream.


(http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163w13_Compressed_Defuse_ColourMask_Or_With_Alpha.jpg)







PlayBASIC V1.63w BETA 13b (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w13 is a re-engineered beta of PBV1.63 retail update.    This version corrects some issues with the previous beta and adds more texel processing effects to the texture mapper.  This version supports   Colour Flash,  ColourAlha, Colour ADD, Colour SUB, Colour Mask And& OR as well as colour tint, filtering and compression.   Making it about 60% or so of the way through the conversion.  



Download


[plink] Download PB 1.63 Beta 13b (http://www.underwaredesign.com/forums/index.php?topic=1150.msg17624#msg17624)[/plink]




WIP Gallery


PlayBasic V1.63  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on August 12, 2008, 01:08:16 PM
Beta #14 Round Up (August 12, 2008)


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


   PB V1.63w14 is a re-engineered beta of PBV1.63 retail update.    This includes the destination blending effects such as AlphaADD,AlphaSub,Alpha50 and Alpha Blend (variable).   These can be used in combination with the texel effects now.    Well providing your working in 32bit,  as not all pixel depths are supported in this version.   But this version pretty much includes all the previously functionality.   So you can start testing it with your projects.  

  This version is about 80% complete  

 This piccy is a group of TINTED Sprites with ALPHA ADD on output combination.

 (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163w14_Tinted_Sprtes_With_AlphaADD_Blending.jpg)






PlayBASIC V1.63w BETA 14b (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w14b is a re-engineered beta of PBV1.63 retail update.    This version  represents the first real workable replacement of the new sprite engine.      While not all sprite draw modes are supported,  it includes the following.

  * Supported Texel processing modes

      1024 = Colour Flash
      2048 = Colour Alpha (variable cross fade sprite with colour)
      4096 = Colour Alpha ADD
      8192 = Colour Alpha SUB
     65536 = Colour Mask Logical AND
    131072= Colour Mask Logical OR


  * Supported output modes   (these are 32bit only beta 14b)
      04 = AlphaMode. (Variable Alpha Blends the sprite image)
      08 = AlphaBlend 50/50
     16 = Alpha Addition
     32 = ALpha Subtraction


  As well as

   * Base Colour (Sprite Tint)
   * optional Filtering
   * Alpha Channel    


 The Following modes are NO longer supported.

  * NOT Supported Texel processing modes
         64 = Fade    
        128 = Gouraud Fade
        256 = RGB Gouraud 50/50 Alpha Blend
        512 = RGB Gouraud Alpha Addition
     16384 = Colour Replace
     32768 = Raster Bar Colour Replace






PlayBASIC V1.63w BETA 14c (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w14c is a re-engineered beta of PBV1.63 retail update.    This version  adds support for two render modes and is little more optimized than Beta 14b.    




WIP Gallery


PlayBasic V1.63  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)




Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on August 18, 2008, 08:37:25 PM
  BETA #15 ROUND UP


Play Basic V1.63w BETA 15 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


    PB V1.63w15 is a re-engineered beta of PBV1.63 retail update.    This version extends the destination blending support.  Allowing 16bit modes to be blended with Alpha50 and Alpha Addition.

   * Supported Texel processing modes

          64 = Fade       
       1024 = Colour Flash
       2048 = Colour Alpha (variable cross fade sprite with colour)
       4096 = Colour Alpha ADD
       8192 = Colour Alpha SUB
      16384 = Colour Replace
      65536 = Colour Mask Logical AND
     131072= Colour Mask Logical OR


   * Supported output modes   
       04 = AlphaMode. (Variable Alpha Blends the sprite image)  (32bit only in this beta)
       08 = AlphaBlend 50/50    (16 + 32bit supported)
      16 = Alpha Addition          (16 + 32bit supported)
      32 = ALpha Subtraction    (32bit only )


   As well as

    * Base Colour (Sprite Tint)
    * optional Filtering
    * Alpha Channel     


  The Following modes are NO longer supported.

   * NOT Supported Texel processing modes
         128 = Gouraud Fade
         256 = RGB Gouraud 50/50 Alpha Blend
         512 = RGB Gouraud Alpha Addition
      32768 = Raster Bar Colour Replace


   This version is about 90% complete,  from here's it's just tweaking the interface then rolling out 16bit / 24bit editions of the output methods..  I strongly recommend testing your programs in this edition.   If your program doesn't work in this, then it won't work in the update..






Play Basic V1.63w BETA 15c (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


    PB V1.63w15c is a re-engineered beta of PBV1.63 retail update.    This version includes destination blending support for 16bit & 32bit pixel modes.
  Allowing, Alpha Blend Variable,  Alpha50, Alpha ADDition, Alpha Subtraction and of course Solid.


   * Supported Texel processing modes

          64 = Fade       
       1024 = Colour Flash
       2048 = Colour Alpha (variable cross fade sprite with colour)
       4096 = Colour Alpha ADD
       8192 = Colour Alpha SUB
      16384 = Colour Replace
      65536 = Colour Mask Logical AND
     131072= Colour Mask Logical OR


   * Supported output modes   
       04 = Alpha Blend.           (Variable Alpha Blends the sprite image)  (16+ 32bit only in this beta)
       08 = AlphaBlend 50/50     (16 + 32bit supported)
       16 = Alpha Addition         (16 + 32bit supported)
       32 = ALpha Subtraction   (16 +32bit modes supported )


   As well as

    * Base Colour (Sprite Tint)
    * optional Filtering
    * Alpha Channel     


  The Following modes are NO longer supported.

   * NOT Supported Texel processing modes
         128 = Gouraud Fade
         256 = RGB Gouraud 50/50 Alpha Blend
         512 = RGB Gouraud Alpha Addition
      32768 = Raster Bar Colour Replace


   This version is about 90% complete,  from here's it's just tweaking the interface then rolling out 24bit editions of the output methods..  I strongly recommend testing your programs in this edition.   If your program doesn't work in this, then it won't work in the update..




Download


   DELETED ->  Newer version bellow





WIP Gallery


PlayBasic V1.63  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)



Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on August 21, 2008, 07:40:50 PM
Release Candidate Beta Testing



PlayBASIC V1.63w BETA 16  Release Candidate #1


   PB V1.63w16rc1 is a re-engineered beta of PBV1.63 retail update.    This version includes all the new functionality.  Now it needs field testing..


  * Supported Texel processing modes

         64 = Fade      
      1024 = Colour Flash
      2048 = Colour Alpha (variable cross fade sprite with colour)
      4096 = Colour Alpha ADD
      8192 = Colour Alpha SUB
     16384 = Colour Replace
     65536 = Colour Mask Logical AND
    131072= Colour Mask Logical OR


  * Supported output modes  
      04 = Alpha Blend.           (Variable Alpha Blends the sprite image)  (15, 16, 24+ 32bit supported)
      08 = AlphaBlend 50/50     (15, 16, 24 + 32bit supported)
      16 = Alpha Addition         (15, 16, 24 + 32bit supported)
      32 = ALpha Subtraction   (15, 16, 24 +32bit supported )


  As well as

   * Base Colour (Sprite Tint)
   * optional Filtering
   * Alpha Channel    


 The Following modes are NO longer supported.

  * NOT Supported Texel processing modes
        128 = Gouraud Fade
        256 = RGB Gouraud 50/50 Alpha Blend
        512 = RGB Gouraud Alpha Addition
     32768 = Raster Bar Colour Replace





PlayBASIC V1.63w BETA 16  Release Candidate #2 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w16rc2 is a re-engineered beta of PBV1.63 retail update.    This update restores the Gouraud combination modes in the sprite texture mapper.   It's been necessary to change how the Gouraud FADE mode works,  but only slightly (See note bellow).   Moreover there's a new pair of commands that allow some extra control over the triangulation of a sprite.  By default the PB1.63 gfx engine render quads, always has.  However with gouraud combination modes Triangles can sometimes look better (since the colours can spill over the quad at certain orientations).  To enable it set, SpriteTriangulated to TRUE.

  This version now includes all the new functionality.  Now it needs field testing..


  * Supported Texel processing modes

         64 = Fade      
        128 = Gouraud Fade    (NOTE: Use SpriteImageRGB to control the intensity at each vertex,  SpriteImageIntensity is obsolete)
        256 = RGB Gouraud 50/50 Alpha Blend
        512 = RGB Gouraud Alpha Addition
      1024 = Colour Flash
      2048 = Colour Alpha (variable cross fade sprite with colour)
      4096 = Colour Alpha ADD
      8192 = Colour Alpha SUB
     16384 = Colour Replace
     65536 = Colour Mask Logical AND
    131072= Colour Mask Logical OR


  * Supported output modes  
      04 = Alpha Blend.           (Variable Alpha Blends the sprite image)  (15, 16, 24+ 32bit supported)
      08 = AlphaBlend 50/50     (15, 16, 24 + 32bit supported)
      16 = Alpha Addition         (15, 16, 24 + 32bit supported)
      32 = ALpha Subtraction   (15, 16, 24 +32bit supported )


  As well as

   * Base Colour (Sprite Tint)
   * optional Filtering
   * Alpha Channel    


    The Following modes are NO longer supported.

  * OBSOLETTE Texel processing modes
     32768 = Raster Bar Colour Replace


  (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163wRC2_TexelGouraudAdd_with_AlphaAdd.jpg) -   (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163wRC2_TexelGouraudShade_with_AlphaAdd.jpg)





PlayBASIC V1.63w BETA 16  Release Candidate #3 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w16rc3 is a re-engineered beta of PBV1.63 retail update.   This update smooths out the functionality further and removes a bucket load of dead code.   The only changes in behavior are to the TextureTri, TextureQuad and DrawRotatedImage commands which can now respond to some InkMode methods.   Namely AlphaBlend, Alpha50, AlphaADD & AlphaSUB.    You can also enable filtering by setting bit 3 (As you do in PlayBasicFX)..

  Bit0= Mask (1) = MaskColour
  Bit1= Mask (2) = Use Alpha Channel   (PlayBasicFX only..)
  Bit2= Mask (4) = Not Used
  Bit3= Mask (8) = Filtering

   To draw a Filtered, solid  rotated image you'd use   a draw mode of 8,  to draw a transparent  filtering image you'd use 1+8 (9)..  You know bit masks.

   If the image you pass the function is an AFX formated image, then the solid pixels (no mask colour pixels) in the surface will be blended using the Alpha Channel.   This can used in combination with filtering also.   Filtering pretty much triples of the cost of every pixels rendered, so use sparingly.

   This version now includes all the new functionality.  Now it needs field testing..


  * Supported Texel processing modes

         64 = Fade      
        128 = Gouraud Fade    (NOTE: Use SpriteImageRGB to control the intensity at each vertex,  SpriteImageIntensity is obsolete)
        256 = RGB Gouraud 50/50 Alpha Blend
        512 = RGB Gouraud Alpha Addition
      1024 = Colour Flash
      2048 = Colour Alpha (variable cross fade sprite with colour)
      4096 = Colour Alpha ADD
      8192 = Colour Alpha SUB
     16384 = Colour Replace
     65536 = Colour Mask Logical AND
    131072= Colour Mask Logical OR


  * Supported output modes  
      04 = Alpha Blend.           (Variable Alpha Blends the sprite image)  (15, 16, 24+ 32bit supported)
      08 = AlphaBlend 50/50     (15, 16, 24 + 32bit supported)
      16 = Alpha Addition         (15, 16, 24 + 32bit supported)
      32 = ALpha Subtraction   (15, 16, 24 +32bit supported )


  As well as

   * Base Colour (Sprite Tint)
   * optional Filtering
   * Alpha Channel    


    The Following modes are NO longer supported.

  * OBSOLETTE Texel processing modes
     32768 = Raster Bar Colour Replace


  (http://www.underwaredesign.com/screens/PlayBasic/Releases/PB163wRC3_Filtered_TextureQuad_With_AlphaAdd.jpg)




Play Basic V1.63w BETA 16  Release Candidate #4 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


   PB V1.63w16rc4 is a re-engineered beta of PBV1.63 retail update.   This update corrects few more differences as well includes some integer opcode improvements in the VM for faster code execution.  Which make this update the fastest version (built on VM#1) available to date



Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on August 31, 2008, 10:14:06 AM
Play Basic V1.63w BETA 16  Release Candidate #7 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

     PB V1.63w16rc7 is a re-engineered beta of PBV1.63 retail update.   This version corrects a number of parser level bugs in the compiler.  Please be aware that such changes can also alter the parsers behavior in unforeseen situations.  So it's possible this version may refuse too compile old source codes.   I highly recommend testing your program is this version.     I won't be updating it post releasing the official patch.



WIP Gallery


PlayBasic V1.63  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Title: PlayBasic V1.64 _Retail Upgrade_ is Now Available
Post by: kevin on September 01, 2008, 09:53:38 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64  Retail Upgrade is Released (2nd, Sep, 2008)



  This release updates the existing PB1.63w2 retail release to the current retail release version of PBV1.64.   Therefore you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

  The PB1.64 package includes updates of PB Compiler, Release / Debug Runtimes &  IDE V1.17.   This update brings a world of new functionality to the graphics engine.   While most of the changes are to give the classic edition of PlayBasic the same basic controls as it's replacement (PBFX), there are some unique features also.   So without further adue, lets pick through the main ones.


 New Features Since Last Release (V1.63w)

 Sprite Engine Features
    * Sprite Tint (colourize a sprite)
    * Bilinear filtering  
    * Alpha Channel
    * Pixel input effects can be combined with output streams.  Allowing combinations of the effects to the processed.
    * New Image & Sprite mapping engine support texture compression and universal surface depth support.  Eg.  Allowing 16bit images to drawn to 32bit and vice versa.
    * Faster 32bit image rendering.


 Graphics Engine
    * Two new INK modes  Inverted subtractive and Multiply modes.  
    * Gouraud/textured polygons respond to all major InkModes.  
    * textured polygons support alpha channel and filtering.
    * Image rendering support rendering between mismatched surface depths.
    * Faster vector & image drawing generally with all fillers being MMX optimized.
 

 Compiler & RunTime

    * Integer Math optimizations for Faster Code Execution.  
    * Various Parser Bug fixes.  (nested typed pointers, etc)
    * Fixed Runtime memory deallocation issues with FX images.



  Make sure you read through the update History for the nitty gritty of all the new features/commands and differences.


  For more information about PlayBasic, please visit the Play Basic home page and download the free learning edition and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)




Download


  [plink] Download PB1.64 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg17771#msg17771)[/plink]




WIP Gallery


 PlayBasic V1.63 -> V1.64  WIP Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)




Title: Re: PlayBasic V1.63e _Retail Patch_ is Now Available
Post by: kevin on September 30, 2008, 08:57:13 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64c  Retail Upgrade is Released (30th, Sep, 2008)



  This release updates the existing PB1.63w2 retail release to the current retail release version of PBV1.63w.   Therefore you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

  The PB1.64c package includes updates of PB Compiler, Release / Debug Runtimes &  IDE V1.17.   The upgrade includes a few minor bugs.


  For more information about PlayBasic, please visit the PlayBASIC home page and download the free learning edition and dive in.

 Url: www.PlayBasic.com (http://www.playbasic.com)



Download

  [plink] Download PB1.64c Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg18024#msg18024)[/plink]

Title: Re: PlayBasic V1.64h _Retail Upgrade_ is Now Available
Post by: kevin on January 12, 2009, 07:06:55 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64h _Retail Upgrade_ is Now Available (12th, Jan, 2009)

  This release updates the existing PB1.63w2 retail release to the current retail release version of PlayBasic V1.64h.   Therefore you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

  The PB1.64h package includes updates of PB Compiler, Release / Debug Runtimes, IDE V1.17 & DOCS.    The main changes to this release (apart from bug fixes) would be the new image loading library.  This library allows you to Load BMP,TGA,PNG (with alpha channels) directly into PB.  Moreover this library is also used behind LoadMapGFX command, making it a lot less picky on the image format.     Other changes are to the internal rendering routines. Which should now universally support rendering of the AFX images in any pixel format.   AFX images are of course FX images with Alpha Channel.

  For example, you can load a PNG/TGA or even BMP (32bit) and have PB handle everything for you using the new LoadAFXimage and loadNewAFXimage commands.  These commands ensure the surface is kept 32bit, regardless of the users display depth.  So it'll just work.   Previously you could use the PrepareAFXimage command to convert a loaded (or created) surface.   But this process would fail if the users system was running the program in a 16 or 24bit display mode, due to their video hardware hardware.   Why ? - Those formats have no Alpha bits.     So creating a AFX surface from them is useless.

  One short coming that comes to mind, is that if you use GETIMAGE to cut frames from a larger AFX image,  this might not work correctly when the users display depth is not equal to 32bit.   So for the time being, it might be better to previously split those animations into a series of files.  Not ideal, but at least you don't have to use external libraries anymore.  Although you can if you need to.


  For more information about PlayBasic, please visit the Play Basic home page and download the FREE learning edition and dive in.

  Url: www.PlayBasic.com (http://www.playbasic.com)




Download Upgrade


  [plink] Download PB1.64h Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg19164#msg19164)[/plink]



Title: Re: PlayBasic V1.64i _Retail Patch_ is Now Available
Post by: kevin on March 04, 2009, 10:43:38 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64i _Retail Upgrade_ is Now Available (5th, Mar, 2009)

  This release updates the existing PB1.63w2 retail release to the current retail release version of PlayBasic V1.64i.   Therefore you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

  The PB1.64i package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17.    The main new additions in this editions would the introduction of PlayBasic's new  Compressed Raster Font engine (CRF for short), which includes not only faster rendering, but Alpha Channel and Tint support, but Compressed Raster font's can be drawn to any PB surface.   Speaking of  Alpha Channel support, you can now use AFX images with Maps also.  Beyond that,  speed wise 1.64I has a number of MMX machine code optimizations in the rendering engine and almost completely new revision of the scene buffer capturing code.  

  Note: Compressed Raster Fonts can't currently be created within a PB program (at least not easily), so in order to convert a Windows TrueType or a custom bitmap font, you'll have to do this manually.  At least for the time being.   See->  [plink] How to Create Compressed Raster Fonts (http://www.underwaredesign.com/forums/index.php?topic=2892.0) [/plink] for how


  For more information about PlayBasic, please visit the Play Basic home page and download the FREE learning edition and dive in.

  Url: www.PlayBasic.com (http://www.playbasic.com)




Gallery



(http://www.underwaredesign.com/screens/PlayBasic/Releases/PlayBASIC-V164I-Gallery.jpg)

PlayBasic V1.63 -> PlayBasic V1.64 Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Download Upgrade


  [plink] Download PB1.64i Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg19588#msg19588)[/plink] (requires log in)



Title: Re: PlayBasic V1.64j Retail Upgrade Released (1st,June,2009)
Post by: kevin on June 01, 2009, 06:58:03 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64j _Retail Upgrade_ is Now Available (1st,June, 2009)

  This release updates the existing PB1.63w2 - PB V1.64i retail release to the current retail release version of PlayBasic V1.64i. If your version is older, you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

  The PB1.64j package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17.    The main new additions in this editions are lots of new optimizations.  Faster filtering, polygons , binding etc etc


  For more information about PlayBasic, please visit the Play Basic home page and download the FREE learning edition and dive in.

  Url: www.PlayBasic.com (http://www.playbasic.com)




Gallery



(http://www.underwaredesign.com/screens/PlayBasic/Releases/PlayBASIC-V164j-Gallery.jpg)


PlayBasic V1.63 -> PlayBasic V1.64 Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Download Upgrade


  [plink]  Download PB1.64j Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg20448#msg20448) [/plink] (requires log in)



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on September 13, 2009, 11:10:02 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBasic V1.64j2 _Retail Upgrade_ is Now Available (14th, Sep, 2009)

  This release updates  PlayBasic V1.63w2 to V1.64j retail editions to the current retail release version of PlayBasic V1.64j2.   If your version is older than PB V1.63W, then you'll need to install patch PB1.63w2 (at least) prior to this one ! (if you haven't already)

   The PB1.64j2 package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17. The main changes are various SLIB updates and a very healthy 180K reduction in the runtime sizes.


  For more information about PlayBasic, please visit the Play Basic home page and download the FREE learning edition and dive in.

  Url: www.PlayBasic.com (http://www.playbasic.com)




Gallery


(http://www.underwaredesign.com/screens/PlayBasic/Releases/PlayBASIC-V164j2-Gallery.jpg)


PlayBasic V1.63 -> PlayBasic V1.64 Gallery (http://www.underwaredesign.com/forums/index.php?topic=2610.0)


Download Upgrade


  [plink]  Download PB1.64j2 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg20448#msg20448) [/plink] (requires log in)



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on December 15, 2009, 07:56:27 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64k _Retail Upgrade_ is Now Available (15th, Dec, 2009)


  This release updates the PlayBasic  V1.63w2 to PB V1.64i retail upgrades to the current retail release version of PlayBasic V1.64k.   If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)


  The PB1.64k package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17.  

  This upgrade focuses upon adding a number of new flexibilities to the core language, ranging from expansions to User Defined Types, Seven new Math operators, Optional Parameters Support in not only built in functions but users defined functions, Dynamic Function Calling (Call a function by name at runtime), Limited Array operators, Dynamic Array Creation (return arrays from functions) as well as Passing/Returning Individual Types from Functions/Psubs. All in All, there's a lot of new toys for you play with !


  To learn more about the titty gritty of these changes check out the  V1.64 WIP thread (http://www.underwaredesign.com/forums/index.php?topic=3216.0), which includes some examples and some theory stuff about this upgrade.


  For more information about PlayBasic, please visit www.PlayBasic.com (http://www.playbasic.com), download the free learning edition and dive in.

 

Download Upgrade


 [plink]  Download PB1.64k Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg21752#msg21752) [/plink]  (requires log in)



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on January 01, 2010, 11:50:25 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64k Rev#2 _Retail Upgrade_ is Now Available (2nd, Jan, 2010)


  This release updates the PlayBasic  V1.63w2 to PB V1.64k retail upgrades to the current retail release version of PlayBasic V1.64k Revision #2.   However, If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)

   This upgrade is mainly to correct some issues detected in previous release of V1.64k after release. These issues mostly concern internal and user defined function parameters.  Correcting issues with optional parameters and with long hand declarations.

   The only new functionality (that comes to mind) would be VSYNC support in windowed modes.    It's important to understand that you can't control the ends users displays refresh rate.   So therefore you shouldn't assume that everybody playing your game has their windows desktop refresh set to the same as yours.  So if your system has a refresh rate of 60 say, and your friends system has a refresh of 75.   Then your game will run faster on your friends system than yours.   Mind you, the same applies in full screen exclusives modes also !   So Vsync should be used to smooth out display refresh, not as a speed limiter!



  For more information about PlayBasic, please visit www.PlayBasic.com (http://www.playbasic.com), download the free learning edition and dive in.


 

Download Upgrade


  [plink]  Download PB1.64k Revision #2 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg21942#msg21942) [/plink]  (requires log in)



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on April 26, 2010, 10:02:35 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64L _Retail Upgrade_ is Now Available (27th, Apr, 2010)



  This release updates any of the PlayBasic  V1.63w2 to PB V1.64k2 retail versions up to the current retail release version of PlayBasic V1.64L .   If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The PlayBASIC V1.64L  package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   This upgrade features a number of minor and major changes to most of the core parts of the package.  For the compiler/runtimes there's the regular minor bug fixes, but really major  changes can be found in the documentation.  Namely with the addition of sub-category support, plus a number of the default libraries have been added to the main documentation.    Many of these libraries have also had some light touch up's also in process.  The main one would be the FrameSheetAnims library, which is now a default library.    

   What's not in this package ? - Well, Threading Support isn't available in this version of the package..  

  For more information about PlayBasic, please visit www.PlayBasic.com (http://www.playbasic.com), download the free learning edition and dive in.


 

Download Upgrade


  [plink]  Download PB1.64L Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg22517#msg22517) [/plink] (requires log in)



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on December 01, 2010, 10:31:01 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64M _Retail Upgrade_ is Now Available (1st, Dec, 2010)



  This release updates any of the PlayBASIC  V1.63w2 to PB V1.64L retail versions up to the current retail release version of PlayBASIC V1.64M .   If your version is older than PB1.63W, then you may need to install patch PB1.63w2 prior to this one ! Depends on how old.

   The PlayBASIC V1.64M  package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   This upgrade is perhaps one of the largest we've ever attempted, spanning some seven months of development time, and addressing virtually everything in the core command sets from  DEBUGGER,  FONTS,  SHAPES, SPRITES through to MAPS.    There's way too much to pick through now, so I highly recommend looking through the V1.64M WIP gallery (http://underwaredesign.com/?l=PlayBASIC_V164M_WIP_Gallery) for some insight in what new additions are hidden away in this release.  


   What's not in this package ? - Well, Threading Support isn't available in this version of the package..  

   For more information about PlayBASIC, please visit www.PlayBasic.com (http://www.playbasic.com), download the free learning edition and dive in.

 

WIP Gallery



(http://www.underwaredesign.com/screens/PlayBasic/Releases/PlayBASIC-V164M-Gallery.jpg)



Visit the PlayBasic V1.64m Work In Progress Gallery (http://underwaredesign.com/?l=PB_V164M_WIP_Gallery) for bigger pictures / movies, code examples .

 




Download Upgrade


  [plink]  Download PB1.64M Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg23462#msg23462)  [/plink] (requires log in)


Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on November 19, 2011, 04:01:20 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64N _Retail Upgrade_ is Now Available (19th, Nov, 2011)



  This release updates any of the PlayBASIC   V1.63w2 to PB V1.64L retail versions up to the current retail release version of PlayBASIC V1.64N .   If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The PlayBASIC V1.64N  package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   This upgrade round off some of the open ends from the V1.64M upgrade in terms of bug fixes.  It's not just about bugs though, zx it includes a wealth of new optimizations ranging from line draw modes, shapes clipping, image progressing and more.     There's lots to pick through now, so we highly recommend looking through the V1.64N WIP gallery (http://www.underwaredesign.com/?l=PlayBASIC-V164N-WIP-GALLERY) for some more insight in what new additions are hidden away in this release.  


   Don't have a retail version of PlayBasic ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.




Download


  [plink]Download PB1.64N Retail Upgrade (http://www.underwaredesign.com/forums/index.php?topic=1182.msg24883#msg24883)[/plink]  



Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on July 24, 2012, 02:39:28 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64N2 _Retail Upgrade_ is Now Available (25th, July, 2012)



  This release updates any of the PlayBASIC  V1.63w2 to PB V1.64N retail versions up to the current retail release version of PlayBASIC V1.64N2.   If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The PlayBASIC V1.64N2  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   The V1.64N2 upgrade was originally planned as a quick upgrade to just address a few bugs with a small documentation pass.   But that quickie soon turned into one of the more important additions in years, with the introduction to the Type + Array Cache optimizers to the compiler.   Beyond that, the upgrade features a number of low level speed improvements to every day operations ranging from the loops (For/next , For Each + Repeat/While loops) , General Comparisons through to complete opcode rearrangement of the Image/Sprite command sets.   The goal of which being to shave as many wasted cycles from all of the every day operations as possible.    It's this attention to detail that see's V1.64N2 being able to execute our standard performance benchmarks up to 1/2 a second quicker than V1.64N.  Pretty impressive, given that I personally had thought V1.64N wouldn't be beaten, but things change.  

   In terms of the compiler, the TYPE CACHING features the are the real show pony of this upgrade.  What caching does, is  the compiler tracks Type and Array usage throughout a program.  In older version of PlayBASIC, pretty much every time a typed variable/array or linked list was accessed, the compiler would drop the required (long hand) operations to resolve that operation.   Even if the following operation was similar.  This is where caching steps in, now the compiler can detects such situations and is able to use some short cut instructions when reading /writing type structures.   Given that type usage is generally serialized in code blocks, this can double, even triplet the through put of some routines.  

   Now for the most surprising thing, Type Caching isn't enabled by default.  Why ?  - Well in classic version of PlayBASIC, the user is allowed to read types that doesn't actually exist, without the program falling over.   Unfortunately this behavior can play havoc with caching in some programs, so the type cache mode is turned off the default.   You can enable it by using the OptExpressions 3 command, it's perfectly safe  provided your program  only ever read/writes into types that exist.   The optexpressions command allows the programmer to toggle the user controllable optimization modes on or off through out a program.  
 

   Here's an example of some code that can be potentially unsafe with caching enabled, that you might find in many older PlayBASIC programs.  

[pbcode]

  Type Person
       Status
       X#,y#
  EndType

  DIm people(10) as Person

   ; create the person at index #1 in the array
  People(1) = new Person

   ; set it's fields
   People(1).Status = True
   People(1).x = 100
   People(1).y = 200
   
   
   
   ; Run through all of the people in the array
  For lp =1 to 10

      ; Read this type and grab the STATUS field
      ; if the status field is set, run code inside
      if People(lp).Status
         ; DRaw This Person as a circle
         Circle People(lp).x,People(lp).y,50
      endif  
  next


   ; SHow the Screen and wait for a key press
   Sync
   waitkey
   

[/pbcode]

  What makes this unsafe is that the inner IF statement is attempting to read the STATUS field from every person in the array.   When it's reading person at index #1 in the array, the expression is true and person is drawn as circle on screen.   But on the next iteration of the loop, the IF statement is attempting to read a field from that cell in the array that doesn't exist. In other languages you might expect this give you a runtime error, but  PB would original just return a zero from those reads. V1.64N2 keeps this behavior in order to run older PlayBASIC programs, but thing works differently when caching is fully enabled.  


    In this version, the IF statement isn't trying to read a FIELD from the various types in the people array, rather it's reading the array cell contents directly.  Empty cells in the Typed array will be ZERO, anything else and a type exists at this position.    So we can happily pre-screen for the existent of a type in array like the following.  

[pbcode]

  Type Person
       Status
       X#,y#
  EndType

  DIm people(10) as Person

   ; create the person at index #1 in the array
  People(1) = new Person

   ; set it's fields
   People(1).Status = True
   People(1).x = 100
   People(1).y = 200
   
   
   
   ; Run through all of the people in the array
  For lp =1 to 10

      ; Read this type and se if there's anything
      ; at this position with the array.  If it returns
      ; zero, there's no type there, anything else and
      ; this type exists.
      if People(lp)
         ; DRaw This Person as a circle
         Circle People(lp).x,People(lp).y,50
      endif  
  next


   ; Show the Screen and wait for a key press
   Sync
   waitkey
   
[/pbcode]

   This version is perfectly type caching firendly.


   Documentation

   This upgrade also features another fairly heavy pass over the documentation, which various tutorial additions and media & content additions.   Tutorial wise there's a huge new tutorial all about sprites.  Starting with Images and moving on through to the sprite commands, which turned out to be the way bigger than i'd ever expected.  From memory it's the  biggest tutorial ever.    

   
    We highly recommend looking through the V1.64N2 WORK IN PROGRESS GALLERY (http://www.underwaredesign.com/?l=PlayBASIC-V164N2-WIP-GALLERY) for some more insight in what new additions are hidden away in this release.  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.



Download

  [plink] Download PB1.64N2 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg25774#msg25774) [/plink]

Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on October 13, 2012, 02:43:08 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64N3 / V1.64N3b / V1.64N3c & V1.64N3d _Retail Upgrades_ Now Available (11th, Dec, 2012)



   The PlayBASIC V1.64N3  packages include updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   The V1.64N3 upgrade was slated as a bug fix, hence the version number, as after releasing V1.64N2 a few fairly major issues were discovered in the mapping command sets.    While those issues have been addressed,  we've taken this opportunity to apply another round of  bug the optimizations to the package.   There's  even some completely new functionality in way of multi core support with the addition of the threading support being added to the Blit Image library functions.


   Bug Fixes

   Bug wise, the main changes would be the improved block classification routines in when importing blocks in the maps, as well as localizing the sprite to map collisions and tweaking the ray to map intersection commands, which would only work on the first level.    But  really the biggest issue that's been addressed, would be the legacy issues with recursive function calls.  Where it seems older versions from the PB run time had some logic issues with how the stack was being managed in certain situations.    After much research, it was decided that the best way to remedy the situation, would be to replace the how the run time uses the stack.  While more work that i'd like  for a quick upgrade, the results speak for themselves, by not only fixing the issues, but it uses less memory and is quicker at runtime.  


   New Feature: Multi Core  / Threading
   
   The addition is multi core support or threading support is big one.  This features allows the programmer to push  big blit image rendering tasks off your current cpu core onto a second cpu core on your system.  The idea being, that you can get your program doing two things at once. The threading commands in this version I consider to be prototypes.   Meaning the function names and parameter many well change in future releases.  But rather than hold this feature back, you can use it today !

   Threading is disabled by default,  so your programs will run entirely on the same cpu-core that started upon.  The current implementation of the threading only allows a single 'function' to the pushed onto the second core at once.  So it's doesn't support queuing up render tasks.. Yes, that's exactly what i've in mind, hence why the commands may change..  The only commands that support threading are the BiltIMage functions.   The reason being they're generally big job functions,  where if we can interleave our code, we'll get the best performance improvement.   In other words, if you can work out a way to set up an effect where you can use a blitimage function to perform some action in the background, then that's an ideal situation.    




 Current Multi Core/ Threading Commands (WIP)

      BlitFXThreadMode State         (1= Threading on,  0 = Threading Off immediate mode rendering)

      GetBlitFXThreadMode()       ; Get the current thread mode


      BlitFXThreadPriority  ThreadPriority    ;  Set the priority of this threading request.  Range between 1 to 15.   1 being lowest, 15 being highest (critical)

   ThreadPriority=GetBlitFXThreadPriority()   ; Get the current thread OS level thread priority that threaded rendering is using.  


   WaitOnBlitFX()           ; This thread waits until our drawing process is complete.  



 How Not To Use Threading

     Threading is only of any value, if you design your program to perform the required tasks in parallel with the main program.   Linear thinking and threading don't mix.

     For example , If I enable threading and call a blitimage function say BlitImageClear,  then this task is going to be offloaded from the primary program onto a second CPU core.


[pbcode]

      ; start the blitting the from buffer to the PB screen
      rendertoscreen
   
   
      ; When thread mode is enabled, this BlitFX function will be pushed onto a
      ; second thread.  
      
      BlitIMageClear Screens(FrontBuffer),0,0,$304050       
   
               ; wait until the other thread completes it;s task..         
                WaitOnBlitFX()


[/pbcode]


    OK.. so here we see a program that's gaining absolutely nothing from threading at all, why ?  The reason for this, is the main program is being forced to sit and wait until the secondary rendering thread (on some other cpu core) completes it's task.     What we should be doing, is getting the main program to perform some other none related task while the rendering takes place in the background.  And only wait for the blit function to complete, when we actually need to use the result of that rendering.    

    In the main example bellow, we're starting the second thread doing the BlitImageClear, then rather than waiting for it complete, we're rendering our batch of circles to a secondary FX screen.    In a dual/quad core system the two tasks are being performed in unison.   Generally the blitimage function will finish long before main program is done drawing  the batch of circles, so we're not really gain much, other than offloading one screen copy onto the second core.




 Swarming Parallel Rendering

       When threading was last on the radar, the approach was entirely based around using a swarm of threads spread across the host system to perform common tasks in unison. This allows the program to use as may threads as the programmer wants (within reason), meaning a computer problem can be broken up into small jobs and distributed across many CPU's at once.   Today we don't have this, the new implementation is queue based.  Where we push a job from our main program onto a secondary thread.    All these jobs run on a separate core to main program (if you have multi core system), but only on the one core.   There's advantages and disadvantages to both.

        Anyway you can share rendering of  blitImage functions between two cores, by first setting the Viewport of the destination surface, then call the render function.   This will push the job off to core #2,  core #1 will continue on.  Where we'd set the viewport to the other half of the screen and then call the same blit image function we wanted again.     So we're doing is splitting the job between the two cores.    So core 2 is drawing the top half of the screen and core 1 the bottom.      

     
[pbcode]
   #include "blitimage"
   

   Screen=NewImage(800,600,2)


   Do

         rendertoimage Screen
         inkmode 1+64
            circlec mousex(),mousey(),50,true, $304050

         inkmode 1                  


         rendertoscreen

         ; this first request is pushed onto core #2
         ScreenViewport 0,0,800,300
         ; turn blitimage threading on
         BlitFXThreadMode ON

         ; Calling this function pushes the task off onto core #2
         BlitImageAlphaPostMultColour(Screen,0,0,$e0a0b0)

         ; while Core#2 performs the blitimage function on the top half


         ; turn blitimage threading on
         BlitFXThreadMode OFF
         
         ; we now change the viewport to the lower half.. So core #1
         ;will render this now
         ; this first request is pushed onto core #2
         ScreenViewport 0,300,800,600
         BlitImageAlphaPostMultColour(Screen,0,0,$e0a0b0)

         ; restore the viewport
         ScreenViewport 0,0,800,600

         ; better wait for the core #2, it may not have complete it's job   
         WaitOnBlitFX()

         Sync
   loop

[/pbcode]


   The PlayBASIC V1.64N3b  package includes updates of PlayBASIC Compiler only.    To install, you download it, unzip and copy the included files over the V1.64N3 files.

   This update includes a fix for some issues with some built in constants (like PBCompileMode) not responding to the compiler settings.    Beyond that, it also includes a number of mostly small tweaks to the variable/constants and literal searching  routines.   These tweaks improve the compile times by around 30% in programs that make heavy usage of lots of unique variables / constants or literals.     Routinely getting a compile performance of 10,000 lines a second on 7 year old single core AMD system.



   The PlayBASIC V1.64N3c + V1.64N3d  packages includes updates of PlayBASIC Compiler only.    To install, you download it, unzip and copy the included files over the V1.64N3 files.

   These includes a number of minor tweaks to the compilers keyword scanning (for even faster compiling) code generation ( optimizer), allowing them screen out many more redundant move operations from reading types and various redundant math operations between variables.  


   
   As always we highly recommend reading through the V1.64N2->V1.64N3 WORK IN PROGRESS GALLERY (http://www.underwaredesign.com/?l=PlayBASIC-V164N2-WIP-GALLERY) for some more insight in what new additions are hidden away in this release.  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.



Download

  [plink] Download PlayBASIC 1.64N3 / V1.64N3b / V1.64N3c & V1.64N3d Retail Upgrades  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg26273#msg26273)[/plink]  

Title: Re: PlayBasic Retail Upgrade Announcements
Post by: kevin on August 09, 2013, 10:03:55 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64O _Retail Upgrade_ Now Available (9th, Aug, 2013)



   The PlayBASIC V1.64O  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   The V1.64O upgrade was originally slated as quick bug fix, which then turned into a much longer project seeing a couple of major improvements and feature inclusions added.    The most notable features with the Resource Binding/Loading Media From Memory,  Palette Mapping support and queued blitimage threading modes.  


   -> Resource binding  -  These features let programmers to attach media into the programs final EXE.  The difference is that you can load this media directly from memory without extracting it to disc.    Not all media types are currently supported, but you load BMP, TGA, PNG images as well as DLL files directly from memory (unique to PlayBASIC).    

   -> Palette Mapping  -  These commands allow programmers to draw Palette Mapped styled effects ranging from colour cycling, flashing, raster bars, glenz vectors and many more with minimal effort..

   -> Threading / Multicore Support   -  The Blitimage command set now includes a queue based render system.   The program can tell the library what effects to draw and then push this sequence off the main program onto a second CPU core.  


    There's really way too many changes to try and summarize it all down,  As always we highly recommend reading through the V1.64O WORK IN PROGRESS GALLERY (http://www.underwaredesign.com/?l=PlayBASIC-V164O-WIP-GALLERY) for more insight in what new additions are hidden away in this release.  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.





Download


   [plink]Download PB1.64O Retail Upgrade (http://www.underwaredesign.com/forums/index.php?topic=1182.msg27547#msg27547)[/plink] (9th,Aug,2013)
 
Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on February 25, 2014, 09:50:18 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64O2 _Runtime Upgrade_ Now Available (26th, Feb, 2014)



   The PlayBASIC V1.64O2  package includes updates of PlayBASIC runtimes ( Release / Debug ) only.


   The V1.64O2  package includes updates the runtimes as the V1.64O (and I suspect older runtimes) could run into alignment issues when loading some compiled programs byte code.   So if you have issues with your program loading, then try these.


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.




Download


   [plink]Download PB1.64O2 Runtime Upgrades (http://www.underwaredesign.com/forums/index.php?topic=1182.msg27547#msg27547)[/plink] (26th,Feb,2014)
 
Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on September 21, 2014, 02:53:58 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64P _Retail Upgrade_ Now Available (22nd, Sep, 2014)



  This release updates any version from  PlayBASIC V1.63w2 to PlayBASIC V1.64O2 (retail) to the current retail version of PlayBASIC V1.64P.   If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The V1.64P presents a huge change to the underlying technology that PlayBASIC programs execute upon.  These changes range from high level compiler optimizations/bug fixes/omissions down to how almost every internal commands is called, which not only give us faster program execution, but it allows internal PlayBASIC command sets to be called from the external DLL's built via PlayBASIC2DLL tool.

    Programmers using PlayBASIC2DLL in combination with PlayBASIC V1.64P can now write truly modular applications in high level PlayBASIC without ever having to learn low level C/C++ or PASCAL programming.   You can write your functions and compile it a DLL using PlayBASIC2DLL.   Meaning PlayBASIC programmers can build their own command sets /extensions and perform all brute work number in highly optimized machine code DLL's.       


    There's way too many changes to try and summarize it all,  so we highly recommend carefully reading through the V1.64P WORK IN PROGRESS GALLERY (http://www.underwaredesign.com/?l=PlayBASIC-V164P-WIP-GALLERY) for more insight in what new additions are hidden away in this release.  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.





Downloads


  [plink] Download PB1.64P Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg28469#msg28469)[/plink]  (22nd,Sep,2014)




Installation


    To install any upgrade. First download the package to your computer, then run the upgrade installer.  In order to upgrade your existing Retail version successfully, make sure you direct the installer to the same folder as the current installation.  Give it the same path as your installed PlayBASIC, which would normally be 'C:\Program Files\PlayBasic' (the upgrade installer should pick where you previously installed it as the install location anyway).   The upgrade will modify your retail install accordingly.

See Upgrading FAQ (http://www.underwaredesign.com/forums/index.php?topic=1602.0)

Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on December 29, 2014, 03:08:21 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64P2 _Retail Upgrade_ Now Available (29th, Dec, 2014)


  This release updates any version from  PlayBASIC   V1.63w2 to PlayBASIC V1.64P (retail) to the current retail version of PlayBASIC V1.64P.   If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The PlayBASIC V1.64P2  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS (HELP FILES) & IDE V1.17b.  

   The V1.64P2 release is a relatively minor update to address functionality broken during the massive V1.64P update.   Beyond those bug fixes, there are of course more improvements to the compiler &  runtime command sets and debugger.

  The compiler / runtime time changes are generally improvements to the quality of the byte code the compiler produces within certain circumstances.   One that comes to mind, was the ability to completely optimizing out literal fields when querying array structures from typed pointers.    So code like the snippet bellow runs better in V1.64P2 than previous versions.   Which in turn helps PlayBASIC2DLL produce even faster machine code versions of such routines.  So that's a big win !

[pbcode]

 Type SomeStructure
        IntegerArray(16)
 EndTYpe

 dim Me as SomeStructure pointer

  Me = new SomeStructure

 // such field offsets are solved at compile time
  Me.Array(0) = 1
  Me.Array(2) = 1
  Me.Array(3) = 1
  Me.Array(4) = 1

  Print Me.Array(0)
  Print Me.Array(1)
  Print Me.Array(2)
  Print Me.Array(3)

[/pbcode]

   Such compile time optimizations are useful when we want to iterate through structures of data,  so rather than bumping the ME pointer between integer fields, we could unroll the inner loop to process groups of integers and access fields at fixed offsets then  bump the ME pointer.  Which is a more efficient approach generally.    


   Changes to commands sets that users will find the most useful, can be found in variable Alpha Blending situations,  generally filling surface routines are now twice as fast when performing variable alpha blending in this version,  there's also changes to the AFX alpha blending logic which screens the alpha channel value for pixels that are fully translucent or opaque, in either case those are handled with a special case.   The performance benefit really comes down to how many pixels in the image need to be alpha blended.  But the standard tests had a 10->20% improvement without change..


   In terms of Debugging, there's two new subtle changes in the compiler runtime.  The first, is the new ability of the runtime to intervene when some pointer opcode attempts peek/poke from a null pointer.    Which should generally return a runtime error if that occurs like in the example bellow.

[pbcode]

 ; declare a ME as type Integer POinter
 DIM Me as Integer Pointer

   ; the runtime will stop before this line is execute as ME is
   ; will be pointing at ZERO.. Which is memory your program doesn't
   ; own and would kill your program
  print *ME


  sync
  waitkey

[/pbcode]


  The other runtime/debugger change is a mode in the debugger to Enable/Disable automatic type creation when executing a program.    The PB runtimes default behavior is to automatically allocate a type if you're writing to a structure that's currently empty.    Generally this is handy behavior as it saves you some lines of code, but can be an issue when exporting your programs to DLL since PlayBASIC2DLL doesn't support this behavior.  So if you writing library code that you're going to build a DLL of, you'll find this invaluable !


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.





Downloads


  [plink] Download PB1.64P2 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg28608#msg28608)[/plink]  (29th,Dec,2014)

Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on November 19, 2015, 02:13:19 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64P3 _Retail Upgrade_ Now Available (20th, Nov, 2015)



  This release updates any version from  PlayBASIC  V1.63w2 to PlayBASIC V1.64P2 (retail) to the current retail version of PlayBASIC V1.64P3.   If your current version is older than PB1.63W (pre June/July 1997), then you may need to install patch PB1.63w2 prior to this one ! (if you haven't already)


   The PlayBASIC V1.64P3  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   The V1.64P3 release includes fixes for known functionality breakages during the massive V1.64P/V1.64P3 update.   But like all updates that's not the only thing it includes, with a lot of work being done under the hood with the compiler / runtimes in the way of more dynamic to static byte code navigation.   Which includes translations of thing like the DLL command block as well as pointer instruction sets and a number of others.  For more information about those read the blog thread.



   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.





Downloads


  [plink] Download PB1.64P3 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg28975#msg28975)[/plink]  (20th,Nov,2015)

Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on March 24, 2016, 09:07:28 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.64P4 _Retail Upgrade_ Now Available (24th, Mar, 2016)


    The PlayBASIC V1.64P4  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b. 

    The V1.64P4 revision introduces the PBI (PlayBASIC Image format (http://www.underwaredesign.com/forums/index.php?topic=4329.0)) as well as including a round of documentation and bug tweaks.   For more information about those read the blog thread.


    Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.





Downloads


   [plink]Download PlayBASIC V1.64P4 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg29077#msg29077)[/plink]  (24th,Mar,2016)

Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on October 08, 2016, 06:30:03 PM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.65 _Retail Upgrade_ Now Available (9th, Oct, 2016)



   NOTE: THIS IS AN AS IS BUILD OF V1.65 - it's not 100%, we know that, but need your help to complete it !


   The V1.65  introduces the next generation of the PlayBASIC virtual machine, so everything on the execution side of the product is new.  This new VM gives us better speed (with even more speed to come) but of couse all these changes introduce new gremblins also.   So you should expect to find programs that don't compile and simply wont work.     Somoe of these changes occur from compiler / parser side of things, but things like crashes will be either some missing functionality in the new VM or something it used to do, isn't being handled anything, or has changed.  

   For  information about the PlayBASIC V1.65 work in progress read the blog thread (http://www.underwaredesign.com/forums/index.php?topic=4333.0) and  V1.65 related errors, post them in the [plink]V1.65 bug reporting thread (http://www.underwaredesign.com/forums/index.php?topic=4350.0)[/plink]  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.



Downloads


  [plink]Download PlayBASIC V1.65 Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg29233#msg29233)[/plink]  (9th,Oct,2016)  


Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on July 13, 2017, 06:24:36 AM

(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.65B _Retail Upgrade_ Now Available (23rd, June, 2017)


   The PlayBASIC V1.65B  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  

   The V1.65B includes second release of the next generation of the PlayBASIC virtual machine.  In this build 99.99% of the commands now execute on the new VM side, giving much higher execution performance.    There are still some 'commands' tied to the legacy VM which mainly the debugger command set and few text commands such as Print and TEXT and the Sync command which is actually a VM TRIGGER..  

  Performance wise this is easily the fastest edition of PlayBASIC to date,  even though the runtime is missing some of the byte code optimization modes found in the V1.64 builds, which will be tackled in the next revision of 1.65, but for now get stuck into it

   Reminder: The new runtime doesn't support reading from types that don't exist,  which can cause old programs to fail from time to time..  For a full V1.65B development story read the PlayBASIC V1.65 blogs and for V1.65 related errors, post them in the [plink] V1.65 bug reporting thread (http://www.underwaredesign.com/forums/index.php?topic=4350.0) [/plink].  




   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.



Blogs


  [plink]PlayBASIC Video Blog Ep 0003 (2017 -06-24) (http://www.underwaredesign.com/forums/index.php?topic=4372.msg29420#msg29420)[/plink]




Downloads


  [plink] Download PlayBASIC V1.65B Retail Upgrade  (http://www.underwaredesign.com/forums/index.php?topic=1182.msg29418#msg29418)[/plink]  (23rd,June,2017)


Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on October 20, 2018, 12:17:37 PM


(http://www.underwaredesign.com/PlayBasicSig.png)


PlayBASIC V1.65C _Retail Upgrade_ Now Available (21st, Oct, 2018)


    The PlayBASIC V1.65C  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b. 

    The V1.65C includes third major release of the next generation of the PlayBASIC virtual machine.  In this build 100% of the commands now executed on the new VM side, giving much higher execution performance than V1.64 and previous legacy builds.   The main objective of V1.65C revision was to catch the last remaining problems or missing functionality from the previous V1.65 releases, which I thing we've about covered now.    There's still some features missing from the V1.64 era of the runtime that are not in v1.65c such as sequential type access optimizations, but that will reappear in the later build.       


    Reminder: The new runtime doesn't support reading from types that don't exist,  which can cause old programs to fail from time to time..  For a full V1.65C development story read the PlayBASIC V1.65 blogs here (http://www.underwaredesign.com/forums/index.php?topic=4333.0) and for V1.65 related errors, post them in the [plink]V1.65 bug reporting thread (http://www.underwaredesign.com/forums/index.php?topic=4350.0)[/plink].   



Blogs


       none




Downloads


   Download [plink] PlayBASIC V1.65C Retail Upgrade  (https://www.underwaredesign.com/forums/index.php?topic=1182.msg29664#msg29664)[/plink]  (21st,Oct,2018) 


Title: Re: PlayBASIC Retail Upgrade Announcements
Post by: kevin on July 10, 2021, 06:34:23 AM

(http://www.underwaredesign.com/PlayBasicSig.png)

PlayBASIC V1.65C2 _Retail Upgrade_ Now Available (10th, July, 2021)



   The PlayBASIC V1.65C2  package includes updates of PlayBASIC Compiler, Release / Debug Runtimes, SLIBS,  DOCS & IDE V1.17b.  


   Reminder: The new runtime doesn't support reading from types that don't exist,  which can cause old programs to fail from time to time..  For a full V1.65C development story read the PlayBASIC V1.65 blogs here (http://www.underwaredesign.com/forums/index.php?topic=4333.0) and for V1.65 related errors, post them in the [plink]V1.65 bug reporting thread (http://www.underwaredesign.com/forums/index.php?topic=4350.0)[/plink].  


   Don't have a retail version of PlayBASIC ? and want to find out more information about PlayBASIC programming > please visit the www.PlayBasic.com (http://www.playbasic.com) and download the free learning edition.



Downloads


   Download [plink] PlayBASIC V1.65C2 Retail Upgrade  (https://www.underwaredesign.com/forums/index.php?topic=1182.msg30292#msg30292)[/plink]  (10th,July,2021)