BBC BASIC for Windows
Programming >> Graphics and Games >> GFXLIB v2.03 released
http://bb4w.conforums.com/index.cgi?board=graphics&action=display&num=1331476686

GFXLIB v2.03 released
Post by David Williams on Mar 11th, 2012, 2:38pm

New routines in v2.03:

- GFXLIB_BPlotScaleBlend
- GFXLIB_BPlotToAlphaChannel
- GFXLIB_ChangeBitmapRGBLevels
- GFXLIB_ConvertARGBChannelToBm8
- GFXLIB_DesaturateColour
- GFXLIB_DrawAntialiasedCircle
- GFXLIB_DrawAntialiasedLine
- GFXLIB_DrawAntialiasedLine2
- GFXLIB_DrawFilledCircle
- GFXLIB_DrawHLine
- GFXLIB_MMXDesaturateColour
- GFXLIB_PlotRotateScale2
- GFXLIB_PlotSubpixel
- GFXLIB_PlotToAlphaChannel
- GFXLIB_ReadPixel
- GFXLIB_ReadPixelRGB
- GFXLIB_RevealBackgroundWithHardBrush
- GFXLIB_RevealBackgroundWithSoftBrush
- GFXLIB_RotatePoints3D_0
- GFXLIB_SaveAndSetDispVars
- GFXLIB_Supersample
- GFXLIB_DrawAlphaMask


GFXLIB v2.03 can be downloaded from here:
http://www.bb4wgames.com/gfxlib/gfxlibpage.html

Direct download link (4.28 MB):
http://www.bb4wgames.com/gfxlib/gfxlib2.zip

Visit the "GFXLIB Demos" page:
http://www.bb4wgames.com/gfxlibdemos/gfxlib_demos_index.html

Quick Start Guide:
http://www.bb4wgames.com/gfxlib/gfxlib_quickstartguide.pdf


If you find that this release breaks your existing GFXLIB-based programs, then
don't hesitate to contact me:

dwilliams64 @ hotmail . com


This is almost certainly the last release of GFXLIB2.

GFXLIB3 (if I choose to release it) will have a fully 'modularized'
download/update system (i.e. one can download just the core library and then any
required modules and other resources separately).

Happy game-making!


David.
--
Re: GFXLIB v2.03 released
Post by admin on Mar 11th, 2012, 4:44pm

on Mar 11th, 2012, 2:38pm, David Williams wrote:
Direct download link (4.28 MB):
http://www.bb4wgames.com/gfxlib/gfxlib2.zip

It would be easier (for me) to install if the ZIP didn't have everything in a GFXLIB2 folder. As it stands, I can't use the 'extract all' option because I'll either end up with the files in:

Code:
%PROGRAMFILES%\BBC BASIC for Windows\GFXLIB2\ 

or in:

Code:
%PROGRAMFILES%\BBC BASIC for Windows\LIB\GFXLIB2\ 

Neither of which is right! Not a big deal, just something that would make my life a little easier if it could be changed.

Richard.

Re: GFXLIB v2.03 released
Post by David Williams on Mar 11th, 2012, 8:54pm

on Mar 11th, 2012, 4:44pm, Richard Russell wrote:
It would be easier (for me) to install if the ZIP didn't have everything in a GFXLIB2 folder. As it stands, I can't use the 'extract all' option because I'll either end up with the files in:


I agree that installation is less convenient than it could be.


David.
Re: GFXLIB v2.03 released
Post by David Williams on Mar 12th, 2012, 08:13am

Oops! Just noticed a 'silent bug' in GFXLIB2.BBC which has been present for many months: FNLoadImg returns the base address of a headerless ARGB32 bitmap (which may have been loaded-in as a BMP, JPEG, GIF, or whatever). This address is supposed to be divisible by 8 (i.e. it's QWORD-aligned), however as FNLoadImg is defined in v2.03, the address returned is always 2 bytes higher than the aligned address!

Which means lots of programs I (and possibly others) have written are probably taxing the CPU far more than they need to. "Gorillas" comes to mind!

Looks like a version 2.04 is on the cards.


David.
Re: GFXLIB v2.03 released
Post by David Williams on Dec 29th, 2012, 05:06am

BB4W's largest library now has what is probably the longest function/routine name:

GFXLIB_PlotRotateScaleAlphaBlendSetAlphaBitA%

For the curious, it draws a scaled and rotated bitmap, alpha-blending it with the background, and sets a specified bit in the alpha byte of overwritten background pixels (useful for collision detection purposes). The final 'A' just signifies that this is a variant of a practically identical routine; in this case, it only sets specified background alpha bits if the source pixel is fully opaque.


David.
--
Re: GFXLIB v2.03 released
Post by admin on Dec 29th, 2012, 09:14am

on Dec 29th, 2012, 05:06am, David Williams wrote:
BB4W's largest library now has what is probably the longest function/routine name

As this is posted in the GFXLIB v2.03 thread I'm somewhat confused as to the sense in which the library 'has' the new function. Presumably it will only become available (to anybody other than yourself) in a new release, and as far as I can see no new release has been announced, despite you saying way back in March 2012: "Looks like a version 2.04 is on the cards".

Richard.
Re: GFXLIB v2.03 released
Post by David Williams on Dec 29th, 2012, 1:48pm

on Dec 29th, 2012, 09:14am, Richard Russell wrote:
As this is posted in the GFXLIB v2.03 thread I'm somewhat confused as to the sense in which the library 'has' the new function. Presumably it will only become available (to anybody other than yourself) in a new release, and as far as I can see no new release has been announced, despite you saying way back in March 2012: "Looks like a version 2.04 is on the cards".


Sorry for causing confusion; I suppose I didn't want to create a new thread yet just to share the fact that GFXLIB now has some ridiculously long routine names.

Version 2.04 did, as it turned out, remain my private version, although it was only a very minor update.

2.05 will be out in a month or two, all being well.


David.