To all of you right now:
I am QUITE very happy to say that the documentation for
AFlib2 is getting a dead-serious boost forward and then a lot!!!
d=
=b ! Here is why: I have just gone over the 200-page mark, covering
every single routine so far in the Sprite Routines, PP256 Font Routines, Built-in 8x8 Font Routines, and Drawing Primitives Routines. These things are covered down pat!!

But now, I am working on documenting the Screen Routines, Scale2X/4X/8X Routines, Screen Collision Routines, Sprite Collision Routines, and a lot more. I will promise you, it will be *well* worth the wait as this lib eventually gets released sometime between March and April 2006 (potentially so, definitely!! :cool: ! ).
While I was working
extensively on my documentation, I had the computer shut itself off on me abruptly a couple of times, but all is under some serious control now, thank God!!

!
In the meantime, take a whiff at this little glimpse of what is gonna be in my
AFlib2 doc:
Defint a-z
Option Explicit
' Let's load up AFlib2 in here...
'--------------------------------------------------------------------------
'$include: 'AFlib2.bi'
' ...and set the graphics resolution to 640x480 windowed graphics mode,
' 8bpp, with 2 pages!!
'--------------------------------------------------------------------------
ScreenRes 640, 480, 8, 2, 0
' Setting up the arrays!
'--------------------------------------------------------------------------
Dim as ushort ptr TestSprite, BGtile
Dim as Integer GFX_h, GFX_v, Blit
Dim as Single Brightness, Trans_fading, One_color, Bg.X, Bg.Y, scroll
Dim as Single Rotate, ScaleX, ScaleY
Dim as Integer Brightness.ctrl, Trans_fading.ctrl, ScaleX.ctrl, ScaleY.ctrl
Dim as ImageType AFlib2_title, AFlib2_titleshadow
' Now extracting the physical graphics mode size here with variables
' "GFX_h" and "GFX_v", so that we can put them to good use later on!! ;)
'--------------------------------------------------------------------------
ScreenInfo GFX_h, GFX_v
WindowTitle "The AFlib2 Hit-List of Sprite Blits!!!"
Locate 1, 1: ? "Just a moment, please......."
ScreenSet 1, 0
' Next, we set up our palette and sprites in a jiffy, including also our
' "AFlib2" logo (and its shadow, too! ;) )!
'--------------------------------------------------------------------------
AF2.GeneratePalette 1 ' <--- This automatically generates our default
' AFlib2 palette!
AF2.DisplayAllChars 1, 1, 18, 0, 2
AF2.DisplayAllChars 0, 0, 31, -1, 2
AF2.OptimizeFontSet 0, 0, 1
AF2.ClearScreen 0
Circle (31, 31), 31, 56, , , , f
Line (0, 0)-(63, 63), 31, b
Circle (31, 31), 24, 58, , , , f
Circle (31, 31), 18, 0, , , , f
Line (0, 0)-(63, 63), 234
Line (63, 0)-(0, 63), 234
TestSprite = AF2.InitCustomSpr(0, 0, 65, 65)
Get (0, 0)-(65, 65), TestSprite
AF2.ClearScreen 0
Line (0, 0)-(64, 64), 183, bf
AF2.Globe 31, 31, 20, 8, 2, .5, 1
Line (0, 63)-(63, 63), 18, bf
Line -(0, 63), 22, bf
Line -(0, 0), 26, bf
Line -(63, 0), 30, bf
BGtile = AF2.InitCustomSpr(0, 0, 65, 65)
Get (0, 0)-(65, 65), BGtile
AF2.ClearScreen 0
AF2.InitSpr_BMP AFlib2_title, 280, 104, "AFlib2_titleC.bmp"
AF2.InitSpr_BMP AFlib2_titleshadow, 280, 104, "AFlib2_titleC-shadow.bmp"
' Alright! ^-^=b In this first loop, this will show you the many sprite
' blits consisting of these: Normal, One-colored, Translucent, Translucent
' Dark, Translucent Darker, Translucent Darkest, Null-shaded, Translucent
' Fade Supported, and Brightness Supported!! Press any key to exit this
' loop.
'--------------------------------------------------------------------------
Do
AF2.ClearScreen 0
If Brightness.ctrl = 0 then
Brightness += 1
If Brightness > 41 then Brightness.ctrl = 1
else
Brightness -= 1
If Brightness < 0 then Brightness.ctrl = 0
End if
If Trans_fading.ctrl = 0 then
Trans_fading += .25
If Trans_fading > 10 then Trans_fading.ctrl = 1
else
Trans_fading -= .25
If Trans_fading < 0 then Trans_fading.ctrl = 0
End if
One_color = int(rnd(1) * 255) + 1
scroll += 1: If scroll > 63 then scroll = 0
For Bg.Y = 0 to 8
For Bg.X = 0 to 10
If (Bg.X + Bg.Y) mod 2 = 1 then
AF2.SprBlit (Bg.X * 64) - scroll, (Bg.Y * 64) - scroll, BGtile, GFX_h, GFX_v
else
AF2.SprBlit_trans (Bg.X * 64) - scroll, (Bg.Y * 64) - scroll, BGtile, GFX_h, GFX_v
End if
Next
Next
AF2.SprBlit 8, 16, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Normal Sprite Blit", 80, 24, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_color 8, 88, One_color, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "One-colored Sprite Blit", 80, 96, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_trans 8, 160, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Translucent Sprite Blit", 80, 168, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_tr.dark 8, 232, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Translucent Sprite Blit", 80, 240, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(dark version)", 80, 248, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_tr.darker 8, 304, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Translucent Sprite Blit", 80, 312, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(darker version)", 80, 320, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_tr.darkest 8, 376, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Translucent Sprite Blit", 80, 384, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(darkest version)", 80, 392, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_null 320, 16, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Null-shaded Sprite Blit", 392, 24, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_tr.fadecust 320, 88, Trans_fading, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Fading Translucent Sprite Blit", 392, 96, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_brightness 320, 160, Brightness, TestSprite, GFX_h, GFX_v
AF2.OptimizedPrint "Brightness-based Sprite Blit", 392, 168, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_trans 363, 379, @AFlib2_titleshadow.p_data[AFlib2_titleshadow.p_dataindex[0]], GFX_h, GFX_v
AF2.SprBlit 360, 376, @AFlib2_title.p_data[AFlib2_title.p_dataindex[0]], GFX_h, GFX_v
AF2.CustomSync fps70
ScreenCopy
Loop while inkey$ = ""
AF2.ClearKeyBuffer
Rotate = 0
ScaleX = 0
ScaleY = 0
' Then in this second loop here, we show you even more *amazing* sprite
' blits for you: Rotated (normal and solid), Scaled (normal and solid), and
' Rotated/Scaled (normal and solid)!!! Again, you can exit here by
' pressing any key! :D
'--------------------------------------------------------------------------
Do
AF2.ClearScreen 0
If Brightness.ctrl = 0 then
Brightness += 1
If Brightness > 41 then Brightness.ctrl = 1
else
Brightness -= 1
If Brightness < 0 then Brightness.ctrl = 0
End if
If Trans_fading.ctrl = 0 then
Trans_fading += .25
If Trans_fading > 10 then Trans_fading.ctrl = 1
else
Trans_fading -= .25
If Trans_fading < 0 then Trans_fading.ctrl = 0
End if
If ScaleX.ctrl = 0 then
ScaleX += .075
If ScaleX > 1.2 then ScaleX.ctrl = 1
else
ScaleX -= .075
If ScaleX < 0.1 then ScaleX.ctrl = 0
End if
If ScaleY.ctrl = 0 then
ScaleY += .10
If ScaleY > 1.2 then ScaleY.ctrl = 1
else
ScaleY -= .10
If ScaleY < 0.1 then ScaleY.ctrl = 0
End if
Rotate += .01: If Rotate > 359 then Rotate = 0
scroll += 1: If scroll > 63 then scroll = 0
For Bg.Y = 0 to 8
For Bg.X = 0 to 10
If (Bg.X + Bg.Y) mod 2 = 1 then
AF2.SprBlit (Bg.X * 64) - scroll, (Bg.Y * 64) - scroll, BGtile, GFX_h, GFX_v
else
AF2.SprBlit_trans (Bg.X * 64) - scroll, (Bg.Y * 64) - scroll, BGtile, GFX_h, GFX_v
End if
Next
Next
AF2.SprBlit_rotate 8 + 32, 16 + 32, TestSprite, Rotate
AF2.OptimizedPrint "Rotated Sprite Blit", 80, 24, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_rotate.solid 8 + 32, 88 + 32, TestSprite, -Rotate
AF2.OptimizedPrint "Rotated Sprite Blit", 80, 96, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(solid version)", 80, 104, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_scale 8 + 32, 160 + 32, TestSprite, ScaleX, ScaleY
AF2.OptimizedPrint "Scaled Sprite Blit", 80, 168, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_scale.solid 8 + 32, 232 + 32, TestSprite, ScaleX, ScaleY
AF2.OptimizedPrint "Scaled Sprite Blit", 80, 240, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(solid version)", 80, 248, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_scale.rotate 8 + 32, 304 + 32, TestSprite, ScaleX, ScaleY, Rotate * 4
AF2.OptimizedPrint "Scaled/Rotated Sprite Blit", 80, 312, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_scale.rotate.solid 8 + 32, 376 + 32, TestSprite, ScaleX, ScaleY, -(Rotate * 4)
AF2.OptimizedPrint "Scaled/Rotated Sprite Blit", 80, 384, 1, AF2.false, GFX_h, GFX_v
AF2.OptimizedPrint "(solid version)", 80, 392, 1, AF2.false, GFX_h, GFX_v
AF2.SprBlit_trans 363, 379, @AFlib2_titleshadow.p_data[AFlib2_titleshadow.p_dataindex[0]], GFX_h, GFX_v
AF2.SprBlit 360, 376, @AFlib2_title.p_data[AFlib2_title.p_dataindex[0]], GFX_h, GFX_v
AF2.CustomSync fps70
ScreenCopy
Loop while inkey$ = ""
AF2.ClearKeyBuffer
' Now, let's clean up the mess here to free up some memory!! ;)
'--------------------------------------------------------------------------
AF2.RemoveCustomSpr TestSprite
AF2.RemoveCustomSpr BGtile
AF2.RemoveSpr AFlib2_title
AF2.RemoveSpr AFlib2_titleshadow
AF2.RemoveFontSet 1
' Thank you all, and good night, everybody!!! :D !
'--------------------------------------------------------------------------
....and you can download the result of this code
right here, as this one will remind you of all of the amazing sprite blitting that this game lib has to offer for all 8-bit graphics modes in FB!!!
With that happy thought in mind, be seeing you again now!! :king:
GIVING YOU THE VERY LATEST HEADS-UP TONIGHT,

Adigun Azikiwe Polack
One of the Founders of
Aura Flow ::: Continuing Developer of
Frantic Journey
Current Developer of
Star Angelic Slugger ::: Webmaster of the
AAP Official Projects Squad
Original Creator of the
The New FreeBASIC 8-Bit Palette Machine and
AFlib2 - Aura Flow Library 2