My Sprite Engine is basically finished and I am now working on the help files and sample apps.
The plan is to offer two different products:
(the details below are subject to change before final release)
EZSprite Lite 1.0 for $39 (US)
and
EZSprite Plus 1.0 for $69 (US)
EZSprite Lite 1.0 will be for use primarily with DDT Graphics, while there is no reason it could not be used with other coding styles such as SDK.
The command set will be:
Sprite Commands:
EZ_AttachSprites (Attach Sprite Engine to a control)
EZ_InitSpriteBuffers (Intialize Sprite engine)
EZ_FreeSprite (Free an existing Sprite)
EZ_SwapSpriteOrder (Swap Zorder of two Sprites)
EZ_AssignSprites (Assign a group of sprites to a control)
EZ_MoveSprites (Move a group of sprites)
EZ_ShowSprites (Show/Hide a group of sprites)
EZ_SetSpritesEffect (Set AlphaBlend effects for a group of sprites)
EZ_SetSpritesFrame (Set current Frame for a group of sprites)
EZ_SetSpritesFlip (Set Flip state for a group of sprites)
EZ_DefSpriteByPict (Create a new Sprite using a Bitmap)
EZ_GetSpriteXY (Get X,Y coordinates of a sprite)
EZ_GetSpriteWH (Get a sprites width and height)
EZ_GetSpriteFR (Get a sprites current frame)
EZ_GetSpriteST (Get a sprites current state, Show/Hide, Effect, Flip))
EZ_TestSpriteColl (Test for collisions between a sprite and other sprites)
EZ_TestSpriteClick (test for top most sprite under a click coordinate)
EZ_CloneSprite (clone an existing sprite)
Support Commands:
EZ_UpdateBKGND (Force control to redraw itself internally)
EZ_GetBitmapSize (Get size of a Bitmap)
EZ_FreeBitmap (Free a Bitmap)
EZ_UpdateClient (Force control to update client area based on current paint region)
EZ_UpdateClientAll (force control to update entire client area)
The sprite engine will work with basically any type of static (fixed image) control, such as the DDT label, Image (picture) and Graphic controls.
If you use the engine with SDK style coding, you need to use a control which you can change its background and it must support the WM_PRINTCLIENT message.
This version will support up to 200 Sprites.
EZSprite Plus 1.0 can be used with either DDT or SDK style coding and it adds extra support for SDK style coding. For example, you can convert a simple STATIC control into something even more powerful, to create your own custom Graphic control.
It will support all the commands in EZSprite Lite, plus also add the following commands:
Additional Sprite commands for Fast Sprite mode access:
(these commands can speed up sprite updates as much as 20% when many sprites are used)
EZ_GetFastSPIndex (Get Fast Sprite access index pointer)
EZ_MoveSP (Move sprite using index pointer)
EZ_SetSPAttr (set sprite attributes, show/hide,effect, flip, frame using index pointer)
Additional commands for custom painting a control such as a STATIC control:
EZ_DefNextCustomPaint (hook into controls WM_PRINTCLIENT and WM_PAINT)
EZ_StartDCDraw (start a DC draw cycle for custom paint)
EZ_EndDCDraw (end DC draw cycle for custom paint)
EZ_DefStyles (define current brush and pen styles)
EZ_BeginBrush (define current brush)
EZ_BeginBmpBrush (define current brush using a bitmap)
EZ_EndBrush (end current brush)
EZ_BeginPen (define current pen)
EZ_EndPen (end current pen)
Additional Bitmap commands:
EZ_Create32BitDIB (create a 32 bit DIB Bitmap and get address pointer)
EZ_StartBitmapDraw (prepare a Bitmap to be drawn on)
EZ_EndBitmapDraw (end drawing on bitmap)
EZ_DrawBitmap (draw a bitmap into a DC)
EZ_DrawGradient (draw a gradient into a DC)
EZ_LoadBitmapFile (load a bitmap from a file)
Additional Precision Timer and Frame Timing commands:
EZ_GetPTime (get current precision timer)
EZ_StartFrame (start timing a Frame for animation)
EZ_EndFrame (end current frame and wait until time up)
EZ_GetFrameInfo (get info about last frame)
Additional DoEvent commands:
EZ_DefDoEventCallback (define callback for EZ_EndFrame)
EZ_DoEvents (DoEvent replacement)
This version will support up to 1000 (one thousand) sprites.
If you code using the SDK style of coding, the PLUS version is recommended, but you can use the Lite version if you wish.
The plan is to offer two different products:
(the details below are subject to change before final release)
EZSprite Lite 1.0 for $39 (US)
and
EZSprite Plus 1.0 for $69 (US)
EZSprite Lite 1.0 will be for use primarily with DDT Graphics, while there is no reason it could not be used with other coding styles such as SDK.
The command set will be:
Sprite Commands:
EZ_AttachSprites (Attach Sprite Engine to a control)
EZ_InitSpriteBuffers (Intialize Sprite engine)
EZ_FreeSprite (Free an existing Sprite)
EZ_SwapSpriteOrder (Swap Zorder of two Sprites)
EZ_AssignSprites (Assign a group of sprites to a control)
EZ_MoveSprites (Move a group of sprites)
EZ_ShowSprites (Show/Hide a group of sprites)
EZ_SetSpritesEffect (Set AlphaBlend effects for a group of sprites)
EZ_SetSpritesFrame (Set current Frame for a group of sprites)
EZ_SetSpritesFlip (Set Flip state for a group of sprites)
EZ_DefSpriteByPict (Create a new Sprite using a Bitmap)
EZ_GetSpriteXY (Get X,Y coordinates of a sprite)
EZ_GetSpriteWH (Get a sprites width and height)
EZ_GetSpriteFR (Get a sprites current frame)
EZ_GetSpriteST (Get a sprites current state, Show/Hide, Effect, Flip))
EZ_TestSpriteColl (Test for collisions between a sprite and other sprites)
EZ_TestSpriteClick (test for top most sprite under a click coordinate)
EZ_CloneSprite (clone an existing sprite)
Support Commands:
EZ_UpdateBKGND (Force control to redraw itself internally)
EZ_GetBitmapSize (Get size of a Bitmap)
EZ_FreeBitmap (Free a Bitmap)
EZ_UpdateClient (Force control to update client area based on current paint region)
EZ_UpdateClientAll (force control to update entire client area)
The sprite engine will work with basically any type of static (fixed image) control, such as the DDT label, Image (picture) and Graphic controls.
If you use the engine with SDK style coding, you need to use a control which you can change its background and it must support the WM_PRINTCLIENT message.
This version will support up to 200 Sprites.
EZSprite Plus 1.0 can be used with either DDT or SDK style coding and it adds extra support for SDK style coding. For example, you can convert a simple STATIC control into something even more powerful, to create your own custom Graphic control.
It will support all the commands in EZSprite Lite, plus also add the following commands:
Additional Sprite commands for Fast Sprite mode access:
(these commands can speed up sprite updates as much as 20% when many sprites are used)
EZ_GetFastSPIndex (Get Fast Sprite access index pointer)
EZ_MoveSP (Move sprite using index pointer)
EZ_SetSPAttr (set sprite attributes, show/hide,effect, flip, frame using index pointer)
Additional commands for custom painting a control such as a STATIC control:
EZ_DefNextCustomPaint (hook into controls WM_PRINTCLIENT and WM_PAINT)
EZ_StartDCDraw (start a DC draw cycle for custom paint)
EZ_EndDCDraw (end DC draw cycle for custom paint)
EZ_DefStyles (define current brush and pen styles)
EZ_BeginBrush (define current brush)
EZ_BeginBmpBrush (define current brush using a bitmap)
EZ_EndBrush (end current brush)
EZ_BeginPen (define current pen)
EZ_EndPen (end current pen)
Additional Bitmap commands:
EZ_Create32BitDIB (create a 32 bit DIB Bitmap and get address pointer)
EZ_StartBitmapDraw (prepare a Bitmap to be drawn on)
EZ_EndBitmapDraw (end drawing on bitmap)
EZ_DrawBitmap (draw a bitmap into a DC)
EZ_DrawGradient (draw a gradient into a DC)
EZ_LoadBitmapFile (load a bitmap from a file)
Additional Precision Timer and Frame Timing commands:
EZ_GetPTime (get current precision timer)
EZ_StartFrame (start timing a Frame for animation)
EZ_EndFrame (end current frame and wait until time up)
EZ_GetFrameInfo (get info about last frame)
Additional DoEvent commands:
EZ_DefDoEventCallback (define callback for EZ_EndFrame)
EZ_DoEvents (DoEvent replacement)
This version will support up to 1000 (one thousand) sprites.
If you code using the SDK style of coding, the PLUS version is recommended, but you can use the Lite version if you wish.
Comment