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

Hi All,

Here is the small diary that show the list of improvements done step by step. Each time a new functionality of major improvement is done, it will appear here in the diary :

Due to the fact that the "full diaries" start to have many and many entries, I decided to split it into 3 parts.
In this page you’ll only see entries for 2012 changes made to the engine.
At the bottom of this page, you’ll get a link to jump to the older entries from 2011 and 2010 changes made to the engine.

Kindest Regards,

2014.01.09 Release 0.9 :

- Fixed .cbp files to work correctly on any configurations where CodeBench is installed.
- Added missing .cbp files so all samples, Darkbasic demo, FX2D and technical projects own one.
- Fixed a bug in the AmigaOS4 makefiles (.aos4 files).
- Updated and optimised all AmigaOS4 makefiles.
- Created a script file for an automatic installation of the AmiDARK Engine.
- Untested. GENERAL :
- Engine entirely rebuilded in "modules" forms
- Engine now count 33 modules inside the libAmiDARK.a library file.
- Fixed a bug in the DECls & DEClsEx commands that caused flickering in fullscreen mode.
- Added a new sample that show how to draw triangles.
- Basic 2D is now integrated in the new render list method.
- Transparency, ghosting and filtering fixed extracted from 3D object render method to allow these to be used by other functions.
- Improved textures filtering.
- Added a new sample that show the use of some of the CORE output functions.
- Rebuilded entirely the rendering system to now handle display lists.
- Plugin system added.
- Improved performance by adding a function to disable the "sprite system backdrop refresh".
- Removed some internal MiniGL GL_INVALID_ENUM.
- Now use Basic3D transparency, ghosting and filtering methods.
- Improved the light system, and parameters to be more accurate.
- Fixed a bug that prevented DEPlaySound from outputting audio.
- Modified the default sample to work without backdrop saving. Increase the performances.
- Fixed the Raster demonstration by fixing the DECls command issue.
- Plugin available in this release as a "demonstration plugin".

Known Issues in this release :
- Drawing Basic2D do no more work. It will be fixed by incorporating the Basic2D functions render to the new Render List
- Functions DEGetDate & DEGetTime causes DSI Errors when using. May be fixed in next release.
- Functions DEPlaySound will not start sound again until it’s previous playing is completed.
- Backdrop saving/restore is not correct.

Missing in this release :
(That will be added in a future release) :
- Plugin development system documentation
- Some more documentations
- Some more demonstration/technical samples.

2012.02.07 :
- Updated makefile.aos4 files to compile correctly with latest changes.
- Added missing Makefile.aos4 files so all samples can be compiled on AmigaOS4 with these makefile.
- Removed gstabs & wall flags from all Makefile.aos4 so, compiled demonstration should run faster.
- Updated "default project" files to work with the latest changes.
- Updated HELP "Using The Language" to work with the latest changes.
- Added samples that were missing under MorphOS. MorphOS now have exactly the same samples than AmigaOS4 release.
- Added Makefile.mos files so, all samples may be compiled directly under MorphOS with these makefile (untested).
- Updated "default project" files to work with the latest changes.
- Updated HELP "Using The Language" to work with the latest changes.
- Removed some old printf debug outputs and replaced them with the default DebugMessage function.
- Added more commands & functions documentation. Nearly all commands & functions are now documented.
- Added a new *special* command set called FX2D that does not exist in DarkBASIC Professional. It will contain various 2D effects.
- Status of FX2D additional command set is not yet defined. It will be a separate plugin or maybe integrated in the main engine core. Not yet decided.
- Fixed display sizes that were 1 pixel less than sizes specified in DESetDisplayMode command.
- Fixed a bug that prevented DEInk to be used for text outputs.
- Added internal support for Anisotropic filtering
- Modified DESetObjectFilter, when activating Anisotropic filtering, that function can’t set extra value so, it will be set to 1 per default.
- Added function DESetObjectFilterEx function to handle Anisotropic on/off and extra value for anisotropic filtering value.
- Warning : These DESetObjectFilter(Ex) functions is available but it will not work until both Warp3D & MiniGL will include changes to handle Anisotropic filtering.
- Added support for FX2D Fake Raster special effect in the Synchro refresh process.
- Fixed DEPrint function now correctly handle font height for horizontal alignment drawing.
- Added commands FXCreateFakeRaster, FXCreateFakeRasterEx & FXCreateFakeRasterEx2.
- Added commands FXDeleteRaster & FXUpdateRaster.
- Added commands FXSetRasterLine, FXSetRasterGradient and function FXGetRasterLine.
- Added commands FXSetRasterFromMemblock & FXMakeMemblockFromRaster.
- Added command FXSetRasterY & function FXGetRasterY.
- Added functions FXRasterExist & FXGetRasterHeight.
- Added commands FXHideRaster, FXShowRaster & function FXIsRasterHidden.
- Added commands FXEnableRasters, FXDisableRasters & function FXIsRasterDisabled.
- Added function FXIsRasterUpdated.
- Added commands DEFxImageRastered, DEFxImageRasteredEx, DEFxStretchedImageRastered & DEFXStretchedImageRasteredEx
- Added internal function to display rasters on screen.
- Added internal function to display raster within an image.
- Added 2 demonstrations samples to show the use of FXRaster commands.
- Added 1 technical demonstration with FX raster and some other stuffs.
- Added support for rasterized images in the refresh process.
- Fixed a bug preventing image from using linear filtering.
- Fixed sprite backdrop restore process.
- Added 2 special commands : DERefreshDoubleBufferOn & DERefreshDoubleBufferOff
- Now text output uses color from DEInk command.
- Fixed font size support.
- DEPlaySound command does not output any audio
- FXRaster effects don’t work in full screen.

2012.12.30 :

2012 is now nearly over and to celebrate this, I decided to release a new version of the AmiDARK 2D Engine.

This new release allors the MorphOS version to be "up to date" again with the latest changes made to the engine. Now both AmigaOS4 & MorphOS version are uptodate to 0.7. Concerning request for an AROS version. Some needed library still missing in AROS SDK. When these libraries will be available in various AROS versions SDK, I will try to adapt the AmiDARK Engine to these AROS build.

Many changes were made between release 0.6r2. Especially concerning hidden BITMAP that can now allow to precalculate SPRITES, IMAGES & TEXTURES.

Here is the detail of all changes made :

- AmiDARK 2D Engine Beta 0.7 is now available for both AmigaOS4 users and MorphOS ones.
- Changed the folder structures for shorter folders names.
- Added a new sample from DarkBASIC Professional that uses memblock to manipulate images.
- Thank you to stefkos from that provided me a FTGL build for MorphOS.
- Added used libraries (freetype & FTGL) with their original archives and readme into the MorphOS release.
- Changed the SDK folder structure to fit what we have in MorphOS SDK : BASIC2D
- Fixed function DEBoxEx to draw fully filled boxes.
- Fixed several Basic2D functions. Now, all Basic2D Functions works properly. BASIC3D
- Included the Ghost sample again. Modified and updated. BITMAP
- Added DEGetBitmapPtr & DEGetBitmapPtrEx functions for direct pixels reading/writing. CAMERA
- Multi Camera sample available again. IMAGE
- Fixed a bug that can cause flickering on pasted images.
- Added to DEGetImage & DEGetImageEx functions, the capability to grab images from Bitmap.
- Added to DEPasteImage & DEPasteImageEx function, the capability to paste images directly to bitmaps.
- Fixed the transparency handler for DEGetImage & DEGetImageEx
- Added a new sample showing how to use DEGetImage & DEGetImageEx functions. FILE
- Fixed DEReadString. INPUT
- Fixed functions DEScancode() to return same values than DarkBASIC Professional.
- Added the function DEAScancode() that return the values GLUT gives.
- Fixed internal GLUT keyboard function to not lock on the last pressed key. LIGHT3D
- Fixed a bug in DELightPosition that resetted the light type ID.
- Added a new sample to show basics on how to use 3D Lights. MEMBLOCK
- Added a new sample "Wobble" from DarkBASIC Pro collection that manipulate images using memblocks. MUSIC
- Added sample to show how to load an play a .MOD music. SOUND
- Known issue that make sound not work properly. May be fixed in next release. TEXT
- Fixed the FTGL use to output text. Texts are now outputted correctly.
- Fixed DEMid function. Modified it to be compatible with DarkBASIC Professional
- Added DEMidEx function that is the old DEMid fixed/
- Fixed DESpace function.
- Fixed DEUpper & DELower function.
- Added sample to show the use of text commands.

- Sprites backdrop is not correctly refreshed.
- Sound playing functions does not output any audio.

Here are the links to Download :

2012.09.11 :
AmiDARK 2D Engine Beta 0.6 Release 2 now available for AmigaOS4 :
- Fixed a bug that causes compilation errors under AmigaOS4.
- Improved the HTML help and added project creation under AmiDevCPP and CodeBench.
- Compiled all examples with the latest build of the library.

2012.09.10 :
- Removed 4 commands for camera controls using vectors that are not yet available and, that caused compilation errors.
- Replaced the missing commands.
- Removed a "not available" function from the include files that may cause compilation error.

2012.09.09 :
AmiDARK 2D Engine Beta Release 0.6 available.
Due to the fact that I’m locked at home because my health is not good these days, I take some time, to fix some issues.
Working on the MorphOS Build of the AmiDARK Engine.
Now, last build compiles on both AmigaOS4 & MorphOS OSes again.
- Removed all debug calls for a cleaner source code. BASIC2D
- HELP files finished.
- HELP files finished.
- added internal functions to allow texts inputs with DEInput function.
- added functions DEInput, DEInputS, DEInputI & DEInputF to return strings, integer and floating number.
- HELP files finished.
Core commands set is now 100% complete
- Fixed system INTERNAL_RunCmd command for MorphOS compatibility.
- Put DirContexts AmigaOS4 functions in // waiting for a replacement on MorphOS.
- HELP files finished.
- Fixed DEPositionMouse for MorphOS compatibility.
- Put some AmigaOS4 specific dos in // for MorphOS compilation, waiting for replacement functions on MorphOS.
- HELP files finished.
- HELP files finished.
- Added command DERestoreWindow & DEMaximizeWindow.
- Put DESetWindowLayout in // because SetWindowAttrs does not exist on MorphOS. No other command found to replace.
- HELP files finished.
- Updated IDoMethod with DoMethod for MorphOS build.
- Fixed DESetSoundPan on which arguments differ from AmigaOS4.
- Fixed bad arguments used on some commands from the SOUND set.
- HELP files finished.
- HELP files finished.


After a check of all commands sets for the 2D release of the AmiDARK Game Engine, I took some decisions :

1. Concerning the "Video Animation" commands set. It will not be included in the initial release of the Game Engine.
In fact, this plugin will need many "dependencies" that may complicate compilation and makes .exe bigger
So, to avoid this, it will be developed during the 2nd part of development of the AmiDARK Engine, in parallel with 3D engine development.
This plugin will be released as a "free plugin" for those that will own a registered copy of the AmiDARK Engine (in both 2D & 2D+3D releases.)
User will only have to add the -lAmiDEVideo plugin (and all needed dependencies -l) in compilation progress and the .h file definition, to take benefit of these extra commands.
This decision was made because video games can be developed without these functions and to not make .exe bigger if you don’t use videos.
Of course, development of this plugin will be started as soon as possible.

2. Concerning some *special* commands/functions : "check lists".
Check list are not something we don’t use "every day" in a simple game development. They need us to have some expertise in development to use them so, I have also decided that the unfinished checklist commands & functions will not be available in the initial release of the Game Engine.
More to this, the engine is always "under development" so ... I think that people must 1stly learn the engine before using it deeply...
It will give me some more time to develop these extra commands & functions.
There are few checklist functions. They are used to check fonts, files, controlers availables in specific folders.
Of course, these functions will be integrated in the Game Engine (in both 2D & 2D+3D releases) as soon as possible.

In fact, I wanted to concentrate on the "essential commands & functions" needed to develop a video game hoping for a "soon" release, maybe before 2012 ending ...
All the most importants commands concerning 2D drawings, Bitmaps, Core, File I/O, Images, Input, Memblocks, Musics, Setup, Sounds, Sprite, System & Texts functions are now done and available for the next release.
You may ask me : "But what does all these mean ?"
It simply mean that the AmiDARK Engine, in its 2D only version, is now enough mature and contain all importants functions to be considered (by me) as BETA.
It also mean that to have the 1st RC1 release to be available, only 12 commands & functions needs to be developed and 286 commands & functions need to be documented.
I also have some more "examples" source code to develop to show the use of some commands/functions sets.

I hope to release what I can call something like AmiDARK 2D Engine Rel 0.9 Beta within the next few days.
With of course, a special version with less restriction (and maybe none) for donators/helpers.

Here is a big new for now.
I hope you enjoyed this new.

Kindest Regards,

2012.08.16 :
- Added internal checking to avoid running the engine when needed system libraries/devices are not found.
- Added command DEPositionMouse (thanks to Broadblues for the help)..
The command set INPUT is now complete with 60 commands/Functions.
The game engine in its 2D version contain now 479 commands/functions out of 524 actually planed (remain 45 commands/functions to develop).
The game engine in its 2D+3D version contain now 708 commands/functions out of 1177 actually planed (remain 469 commands/functions to develop).

2012.08.15 :
- Added internal GLUT support for special keys : shift, control & alt.
- Added internal support for default mouse pointers.
- Added functions DEControlKey & DEShiftKey.
- Added command DEChangeMouse, DEHideMouse & DEShowMouse.
- Added command DEMakeMemblockFromBitmap & DEMakeBitmapFromMemblock.

2012.08.14 :
- Added function DEReturnKey.
- Added commands DEMakeMemblockFromImage & DEMakeImageFromMemblock.

2012.08.13 :
- Added command DEChangeMeshFromMemblock.
- Updated commands DEMakeMemblockFromMesh & DEMakeMeshFromMemblock.
- Added commands DEWindowToFront & DEWindowToBack.

2012.07.22 :
- Added commands DEExecuteExecutable & DEExecuteExecutableEx.
- Added Command DEStretchImage & DELoadImageResize.

2012.07.21 :
- Added commands DEGetFileDate & DEGetFileCreation.

2012.07.15 :
- Added commands DECopyFile & DEMoveFile.

2012.07.13 :
- Fixed a bug in the DEMakeFileFromMemblock command.
- Added commands DEWriteMemblock & DEReadMemblock.
Warning, DEWriteMemblock/DEReadMemblock are not the same commands than DEMakeFileFromMemblock/DEMakeMemblockFromFile.
In the 1st case, you can have multiple memblocks in the same file. In the 2nd case, you can’t, the file and the memblock will always have the same size.

2012.07.05 :
- Fixed DESetDir to release context from DEfindFirst & DEfindNext commands use.
- Added commands DESkipBytes, DEMakeFile, DEMakeFileFromMemblock & DEMakeMemblockFromFile.
- Added function DEFileEnd.
- Added function DESoundType.

2012.07.02 :
The engine now reach 80% of the total 2D Game Engine command set.
- Added command DEFindFirst & DEFindNext.
- Added function DEGetFileName & DEFileType.
- Added function DEReadFile
- Added command DEStopSound, DESetSoundPan, DESetSoundVolume & DESetSoundSpeed.
- Added function DESoundPan, DESoundVolume & DESoundSpeed.
Removed the 3D Sound functions from the development list.
They will be developed later.

2012.07.01 :
Hi everyone, The summer comes and during this period, generally my main employment activity is lower ... it should makes me less tired and, I hope to be able to regularly add new functions to the engine.
Now, my efforts concentrate in preparing the engine for the next ĀµAlchimie we’ll have at the end of the year.
This section will continue to contain informations on new commands and functions that will be added to the main Game Development Engine but, all that concern special demonstrations will remain unrevealed until the next ĀµAlchimie.
I hope to release a new alpha/beta version for registered users soonly.
- Added command DECopyBitmap & DECopyBitmapEx.
All planed Bitmap command are done. Bitmap Command Set is now complete .
Removed CD Audio ccmmands & functions from development.
They will be developed later, if requested by users.
- Added DEPlaySound, DEPauseSound & DEResumeSound commands.
- Added functions DESoundPlaying & DESoundPaused.

2012.05.17 :
Due a to hard disk crash, I have lost some of the latest work.
The last backup was on 2012.02.28 so, I have removed newer comment as I’ll have to rewrite these changes.
Secondly, these two last months, I encouter health problems so. I had to suspend all kind of developments during this period.
Now, things are better, I hope that things will continue to go better and better ... and then I can continue the development of the AmiDARK Engine.

2012.02.28 :
- Added command DECopyMemblock.

2012.02.21 :
- Added DEWaitKey & DESuspendForKey commands.
- Added DEWaitMouse & DESuspendForMouse commands.
- Added functions DEControlDeviceX & DEControlDeviceY that are experimental and uses the Vertical & Horizontal counter (for tests only).
- Added function DEControlDeviceY wrapped as empty function as it cannot be supported by AmigaOSes.
- Added function DEJoystickFireX.
- Added command DESetControlDevice & DESetControlDeviceEx.
- Added function DEGetControlDevice.
- Improved the mouse support.
- Added commands DESetEmulationOn, DESetEmulationOff & function DEEmulationMode wrapped as empty functions.
- Added command DESetGamma.
- Added functions DEScreenType & DEScreenInvalid.
- Added command DESetWindowLayout.

2012.02.20 :
Thank you to Sharynn for his Joystick functions.
- Added functions DEJoystickUp, DEJoystickDown, DEJoystickLeft & DEJoystickRight.
- Added functions DEJoystickFireA, DEJoystickFireB, DEJoystickFireC & DEJoystickFireD.
- Added function DEJoystickFireXL.

2012.02.18 :
- Added command DELoadBitmap & DELoadBitmapEx.
- Functions DEJoystickSliderA, DEJoystickSliderB, DEJoystickSliderC & DEJoystickSliderD wrapped as empties functions that’ll return 0.
- Functions DEJoystickSliderX, DEJoystickSliderY & DEJoystickSliderZ wrapped as empties functions that’ll return 0.
- Functions DEForceUP, DEForceDown, DEForceLeft & DEForceRight wrapped as empties commands.
- Functions DEForceAngle, DEForceNoEffect, DEForceAutoCenterOn & DEForceAutoCenterOff wrapped as empties commands.
- Functions DEForceChainWas, DEForceShoot, DEForceImpact & DEForceWaterEffect wrapped as empties commands.
All functions listed on INPUT command set are functions that are not supported on AmigaOSes.
They are wrapped as empties functions for compatibility with DarkGDK.
- Integration of FreeType 2 & GLFT in the core of the engine.
- Added functions DETextHeight & DETextWidth ( and alternates DEGetTextHeight & DEGetTextWidth ).
- Added command DESetTextFont, DESetTextFontEx & function DETextFont.
- Added command DECenterText.
- Updated DEPrint to handle GLFT informations for text cursor changes.
- Updated internal text output to screen function to use GLFT

2012.02.12 :
- Created function DEArgb / DEARGB
- Added DEText command.
- Added functions DEFindSubString, DEFindFirstChar & DEFindLastChar
- Added command DEReverse & function DECompareCase.
- Added command DESetTextSize and function DETextSize.
- Added Command DESetTextColor and function DEGetTextColor that handle 32 bits (with alpha channel)
- Modified the DEPrint command to being added to the 2D draw list.
( now Text and Images are displayed in order they are asked in the source code ).
- Added commands DESetTextToNormal, DESetTextToItalic, DESetTextToBold and DESetTextToBoldItalic.
- Added commands DESetTextToOpaque and DESetTextToTransparent. (and alternates ones DESetTextOpaque and DESetTextTransparent)
- Added functions DETextStyle and DETextBackgroundType.
- Added functions DEStr, DEStrI, DEStrEx and DEAppend.
- Added new internal Text Render function included in the Display (image) Render list

2012.02.11 :
- Added functions DEValF, DEValR and DEChr.

2012.02.10 :
- Added functions DEBin, DEHex.
- Improved functions DEAsc, DELeft, DELower

2012.02.05 :
- Working on the upcoming Alpha05 release for both AmigaOS4 & MorphOS
- Modified "escape key" to use F12 on MorphOS until the escape key GLUT bug will be fixed on MorphOS. Escape remain escape on AmigaOS4.
- *updated* 410 commands informations on the 569 available for the 2D/3D Engine.
- *updated* 205 commands informations on the 340 available for the 2D Engine.
- Reorganised the release archive folder structure.
- All samples for the MorphOS Version now compiled and running.

2012.01.26 :
- Added DERotateSprite to the sprite render method.
- Sprite commands set is now 100% complete.
Now 3 commands set are complete (Basic2D, Sprite2D & System)
The full 3D Game engine cover 569 commands on 1250 planed (51%).
The 2D Game engine cover 340 on 597 planed (58.74%).

2012.01.21 :
Fixed a Timer.Device setup bug that caused problems with timer use (thanks to YomGui).
- Fixed DESyncRate function issue that caused unstable frame rate when using another value than 0.

2012.01.19 :
I have now fixed the issue concerning the Object transparency (hide the black part of a texture). It now work on both AmigaOS4 & MorphOS.
I decided to release a small 3D demo showing that 3D & 2D are now fully running on MorphOS :
Here is a small snapshot of this demonstration :
- Improved transparency mode 4.

2012.01.15 :
I have now finished to integrate the new "dynamic list handler" to IMAGE, SPRITES and BASIC3D.
Now, both IMAGES, SPRITES and 3D are Working on MorphOS.
I’ve noticed that, translucent 3D object, TIMER & OpenGL Inputs (keys, windows buttons) don’t work on MorphOS so, I’m now working on fixing these.
Once these "bugs" will be hunted and fixed, I may release a new Alpha version of the engine. One for AmigaOS4 and now, one for MorphOS.

Go to 2011 mini diary
Go to 2010 mini diary

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