Registration | Support | Community
AmiDARK Engine WIP - Mini Diary 2011

Go back to 2012 mini diary

Started to modify the "dynamic list handler" to be a more global list handler so, I will use it for other parts of the engine that need fast & dynamic lists.
Started changes to the sprite system to use the new global "dynamic list handler"

The Image2D plugin of the Game Engine is now fully working on MorphOS.
To show this, I decided to release a small "beta test" demo for MorphOS.
Be sure to close all running application before running this demo because you can’t exit it and you’ll have to soft-reset your Amiga.
here is the link :
Of course, some minor tweakings are needed to improve texture clipping render quality.
It will be done shortly.

Dynamic Image/Texture handler is now entirely rebuilded from scratch.
It work perfectly on AmigaOS4 and allocate memory dynamically to increase list depending on the user needs.

I’ve made several debug tests and it showed that the internal dynamic image handler cause crashes on MorphOS. I’ve then decided to rewrite it entirely from scratch.

- Added functions : DECloneSprite, DEPasteSprite, DEMoveSprite, DESpriteAngle
- Added functions : DESpriteHit, DESpriteCollision SYSTEM
- Rebuilded the DEExitPrompt function.

File commands set partially converted to multi-platform code use.
- MyIoErr, MyGetFilePosition, MyGetfileSize, MyCreateDir, MyDeleteFile multi-platform functions done.
- MyRenameFile, MyGetCurrentDirName & MyChangeFilePosition multi-platform functions done.
- MyAvailMem multi-platform function done. All AmigaOS4 functions used more than 1 time are now converted to multi-platform auto/detection function. All others functions were modified to handle AmigaOS4 & Other AmigaOSes direction in the functions in which they are. Compilation done and working successfully with all changes.

AmigaOS_DataTypes.c, AmigaOS_Devices.c, AmigaOS_FileIdentifier.c converted to multi-platform code.
AmigaOS_MEDReplay.c, AmigaOS_MP3Loader.c, AmigaOS_PTReplay.c converted to multi-platform code.
Basic2D command set converted to multi-platform code.
Basic3D command set converted to multi-platform code.
Core command set converted to multi-platform code.
- MyOpen, MyClose, MyRead & MyWrite Multi-platform functions done.

Decided to entirely remove the GetInterface & DropInterface functions Now a new system is done with my own MyOpenLibrary & MyCloseLibrary to handle Amiga OSes ( Lib (AmigaOS, MorphOS) & Interface ( AmigaOS4.x only ).
Modified various functions to handle the new Datatypes.library & Intuition.library alternate functions for OS selection.

Modified GetInterface & DropInterface functions to check for OS version and to open what is needed ( Lib (AmigaOS, MorphOS) & Interface ( AmigaOS4.x only ).

Started to rewrite special OS functions to handle AmigaOS4.x, MorphOS & Future integrations.
- MyOpenLibrary, MyCloseLibrary, MyAllocVec & MyFreeVec : done

After a long time with no news, I’m back and, as I received the Efika won at "the best 2011 AmigaOS4.x/MorphOS project" competition, I’ve now started to migrate to MorphOS the actual AmiDARK Engine build. the changes made should allow to easily migrate the engine to any other Amiga OS such as Aros, Natami, MiniMIG and Amiga OS 3.x ... Nothing is planed actually concerning these Amiga OSes but ... who know ? Maybe later ...

- Compilation is done with all the new commands available.
- Added function DEBitmapExist
- Added functions DEBitmapWidth, DEBitmapHeight & DEBitmapDepth
- Added functions DEBitmapFlipped, DEBitmapMirrored
- Added command DESetCurrentBitmap & function DECurrentBitmap
- Added alternate function DEBitmapExist
- Added alternate functions DEBitmapWidth, DEBitmapHeight & DEBitmapDepth
- Added alternate functions DEBitmapFlipped, DEBitmapMirrored
- Updated DESetDisplayMode to modify bmpBitMap[ 0 ] informations to use current display settings as Bitmap 0 data.

- Added commands DECreateBitmap & DEDeleteBitmap.
- Added commands DEFlipBitmap & DEMirrorBitmap.

- Added DEPerformanceTimer function.
- Added DEInKey function.
- Removed commands DEDrawToCamera & DEDrawToScreen as drawing are always done on main screen (or virtuals bitmaps).
- Removed DEFastSync command (considered as obsolete actually. Will maybe be developed later if needed/requested)
- Added DEPathExist function.
- Added DEImageFileExist function.
- Added DEGetImage & DEWriteImage commands to read/write direct pixels RGB values from/to image.
- Added DELockImage & DEUnlockImage to allow/update image changes made with DEGetImage & DEWriteImage commands.
- Added DESetImageMipmapMode command.
- Added DEGetImageName function.
- Added DESetImageTranslucency command.
- Added DEGetImageData function and DESetImageData for direct image manipulation accessing the image data block.
- Removed Image block commands & functions. They will be maybe developed later.
- Removed Image to Icon commands & functions. They will be maybe developed later.

2011.05.28 :
- Added DESpriteOffset command, DESpriteOffsetX & DESpriteOffsetY functions.
- Fixed sprite render with changes.

2011.05.26 :
- Added DECreateAnimatedSprite, DESetSpriteFrame, DEPlaySprite commands & DESpriteFrame function.
- Added DESpriteRed, DESpriteGreen, DESpriteBlue & DESpriteAlpha functions.
- Added DESpriteVisible function.
- Added DESpriteScaleX & DESpriteScaleY functions.
- Added DEMirrorSprite & DEFlipSprite commands.
- Added DESetSpriteImage, DESetSpriteAlpha & DESetSpriteDiffuse commands.
- Added DESetSpriteCoordinates command.
- Added DESizeSprite, DEScaleSprite & DEStretchSprite commands.
- Separated Sprite render from Image render to use sprite data for render.
- Added internal support in sprite render for vertex manipulation (displaying a portion of original sprite image, sprites animations)

2011.05.25 :
- Added DEWait & DESleep commands.
- Added DEWriteByteToFile command & DEReadByteFromFile function.
- Added DERenamefile & DEDeleteFile commands.
- Added DEMakeDirectory & DEDeleteDirectory commands.
- Added DEReadByte & DEWriteByte commands.
- Removed filemap functions from dev. list. They will be maybe developed later if needed.
- Removed fileblock functions from dev. list. They will be maybe developed later if needed.
- Removed Registry functions from dev. list as they are Windows specific function.
- Removed clipboard functions from dev. list. They will be maybe developed later if needed.
- Removed backbuffer functions from dev. list. They will be maybe developed later if needed.
- Added 2 special commands DEDisableSpritesBackdrop & DEEnableSpritesBackdrop to increase performances when sprites backdrop are not needed.

2011.05.24 :
- Fixed compilation issues with latest changes made.
- Added utility.library to allow DEGetTime & DEGetDate to return correct values.
- Added DEAlwaysActiveOn & DEAlwaysActiveOff commands.
- Added DEDrawSpritesFirst & DEDrawSpritesLast commands.
- Added DEMakeMemory, DEDeleteMemory, DEFillMemory & DECopyMemory commands.
- AHI is always opened at startup to check if any playback device is available for audio output.
- Worked on DELoadSound, DEDeleteSound & DEPlaySound to use directly Datatypes.

2011.05.13 :
- Added DEDot3D( X, Y, Z) & DEDot3DEx( X, Y, Z, RGBColor )
- Added =DEGetPixelsPointer() & =DEGetPixelsPitch()
- Added DECopyPixels( iDestX, iDestY, iWidth, iHeight, iSourceX, iSourceY )
- Removed DELockPixels & DEUnlockPixels from dev list.
- Basic2D Set is now 100% done

2011.05.07 :
- Added DEVPositionCamera & DEVRotateCamera, ...CameraEx for position and rotation using vectors.
- Added DEClearCameraView, ...ViewEx & ...ViewEx2 for clearing camera view.
- Added DESetCameraAspect & ...AspectEx.
- added DEGetImageEx. DESetImageColorKey.
- Added =DESpriteMirrored() & =DESpriteFlipped().
- Modified TEXT functions to use the CreateDeleteString() functions.

2011.04.24 :
AmiDARK Engine public release 0.4c available at
AmiDARK Engine *private* alpha test version sent.

2011.04.22 :
- DECls() & DEClsEx() now clear both GL_FRONT and GL_BACK buffers.
- Added transparency mode 1-6 like DarkBASIC Professional
- Modified DEGhostObjectOn to work similarly than DarkBASIC Professional
- Modified engine to use double buffer
- Image are now rendered on both GL_FRONT and GL_BACK buffers.

2011.04.18 :

- Fixed Sprites Vs 3D. I Had to reintroduce an older build and re-insert sprites codes to fix issue. Now 3D and Sprites are correctly displayed.

2011.04.11 :

- Fixed 3D not appearing : _AMIDARK3D_H_ was not defined.

2011.03.31 :
- Added support for sprite scaling & stretching in sprite render.
- Added commands : DESetSpriteImage( SpriteID, ImageID )
- Added commands : DESizeSprite( Sprite, XSize, YSize ), DEScaleSprite( SpriteID, ScaleFactor ), DEStretchSprite( SpriteID, XScaleFactor, YScaleFactor )
- Added functions : =DESpriteScaleX( SpriteID ), =DESpriteScaleY( SpriteID ), =DESpriteWidth( SpriteID ), = DESpriteHeight( SpriteID )

2011.03.30 :
- Added support for sprite flipping and mirroring in sprite render.
- Added commands : DEFlipSprite( SpriteID ), DEMirrorSprite( SpriteID )
- Added functions : =DESpriteFlipped( SpriteID ), =DESpriteMirrored( SpriteID )

2011.03.29 :
- Finished to restructurate all libraries of the engine.

2011.03.21 :
- Added commands : DESetSprite( SpriteID, Backsave, Transparent )
- Added commands : DEHideSprite( SpriteID ), DEShowSprite( SpriteID ), DEHideAllSprites(), DEShowAllSprites()

2011.03.20 :
- Fixed backdrop functions that now get and restore correctly graphics under sprites.

2011.03.19 :
- Added commands : DEPositionSprite( SpriteID, X, Y ), DESetSpriteX( SpriteID, X ) & DESetSpriteY( SpriteID, Y )

2011.03.18 :
- Added commands : DESprite( SpriteID, X, Y, ImageID )
- Checked and fixed render : Sprites are now correctly displayed on screen using INTERNAL image pasting functions.

2011.03.12 :
- Support for sprites rendering done.
- Added commands : DESetSpritePriority( SpriteID )
- Added Functions : =DESpriteX/Y( SpriteID ), =DESpriteImage( SpriteID ), =DESpriteWidth/Height( SpriteID )
- Rethough the way to support priority to increase render speed.
- Added Sprites to the "sync" render.

2011.02.27 :
- Started support for sprites rendering.
- Added functions : DESpriteExist(),

2011.02.15 :
- Finished support for sprites Backbuffer.
- Added functions : DEDeleteSprite(), =DESpritePriority( SpriteID )

2011.02.05 :
- Finished support for sprites display priority.

2011.01.29 :
- Started support for Sprites back buffer.

2011.01.26 :
- started support for sprites display priority.

2011.01.17 :
- Sprites memory management done.

2011.01.12 :
- Started support for bitmaps memory management.
- Started support for sprites memory management.

Jump to older diary for 2010 development historic
Go back to 2012 mini diary

AmiDARK Engine © 2009-2012 Frederic Cordier. Tous droits reserves. AmiDARK Engine   |   Medias   |   Games   |   support   |   Community